JP2009093361A - Control device and control method for distributed processing - Google Patents
Control device and control method for distributed processing Download PDFInfo
- Publication number
- JP2009093361A JP2009093361A JP2007262386A JP2007262386A JP2009093361A JP 2009093361 A JP2009093361 A JP 2009093361A JP 2007262386 A JP2007262386 A JP 2007262386A JP 2007262386 A JP2007262386 A JP 2007262386A JP 2009093361 A JP2009093361 A JP 2009093361A
- Authority
- JP
- Japan
- Prior art keywords
- application
- license
- execute
- sub
- distributed processing
- 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
Abstract
Description
本発明は、マルチファンクション機器(以下、MFP)あるいは単機能プリンタ(以下、SFP)のアプリケーションプラットフォーム上にアプリケーションをインストール・実行させる制御装置及び制御方法に関する。特に、複数台のデバイス上にアプリケーションを必要に応じて動的に分散させて、処理負荷を分散させる制御装置及び制御方法に関する。 The present invention relates to a control apparatus and a control method for installing and executing an application on an application platform of a multifunction device (hereinafter, MFP) or a single function printer (hereinafter, SFP). In particular, the present invention relates to a control apparatus and a control method for distributing a processing load by dynamically distributing applications on a plurality of devices as necessary.
近年、MFPあるいはSFPなどのデバイスには、Java(登録商標)環境に代表されるようなアプリケーション実行環境が提供されるようになってきている。その環境上で動作するプログラムを開発すれば、デバイスの提供する機能を利用したアプリケーションが作成可能となっている。デバイスが標準で提供しているコピー・スキャン・送信・印刷などのアプリケーション以外のエンドユーザが所望する機能を、他社の機器などに対応する製品を作っているメーカーがアプリケーションとして自由に開発することができる。また、そのアプリケーションをデバイスにインストール・実行することができる。アプリケーションを、販売・頒布する目的において、一般的にはアプリケーションをデバイスにインストールするにはライセンスが必要である。その理由としては、アプリケーションを無制限に配布させないため、また、アプリケーションの配布に対して、ライセンス料金をチャージしたいためである。 In recent years, devices such as MFPs and SFPs have been provided with an application execution environment represented by a Java (registered trademark) environment. If you develop a program that runs in that environment, you can create an application that uses the functions provided by the device. Functions that end users desire other than the applications such as copy, scan, send, and print that are provided by the device as a standard can be freely developed as an application by manufacturers that make products that support devices from other companies. it can. The application can be installed and executed on the device. For the purpose of selling and distributing an application, a license is generally required to install the application on a device. The reason is that the application is not distributed indefinitely and it is desired to charge a license fee for the distribution of the application.
複数台のデバイスのうちの1つのデバイス(以下、「メインデバイス」と称す。)がアプリケーションを実行中であるとする。通常時においては、このアプリケーションの処理は、メインデバイスの処理能力で十分に処理可能である。しかし、処理すべきデータが大量にある場合や、印刷ジョブが多数ある場合、他のデバイス(以下、「サブデバイス」と称す。)のリソースも活用して分散処理を図れば、全体の処理時間が短縮され、ユーザにとってはメリットが大きい。ここで分散処理とは、メインデバイスが、本来自ら行うべき処理の一部をサブデバイスに分担させ、そのサブデバイスと共にその処理を実行することを意味する。分散処理の方法としては、例えば、メインデバイスで実行中のアプリケーションと同じものをサブデバイスに予めインストールし実行させておき、処理の分散時には複数台のデバイスが協働して処理を行う方法が考えられる。しかし、一般的に、MFPあるいはSFPは、製造コストを低廉に抑えるために、HDD・メモリなどのリソースを必要最小限しか装備していない。したがって、分散処理を行う時のために通常時は使用されないアプリケーションをサブデバイスに予めインストールし実行させておく上記方法は、サブデバイスのリソースの一部を通常時に無駄に消費することになるという課題がある。そこで、本発明の第1の目的は、分散処理時のみオンデマンドでアプリケーションをサブデバイスにインストール・実行・アンインストールする機構を提供することである。 Assume that one of a plurality of devices (hereinafter referred to as “main device”) is executing an application. In normal times, the processing of this application can be sufficiently processed by the processing capability of the main device. However, if there is a large amount of data to be processed or if there are a large number of print jobs, the entire processing time can be achieved by using distributed resources using resources from other devices (hereinafter referred to as “subdevices”). Is shortened and has great benefits for the user. Here, the distributed processing means that the main device shares a part of the processing that should be originally performed with the sub device and executes the processing together with the sub device. As a distributed processing method, for example, the same application as that being executed on the main device may be installed and executed in advance on the sub-device, and a plurality of devices may cooperate to perform processing when the processing is distributed. It is done. However, in general, MFPs or SFPs are equipped with a minimum amount of resources such as HDDs and memories in order to keep manufacturing costs low. Therefore, the above-described method of preinstalling and executing an application that is not normally used on a sub device in advance for performing distributed processing consumes part of the resources of the sub device normally. There is. Accordingly, a first object of the present invention is to provide a mechanism for installing, executing, and uninstalling an application on a sub-device on demand only during distributed processing.
他方、特許文献1には、クライアント端末の記憶領域を無駄に使用しないために、サーバ側がライセンス数をチェックし、クライアント端末に必要なソフトウェアのみを自動インストールする技術が開示されている。この先行技術はいわゆるフローティングライセンスの形態をとっており、どのクライアント端末にも等価なライセンスが与えられる。 On the other hand, Patent Document 1 discloses a technology in which the server side checks the number of licenses and automatically installs only software necessary for the client terminal in order not to use the storage area of the client terminal wastefully. This prior art takes the form of a so-called floating license, and an equivalent license is given to any client terminal.
前述のように、メインデバイスの処理をサブデバイスに分散したい場合、メインデバイスで常時実行されているアプリケーションに対する正規ライセンスと、分散処理時の一時的インストール専用のライセンスとを区別する必要がある。これは、サブデバイスのリソース使用に制限を設け、無制限に使用させないため、あるいはサブデバイスのリソース使用に対して料金をチャージ可能とするためである。しかし、特許文献1に記載の技術では、等価なライセンスを各クライアント端末に与えるだけなので、分散処理時の一時的インストール・一時的使用を考慮したライセンスの付与はできないという課題がある。そこで、本発明の第2の目的は、分散処理時の一時的インストール専用のライセンスを提供することである。 As described above, when it is desired to distribute the processing of the main device to the sub-devices, it is necessary to distinguish between a regular license for an application that is constantly executed on the main device and a license dedicated to temporary installation at the time of distributed processing. This is because the resource usage of the sub device is limited so as not to be used without limitation, or the fee can be charged for the resource usage of the sub device. However, in the technique described in Patent Document 1, since an equivalent license is only given to each client terminal, there is a problem that a license cannot be granted in consideration of temporary installation and temporary use during distributed processing. Therefore, a second object of the present invention is to provide a license exclusively for temporary installation during distributed processing.
本発明の制御装置は、命令を受付ける受付手段と、受付手段で受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御する制御手段とを有し、制御手段は、処理を他の装置に実行させる上で必要なアプリケーションを他の装置にインストールするためのプログラムを、他の装置に送信することを特徴とする。 The control device according to the present invention includes a receiving unit that receives a command, and a control unit that controls the other device to execute a process that needs to be performed by the command received by the receiving unit. A program for installing an application necessary for causing another device to execute the program to the other device is transmitted to the other device.
本発明の制御方法は、命令を受付けるステップと、受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを含み、制御するステップは、処理を他の装置に実行させる上で必要なアプリケーションを他の装置にインストールするためのプログラムを、他の装置に送信することを特徴とする。 The control method of the present invention includes a step of accepting an instruction, and a step of controlling another apparatus to execute a process that needs to be performed by the instruction accepted in the accepting step. A program for installing an application necessary for causing the device to be executed on the other device is transmitted to the other device.
本発明のコンピュータ読み取り可能な記録媒体は、コンピュータに、命令を受付けるステップと、受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、制御するステップは、処理を他の装置に実行させる上で必要なアプリケーションを他の装置にインストールするためのプログラムを、他の装置に送信することを特徴とする。 The computer-readable recording medium of the present invention causes a computer to execute a step of receiving an instruction and a step of controlling another apparatus to execute a process that needs to be performed by the instruction received in the receiving step. The computer-readable recording medium having the program recorded therein, the step of controlling transmits a program for installing an application necessary for causing the other device to execute processing to the other device to the other device. It is characterized by doing.
本発明のプログラムは、コンピュータに、命令を受付けるステップと、受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを実行させるためのプログラムであって、制御するステップは、処理を他の装置に実行させる上で必要なアプリケーションを他の装置にインストールするためのプログラムを、他の装置に送信することを特徴とする。 A program according to the present invention is a program for causing a computer to execute a step of receiving an instruction and a step of controlling another apparatus to execute a process that needs to be performed by the instruction received in the step of receiving. The controlling step is characterized in that a program for installing an application necessary for causing another device to execute the process to be transmitted to the other device is transmitted to the other device.
本発明によれば、サブバンドルおよびサブライセンスを定義することにより、分散処理用のアプリケーションを必要なときにだけサブデバイスに一時的にインストール・実行する環境を提供できる。これにより、あらかじめアプリケーションをサブデバイスにインストールしておく必要がなくなる。また、分散処理終了時にサブバンドルをアンインストールしてリソースを解放するため、通常時においてはサブデバイスのリソースを有効利用できる。 According to the present invention, by defining sub-bundles and sub-licenses, it is possible to provide an environment in which an application for distributed processing is temporarily installed and executed on a sub-device only when necessary. This eliminates the need to previously install the application on the subdevice. Further, since the resource is released by uninstalling the sub-bundle at the end of distributed processing, the resources of the sub-device can be effectively used in normal times.
本発明によれば、常時実行されるアプリケーションに対する正規ライセンスと、一時的インストール専用のサブライセンスを区別することができるため、サブデバイスのリソース使用に対して料金をチャージ可能な仕組みを提供できる。 According to the present invention, it is possible to distinguish between a regular license for an application that is always executed and a sublicense dedicated to temporary installation, and therefore, it is possible to provide a mechanism capable of charging a fee for resource usage of a subdevice.
以下、添付図面を参照して本発明の好適な実施例を詳細に説明する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図1は、ネットワークを介して相互に通信可能なデバイス群の構成図である。 FIG. 1 is a configuration diagram of a group of devices that can communicate with each other via a network.
図1において、101、102、103は、MFPあるいはSFPなどのデバイスである。これらのデバイスは、印刷をはじめとして、スキャン、ネットワーク通信、ジョブ保存、FAXなどの様々な機能を提供する。各デバイスは、ネットワーク104を介して、相互にデータの送受信を行う。
In FIG. 1,
MFPは、原稿自動送り部(フィーダ)、スキャナ部、給紙部、定着部、排紙部、フィニッシング装置、排紙トレイなどを備える。SFPは、フィーダ、スキャナ部などが装備されていない単機能プリンタである。 The MFP includes an automatic document feeder (feeder), a scanner unit, a paper feed unit, a fixing unit, a paper discharge unit, a finishing device, a paper discharge tray, and the like. The SFP is a single-function printer that is not equipped with a feeder, a scanner unit, or the like.
デバイスは、UIを提供する操作部(表示画面を含む)、ネットワークインタフェース部、CPU、プログラムやデータを保存するROM、RAM、HDDなどを備える。また、HDDの代わりに不揮発性メモリを備える廉価なデバイスもある。 The device includes an operation unit (including a display screen) that provides a UI, a network interface unit, a CPU, a ROM, a RAM, and an HDD that store programs and data. There is also an inexpensive device that includes a nonvolatile memory instead of the HDD.
図2は、メインデバイス101内のソフトウェア構成図である。
FIG. 2 is a software configuration diagram in the
OS201は、デバイスが備えているROMやHDDからプログラムをRAMにロードし、CPUにプログラムを実行させる。
The
202は、追加のアプリケーションを実行可能とするプラットフォームである。プラットフォームとは、アプリケーションを動作させる際の基盤となる環境のことである。プラットフォーム202は、例えば、Java(登録商標)仮想マシンおよびライブラリ群などから構成される。開発者は、特定のプログラム言語を用いて、このプラットフォーム上で動作するアプリケーションを容易に開発できる。
コントローラ203は、デバイス特有の印刷・スキャンなどハードウェアに依存する一部の機能を制御する。
The
204は、バンドル管理サービスである。バンドル管理サービスとは、プラットフォーム上に組み込み済みのアプリケーションの一種である。なお、ここではプラットフォーム202上で実行可能なアプリケーションのうち、常時実行されているものをサービス、必要に応じてインストール・実行されるものをアプリケーションと呼ぶこととする。バンドル管理サービス204は、プログラムモジュールの集合であるバンドル205およびライセンス206を受信すると、ライセンスの妥当性をチェックした上で、バンドル205内のプログラムモジュールを、プラットフォーム202を介してインストールする。バンドル管理サービス204がインストールしたプログラムモジュールを起動すると、プログラムモジュールは、プラットフォーム202上でアプリケーション207として実行される。バンドル管理サービス204は、追加のアプリケーションのインストール・起動・停止・アンインストールなどのライフサイクル管理を担当する。
図3は、分散処理を考慮した場合の、メインデバイス101にインストール可能なアプリケーションのインストールモジュール301の構成図である。
FIG. 3 is a configuration diagram of an
アプリケーションが常時実行されているメインデバイスを101とし、分散処理時にのみアプリケーションが一時的にインストール・実行されるサブデバイスを102とする。メインバンドル302は、メインデバイス101で実行されるプログラムモジュールの集合である。インストールモジュール301をメインデバイス101にインストールすると、メインバンドル302のプログラムモジュールが実行可能な状態になる。メインバンドルをメインデバイス101にインストールする時に、メインライセンス303が用いられ、メインバンドルのインストール妥当性がチェックされる。
Assume that a main device in which an application is always executed is 101, and a sub device in which the application is temporarily installed and executed only during distributed processing is 102. The
サブバンドル304は、サブデバイスで実行されるプログラムモジュールの集合である。サブバンドル304は、サブデバイスで実行されるアプリケーションや、そのアプリケーションをサブデバイスにインストールするためのプログラムを含む。 The sub-bundle 304 is a set of program modules executed by the sub-device. The sub-bundle 304 includes an application executed on the sub-device and a program for installing the application on the sub-device.
305、306、307は、分散処理時の一時的インストール専用のサブライセンスであり、サブデバイスにサブバンドルをインストールする時に使用される。すなわち、サブライセンスがないとサブバンドルをサブデバイスにインストールできず、アプリケーションを実行することができない。サブライセンスは、上記アプリケーションを実行するために必要なライセンスであり、また、サブバンドルをインストールするために必要なライセンスである。 305, 306, and 307 are sublicenses dedicated to temporary installation during distributed processing, and are used when installing a subbundle on a subdevice. That is, if there is no sublicense, the subbundle cannot be installed in the subdevice, and the application cannot be executed. The sub license is a license necessary for executing the application, and is a license necessary for installing the sub bundle.
なお、メインデバイスにインストールされているアプリケーションと、サブデバイスにインストールされているアプリケーションは、以下の点で異なる。 Note that an application installed on the main device and an application installed on the sub device differ in the following points.
処理の実行が終了した際に、メインデバイス101のアプリケーションは、そのことをメインデバイスの表示画面に表示するように構成されている。これに対して、サブデバイス102のアプリケーションは、サブデバイス102でやるべき処理の実行が終了しても、そのことを特にサブデバイス102の表示画面に表示する構成とはなっていない。
When the execution of the process is finished, the application of the
図4は、サブバンドルのマニフェストおよびサブライセンスの記述内容を示す図である。 FIG. 4 is a diagram showing the description contents of the sub-bundle manifest and sub-license.
マニフェスト401には、サブバンドル404がアプリケーションとして動作する際の種々の情報が記述されている。402は、バンドルタイプがサブバンドルであることを示す識別子である。403は、アプリケーションを特定するための固有のIDである。404および405は、このサブバンドルがインストール・実行するのに必要なメモリ領域およびファイル領域のサイズを表している。406、407、408は、このサブバンドルがデバイス上でアプリケーションとして実行される際に、デバイスの具備するどの機能を使用するかを示す識別子のリストである。406〜408には、カラー印刷機能、PDFダイレクト印刷機能及びステイプルの機能を使用することが記述されている。
The
サブライセンス411には、412〜414の情報が記述されている。412は、このライセンスがサブバンドルに対するライセンスであることを示す識別子である。413は、ライセンス対象のアプリケーションを特定するための固有のIDである。414は、ライセンスの発行を管理するためのシリアルIDである。
In the
図5は、分散処理時のメインデバイスとサブデバイスにおける指示の流れを説明するための図である。 FIG. 5 is a diagram for explaining the flow of instructions in the main device and sub-device during distributed processing.
501a、501bは、分散処理実行アシストサービスであり、各アプリケーションからの分散処理に関するAPI呼び出し、および、各アプリケーションへの分散処理に関するイベント通知を担当する。
メインデバイス101において、インストールモジュール301がインストール済みで、メインバンドル302およびメインライセンス303によって、アプリケーション503aが実行中である。この間、まだ未使用のサブバンドル304およびサブライセンス305〜307は、バンドル管理サービス204によって、HDDなどの記憶領域に保持されている。
In the
図6は、分散処理時においてメインデバイスとサブデバイスが実行する処理の流れを示すフローチャートである。 FIG. 6 is a flowchart showing the flow of processing executed by the main device and sub-device during distributed processing.
以下、図5と図6を参照して、分散処理時においてメインデバイス101とサブデバイス102の各々が実行する処理の流れを説明する。
Hereinafter, with reference to FIG. 5 and FIG. 6, the flow of processing executed by each of the
メインデバイス101は、アプリケーション503aを実行中である(S601)。
The
なお、メインデバイス101(の受付手段)は、以下の場合にアプリケーション503aの実行を開始する。
・アプリケーション503aによって行われるべき処理を行う旨を指示した命令が他の装置からメインデバイス101に入力され、メインデバイス101は、その命令を受け付けた。
・アプリケーション503aによって行われるべき処理を行う旨を指示した命令がユーザからメインデバイス101に入力され、メインデバイス101は、その命令を受け付けた。
・アプリケーション503aによって行われるべき処理を行う旨を指示した命令がメインデバイス101内で生成され、メインデバイス101は、その命令を認識した。
The main device 101 (accepting means) starts executing the
A command instructing to perform processing to be performed by the
A command instructing to perform processing to be performed by the
A command instructing to perform processing to be performed by the
メインデバイス101は、アプリケーション503aの実行中に、大量のデータを処理しなければならないケース等の分散処理が必要なケースが発生したかどうかを判定する(S602)。
The
分散処理が必要なケースが発生したと判定した場合、アプリケーション503aは、分散処理実行アシストサービス501aに対してAPI呼出しを行う。そのAPI呼出しを受けた分散処理実行アシストサービス501aは、同一セグメント内の全てのサブデバイスに対して、搭載能力、余剰リソース及びジョブ状況を問い合わせる(S603)。
If it is determined that a case requiring distributed processing has occurred, the
尚、セグメントとは、ネットワークで分離されているセグメントや、複数のデバイスで構成されたグループなど、あるルールに従ってまとめられたデバイスの集合のことである。 A segment is a set of devices grouped according to a certain rule, such as a segment separated by a network or a group composed of a plurality of devices.
サブデバイス102の分散処理実行アシストサービス501bは、上記の問い合わせに対する回答を分散処理実行アシストサービス501aに返信する(S604)。
The distributed processing
回答を受け取った分散処理実行アシストサービス501aは、サブバンドル304のマニフェスト401に記述された必要なメモリ領域404とファイル領域405、必要な搭載機能406〜408を参照する。次いで、分散処理実行アシストサービス501aは、それらの条件をすべて満たすサブデバイス(分散処理可能なサブデバイス)が存在するか否かを判定する(S605)。
The distributed processing
尚、この判定を行うに当たり、上記条件をすべて満たすデバイスであっても、そのときのジョブ状況が混雑しているサブデバイスは分散処理の対象外としてもよい。 In making this determination, even if the device satisfies all the above conditions, the sub-device in which the job status at that time is congested may be excluded from the target of distributed processing.
分散処理実行アシストサービス501aは、分散処理可能なサブデバイスが存在すると判定した場合、そのサブデバイスにアプリケーション503aの分散処理を実行させるか否かをユーザに選択させる。具体的には、分散処理実行アシストサービス501aは、分散処理を実行するか否かをユーザに選択させるための表示画面(確認画面)を操作部に表示させる(S606)。
When the distributed processing
メインデバイス101は、ユーザによる選択にしたがい、分散処理を実行するか否かを判定する(S607)。
The
なお、分散処理を実行するか否かの判定をユーザの選択によらないで自動的に行う構成としてもよい。例えば、アイドル状態のサブデバイスに強制的に処理を分散させる構成としてもよい。 Note that it may be configured to automatically determine whether to execute the distributed processing without depending on the user's selection. For example, the processing may be forcibly distributed to idle sub-devices.
分散処理を実行すると判定した場合、メインデバイス101の分散処理実行アシストサービス501aは、サブデバイス102の分散処理実行アシストサービス501bに対してサブバンドル304およびサブライセンス305を送信する(S608)。サブバンドル304の送信により、命令により行う必要の生じた処理をサブデバイス102に実行させる上で必要なアプリケーションをサブデバイス102にインストールするためのプログラムが送信されることになる。また、サブライセンス305の送信により、上記必要なアプリケーションをサブデバイス102で使用することを許可するためのライセンスが送信されることになる。すなわち、メインデバイス101は、受付けた命令により行う必要の生じた処理をサブデバイス102(他の装置)に実行させるように制御する手段を有する。そして、その制御する手段は、その処理をサブデバイス102に実行させる上で必要なアプリケーションをサブデバイス102にインストールするためのプログラムを、サブデバイス102に送信する。
When it is determined to execute the distributed processing, the distributed processing
サブデバイス102の分散処理実行アシストサービス501bは、サブバンドル304およびサブライセンス305を受信すると、バンドル管理サービス502bを用いて、インストール・起動を行う(S609)。これにより、サブバンドル304のプログラムモジュールは、アプリケーション503bとして、サブデバイス102上で実行中となる。
When receiving the sub-bundle 304 and the sub-license 305, the distributed processing
バンドル管理サービス502bは、インストール・起動に成功すると、分散処理実行アシストサービ501bを介して、アプリケーション起動イベントを分散処理実行アシストサービス501aへ送信する(S610)。
When the
分散処理実行アシストサービス501aは、受信したアプリケーション起動イベントをアプリケーション503aにわたす(S611)。
The distributed processing
アプリケーション503aは、アプリケーション起動イベントを受け取ると、分散処理実行アシストサービス501aを介して、サブデバイス102に割り当てる分散処理用データをサブデバイス102に送信する(S612)。ここで、分散処理用データとは、サブデバイス102がある処理を実行するために必要なデータのことである。また、ある処理とは、受付けた命令により行う必要の生じた処理の全部又は一部のことである。また、アプリケーション503aは、上記の分散処理用データを送信した後に、分散処理の開始指示をサブデバイス102に送信する(S612)。
Upon receiving the application activation event, the
分散処理実行アシストサービス501bは、分散処理用データと分散処理の開始指示を受け取ると、アプリケーション503bに分散処理の開始指示を出す(S613)。開始指示を受けたアプリケーション503bは、分散処理を実行する。アプリケーション503bは、分散処理を終了すると、分散処理実行アシストサービス501bを介して、分散処理の終了イベントを分散処理実行アシストサービス501aに送信する(S614)。
Upon receiving the distributed processing data and the distributed processing start instruction, the distributed processing
分散処理実行アシストサービス501aは、受け取った終了イベントをアプリケーション503aにわたす(S615)。終了イベントを受け取ったアプリケーション503aは、サブデバイス102に割り当てた処理が正常終了したことを確認する。
The distributed processing
分散処理実行アシストサービス501bは、ハンドル管理サービス502bを用いて、サブバンドル304をアンインストールする。また、分散処理実行アシストサービス501bは、サブライセンスを分散処理実行アシストサービス501aに返却する(S616)。
The distributed processing
さらに、サブデバイスがサブライセンスを使用した際のそのライセンスフィーは、そのサブデバイスにサブライセンスを送ったメインデバイスに保存されているメインラインセンスのライセンスフィーとしてかかる。 Further, the license fee when the subdevice uses the sublicense is applied as the license fee of the main license stored in the main device that sent the sublicense to the subdevice.
分散処理実行アシストサービス501aは、返却されたライセンスを回収する(S617)。
The distributed processing
図7は、分散処理時においてサブデバイス102のアプリケーション503bでエラーが発生した場合にメインデバイス101とサブデバイス102が実行する処理の流れを示すフローチャートである。
FIG. 7 is a flowchart showing a flow of processing executed by the
分散処理実行中に、サブデバイス102のアプリケーション503bでエラーが発生したとする(S701)。
Assume that an error has occurred in the
アプリケーション503bは、分散処理実行アシストサービス501bを介して、エラー終了イベントを分散処理実行アシストサービス501aに送信する(S702)。
The
分散処理実行アシストサービス501aは、受信した終了イベントをアプリケーション503aに通知する(S703)。
The distributed processing
分散処理実行アシストサービス501bは、バンドル管理サービス502bを用いて、アプリケーション503bを停止し、サブバンドルをアンインストールすると共にサブライセンスを分散処理実行アシストサービス501aに返却する(S704)。
The distributed processing
分散処理実行アシストサービス501aは、返却されたライセンスを回収し、再度利用可能な状態に戻す(S705)。
The distributed processing
エラー終了イベントを受信したアプリケーション503aは、サブデバイス102で処理されなかったデータ(未処理データ)を他のサブデバイスに転送するか否かを判定する(S706)。
The
アプリケーション503aは、他のサブデバイスに転送しないと判定した場合、自ら未処理データを処理する(S711)。
If the
他のサブデバイスに転送する場合は、メインデバイス101は、図6のステップS603と同様にサブデバイスに問い合わせを行う(S707)。
When transferring to another sub device, the
メインデバイス101は、図6のS605と同様に、分散処理を実行可能なサブデバイスが存在するかどうかを判定する(S708)。メインデバイス101は、分散処理を実行可能なサブデバイスが存在しないと判定した場合は、自ら未処理データを処理する(S711)。
The
メインデバイス101は、分散処理を実行可能なサブデバイス103が存在すると判定した場合、図6のS608と同様に、サブバンドルとサブライセンスをサブデバイス103に送信する(S709)。
If the
サブデバイス103は、図6のS609〜S616の処理と同様に分散処理を行う(S710)。
The
(その他の実施例)
本発明は、前述の実施例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に装着し、システム等のコンピュータが記録媒体からプログラムコードを読み取り実行することによっても達成される。記録媒体はコンピュータ読み取り可能な記録媒体である。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成する。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現されてもよい。また、記録媒体から読み出されたプログラムコードが、コンピュータの機能拡張カードや機能拡張ユニットに書込まれた後、機能拡張カード等がプログラムコードの指示に基づき処理の一部または全部を行うことで、前述の実施例を実現してもよい。
(Other examples)
The present invention can also be achieved by mounting a recording medium on which a program code of software for realizing the functions of the above-described embodiments is recorded in a system or apparatus, and a computer such as the system reads and executes the program code from the recording medium. . The recording medium is a computer-readable recording medium. In this case, the program code read from the recording medium itself realizes the functions of the above-described embodiments, and the recording medium storing the program code constitutes the present invention. Further, based on the instruction of the program code, an operating system (OS) running on the computer may perform part or all of the actual processing, and the functions of the above-described embodiments may be realized by the processing. In addition, after the program code read from the recording medium is written to the function expansion card or function expansion unit of the computer, the function expansion card or the like performs part or all of the processing based on the instruction of the program code. The embodiments described above may be implemented.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納される。 When the present invention is applied to the recording medium, the recording medium stores program codes corresponding to the flowcharts described above.
101、102、103 デバイス
104 ネットワーク
201 OS
202 プラットフォーム
203 コントローラ
204 バンドル管理サービス
205 バンドル
206 ライセンス
207 アプリケーション
301 インストールモジュール
302 メインバンドル
303 メインライセンス
304 サブバンドル
305、306、307 サブライセンス
401 マニフェスト
402 バンドルタイプ識別子
403 アプリケーションID
404、405 必要リソース容量
406、407、408 必要機能リスト
411 サブライセンス
412 バンドルタイプ識別子
413 アプリケーションID
414 ライセンスシリアルID
501a、501b 分散処理実行アシストサービス
502b バンドル管理サービス
503a アプリケーション(メインバンドルに対応)
503b アプリケーション(サブバンドルに対応)
101, 102, 103
202
404, 405
414 License serial ID
501a, 501b Distributed processing
503b Application (supports sub-bundle)
Claims (9)
前記受付手段で受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御する制御手段とを有し、
前記制御手段は、前記処理を他の装置に実行させる上で必要なアプリケーションを前記他の装置にインストールするためのプログラムを、前記他の装置に送信することを特徴とする制御装置。 An accepting means for accepting orders;
Control means for controlling the other apparatus to execute processing that has been required to be performed by the instruction received by the receiving means,
The control device transmits to the other device a program for installing an application necessary for causing the other device to execute the processing on the other device.
前記制御手段が前記他の装置に送信するライセンスは、前記制御装置が有しているライセンスと異なり、一時的な使用が許されるライセンスであることを特徴とする請求項2に記載の制御装置。 The control device also has a license,
3. The control apparatus according to claim 2, wherein the license transmitted by the control unit to the other apparatus is a license that allows temporary use, unlike a license that the control apparatus has.
当該アプリケーションは、前記処理を他の装置に実行させる上で必要なアプリケーションとは異なり、前記処理の実行が終了した際に終了した旨をユーザに確認させるための表示画面を示すことが可能であることを特徴とする請求項1〜3の何れか1項に記載の制御装置。 The control device also has an application necessary to execute the processing by itself,
The application can display a display screen for allowing the user to confirm that the process has been completed when the process is completed, unlike an application necessary for causing another apparatus to execute the process. The control device according to claim 1, wherein the control device is a control device.
前記受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを含み、
前記制御するステップは、前記処理を他の装置に実行させる上で必要なアプリケーションを前記他の装置にインストールするためのプログラムを、前記他の装置に送信することを特徴とする制御方法。 Receiving a command;
Controlling to cause another device to execute the process that has been required to be performed by the instruction received in the step of receiving,
The control step includes transmitting to the other device a program for installing an application necessary for causing the other device to execute the processing on the other device.
命令を受付けるステップと、
前記受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記制御するステップは、前記処理を他の装置に実行させる上で必要なアプリケーションを前記他の装置にインストールするためのプログラムを、前記他の装置に送信することを特徴とするコンピュータ読み取り可能な記録媒体。 On the computer,
Receiving a command;
A computer-readable recording medium storing a program for executing a process for controlling another apparatus to execute a process that needs to be performed by the instruction received in the receiving step,
The step of controlling transmits to the other device a program for installing an application necessary for causing the other device to execute the process to the other device. Medium.
命令を受付けるステップと、
前記受付けるステップで受付けた命令により行う必要の生じた処理を他の装置に実行させるように制御するステップとを実行させるためのプログラムであって、
前記制御するステップは、前記処理を他の装置に実行させる上で必要なアプリケーションを前記他の装置にインストールするためのプログラムを、前記他の装置に送信することを特徴とするプログラム。 On the computer,
Receiving a command;
A program for performing control to cause another apparatus to execute processing that needs to be performed by the instruction received in the step of receiving,
The controlling step transmits to the other device a program for installing an application necessary for causing the other device to execute the process on the other device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262386A JP2009093361A (en) | 2007-10-05 | 2007-10-05 | Control device and control method for distributed processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262386A JP2009093361A (en) | 2007-10-05 | 2007-10-05 | Control device and control method for distributed processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009093361A true JP2009093361A (en) | 2009-04-30 |
Family
ID=40665301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007262386A Pending JP2009093361A (en) | 2007-10-05 | 2007-10-05 | Control device and control method for distributed processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009093361A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138434A (en) * | 2009-12-29 | 2011-07-14 | Sharp Corp | Apparatus and method for controlling operation, license providing system, operation control program and recording medium |
-
2007
- 2007-10-05 JP JP2007262386A patent/JP2009093361A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138434A (en) * | 2009-12-29 | 2011-07-14 | Sharp Corp | Apparatus and method for controlling operation, license providing system, operation control program and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5261113B2 (en) | System, server, image forming apparatus, control method, and program | |
RU2336558C1 (en) | Device for image processing and control method for it | |
KR101580710B1 (en) | Management device, information processing system, management method, and storage medium | |
JP5630237B2 (en) | Electronics | |
JP2004005417A (en) | Software management through bundling | |
JP2006330940A (en) | Print control method, print setting management system and software distribution server | |
JP2009175885A (en) | Information processing apparatus, information processing system, information processing method, and information processing program | |
US8564813B2 (en) | Distributed printing system, print control method for determining printing output locations according to content and estimated time information, and program | |
EP2615545B1 (en) | Apparatus, control method, and storage medium | |
CN1725202A (en) | Data processing system, data generating device and data outputting device | |
JP2003122537A (en) | License management device and management system | |
JP4533251B2 (en) | Information processing system and job assignment method | |
JP2007272458A (en) | Information processor, information processing system, and information processing method | |
JP2007323641A (en) | System and method for electronic document output request processing control | |
JP2005352697A (en) | Computer system, and allocating method for job of the system | |
JP2011159232A (en) | Image processing device, consumables ordering method and consumables ordering program | |
CN103853578A (en) | Information processing system and information processing method | |
JP2010072860A (en) | Electronic equipment, remote management system, control method, program, and recording medium | |
JP2008134702A (en) | Information processing system, information processor, and information processing method | |
EP2234014A2 (en) | Information processing apparatus, information processing method, and information processing system | |
JP2009093361A (en) | Control device and control method for distributed processing | |
JP7282507B2 (en) | Information processing device, server device, control method, control program | |
JP2012091422A (en) | Image forming apparatus and control method thereof | |
JP6738723B2 (en) | Point management system, information processing device, point management method, and program | |
US20080307416A1 (en) | Device management apparatus, device management method, and storage medium |