JP2015011601A - プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム - Google Patents
プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2015011601A JP2015011601A JP2013137795A JP2013137795A JP2015011601A JP 2015011601 A JP2015011601 A JP 2015011601A JP 2013137795 A JP2013137795 A JP 2013137795A JP 2013137795 A JP2013137795 A JP 2013137795A JP 2015011601 A JP2015011601 A JP 2015011601A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- program
- program execution
- execution device
- another
- 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
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
【課題】プログラムの実行を不可能にするイベントが発生した場合に他の場所でプログラムを実行できるようにする技術を提供する。
【解決手段】プログラム実行装置1は、例えば、プログラムA、B、…と、これらのプログラムを実行するプログラム実行部11と、プログラムの実行を不可能にするイベントを検知するイベント検知部12と、イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部13と、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部14と、該プログラム実行装置におけるプログラムの実行環境を示すプログラム実行環境テーブル15とを備える。
【選択図】図2
【解決手段】プログラム実行装置1は、例えば、プログラムA、B、…と、これらのプログラムを実行するプログラム実行部11と、プログラムの実行を不可能にするイベントを検知するイベント検知部12と、イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部13と、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部14と、該プログラム実行装置におけるプログラムの実行環境を示すプログラム実行環境テーブル15とを備える。
【選択図】図2
Description
本発明は、プログラムの実行を不可能にするイベントが発生した場合に他の場所でプログラムを実行できるようにする技術に関するものである。
OSGiバンドルによるプログラム実行環境は、例えば、Java(登録商標)言語を実装することで実現される。また、Javaで実装されたモジュールをプラグインモジュール化する技術としてOSGiプラットフォームがある。OSGiプラットフォームとは、JavaプログラムをPluginモジュールとして動的にアプリケーションへ追加できるようにするサービスプラットフォームである。OSGiプラットフォーム本体は、常時起動しているスタンドアロンJavaアプリケーションとして実装されている。OSGiの配下でプラグインモジュール化されているJavaモジュールは、バンドルと呼ばれる。Javaによって実装されたデバイスドライバも、OSGi配下のバンドルとしてプラグインモジュール化することができる。
(従来のサービス)
このようなシステムを利用するサービスの一例としてHEMS(Home Energy Management System)がある。これは、宅内のゲートウェイ機器が電気やガスの使用量を収集し、それをサーバへ送信する。サーバはデータ履歴を保管し、ウェブ等で閲覧するというものである。このようなサービスにおいて、あるイベントが発生するとプログラムが実行できなくなり、サービスが継続できなくなる場合がある。このように、プログラムの実行を不可能にするイベントおよびサービスへの影響としては、下記のようなものが想定される。
このようなシステムを利用するサービスの一例としてHEMS(Home Energy Management System)がある。これは、宅内のゲートウェイ機器が電気やガスの使用量を収集し、それをサーバへ送信する。サーバはデータ履歴を保管し、ウェブ等で閲覧するというものである。このようなサービスにおいて、あるイベントが発生するとプログラムが実行できなくなり、サービスが継続できなくなる場合がある。このように、プログラムの実行を不可能にするイベントおよびサービスへの影響としては、下記のようなものが想定される。
(1) WAN故障により、収集したデータを送信することができない
(2) CPU/メモリ等が他のサービスで利用され、不足することによりデータ処理ができない
(2) CPU/メモリ等が他のサービスで利用され、不足することによりデータ処理ができない
OSGiのバンドルは、1つのプログラム実行場所で実行することを前提としたソフトウェア構成となっており、二重化を前提とした構成については実現されていない。
また、プログラム二重化の手法は、特許文献1のように様々提案されているが、サーバシステム全体として提供するものである。したがって、このような手法は実施しにくい。
すなわち、OSGiのバンドルについて、また、その他のプログラムについても、プログラムの実行を不可能にするイベントが発生した場合に他の場所でプログラムを実行できるようにする技術が求められる。
本発明は、上記のような課題を解決するためになされたものであり、プログラムの実行を不可能にするイベントが発生した場合に他の場所でプログラムを実行できるようにする技術を提供することを目的とする。
上記の課題を解決するために、第1の本発明は、互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムであって、前記プログラム実行装置は、該プログラム実行装置にあるプログラムを実行するプログラム実行部と、当該プログラムの実行を不可能にするイベントを検知するイベント検知部と、当該イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部と、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部とを備えることを特徴とする。
第1の本発明において、例えば、前記プログラム実行部は、WAN経由でサーバと通信するプログラムを実行し、前記イベント検知部は、WAN故障を検知し、前記実行判定部は、WAN経由でサーバと通信できるとの実行条件、WANを経由しないでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信する。
第1の本発明において、例えば、前記イベント検知部は、プログラム実行装置でのメモリ不足を検知する。
第1の本発明において、例えば、前記実行判定部は、実行不可能となったプログラムを示す実行条件を含む実行可否問い合わせを送信し、前記実行依頼部は、当該プログラムが他のプログラム実行装置で実行されたことを示す実行実績を含む実行可否応答があったなら、プログラムの実行の依頼において、当該実行可否応答を送信した他のプログラム実行装置を優先する。
第1の本発明において、例えば、前記実行依頼部は、実行可能を示す複数の実行可否応答において、当該実行可否応答を送信した他のプログラム実行装置におけるプログラムの実行環境が開示されているなら、当該実行環境に基づいて、当該他のプログラム実行装置の優先順位を設定し、プログラムの実行の依頼において、当該優先順位の高い他のプログラム実行装置を優先する。
第2の本発明は、互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムを構成するプログラム実行装置であって、該プログラム実行装置にあるプログラムを実行するプログラム実行部と、当該プログラムの実行を不可能にする当該プログラム実行装置でのメモリ不足を検知するイベント検知部と、当該メモリ不足が検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部と、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部とを備えることを特徴とする。
第3の本発明は、互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムの動作方法であって、前記プログラム実行装置は、該プログラム実行装置にあるプログラムを実行するプログラム実行部を備え、前記動作方法は、前記プログラム実行装置のイベント検知部が、当該プログラムの実行を不可能にするイベントを検知し、前記プログラム実行装置の実行先判定部が、当該イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定し、前記プログラム実行装置の実行依頼部が、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼することを特徴とする。
第3の本発明において、例えば、前記プログラム実行部は、WAN経由でサーバと通信するプログラムを実行し、前記イベント検知部は、WAN故障を検知し、前記実行判定部は、WAN経由でサーバと通信できるとの実行条件、WANを経由しないでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信することを特徴とする。
第3の本発明において、例えば、前記イベント検知部は、プログラム実行装置でのメモリ不足を検知する。
第3の本発明において、例えば、前記実行判定部は、実行不可能となったプログラムを示す実行条件を含む実行可否問い合わせを送信し、前記実行依頼部は、当該プログラムが他のプログラム実行装置で実行されたことを示す実行実績を含む実行可否応答があったなら、プログラムの実行の依頼において、当該実行可否応答を送信した他のプログラム実行装置を優先する。
第3の本発明において、例えば、前記実行依頼部は、実行可能を示す複数の実行可否応答において、当該実行可否応答を送信した他のプログラム実行装置におけるプログラムの実行環境が開示されているなら、当該実行環境に基づいて、当該他のプログラム実行装置の優先順位を設定し、プログラムの実行の依頼において、当該優先順位の高い他のプログラム実行装置を優先する。
本発明によれば、プログラムの実行を不可能にするイベントが発生した場合に他の場所でプログラムを実行できるようにする技術を提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係るプログラム実行システムの利用形態の例を示す図である。
プログラム実行システムは、互いに通信可能な2以上のプログラム実行装置1を含むものである。プログラム実行装置1は、例えばゲートウェイ装置であり、ここでは、各プログラム実行装置を符号1A、1B、1C等で区別する。各プログラム実行装置1A、1B、1Cの設置場所は互いに異なっており、例えば、近隣の各家庭に設置される。
例えば、プログラム実行装置1Aは、その家の使用電力などを計測するメータ2からWIFIやLANや、BluetoothなどのPAN(パーソナルエリアネットワーク)や特定小電力無線などで情報を取得するとともに情報をWAN(広域網)3を経由してサーバ4に送信するプログラムを実行する。例えば、WAN3が故障し、プログラム実行装置1Aからサーバ4への情報送信ができなくなった場合、プログラム実行装置1Aは、例えば、WIFIなどや特定小電力無線などで隣家のプログラム実行装置1Bに接続し、同じプログラムの実行を依頼する。プログラム実行装置1Bは、依頼されたプログラムを実行する。つまり、プログラム実行装置1Bは、隣家のメータ2からWIFIなどや特定小電力無線などで情報を取得するとともに情報をWAN3を経由してサーバ4に送信する。
図2は、各プログラム実行装置の概略構成を示すブロック図である。
プログラム実行装置1は、例えば、プログラムA、B、…と、これらのプログラムを実行するプログラム実行部11と、プログラムの実行を不可能にするイベントを検知するイベント検知部12と、イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部13と、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部14と、該プログラム実行装置におけるプログラムの実行環境を示すプログラム実行環境テーブル15とを備える。
図のプログラム実行装置は、プログラムA、B、…を備えるが、プログラムの数と種類は、プログラム実行装置ごとに異なっていてもよい。
図3は、プログラム実行環境テーブル15の例を示す図である。
プログラム実行環境テーブル15は、該プログラム実行環境テーブル15を備えるプログラム実行装置においてプログラムを実行するための条件毎のレコードを有し、各レコードは、条件の項目とパラメータを有する。
レコード1は、例えば、サーバ4とWAN3を介して通信することを示す項目と、それが可能か否かを示すパラメータを含む。
レコード2は、他のプログラム実行装置と接続することを示す項目と、それがWAN3を介して可能かLAN(WIFIなど)を介して可能かを示すパラメータを含む。
レコード2は、他のプログラム実行装置と接続することを示す項目と、それがWAN3を介して可能かLAN(WIFIなど)を介して可能かを示すパラメータを含む。
レコード3は、空きメモリという項目と、空きメモリの大きさというパラメータを含む。
レコード4は、CPUの空きの割合という項目と、その割合の大きさというパラメータを含む。
レコード5は、実行実績のあるプログラムという項目と、そのプログラムの名前などであるパラメータを含む。
レコード6は、初期設定済みのプログラムという項目と、そのプログラムの名前などであるパラメータを含む。
つまり、レコード5は、プログラムの実行実績である。プログラムの実行実績があれば、プログラムがあり、他のプログラム実行装置からプログラムを受信する必要がないことになる。
また、レコード6により、初期設定済みであることがわかれば、初期設定の情報を受信する必要がないことになる。
その判断のためにレコード5、6がある。
レコード4は、CPUの空きの割合という項目と、その割合の大きさというパラメータを含む。
レコード5は、実行実績のあるプログラムという項目と、そのプログラムの名前などであるパラメータを含む。
レコード6は、初期設定済みのプログラムという項目と、そのプログラムの名前などであるパラメータを含む。
つまり、レコード5は、プログラムの実行実績である。プログラムの実行実績があれば、プログラムがあり、他のプログラム実行装置からプログラムを受信する必要がないことになる。
また、レコード6により、初期設定済みであることがわかれば、初期設定の情報を受信する必要がないことになる。
その判断のためにレコード5、6がある。
図4は、プログラム実行装置における処理の流れを示すフローチャートである。
ここでは、プログラム実行装置1Aを例に実施例1〜4の動作を説明するが、他のプログラム実行装置の動作も同様である。
(実施例1)
図5は、実施例1に特有な事項を記載した説明図である。
図5は、実施例1に特有な事項を記載した説明図である。
プログラム実行装置1Aが起動され、プログラム実行部11は、例えば、図1で説明した、メータ2の情報をWAN3を経由してサーバ4に送信するプログラムを実行する。実行されたプログラムにより、プログラム実行装置1Aは、メータ2の情報をWAN3を経由してサーバ4に送信する。
このようにプログラムが実行されると、イベント検知部12は、予め設定されたイベント、つまり、プログラムの実行を不可能にするイベントが発生したか否かを判定し(S1)、発生していないなら(S1:NO)、例えば、時間をおいて、再び判定を行う。
ここでイベント検知部12は、例えば、プログラム実行装置1Aからサーバ4への情報送信を不可能にするWAN3の故障が発生したか否かを判定する(S1)。
実行先判定部13は、イベントが検知されたなら(S1:YES)、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、他のプログラム実行装置から実行可否を示す実行可否応答を受信し、実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する(S3)。
ここで実行先判定部13は、例えば、予め他のプログラム実行装置のアドレスを備えており、各アドレス宛に、例えば、(1)WAN3経由でサーバと通信できるとの実行条件、(2)WAN3を経由しないでWIFIなどでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信する。または、実行先判定部13は、実行可否問い合わせをブロードキャストで送信する。
これに対し、他のプログラム実行装置は、プログラム実行環境テーブル15を参照し、プログラムを実行できると判定したなら、その旨の実行可否応答を返信する。
例えば、上記(1)(2)の実行条件の場合、プログラム実行環境テーブル15のレコード1、2が参照される。
一方、他のプログラム実行装置は、実行できないと判定したなら、その旨の実行可否応答を返信する。
実行先判定部13は、実行可否応答を受信し、その中でプログラムを実行できる旨の実行可否応答を選択し、これを送信した他のプログラム実行装置でプログラムが実行できることとする。
例えば、プログラムを実行できる旨の実行可否応答を受信できなかったなら、つまり、プログラムを実行できる他のプログラム実行装置がなければ(S3:特定不可)、例えば、所定のエラー処理が実行される(S5)。
一方、プログラムを実行できる他のプログラム実行装置があれば(S3:特定可)、実行依頼部14が、当該他のプログラム実行装置に対し当該プログラムの実行を依頼する(S7)。
ここで実行依頼部14は、例えば、プログラムを実行できる他のプログラム実行装置が複数ある場合は、その中の1つに実行を依頼する。この際、実行依頼部14は、例えば、該当のプログラムやプログラム実行時に必要な解析データなどを送信する。また、実行依頼部14は、途中までの実行結果を送信し、途中からの実行を依頼する。
依頼先のプログラム実行装置では、プログラム実行部11が、プログラムを実行し、例えば、メータ2の情報をWAN3を経由してサーバ4に送信する。
なお、プログラムの実行を不可能にするイベントが消滅したなら、つまり、例えば、サーバ4への情報送信を不可能にするWAN3の故障が解消したなら、プログラム実行装置1Aは、依頼先の他のプログラム実行装置にプログラム実行終了命令を送信する(S9)。
これにより、依頼先の他のプログラム実行装置は、依頼したプログラムの実行を終了し、例えば、実行結果をプログラム実行装置1Aに送信する。
一方、プログラム実行装置1Aでは、プログラム実行部11が再びプログラムを実行し(S11)、S1に戻る。例えば、依頼先の他のプログラム実行装置から受信した実行結果が使用される。
以上のように、プログラム実行装置は、プログラム実行装置にあるプログラムを実行するプログラム実行部と、プログラムの実行を不可能にするイベントを検知するイベント検知部と、イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部と、特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部とを備えるので、プログラムの実行を不可能にするイベントが発生した場合に他の場所(他のプログラム実行装置の場所)でプログラムを実行することができる。
また、この構成を設けることで、プログラムへの変更は不要となるので、既存のプログラムを利用することができる。
また、実施例1では、プログラム実行部は、WAN経由でサーバと通信するプログラムを実行し、イベント検知部は、WAN故障を検知し、実行判定部は、WAN経由でサーバと通信できるとの実行条件、WANを経由しないでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信するので、WAN故障の際に、他の場所でプログラムを実行することができる。
(実施例2)
実施例2の説明においては、実施例1との差異を中心に説明する。
実施例2の説明においては、実施例1との差異を中心に説明する。
図6は、実施例2に特有な事項を記載した説明図である。
プログラムが実行されるまでの動作は、実施例1と同じである。なお、プログラムは、サーバ4に情報を送信するプログラムでなくてもよい。
図4のステップS1でイベント検知部12は、空きメモリの大きさが所定の大きさ未満になったか否か、つまり、メモリ不足が発生したか否かを判定する(S1)。メモリ不足を検出するのは、これがプログラムの実行を不可能にする可能性があるからである。
図4のステップS3で実行先判定部13は、他のプログラム実行装置宛に、例えば、(1)WAN3経由でサーバと通信できるとの実行条件、(2)WAN3を経由しないでWIFIなどでプログラム実行装置と通信できるとの実行条件、(3)プログラム実行に必要な空きメモリは最低で300MBであるとの実行条件を含む実行可否問い合わせを送信する。(3)には空きメモリの最低量を示したが、これは、例えば、プログラムごとに定め、予め記憶しておけばよい。
これに対し、他のプログラム実行装置は、プログラム実行環境テーブル15を参照し、プログラムを実行できると判定したなら、その旨の実行可否応答を返信する。
例えば、上記(1)(2)(3)の実行条件の場合、プログラム実行環境テーブル15のレコード1、2、3が参照される。なお、(1)(2)の実行条件は別の条件でもよく、なくてもよい。
以降の動作は、実施例1と同じである。
以上のように、実施例2では、イベント検知部は、プログラム実行装置でのメモリ不足を検知するので、メモリ不足でプログラムが実行できなくなる前に他の場所でプログラムを実行することができる。
(実施例3)
実施例3の説明においては、実施例1との差異を中心に説明する。
実施例3の説明においては、実施例1との差異を中心に説明する。
図7は、実施例3に特有な事項を記載した説明図である。
イベント検出までの動作は、実施例1と同じである。なお、プログラムは別のものでもよい。
図4のステップS3で実行先判定部13は、他のプログラム実行装置に対し、例えば、(1)WAN3経由でサーバと通信できるとの実行条件、(2)WAN3を経由しないでWIFIなどでプログラム実行装置と通信できるとの実行条件、(4)実行不可能となったプログラムを実行した実績があるとの実行条件、(5)当該プログラムが初期設定済みであるとの実行条件を含む実行可否問い合わせを送信する(図7(a))。(4)の条件では、プログラム名などが指定される。
これに対し、他のプログラム実行装置は、プログラム実行環境テーブル15を参照し、プログラムを実行できると判定したなら、その旨の実行可否応答を返信し、さらに、プログラムの実行実績があるなら、その旨を実行可否応答に付加する。また、初期設定済みなら、その旨を実行可否応答に付加する。
例えば、上記(1)(2)(4)(5)の実行条件の場合、プログラム実行環境テーブル15のレコード1、2、5、6が参照される。なお、(1)(2)の実行条件は別の条件でもよく、なくてもよい。
実行先判定部13は、実施例1と同様に、実行可否応答を受信し、その中でプログラムを実行できる旨の実行可否応答を選択し、これを送信した他のプログラム実行装置でプログラムが実行できることとする(S3)。
実行依頼部14は、プログラムを実行できる旨の実行可否応答の中に、実行実績を含む実行可否応答があったなら、ステップS5において、実行実績を含む実行可否応答を送信した他のプログラム実行装置を優先する。
例えば、図7(b)に示すように、実行依頼部14は、プログラムを実行できる旨の実行可否応答M、Nがあり、実行可否応答Mは実行実績を含み、実行可否応答Nは実行実績を含まないなら、実行可否応答Mを送信した他のプログラム実行装置にプログラムの実行を依頼する(S5)。この際、実行依頼部14は、プログラムを送信しなくてよく、好適である。
また、図7(b)に示すように、実行依頼部14は、初期設定済みの実行可否応答を送信した他のプログラム実行装置を優先してもよい。
以降の動作は、実施例1と同じである。
以上のように、実施例3では、実行判定部は、実行不可能となったプログラムを示す実行条件を含む実行可否問い合わせを送信し、実行依頼部は、当該プログラムが他のプログラム実行装置で実行されたことを示す実行実績を含む実行可否応答があったなら、プログラムの実行の依頼において、当該実行可否応答を送信した他のプログラム実行装置を優先するので、当該実行可否応答を送信した他のプログラム実行装置へプログラムの実行を依頼する場合は、プログラムの送信を省略することができる。
(実施例4)
実施例4の説明においては、実施例1との差異を中心に説明する。
実施例4の説明においては、実施例1との差異を中心に説明する。
図8は、実施例4に特有な事項を記載した説明図である。
実行可否問い合わせの送信までの動作は、実施例1と同じである。なお、プログラムは別のものでもよい。また、実行可否問い合わせ内の実行条件は別のものでもよい。
実行可否問い合わせを受信した他のプログラム実行装置は、実行可否応答に対し、プログラム実行環境テーブル15の情報を含ませ、返信する。
実行先判定部13は、実施例1と同様に、実行可否応答を受信し、その中でプログラムを実行できる旨の実行可否応答を選択し、これを送信した他のプログラム実行装置でプログラムが実行できることとする(S3)。
実行依頼部14は、プログラムを実行できる旨の実行可否応答であり、かつ、プログラム実行環境テーブル15の情報を含む(つまり実行環境を開示する)実行可否応答が複数あったなら、ステップ5において、実行環境に基づいて、これらの実行可否応答を送信した他のプログラム実行装置の優先順位を設定し、優先順位の高い他のプログラム実行装置を優先する。
例えば、図8に示すように、実行依頼部14は、プログラムを実行できる旨の実行可否応答X、Yがあり、実行可否応答Xは空きメモリが500MBであることを開示し、実行可否応答Yは空きメモリが100MBであることを開示しているなら、実行可否応答Xを送信した他のプログラム実行装置に優先順位「1」を、実行可否応答Yを送信した他のプログラム装置に優先順位「2」を設定し、実行可否応答Xを送信した他のプログラム実行装置にプログラム実行を依頼する(S5)。
したがって、例えば、空きメモリが100MBの他のプログラム実行装置に依頼してしまい、そのプログラム実行装置でそれ以上プログラムが実行できなくなるというような不都合を防止でき、好適である。なお、空きメモリでなく、CPUの空きの割合などに基づいて判断してもよく、また、実行環境全体で判断してもよい。
以降の動作は、実施例1と同じである。
以降の動作は、実施例1と同じである。
以上のように、実施例4では、実行依頼部は、実行可能を示す複数の実行可否応答において、当該実行可否応答を送信した他のプログラム実行装置におけるプログラムの実行環境が開示されているなら、当該実行環境に基づいて、当該他のプログラム実行装置の優先順位を設定し、プログラムの実行の依頼において、当該優先順位の高い他のプログラム実行装置を優先するので、最適な実行環境を有する他のプログラム実行装置でプログラムを実行することができる。
なお、各プログラム実行装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
1…プログラム実行装置
2…メータ
3…WAN
4…サーバ
11…プログラム実行部
12…イベント検知部
13…実行先判定部
14…実行依頼部
15…プログラム実行環境テーブル
2…メータ
3…WAN
4…サーバ
11…プログラム実行部
12…イベント検知部
13…実行先判定部
14…実行依頼部
15…プログラム実行環境テーブル
Claims (12)
- 互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムであって、
前記プログラム実行装置は、
該プログラム実行装置にあるプログラムを実行するプログラム実行部と、
当該プログラムの実行を不可能にするイベントを検知するイベント検知部と、
当該イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部と、
当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部と
を備えることを特徴とするプログラム実行システム。 - 前記プログラム実行部は、WAN経由でサーバと通信するプログラムを実行し、
前記イベント検知部は、WAN故障を検知し、
前記実行判定部は、WAN経由でサーバと通信できるとの実行条件、WANを経由しないでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信する
ことを特徴とする請求項1記載のプログラム実行システム。 - 前記イベント検知部は、プログラム実行装置でのメモリ不足を検知する
ことを特徴とする請求項1または2記載のプログラム実行システム。 - 前記実行判定部は、実行不可能となったプログラムを示す実行条件を含む実行可否問い合わせを送信し、
前記実行依頼部は、当該プログラムが他のプログラム実行装置で実行されたことを示す実行実績を含む実行可否応答があったなら、プログラムの実行の依頼において、当該実行可否応答を送信した他のプログラム実行装置を優先する
ことを特徴とする請求項1ないし3のいずれかに記載のプログラム実行システム。 - 前記実行依頼部は、実行可能を示す複数の実行可否応答において、当該実行可否応答を送信した他のプログラム実行装置におけるプログラムの実行環境が開示されているなら、当該実行環境に基づいて、当該他のプログラム実行装置の優先順位を設定し、プログラムの実行の依頼において、当該優先順位の高い他のプログラム実行装置を優先する
ことを特徴とする請求項1ないし4のいずれかに記載のプログラム実行システム。 - 互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムを構成するプログラム実行装置であって、
該プログラム実行装置にあるプログラムを実行するプログラム実行部と、
当該プログラムの実行を不可能にする当該プログラム実行装置でのメモリ不足を検知するイベント検知部と、
当該メモリ不足が検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定する実行先判定部と、
当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する実行依頼部と
を備えることを特徴とするプログラム実行装置。 - 互いに通信可能な2以上のプログラム実行装置を含むプログラム実行システムの動作方法であって、
前記プログラム実行装置は、
該プログラム実行装置にあるプログラムを実行するプログラム実行部を備え、
前記動作方法は、
前記プログラム実行装置のイベント検知部が、当該プログラムの実行を不可能にするイベントを検知し、
前記プログラム実行装置の実行先判定部が、当該イベントが検知されたなら、当該プログラムの実行条件を含む実行可否問い合わせを他のプログラム実行装置に送信し、当該他のプログラム実行装置からの実行可否を示す実行可否応答に基づいて、当該プログラムを実行できる他のプログラム実行装置を特定し、
前記プログラム実行装置の実行依頼部が、当該特定された他のプログラム実行装置に対し当該プログラムの実行を依頼する
ことを特徴とするプログラム実行システムの動作方法。 - 前記プログラム実行部は、WAN経由でサーバと通信するプログラムを実行し、
前記イベント検知部は、WAN故障を検知し、
前記実行判定部は、WAN経由でサーバと通信できるとの実行条件、WANを経由しないでプログラム実行装置と通信できるとの実行条件を含む実行可否問い合わせを送信する
ことを特徴とする請求項7記載のプログラム実行システムの動作方法。 - 前記イベント検知部は、プログラム実行装置でのメモリ不足を検知する
ことを特徴とする請求項7または8記載のプログラム実行システムの動作方法。 - 前記実行判定部は、実行不可能となったプログラムを示す実行条件を含む実行可否問い合わせを送信し、
前記実行依頼部は、当該プログラムが他のプログラム実行装置で実行されたことを示す実行実績を含む実行可否応答があったなら、プログラムの実行の依頼において、当該実行可否応答を送信した他のプログラム実行装置を優先する
ことを特徴とする請求項7ないし9のいずれかに記載のプログラム実行システムの動作方法。 - 前記実行依頼部は、実行可能を示す複数の実行可否応答において、当該実行可否応答を送信した他のプログラム実行装置におけるプログラムの実行環境が開示されているなら、当該実行環境に基づいて、当該他のプログラム実行装置の優先順位を設定し、プログラムの実行の依頼において、当該優先順位の高い他のプログラム実行装置を優先する
ことを特徴とする請求項7ないし10のいずれかに記載のプログラム実行システムの動作方法。 - 請求項6記載のプログラム実行装置としてコンピュータを機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013137795A JP2015011601A (ja) | 2013-07-01 | 2013-07-01 | プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013137795A JP2015011601A (ja) | 2013-07-01 | 2013-07-01 | プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015011601A true JP2015011601A (ja) | 2015-01-19 |
Family
ID=52304684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013137795A Pending JP2015011601A (ja) | 2013-07-01 | 2013-07-01 | プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015011601A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019202830A1 (ja) * | 2018-04-17 | 2019-10-24 | 京セラドキュメントソリューションズ株式会社 | 電子機器および情報処理システム |
-
2013
- 2013-07-01 JP JP2013137795A patent/JP2015011601A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019202830A1 (ja) * | 2018-04-17 | 2019-10-24 | 京セラドキュメントソリューションズ株式会社 | 電子機器および情報処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6967342B2 (ja) | ポータブルコンピュータ試験ツール用のクラウドサービス資産管理のためのシステム及び方法 | |
US10848338B2 (en) | Systems and methods relating to a smart home manager | |
CN107172176B (zh) | 基于配置管理的app网络连接方法、设备及配置服务器 | |
JP2013041370A (ja) | エネルギー管理装置および電力管理システム | |
JP2003140930A5 (ja) | ||
JP2015536603A5 (ja) | ||
CN111756736A (zh) | 一种异构区块链间的跨链方法、系统及电子设备和存储介质 | |
CN102185934A (zh) | 一种烧写mac地址的系统及方法 | |
JP2009258917A (ja) | プロキシサーバ、認証サーバおよび通信システム | |
JP2019515595A (ja) | データ伝送方法、装置、及びシステム | |
KR20120119432A (ko) | 기기간 연결 방법 및 그 장치 | |
CN102291239A (zh) | 远程认证方法、系统、代理组件和认证服务器 | |
CN101873592A (zh) | 一种异构无线设备的动态管理装置 | |
JP2009245268A (ja) | 業務管理システム | |
US9760717B2 (en) | Communication device, system, and control method | |
JP5554847B2 (ja) | 領域を基にする通信サービス処理方法及び装置 | |
CN102404114A (zh) | Web服务监控方法和系统 | |
JP2015011601A (ja) | プログラム実行システム、プログラム実行装置、プログラム実行システムの動作方法およびコンピュータプログラム | |
KR101004798B1 (ko) | P2p 네트워크를 이용한 센서노드별 가상의 피어를 생성하는 방법 및 그 장치 | |
JP5529596B2 (ja) | 処理方法、処理装置、通信装置及びプログラム | |
KR101630088B1 (ko) | 가상머신의 라이프사이클 모니터링 방법 및 그 장치 | |
KR101636141B1 (ko) | 전력설비 고유번호 관리 장치 및 방법 | |
KR20090001812A (ko) | 복수의 모니터링 장소에 대한 환경 관리 시스템 및 방법 | |
JP6394322B2 (ja) | 鍵データ生成システム、及び鍵データ生成方法 | |
JP2012065165A (ja) | 通信装置 |