JP2015056108A - Information processing system, imitation method, and imitation program - Google Patents
Information processing system, imitation method, and imitation program Download PDFInfo
- Publication number
- JP2015056108A JP2015056108A JP2013190369A JP2013190369A JP2015056108A JP 2015056108 A JP2015056108 A JP 2015056108A JP 2013190369 A JP2013190369 A JP 2013190369A JP 2013190369 A JP2013190369 A JP 2013190369A JP 2015056108 A JP2015056108 A JP 2015056108A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- imitation
- information processing
- virtual
- processing system
- 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
本発明は、情報処理システム、模倣方法、及び模倣プログラムに関する。 The present invention relates to an information processing system, an imitation method, and an imitation program.
API(Application Program Interface)が公開されたアプリケーションプラットフォームを有し、サードベンダ等によっても、アプリケーションプログラム(以下、「アプリケーション」という。)を開発可能な画像形成装置が有る。一般的に、アプリケーションの開発作業においては、アプリケーションのバグを除去するために動作確認が行われる。斯かる動作確認においては、アプリケーションの動作環境、すなわち、当該アプリケーションが動作するアプリケーションプラットフォームを備えた画像形成装置が必要とされる。 There is an image forming apparatus that has an application platform in which an API (Application Program Interface) is disclosed and can develop an application program (hereinafter referred to as “application”) by a third vendor or the like. Generally, in application development work, operation confirmation is performed to remove bugs in the application. In such operation confirmation, an operation environment of an application, that is, an image forming apparatus including an application platform on which the application operates is required.
画像形成装置には、複数の機種が存在するところ、各機種においてアプリケーションの動作が保証されるためには、ソフトウェアベンダにおいて、複数の機種の画像形成装置が用意される必要がある。しかし、画像形成装置の中には、高価な機種も存在し、また、維持コストや故障のリスク等も発生する。したがって、画像形成装置の所有は、ソフトウェアベンダにとって、経済的に大きな負担となる。 There are a plurality of types of image forming apparatuses. In order to guarantee the operation of an application in each model, it is necessary for a software vendor to prepare a plurality of types of image forming apparatuses. However, there are some expensive image forming apparatuses, and maintenance costs and risk of failure occur. Therefore, ownership of the image forming apparatus is an economically heavy burden for the software vendor.
そこで、画像形成装置のエミュレータ又はシミュレータ等(以下、「エミュレータ」で統一する)を作成し、当該エミュレータを各ソフトウェアベンダに利用させることが考えられる。 Therefore, it is conceivable to create an emulator or simulator of the image forming apparatus (hereinafter, unified by “emulator”), and let each software vendor use the emulator.
しかしながら、エミュレータは、各開発者等のPC(Personal Computer)等にインストールされる必要が有る。したがって、多数の開発者が存在する場合、アプリケーションの動作確認用の環境構築の作業負担が大きくなる可能性が有る。また、画像形成装置の機種ごとに異なるエミュレータが必要となるため、斯かる観点からも、アプリケーションの動作確認用の環境構築の作業負担が大きくなる可能性が有る。 However, the emulator needs to be installed on a PC (Personal Computer) of each developer or the like. Therefore, when there are a large number of developers, there is a possibility that the work load of the environment construction for checking the operation of the application becomes large. In addition, since different emulators are required for each model of the image forming apparatus, from this point of view, there is a possibility that the work load for building an environment for confirming the operation of the application may increase.
本発明は、上記の点に鑑みてなされたものであって、機器上で動作するプログラムの動作確認のための環境構築の作業負担を軽減することを目的とする。 The present invention has been made in view of the above points, and it is an object of the present invention to reduce the burden of environment construction for confirming the operation of a program running on a device.
そこで上記課題を解決するため、1以上のコンピュータを含む情報処理システムは、ネットワークを介してプログラムを受信する受信部と、機器の操作部に対する入力に対応する要求を、ネットワークを介して受信し、該入力に応じて前記プログラムが前記機器に実行させる処理を模倣する模倣部とを有し、前記模倣部は、ネットワークを介して受信される、当該模倣部の状態の変更要求に応じ、当該模倣部の状態を変更し、変更後の状態において、前記機器が実行する処理を模倣する。 Therefore, in order to solve the above-mentioned problem, an information processing system including one or more computers receives a request corresponding to an input to an operation unit of a receiving unit that receives a program via a network via the network, An imitation unit that imitates the process executed by the device in response to the input, and the imitation unit receives the imitation in response to a request to change the state of the imitation unit received via a network. The state of the unit is changed, and in the state after the change, the process executed by the device is imitated.
機器上で動作するプログラムの動作確認のための環境構築の作業負担を軽減することができる。 It is possible to reduce the work load of environment construction for checking the operation of the program running on the device.
以下、図面に基づいて本発明の実施の形態を説明する。本発明の実施の形態における開発支援システムの構成例を示す図である。図1に示される開発支援システム1において、サーバ装置10と、1以上のクライアント装置20とは、インターネット又はLAN(Local Area Network)等のネットワークを介して接続されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. It is a figure which shows the structural example of the development assistance system in embodiment of this invention. In the development support system 1 shown in FIG. 1, the
サーバ装置10は、複合機(MFP:Multifunction Peripheral)のハードウェアや、複合機のソフトウェア等の動作をエミュレート(模倣)するコンピュータである。なお、本実施の形態において、エミュレート又は模倣は、シミュレートの意味も包含するものとする。サーバ装置10は、斯かるエミュレートの機能を、ネットワークを介して提供する。ネットワークを介した当該機能の提供は、例えば、クラウドサービス、Webサービス、又は他の形態のサービスとして実現されてもよい。
The
クライアント装置20は、例えば、複合機にインストールされるアプリケーションプログラム(以下、「アプリケーション」という。)の開発者が利用する、PC(Personal Computer)等のコンピュータである。開発者は、クライアント装置20を利用して作成したアプリケーションについて、サーバ装置10を利用して動作確認をすることができる。
The
図2は、本発明の実施の形態におけるサーバ装置のハードウェア構成例を示す図である。図2のサーバ装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the server device according to the embodiment of the present invention. The
サーバ装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
なお、サーバ装置10は、例えば、図2に示される複数のコンピュータによって構成されてもよい。
The
図3は、本発明の実施の形態におけるサーバ装置がエミュレートする複合機のハードウェア構成例を示す図である。図3において、複合機30は、コントローラ31、スキャナ32、プリンタ33、モデム34、ネットワークインタフェース36、及びSDカードスロット37等のハードウェアを有する。
FIG. 3 is a diagram illustrating a hardware configuration example of a multifunction peripheral emulated by the server device according to the embodiment of the present invention. In FIG. 3, the
コントローラ31は、CPU311、RAM312、ROM313、HDD314、及びNVRAM315等を有する。ROM313には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM312は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU311は、RAM312にロードされたプログラムを処理することにより、各種の機能を実現する。HDD314には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM315には、各種の設定情報等が記憶される。
The controller 31 includes a
スキャナ32は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ33は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム34は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース36は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット37は、SDカード80に記憶されたプログラムを読み取るために利用される。すなわち、複合機30では、ROM313に記憶されたプログラムだけでなく、SDカード80に記憶されたプログラムもRAM312にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット37は、記録媒体の種類に応じたハードウェアによって代替されればよい。
The
複合機30には、また、情報処理端末40が通信可能に接続される。複合機30と情報処理端末40との通信は、例えば、USB(Universal Serial Bus)、Bluetooth(登録商標)若しくは赤外線通信等の近距離無線通信、又はLAN(有線又は無線の別は問わない)等のネットワークを介して行われる。情報処理端末40は、例えば、スマートフォンやタブレット型端末等、単独で完結した情報処理を実行可能な電子機器である。本実施の形態において、情報処理端末40は、複合機30の操作パネル(操作部)として機能する。情報処理端末40は、例えば、複合機30の所定の位置に固定されて設置される。したがって、情報処理端末40及び複合機30とは、一台の装置として把握されてもよい。または、情報処理端末40は、複合機30から取り外し可能(分離可能)であってもよい。
An
図4は、本発明の実施の形態におけるサーバ装置及びクライアント装置の機能構成例を示す図である。図4において、サーバ装置10は、ユーザ認証部11、マシン管理部12、環境構築部13、パネルUI管理部14、エンジンUI管理部15、デバイスUI管理部16、仮想MFP17、及び仮想デバイス部18等を有する。これら各部は、サーバ装置10にインストールされたプログラムが、CPU104に実行させる処理により実現される。
FIG. 4 is a diagram illustrating a functional configuration example of the server device and the client device according to the embodiment of the present invention. 4, the
ユーザ認証部11は、サーバ装置10にログインするユーザの認証を行い、サーバ装置10への各ログインユーザの情報を管理する。ユーザ認証部11は、ログインユーザが利用可能なリソース量や、ログインユーザに対してエミュレート可能な複合機30の機器構成をも管理する。機器構成は、例えば、複合機30の機種、複合機30にインストールされているソフトウェアの一覧、各ソフトウェアのバージョン、複合機30に増設されているデバイス情報等を含む。
The
マシン管理部12は、サーバ装置10において構築又は生成される仮想MFP17を管理する。仮想MFP17は、例えば、複合機30の動作をエミュレート(模倣)する仮想的な複合機30である。クライアント装置20からの要求に応じて、複数の仮想MFP17が生成されうる。基本的に、1つのクライアント装置20に対して、1つの仮想MFP17が対応する。そうすることにより、各開発者は、相互に干渉することなく、アプリケーションの動作確認等を行うことができる。
The
一つの仮想MFP17は、仮想パネル部171、仮想コントローラ部172、及び仮想エンジン部173等を含む。換言すれば、仮想MFP17とは、仮想パネル部171、仮想コントローラ部172、及び仮想エンジン部173の集合に対する概念である。
One
仮想パネル部171は、複合機30の操作部(すなわち、情報処理端末40)の動作をエミュレートする。複合機30において、アプリケーションは、情報処理端末40にインストールされる。したがって、動作確認の対象とされるアプリケーションは、仮想パネル部171上にインストールされる。
The
仮想コントローラ部172は、複合機30のコントローラ31の動作をエミュレートする。コントローラ31の動作とは、厳密には、コントローラ31上において動作するソフトウェア群の動作をいう。当該ソフトウェア群には、複合機30をアプリケーションの実行環境として機能させるソフトウェアが含まれる。例えば、当該ソフトウェア群には、情報処理端末40にインストールされるアプリケーションに対して提供されるAPI(Application Program Interface)や、当該APIの呼び出しに応じて複合機30を制御する制御部等が含まれる。
The
仮想エンジン部173は、複合機30に固有のハードウェア(以下、「エンジン部分」という。)の動作をエミュレートする。例えば、スキャナ32、プリンタ33、及びモデム34等は、エンジン部分に含まれる。
The
なお、本実施の形態において、仮想パネル部171、仮想コントローラ部172、及び仮想エンジン部173は、それぞれ一つの仮想マシン上において実現される。すなわち、一つの仮想MFP17は、少なくとも三つの仮想マシンによって実現される。ここでいう「仮想マシン」とは、仮想化技術によって実現される仮想的なコンピュータをいう。仮想MFP17が、仮想マシンによって実現されることにより、ログインユーザごとに異なる仮想MFP17の構築を容易化することができる。なお、一つの仮想MFP17は、一つの仮想マシンによって実現されてもよい。
In the present embodiment, the
環境構築部13は、ログインユーザから要求された機器構成に対応する仮想MFP17を、サーバ装置10上に生成し、起動させる。
The
パネルUI管理部14は、クライアント装置20が有するパネルUI部22に対するサーバとして機能する。具体的には、パネルUI管理部14は、ログインユーザから要求された機器構成に対応する操作部(すなわち、情報処理端末40)を表現する画面を表示させる画面データをパネルUI部22に提供したり、当該画面の表示内容の変化をパネルUI部22に通知したり、パネルUI部22からの要求を、仮想パネル部171に通知したりする。また、パネルUI管理部14は、仮想パネル部171にインストールされるアプリケーションを、クライアント装置20から受信する。なお、パネルUI管理部14は、クライアント装置20から直接操作させたくない仮想パネル部171の機能を隠蔽する役割を有してもよい。
The panel
エンジンUI管理部15は、クライアント装置20が有するエンジンUI部23に対するサーバとして機能する。具体的には、エンジンUI管理部15は、仮想エンジン部173の構成又は状態(設定値等を含む。)等を示す情報を、エンジンUI部23に通知したり、エンジンUI部23からの仮想エンジン部173の状態の変更要求に応じた処理を実行したりする。なお、エンジンUI管理部15は、クライアント装置20から直接操作させたくない仮想エンジン部173の機能を隠蔽する役割を有してもよい。
The engine
仮想デバイス部18は、複合機30にセット又は接続等されるデバイスをエミュレートする。斯かるデバイスの一例として、SDカード80、非図示のICカード、USBメモリ等が挙げられる。一つの仮想デバイス部18は、一つの仮想マシンによって実現される。
The virtual device unit 18 emulates a device that is set or connected to the
デバイスUI管理部16は、クライアント装置20が有するデバイスUI部24に対するサーバとして機能する。具体的には、デバイスUI管理部16は、デバイスUI部24からの要求に応じた操作を、仮想デバイス部18に対して行う。
The device
一方、各クライアント装置20は、クライアント管理部21、パネルUI部22、エンジンUI部23、及びデバイスUI部24等を有する。これら各部は、クライアント装置20にインストールされたプログラムが、クライアント装置20のCPUに実行させる処理により実現される。
On the other hand, each
クライアント管理部21は、仮想MFP17を操作するための環境をクライアント装置20上に構築するための処理を実行する。例えば、クライアント管理部21は、ログイン画面を表示させ、ログイン画面を介して入力されたユーザ情報(ユーザ名及びパスワード等)の認証要求を、サーバ装置10のユーザ認証部11に送信する。認証に成功した場合、クライアント管理部21は、ユーザが所望する機器構成に対応した仮想MFP17の生成要求を、サーバ装置10に送信する。
The
パネルUI部22は、情報処理端末40の外観を示す画面(すなわち、仮想的な情報処理端末40)を、クライアント装置20に表示させる。パネルUI部22は、当該画面(以下、「パネル操作画面」という。)に対するユーザの操作を示す情報(当該画面に対する入力に応じた要求)を、パネルUI管理部14に送信する。
The
エンジンUI部23は、仮想エンジン部173を、ユーザに操作させるための画面(以下、「エンジン操作画面」という。)を、クライアント装置20に表示させる。エンジンUI部23は、エンジン操作画面を介して、仮想エンジン部173の状態の変更指示を受け付ける。すなわち、ユーザは、エンジン操作画面を介して、仮想エンジン部173の状態を任意のタイミングで変更することができる。例えば、ユーザは、仮想エンジン部173を、ジャムの発生状態、トナー切れの状態、用紙切れの状態等に移行させるができる。そうすることにより、ユーザは、複合機30の様々な状態におけるアプリケーションの動作確認を、仮想MFP17を用いて、擬似的又は仮想的に実行することができる。
The
デバイスUI部24は、仮想デバイス部18を、ユーザに操作させるための画面(以下、「デバイス操作画面」という。)を、クライアント装置20に表示させる。
The
なお、パネル操作画面、エンジン操作画面、及びデバイス操作画面は、例えば、マルチウィンドウシステム上においては、それぞれ一つのウィンドウとして表示されてもよい。各ウィンドウは、相互に重畳されて表示されてもよいし、重畳しないように配列されて表示されてもよい。 Note that the panel operation screen, the engine operation screen, and the device operation screen may each be displayed as one window on the multi-window system, for example. The windows may be displayed so as to be overlapped with each other, or may be displayed so as not to be overlapped.
以下、開発支援システム1において実行される処理手順について説明する。図5は、仮想MFPの生成処理の処理手順の一例を説明するためのシーケンス図である。仮想マシンの生成処理とは、或るユーザにとって専用の仮想的な動作確認環境を構築するための処理である。以降の説明において、クライアント装置20を利用するユーザを、「ユーザA」という。
Hereinafter, a processing procedure executed in the development support system 1 will be described. FIG. 5 is a sequence diagram for explaining an example of the processing procedure of the virtual MFP generation processing. The virtual machine generation process is a process for constructing a virtual operation confirmation environment dedicated to a certain user. In the following description, the user who uses the
ステップS101において、クライアント管理部21は、サーバ装置10へのログイン画面を介してユーザAによって入力されたユーザ名及びパスワード等を含む認証要求を、サーバ装置10のユーザ認証部11に送信する。なお、ユーザ名及びパスワードは、例えば、同一の企業ユーザに属する各開発者等、複数の開発者の間で、共通の値であってもよい。
In step S <b> 101, the
ユーザ認証部11は、認証要求に含まれているユーザ名及びパスワードが、予め登録されている値に一致するか否かを判定する。ユーザ名及びパスワードが予め登録されている値に一致する場合、ユーザ認証部11は、認証要求元のユーザに関して、ログインの許否を判定する。例えば、当該ユーザが属する企業ユーザに関して、既にログインしているユーザの数が、ライセンス数(同時に利用可能な数)に到達していなければ、ログインが許可される。ログインが許可された場合、ユーザ認証部11は、ログインの許可を示す応答を、クライアント管理部21に返信する(S102)。なお、ログインが許可された場合、当該クライアント装置20に関して、例えば、一般的なセッション管理が行われる。したがって、サーバ装置10は、各クライアント装置20を区別することができる。
The
クライアント管理部21は、ログインの許可を示す応答を受信すると、利用可能な機器構成の一覧の取得要求を、マシン管理部12に送信する(S103)。例えば、サーバ装置10の補助記憶装置102には、企業ユーザごとに、利用可能な機器構成の一覧が記憶されている。利用可能な機器構成は、例えば、サーバ装置10が提供するサービスの利用契約時において、企業ユーザから指定されてもよい。利用可能な機器構成には、或る複合機30のユーザにとって固有の、特注の機器構成が含まれてもよい。利用可能の機器構成に応じて、サーバ装置10が提供するサービスの利用に対する課金額が異なるようにしてもよい。マシン管理部12は、ユーザAが属する企業ユーザに対して記憶されている、利用可能な機器構成の一覧を、クライアント管理部21に返信する(S104)。
When the
クライアント管理部21は、受信された機器構成の一覧を表示させる。ユーザAによって、当該一覧の中から所望の機器構成(以下、「対象機器構成」という。)が選択されると、クライアント管理部21は、対象機器構成を示す情報(以下、「対象機器構成情報」という。)を含む、仮想MFP17の生成要求を、マシン管理部12に送信する(S105)。マシン管理部12は、当該生成要求を、環境構築部13に転送する(S106)。
The
続いて、環境構築部13は、対象機器構成情報を指定して、パネルUI管理部14に対して、仮想パネル部171の生成を要求する(S107)。パネルUI管理部14は、対象機器構成情報に対応する仮想パネル部171としてサーバ装置10を機能させる仮想マシンを生成し(S108)、当該仮想マシンを起動させる(S109)。なお、対象機器構成情報に対応する仮想パネル部171としてサーバ装置10を機能させる仮想マシンの生成は、例えば、対象機器構成情報に基づいて特定される情報処理端末40に対応する、仮想マシンのイメージファイルに基づいて行われる。
Subsequently, the
続いて、環境構築部13は、対象機器構成情報を指定して、エンジンUI管理部15に対して、仮想エンジン部173の生成を要求する(S110)。エンジンUI管理部15は、対象機器構成情報に対応する仮想エンジン部173としてサーバ装置10を機能させる仮想マシンを生成し(S111)、当該仮想マシンを起動させる(S112)。なお、対象機器構成情報に対応する仮想エンジン部173としてサーバ装置10を機能させる仮想マシンの生成は、例えば、対象機器構成情報に基づいて特定される複合機30のエンジン部分に対応する、仮想マシンのイメージファイルに基づいて行われる。
Subsequently, the
続いて、環境構築部13は、対象機器構成情報に対応する仮想コントローラ部172としてサーバ装置10を機能させる仮想マシンを生成し(S113)、当該仮想マシンを起動させる(S114)。なお、対象機器構成情報に対応する仮想コントローラ部172としサーバ装置10を機能させる仮想マシンの生成は、例えば、対象機器構成情報に基づいて特定される複合機30のコントローラ31上で動作するソフトウェアに対応する、仮想マシンのイメージファイルに基づいて行われる。なお、仮想コントローラ部172の起動時において、環境構築部13は、既に起動されている、仮想パネル部171及び仮想エンジン部173に関する情報を、仮想コントローラ部172に通知する。
Subsequently, the
仮想コントローラ部172は、通知された情報に基づいて、仮想エンジン部173及び仮想パネル部171のそれぞれとの通信用の接続を確立する(S115、S116)。その結果、仮想コントローラ部172と仮想エンジン部173、及び仮想コントローラ部172と仮想パネル部171とは、相互作用が可能となる。また、相互作用が可能な、一組の仮想パネル部171、仮想エンジン部173、及び仮想コントローラ部172が起動されることで、ユーザA用の仮想MFP17が起動されたことになる。
Based on the notified information, the
続いて、パネルUI管理部14は、対象機器構成情報に対応した情報処理端末40の表示状態を示す情報(以下、「パネル情報」という。)を、クライアント管理部21に送信する(S117)。ここで送信されるパネル情報は、対象機器構成情報に対応した複合機30の起動後における、情報処理端末40の初期状態の外観を示す情報である。クライアント管理部21は、当該パネル情報を、パネルUI部22に送信する(S118)、パネルUI部22は、当該パネル情報に基づいて、パネル操作画面を表示させる。
Subsequently, the panel
続いて、エンジンUI管理部15は、対象機器構成情報に対応したエンジン部分に関する情報(以下、「エンジン情報」という。)を、クライアント管理部21に送信する(S119)。クライアント管理部21は、当該エンジン情報を、エンジンUI部23に送信する(S120)、エンジンUI部23は、当該エンジン情報に基づいて、エンジン操作画面を表示させる。例えば、エンジン情報に応じて、エンジン操作画面において入力可能な操作が異なってもよい。
Subsequently, the engine
一方、デバイスUI部24は、デバイス操作画面をクライアント装置20に表示させる。デバイス操作画面は、各種のデバイス(SDカード80、ICカード、USBメモリ等)に関する操作(例えば、SDカードスロット37への挿入、ICカードの挿入、USBメモリの接続等)に関する指示を受け付けることができる。
On the other hand, the
例えば、SDカード80について、SDカードスロット37への挿入指示がデバイス操作画面を介して入力されると(S121)、デバイスUI部24は、クライアント管理部21を介して、デバイスUI管理部16にデバイスの接続通知を送信する(S122、S123)。ここでのデバイスの接続通知は、SDカード80の挿入の通知である。なお、SDカード80の挿入指示において、例えば、クライアント装置20の補助記憶装置における所定のフォルダが、仮想的なSDカード80として指定される。すなわち、当該フォルダに格納されているファイルが、仮想的なSDカード80に格納されているファイルとして扱われる。
For example, when an instruction to insert the
デバイスUI管理部16は、仮想コントローラ部172に対して、擬似的又は仮想的なデバイス接続処理(例えば、SDカード80を、/mnt/sd1又は/mnt/sd2にマウントする等)を行う(S124)。その結果、仮想MFP17は、SDカード80がSDカードスロット37に挿入された状態を、擬似的又は仮想的に実現することができる。
The device
なお、仮想MFP17を構成する各仮想マシンは、クライアント管理部21からの要求により、シャットダウンする。または、ユーザAのログアウトに応じて、仮想MFP17を構成する各仮想マシンがシャットダウンするようにしてもよい。
Each virtual machine constituting the
また、例えば、ユーザAによって選択された機器構成に対応する複合機30の実機が、ユーザAのオフィス等において利用可能である場合、当該実機の存在が、ユーザAに通知されるようにしてもよい。具体的には、各ユーザ、又は管理者等の特定のユーザによって、予め、マシン管理部12に対して、当該企業ユーザにおいて利用可能な実機の機器構成を示す情報が登録される。マシン管理部12は、ステップS105における仮想MFP17の生成要求の受信に応じ、当該生成要求に含まれている対象機器構成情報に合致する、実機の機器構成を示す情報の有無を検索する。ここで、検索対象とされる実機の機器構成を示す情報は、ログインユーザが属する企業ユーザに対して登録されている情報に限定される。対象機器構成情報に合致する情報が有る場合、マシン管理部12は、クライアント管理部21に対して、当該情報に係る実機の存在を示す情報を返信する。クライアント管理部21は、当該情報を示す画面を表示させる。そうすることで、ユーザに対して、所望の機器構成に対応する実機が存在することを認識させることができる。ユーザは、斯かる認識に基づいて、実機を利用してアプリケーションの動作確認を行うこともできる。
Further, for example, when the real machine of the
なお、ユーザが、実機ではなく、やはり、仮想MFP17を利用したい場合のことを考慮して、その旨の要求を受け付けることが可能な画面が、クライアント管理部21によって表示されてもよい。改めて仮想MFP17の利用がユーザによって要求された場合、クライアント管理部21は、ステップS105を再実行する。この場合、所望の機器構成に対応する実機の存在を示す情報がマシン管理部12から再び返信されないようにするために、対応機器構成情報に対応する実機の検索は不要であることを示す情報が、再実行されるステップS105において、仮想MFP17の生成要求に含まれるのが望ましい。
In consideration of the case where the user wants to use the
続いて、クライアント装置20において作成されたアプリケーションを、仮想MFP17にインストールするための処理について説明する。
Next, processing for installing an application created in the
図6は、仮想MFPへのアプリケーションのインストール処理の処理手順の一例を説明するためのシーケンス図である。 FIG. 6 is a sequence diagram for explaining an example of a processing procedure of an application installation process in the virtual MFP.
仮想MFP17へのアプリケーションのインストールは、実際の複合機30に対するアプリケーションと同様の操作感によって行われる。例えば、複合機30には、SDカード80からアプリケーションをインストールすることができる。したがって、開発支援システム1においても、擬似的又は仮想的なSDカード80から、仮想MFPに対してアプリケーションをインストールすることができる。具体的には、ユーザAによって作成されたアプリケーションが格納されたフォルダを仮想的なSDカード80として、図5のステップS121〜S124が実行された後、図6の処理が実行されることにより、仮想MFP17に対して、アプリケーションをインストールすることができる。
The installation of the application to the
パネルUI部22が表示させているパネル操作画面を介して、ユーザAによって、SDカード80からのアプリケーションのインストール指示が入力されると、パネルUI部22は、SDカード80にマッピングされているフォルダに格納されているアプリケーションを含むインストール要求を、クライアント管理部21を介して、パネルUI管理部14に送信する(S201、S202)。パネルUI管理部14は、当該インストール要求を、仮想パネル部171に転送する(S203)。仮想パネル部171は、当該インストール要求に含まれているアプリケーションを、仮想パネル部171上にインストールする(S204)。その結果、情報処理端末40へのアプリケーションのインストールが、擬似的又は仮想的に実行されたことになる。
When the user A inputs an application installation instruction from the
続いて、インストール結果を示す情報を表示した状態の情報処理端末40を示すパネル情報が、パネルUI管理部14及びクライアント管理部21を介して、パネルUI部22に返信される(S205〜S207)。パネルUI管理部14は、当該パネル情報に基づいて、パネル操作画面を更新する。その結果、情報処理端末40にインストール結果が表示されている状態を示す画像がクライアント装置20に表示される。
Subsequently, panel information indicating the
続いて、仮想MFP17にインストールされたアプリケーションの動作確認において実行される処理について説明する。
Next, processing executed in the operation check of the application installed in the
図7は、仮想MFPにインストールされたアプリケーションの動作確認において実行される処理手順の一例を説明するためのシーケンス図である。図7において動作確認の対象とされるアプリケーションを、「アプリA」という。 FIG. 7 is a sequence diagram for explaining an example of a processing procedure executed in the operation confirmation of the application installed in the virtual MFP. The application whose operation is to be checked in FIG. 7 is referred to as “application A”.
パネル操作画面がユーザによって操作されるたびに、ステップS301〜S303が実行される。すなわち、パネル操作画面に対するユーザによる、仮想的な情報処理端末40の操作に対応する要求が、仮想パネル部171に送信される。また、操作に応じて変化する情報処理端末40の表示状態を示すパネル情報が、仮想パネル部171から返信される(S304〜S306)。このようにして、パネル操作画面の表示状態と、仮想パネル部171の状態とは同期がとられる。なお、パネルUI部22と仮想パネル部171との表示状態の同期は、VNC(Virtual Network Computing)等の技術が利用されてもよい。
Every time the panel operation screen is operated by the user, steps S301 to S303 are executed. That is, a request corresponding to the operation of the virtual
例えば、パネル操作画面において、アプリAの利用指示が入力されると、ステップS301〜S306が実行され、アプリAの操作画面が、パネル操作画面内(パネル操作画面において、情報処理端末40のタッチパネルに対応する領域内)に表示される。ユーザAが、当該操作画面を介して、アプリAに対する設定情報の設定を行うたびに、ステップS301〜S306が実行され、アプリAに対する設定情報は、仮想パネル部171におけるアプリAに反映される。
For example, when an instruction to use application A is input on the panel operation screen, steps S301 to S306 are executed, and the operation screen of application A is displayed on the panel operation screen (in the panel operation screen, on the touch panel of information processing terminal 40). In the corresponding area). Every time the user A sets the setting information for the application A via the operation screen, steps S301 to S306 are executed, and the setting information for the application A is reflected in the application A in the
ユーザAが、当該操作画面を介して、アプリAの実行指示を入力すると、当該実行指示は、クライアント管理部21及びパネルUI管理部14を介して仮想パネル部171におけるアプリAに通知される(S311〜S313)。アプリAは、当該通知に応じて、設定情報に従った処理を仮想パネル部171に実行させる。仮想パネル部171は、アプリAが実行させる処理の過程において、仮想コントローラ部172によって提供されるAPIを呼び出す(S314)。例えば、印刷要求又はスキャン要求等に対応したAPIが呼び出される。
When the user A inputs an execution instruction for the application A through the operation screen, the execution instruction is notified to the application A in the
仮想コントローラ部172は、呼び出されたAPIに対応する処理を実行する。当該処理の過程において、仮想エンジン部173を制御する必要が生じると、仮想コントローラ部172は、仮想エンジン部173に対して制御命令を送信する(S315)。仮想エンジン部173は、制御命令に応じた処理を実行し、実行結果を仮想コントローラ部172に返信する(S316)。例えば、仮想エンジン部173は、印刷又はスキャン等の実行をエミュレートする。
The
続いて、仮想コントローラ部172は、呼び出されたAPIに対する応答を、仮想パネル部171に返信する(S317)。仮想パネル部171は、当該応答に応じて、仮想的な情報処理端末40の表示状態を変更し、変更後の表示状態を示すパネル情報を、パネル管理部に返信する(S318)。当該パネル情報は、クライアント管理部21を介してパネルUI部22に返信される(S319、S320)。パネルUI部22は、パネル情報に基づいて、パネル操作画面の表示状態を変化させる。
Subsequently, the
このように、ユーザは、ネットワークを介した仮想MFP17上において、アプリケーションの動作確認を行うことができる。
In this way, the user can check the operation of the application on the
続いて、仮想MFP17にインストールされたアプリケーションの動作確認において仮想エンジン部173の状態を任意に変更させる場合に実行される処理について説明する。
Next, a process executed when the state of the
図8は、仮想MFPにインストールされたアプリケーションの動作確認において仮想エンジン部の状態を任意に変更させる場合に実行される処理手順の一例を説明するためのシーケンス図である。 FIG. 8 is a sequence diagram for explaining an example of a processing procedure executed when the state of the virtual engine unit is arbitrarily changed in the operation check of the application installed in the virtual MFP.
例えば、ユーザAが、複合機30がトナー切れの状態におけるアプリAの動作確認を行いたい場合、ユーザAは、エンジン操作画面を介して、仮想エンジン部173をトナー切れ状態に移行させるための操作指示を入力する。当該操作指示に応じ、エンジンUI部23は、トナー切れ状態への移行要求を、クライアント管理部21を介して、エンジンUI管理部15に送信する(S401、S402)。続いて、エンジンUI管理部15は、仮想エンジン部173に対して、トナー切れ状態への移行要求を送信する(S403)。仮想エンジン部173は、当該要求に応じ、擬似的又は仮想的にトナー切れ状態となる。擬似的又は仮想的なトナー切れ状態は、例えば、仮想エンジン部173が有する所定のパラメータの値を変更することにより行われてもよい。例えば、トナーの残量を示すパラメータの値が「0(ゼロ)」とされることにより、擬似的又は仮想的なトナー切れ状態が実現されてもよい。
For example, when the user A wants to check the operation of the app A when the
その後、ユーザAによって、アプリAに対する操作が行われると、図7のステップS301〜S320と同様の処理手順が実行される。ここで、アプリAが、印刷等、トナーを利用するジョブを複合機30に実行させるアプリケーションである場合、仮想エンジン部173は、ステップS315に対する制御命令(例えば、印刷命令)に対して、エラーを示す応答を、仮想コントローラ部172に返信する(S316)。当該応答には、エラーの原因であるトナー切れを示す情報が含まれてもよい。続く、ステップS317〜S320の実行に応じて、パネル操作画面には、エラーの発生(例えば、トナー切れの発生)を示す画面が表示される。
Thereafter, when the user A performs an operation on the application A, the same processing procedure as steps S301 to S320 in FIG. 7 is executed. Here, when the application A is an application that causes the
続いて、ユーザAが、トナー切れの状態を解除したい場合、ユーザAは、エンジン操作画面を介して、トナーの交換等による、トナーの充填指示を入力する。当該操作指示に応じ、エンジンUI部23は、トナーの充填要求を、クライアント管理部21を介して、エンジンUI管理部15に送信する(S411、S412)。続いて、エンジンUI管理部15は、仮想エンジン部173に対して、トナーの充填要求を送信する(S403)。仮想エンジン部173は、当該要求に応じ、擬似的又は仮想的にトナーを充填する。例えば、トナーの残量を示すパラメータの値が、最大値又は0以外とされることにより、擬似的又は仮想的なトナー切れ状態が実現されてもよい。
Subsequently, when the user A wants to release the toner-out state, the user A inputs a toner filling instruction by toner replacement or the like via the engine operation screen. In response to the operation instruction, the
その後、ユーザAによって、アプリAに対する操作が行われると、図7のステップS301〜S320と同様の処理手順が実行される。ここで、仮想エンジン部173において、用紙切れやジャム等の、トナー切れ以外のエラー要因が発生していなければ、ステップS315に応じた仮想エンジン部173の処理は、正常に行われる。
Thereafter, when the user A performs an operation on the application A, the same processing procedure as steps S301 to S320 in FIG. 7 is executed. Here, in the
なお、上記では、仮想エンジン部173をトナー切れ状態に移行させる例について説明したが、ジャム状態、用紙切れ状態、省電力状態等、複合機30において発生する各種の事象の発生指示が、エンジン操作画面を介して入力可能とされてもよい。
In the above description, the example in which the
上述したように、本実施の形態によれば、各クライアント装置20には、エミュレータの実体はインストールされる必要はなく、クライアント装置20を、クライアント管理部21、パネルUI部22、エンジンUI部23、及びデバイスUI部24として機能させるプログラムがインストールされればよい。これらのプログラムは、複合機30の機種や、複合機30のソフトウェアのバージョン等に対する依存度は低いため、当該機種等ごとにインストールされる必要性を低い。また、クライアント管理部21、パネルUI部22、エンジンUI部23、及びデバイスUI部24は、Webページ及びスクリプトプログラムによって実現されてもよい。この場合、クライアント装置20には、汎用的なWebブラウザがインストールされていればよい。したがって、本実施の形態によれば、アプリケーションの動作確認用の環境構築の作業負担を軽減することができる。
As described above, according to the present embodiment, it is not necessary to install an emulator entity in each
また、一般的に、エミュレータには、アプリケーションプラットフォーム等を構成するオブジェクトファイル等が含まれうる。オブジェクトファイルには、複合機30の製造者にとって、技術的なノウハウや機密情報等が含まれている可能性が有り、当該製造業者の外部に提供されるのは望ましくはない。オブジェクトファイルはバイナリデータであるため、オブジェクトファイルを直接参照しただけでは、ノウハウ等の流出の可能性は低いが、逆アセンブリ等によって、オブジェクトファイルの内容が解読可能となる可能性が有るからである。
In general, an emulator can include an object file that constitutes an application platform or the like. The object file may contain technical know-how, confidential information, and the like for the manufacturer of the
本実施の形態によれば、エミュレータが、外部に配布される可能性を低下させることができるため、エミュレータに含まれる技術的なノウハウ等が流出する危険性を低下させることができる。 According to the present embodiment, since the possibility that the emulator is distributed to the outside can be reduced, it is possible to reduce the risk that technical know-how included in the emulator will leak.
なお、本実施の形態では、サーバ装置10がエミュレートする機器が、複合機30である例を説明したが、複合機30以外の画像形成装置が、エミュレートの対象とされてもよい。また、プロジェクタ、デジタルカメラ、又はテレビ会議システム等、画像形成装置以外の機器が、エミュレートの対象とされてもよい。
In the present embodiment, the example in which the device emulated by the
なお、本実施の形態において、サーバ装置10は、情報処理システム又は情報処理装置の一例である。仮想MFP17は、模倣部の一例である。パネルUI管理部14は、受信部の一例である。環境構築部13は、起動部の一例である。仮想パネル部171、仮想エンジン部173、仮想コントローラ部172は、それぞれ、第一の模倣部、第二の模倣部、第三の模倣部の一例である。パネルUI部22、エンジンUI部23は、それぞれ、第一の送信部、第二の送信部の一例である。
In the present embodiment, the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
1 開発支援システム
10 サーバ装置
11 ユーザ認証部
12 マシン管理部
13 環境構築部
14 パネルUI管理部
15 エンジンUI管理部
16 デバイスUI管理部
17 仮想MFP
18 仮想デバイス部
20 クライアント装置
21 クライアント管理部
22 パネルUI部
23 エンジンUI部
24 デバイスUI部
30 複合機
31 コントローラ
32 スキャナ
33 プリンタ
34 モデム
36 ネットワークインタフェース
37 SDカードスロット
40 情報処理端末
80 SDカード
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
171 仮想パネル部
172 仮想コントローラ部
173 仮想エンジン部
311 CPU
312 RAM
313 ROM
314 HDD
315 NVRAM
B バス
DESCRIPTION OF SYMBOLS 1
18
105
312 RAM
313 ROM
314 HDD
315 NVRAM
B bus
Claims (8)
ネットワークを介してプログラムを受信する受信部と、
機器の操作部に対する入力に対応する要求を、ネットワークを介して受信し、該入力に応じて前記プログラムが前記機器に実行させる処理を模倣する模倣部とを有し、
前記模倣部は、ネットワークを介して受信される、当該模倣部の状態の変更要求に応じ、当該模倣部の状態を変更し、変更後の状態において、前記機器が実行する処理を模倣する情報処理システム。 An information processing system including one or more computers,
A receiving unit for receiving the program via the network;
A request corresponding to an input to the operation unit of the device is received via a network, and the imitation unit that imitates a process that the program causes the device to execute according to the input,
The imitation unit changes the state of the imitation unit in response to a request to change the state of the imitation unit received via the network, and performs information processing that imitates the process executed by the device in the changed state system.
前記起動部は、当該情報処理システムを前記第一の模倣部として機能させる第一の仮想マシン、当該情報処理システムを前記第二の模倣部として機能させる第二の仮想マシン、及び前記当該情報処理システムを前記第三の模倣部として機能させる第三の仮想マシンを起動させる請求項2又は3記載の情報処理システム。 The imitation unit functions as a first imitation unit that imitates the operation of the operation unit of the device, a second imitation unit that imitates the operation of hardware unique to the device, and the execution environment of the program Including a third imitation part that mimics software
The activation unit includes a first virtual machine that causes the information processing system to function as the first imitation unit, a second virtual machine that causes the information processing system to function as the second imitation unit, and the information processing. The information processing system according to claim 2 or 3, wherein a third virtual machine that causes the system to function as the third imitation unit is activated.
前記情報処理システムは、
前記クライアント装置からネットワークを介してプログラムを受信する受信部と、
前記クライアント装置から送信される、機器の操作部に対する入力に対応する要求を、ネットワークを介して受信し、該入力に応じて前記プログラムが前記機器に実行させる処理を模倣する模倣部とを有し、
前記模倣部は、前記クライアント装置から送信される、当該模倣部の状態の変更要求がネットワークを介して受信されると、当該模倣部の状態を変更し、変更後の状態において、前記機器が実行する処理を模倣する情報処理システム。 An information processing system including a client device and one or more computers,
The information processing system includes:
A receiving unit for receiving a program from the client device via a network;
A request that is transmitted from the client device and corresponds to an input to the operation unit of the device via a network, and has a mimic unit that imitates a process that the program causes the device to execute in response to the input ,
The imitation unit changes the state of the imitation unit when a request to change the state of the imitation unit transmitted from the client device is received via the network, and the device executes in the state after the change. Information processing system that mimics the processing to
前記操作部を示す画面を表示させ、当該画面に対する入力に応じた要求を、前記情報処理システムに送信する第一の送信部と、
前記模倣部の状態の変更指示を受け付けるための画面を表示させ、当該画面を介して入力された変更指示に応じた前記変更要求を、前記情報処理システムに送信する第二の送信部とを有する請求項5記載の情報処理システム。 The client device is
A first transmission unit that displays a screen indicating the operation unit and transmits a request according to an input to the screen to the information processing system;
A second transmission unit configured to display a screen for receiving an instruction to change the state of the imitation unit and to transmit the change request according to the change instruction input via the screen to the information processing system; The information processing system according to claim 5.
前記情報処理システムの受信部が、ネットワークを介してプログラムを受信する受信手順と、
前記情報処理システムの模倣部が、機器の操作部に対する入力に対応する要求を、ネットワークを介して受信し、該入力に応じて前記プログラムが前記機器に実行させる処理を模倣する模倣手順とを実行し、
前記模倣部は、ネットワークを介して受信される、当該模倣部の状態の変更要求に応じ、当該模倣部の状態を変更し、変更後の状態において、前記機器が実行する処理を模倣する模倣方法。 An imitation method in an information processing system including one or more computers,
A receiving procedure in which a receiving unit of the information processing system receives a program via a network;
The imitation unit of the information processing system receives a request corresponding to an input to the operation unit of the device via a network, and executes an imitation procedure that imitates a process that the program causes the device to execute according to the input And
The imitation unit changes the state of the imitation unit in response to a request to change the state of the imitation unit received via the network, and imitates the process executed by the device in the changed state .
ネットワークを介してプログラムを受信する受信部と、
機器の操作部に対する入力に対応する要求を、ネットワークを介して受信し、該入力に応じて前記プログラムが前記機器に実行させる処理を模倣する模倣部として機能させ、
前記模倣部は、ネットワークを介して受信される、当該模倣部の状態の変更要求に応じ、当該模倣部の状態を変更し、変更後の状態において、前記機器が実行する処理を模倣する模倣プログラム。 Computer
A receiving unit for receiving the program via the network;
A request corresponding to an input to the operation unit of the device is received via the network, and functions as a mimic unit that imitates the process that the program causes the device to execute in response to the input,
The imitation unit changes the state of the imitation unit in response to a request to change the state of the imitation unit received via the network, and imitates a process executed by the device in the changed state .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013190369A JP2015056108A (en) | 2013-09-13 | 2013-09-13 | Information processing system, imitation method, and imitation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013190369A JP2015056108A (en) | 2013-09-13 | 2013-09-13 | Information processing system, imitation method, and imitation program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015056108A true JP2015056108A (en) | 2015-03-23 |
Family
ID=52820445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013190369A Pending JP2015056108A (en) | 2013-09-13 | 2013-09-13 | Information processing system, imitation method, and imitation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015056108A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020021285A (en) * | 2018-07-31 | 2020-02-06 | 株式会社リコー | Apparatus and method for processing information, and program |
-
2013
- 2013-09-13 JP JP2013190369A patent/JP2015056108A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020021285A (en) * | 2018-07-31 | 2020-02-06 | 株式会社リコー | Apparatus and method for processing information, and program |
JP7187873B2 (en) | 2018-07-31 | 2022-12-13 | 株式会社リコー | Information processing device, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5884542B2 (en) | Apparatus, information processing system, information processing method, and information processing program | |
US20130074048A1 (en) | System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium | |
JP5458708B2 (en) | Image processing apparatus, display control method, and display control program | |
US20160065756A1 (en) | Equipment unit, information processing terminal, information processing system, display control method, and program | |
JP7098427B2 (en) | Information processing equipment, control methods and programs for information processing equipment | |
KR20120134913A (en) | Method and apparatus for developing application of image forming apparatus | |
JP2011044127A (en) | Information processing device, external device, information processing system, information processing method, and program | |
JP2014197827A (en) | Information processing system, information processing device, information processing method and information processing program | |
JP6379699B2 (en) | Information processing apparatus, information processing system, information processing program, and information processing method | |
US9606761B2 (en) | Information processing apparatus for controlling an output process and method for the same | |
JP2017134806A (en) | Service providing system, information processing device, program, information processing system, and cooperation processing method | |
JP2015056108A (en) | Information processing system, imitation method, and imitation program | |
KR20110072922A (en) | Method for implementing additional extended feature in image forming apparatus and image forming apparatus for performing thereof | |
US20150178420A1 (en) | Information processing apparatus, information processing system, method of processing information, and program | |
JP2011053729A (en) | Program development support device and system | |
EP2645231A2 (en) | User terminal apparatus, method of controlling user terminal apparatus, image forming apparatus, and method of controlling image forming apparatus | |
JP6855858B2 (en) | Image processing equipment, control programs, systems. | |
JP2009223577A (en) | User interface emulation device and user interface emulation program | |
JP2016100828A (en) | Information processing apparatus, information processing system, control method, and control program | |
JP7155949B2 (en) | Information processing device, method, and program | |
JP5144624B2 (en) | Image forming apparatus | |
US20230036834A1 (en) | Information processing system, apparatus, and storage medium having combinational and non-combinational applications | |
JP2009043078A (en) | Simulation program and recording medium | |
JP2010218469A (en) | Information processor, information processing method, program and recording medium | |
US11811994B2 (en) | Information processing system and apparatus to manage combined application |