JP2017073035A - Information processing device and control method therefor - Google Patents

Information processing device and control method therefor Download PDF

Info

Publication number
JP2017073035A
JP2017073035A JP2015200470A JP2015200470A JP2017073035A JP 2017073035 A JP2017073035 A JP 2017073035A JP 2015200470 A JP2015200470 A JP 2015200470A JP 2015200470 A JP2015200470 A JP 2015200470A JP 2017073035 A JP2017073035 A JP 2017073035A
Authority
JP
Japan
Prior art keywords
application
predetermined process
information processing
operation authority
management
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
Application number
JP2015200470A
Other languages
Japanese (ja)
Inventor
仁 道貝
Hitoshi Michigai
仁 道貝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015200470A priority Critical patent/JP2017073035A/en
Publication of JP2017073035A publication Critical patent/JP2017073035A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable more flexible life cycle management of an application.SOLUTION: An information processing device that executes processing related to an application via processing means includes: acquisition means that obtains a setting job for instructing the processing related to the application; determination means that determines whether or not the processing means has operation authority for processing included in the setting job; transfer means that when the determination means determines that the processing means does not have the operation authority for the predetermined processing included in the setting job, transfers the operation authority for the predetermined processing to the processing means; and deprivation means that after the predetermined processing by the processing means to which the operation authority for the predetermined processing has been transferred by the transfer means is complete, deprives the processing means of the operation authority for the predetermined processing.SELECTED DRAWING: Figure 11

Description

本発明は、情報処理装置におけるアプリケーションの管理技術に関するものである。   The present invention relates to an application management technique in an information processing apparatus.

近年、画像形成装置においては、JAVA(登録商標)環境に代表されるようなアプリケーション(以降、単に「アプリ」と呼ぶ)動作環境が提供されている。JAVA(登録商標)の持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。画像形成装置の機能やユーザビィリティの向上を図るために、JAVA(登録商標)環境などの環境下で動作するアプリを作成し、画像形成装置にインストールすることで、当該アプリにより画像形成装置において所望の機能を実現できる。   In recent years, image forming apparatuses have been provided with an application environment (hereinafter simply referred to as an “application”) operating environment represented by a JAVA (registered trademark) environment. There has been proposed a technique for providing an expandable application by utilizing the portability of a program of JAVA (registered trademark). In order to improve the function and usability of the image forming apparatus, an application that operates in an environment such as JAVA (registered trademark) is created and installed in the image forming apparatus. A desired function can be realized.

アプリプラットフォームとしては、組み込み機器向けのJAVA(登録商標)アプリプラットフォームである、OSGi(Open Services Gateway Initiative)が知られている(非特許文献1)。OSGiでは、ソフトウェアモジュールの管理単位として“バンドル”を定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、JAVA(登録商標)モジュールのことを指し、本発明においては、アプリと同義である。このようなアプリプラットフォームは、コピー、スキャン、プリント等の組み込み機能やアプリのライフサイクル管理機能をAPI(Application Programming Interface)として提供する。アプリは適切な権限(Permission)が与えられていれば、それらのAPIを利用することができる。   As an application platform, OSGi (Open Services Gateway Initiative), which is a JAVA (registered trademark) application platform for embedded devices, is known (Non-Patent Document 1). In OSGi, “bundle” is defined as a management unit of software modules, and specifications for managing a life cycle consisting of install / start / stop / update / uninstall are defined. Here, the bundle refers to a JAVA (registered trademark) module and is synonymous with an application in the present invention. Such an application platform provides built-in functions such as copying, scanning, and printing and an application life cycle management function as an API (Application Programming Interface). An application can use those APIs if appropriate permission is given.

「OSGi Service Platform,Release4」,http://www.osgi.org/Download/Release4V40,2005年10月“OSGi Service Platform, Release 4”, http: // www. osgi. org / Download / Release4V40, October 2005

しかしながら、上述の従来技術においては、アプリ毎にライフサイクル管理をおこなうアプリを制限することが出来ないという問題がある。また、ライフサイクル管理の権限を持つアプリが、権限を持たないアプリの提供するライフサイクル管理用のAPIを利用することが出来ないという問題がある。   However, in the above-described conventional technology, there is a problem that it is not possible to limit apps that perform life cycle management for each app. In addition, there is a problem in that an application having lifecycle management authority cannot use an API for lifecycle management provided by an application without authority.

本発明は、このような問題に鑑みてなされたものであり、アプリのライフサイクル管理をより柔軟に行うことを可能とする技術を提供することを目的とする。   The present invention has been made in view of such a problem, and an object of the present invention is to provide a technique that makes it possible to perform lifecycle management of an application more flexibly.

上述の問題点を解決するため、本発明に係る情報処理装置は以下の構成を備える。すなわち、処理手段を介してアプリケーションに関する処理を実行する情報処理装置において、アプリケーションに関する処理を指示する設定ジョブを取得する取得手段と、前記処理手段が前記設定ジョブに含まれる処理の操作権限を有しているか否かを判定する判定手段と、前記判定手段により前記処理手段が前記設定ジョブに含まれる所定の処理の操作権限を有していないと判定された場合、前記所定の処理の操作権限を前記処理手段に委譲する委譲手段と、前記委譲手段により前記所定の処理の操作権限が委譲された前記処理手段による前記所定の処理の完了後、前記処理手段から前記所定の処理の操作権限を剥奪する剥奪手段と、を有する。   In order to solve the above-described problems, an information processing apparatus according to the present invention has the following configuration. That is, in an information processing apparatus that executes processing related to an application via a processing means, an acquisition unit that acquires a setting job instructing processing related to the application, and the processing unit has an operation authority for processing included in the setting job. And determining means for determining whether or not the processing means has the operation authority for the predetermined process included in the setting job by the determination means. Delegation of the operation authority of the predetermined process from the processing means after the completion of the predetermined process by the delegation means for delegating to the processing means and the processing means to which the operation authority of the predetermined process has been delegated by the delegation means A stripping means.

本発明によれば、アプリのライフサイクル管理をより柔軟に行うことを可能とする技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which makes it possible to perform the life cycle management of an application more flexibly can be provided.

複合機を含む情報処理システムの構成を例示的に示す図である。1 is a diagram exemplarily showing a configuration of an information processing system including a multifunction peripheral. 複合機のハードウェア構成を示す図である。FIG. 2 is a diagram illustrating a hardware configuration of a multifunction machine. 複合機のソフトウェア構成を示す図である。2 is a diagram illustrating a software configuration of a multifunction machine. FIG. アプリ管理画面を例示的に示す図である。It is a figure which shows an application management screen exemplarily. 管理サーバーのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a management server. アプリ配信サーバーのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of an application delivery server. アプリライフサイクル管理アプリと他のアプリとの関係を示す図である。It is a figure which shows the relationship between an application life cycle management application and another application. アプリライフサイクル管理アプリの詳細構成を示す図である。It is a figure which shows the detailed structure of an application life cycle management application. 複合機によるポーリング処理のフローチャートである。10 is a flowchart of polling processing by the multifunction peripheral. アプリ関連設定ジョブの実行処理を説明するフローチャートである。It is a flowchart explaining the execution process of an application related setting job. インストールジョブの実行処理の詳細フローチャートである。It is a detailed flowchart of execution processing of an installation job. 停止ジョブの実行処理の詳細フローチャートである。It is a detailed flowchart of a stop job execution process. 開始ジョブの実行処理の詳細フローチャートである。It is a detailed flowchart of a start job execution process. アップデートジョブの実行処理の詳細フローチャートである。It is a detailed flowchart of an update job execution process. アンインストールジョブの実行処理の詳細フローチャートである。10 is a detailed flowchart of an uninstall job execution process. 操作権限有無の判定処理を説明するフローチャートである。It is a flowchart explaining the determination process of the presence or absence of operation authority. 操作権限の委譲処理を説明するフローチャートである。It is a flowchart explaining the operation authority delegation process. 操作権限の剥奪処理を説明するフローチャートである。It is a flowchart explaining the deprivation process of an operation authority. 管理システム操作画面を例示的に示す図である。It is a figure which shows an example of a management system operation screen. アプリ関連設定ジョブ及びアプリ情報の例を示す図である。It is a figure which shows the example of an application related setting job and application information. 各種マニフェストファイルを例示的に示す図である。It is a figure which shows various manifest files exemplarily. 手動操作に基づくアプリ関連設定ジョブの実行処理を説明するフローチャートである。It is a flowchart explaining the execution process of the application related setting job based on manual operation.

以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The following embodiments are merely examples, and are not intended to limit the scope of the present invention.

(第1実施形態)
本発明に係る情報処理装置の第1実施形態として、複合機を含む情報処理システムを例に挙げて以下に説明する。なお、以下の説明では、コピーやファックス、プリンタなどの複数の機能を一つの筐体に収納した複合機に適用した例を示す。しかしながら、他の形態の情報処理装置にも適用可能である。例えば携帯電話端末など、アプリを追加/削除可能な情報処理装置であれば本発明を適用することができる。
(First embodiment)
As an information processing apparatus according to a first embodiment of the present invention, an information processing system including a multifunction machine will be described below as an example. In the following description, an example in which a plurality of functions such as copying, faxing, and printers are applied to a multi-function machine housed in a single housing will be described. However, the present invention can be applied to other types of information processing apparatuses. For example, the present invention can be applied to any information processing apparatus capable of adding / deleting an application such as a mobile phone terminal.

<システム構成の説明>
図1は、複合機を含む情報処理システムの構成を例示的に示す図である。以下では、複合機100におけるアプリケーション(以下では単にアプリと呼ぶ)が、管理サーバー200及びアプリ配信サーバー300によって遠隔管理されている状況を想定して説明する。そのため、複合機100、管理サーバー200、アプリ配信サーバー300は、インターネットなどのネットワーク10を介して相互に通信可能に接続されている。なお、複合機100とネットワーク10との間には、ファイアウォール20を設けてもよい。
<Description of system configuration>
FIG. 1 is a diagram exemplarily showing a configuration of an information processing system including a multifunction peripheral. In the following description, it is assumed that an application (hereinafter simply referred to as an application) in the MFP 100 is remotely managed by the management server 200 and the application distribution server 300. Therefore, the multifunction peripheral 100, the management server 200, and the application distribution server 300 are connected to be communicable with each other via the network 10 such as the Internet. A firewall 20 may be provided between the multifunction device 100 and the network 10.

ファイアウォール20は、公衆回線やインターネットなどの外部ネットワークを通じて複合機100に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出・遮断する。なお、ファイアウォール20は、必須というわけではなく、存在しなくともよい。   The firewall 20 monitors data flowing through the boundary with the outside so as to prevent unauthorized access by a third party who has entered the MFP 100 through an external network such as a public line or the Internet, and detects and blocks unauthorized access. . Note that the firewall 20 is not essential and may not exist.

複合機100は、複写機にスキャナやプリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した情報処理装置である。複合機100は、LAN(Local Area Network)などのネットワークによりファイアウォール20に接続されている。   The multifunction peripheral 100 is an information processing apparatus in which a plurality of functions such as a scanner, a printer, a facsimile, and a file transmission function are integrated into a copying machine. The MFP 100 is connected to the firewall 20 via a network such as a LAN (Local Area Network).

管理サーバー200は、複合機100を遠隔管理する装置である。管理サーバー200は、複合機の開発企業や販売企業のサービスセンター等に設置されたサーバー装置であり、各種の管理データを格納するデータベースを備えている。データベースには、顧客ごとに、管理対象の複合機に関する管理情報が格納されている。管理情報は、例えば、製品番号、製品構成、機体識別番号、設置場所情報、インストール又はアンインストールしたアプリの情報等で構成される。これにより、管理対象である複合機におけるアプリの状態を特定することができる。   The management server 200 is a device that remotely manages the multifunction peripheral 100. The management server 200 is a server device installed in a service center of a development company or a sales company of a multifunction machine, and includes a database that stores various management data. The database stores management information related to the MFPs to be managed for each customer. The management information includes, for example, a product number, a product configuration, a machine identification number, installation location information, information on an installed or uninstalled application, and the like. Thereby, the state of the application in the multifunction peripheral that is the management target can be specified.

アプリ配信サーバー300は、管理サーバー200と同じく、複合機の開発企業や販売企業のデータセンター等に設置されたサーバー装置であり、複合機に追加することが出来るアプリを管理するデータベースを備えている。データベースには、アプリの名称やアプリを識別するID(以下「アプリID」)、アプリを使用する権利を識別する情報(以下「アプリ使用権ID」)等の情報が格納されている。また、指定されたアプリに対するアプリ使用権IDを発行する機能とアプリを複合機にインストールするために必要なライセンスファイルを発行する機能も有している。   Similar to the management server 200, the application distribution server 300 is a server device installed in a data center or the like of a multifunction machine development company or sales company, and includes a database for managing applications that can be added to the multifunction machine. . The database stores information such as the name of the application, an ID for identifying the application (hereinafter “application ID”), and information for identifying the right to use the application (hereinafter “application usage right ID”). In addition, it has a function of issuing an application usage right ID for a designated application and a function of issuing a license file necessary for installing the application in the multifunction peripheral.

そして、第1実施形態の情報処理システムは、遠隔管理を実現するため、各装置にRPC(Remote Procedure Call)により、相互実装するアプリのメソッドに対する処理の要求、応答を送受信する機能を有している。また、RPCを実現するために、HTTP(Hyper Text Transfer Protocol)、SOAP(Simple Object Access Protocol)等のプロトコルを利用することができる。   In order to realize remote management, the information processing system according to the first embodiment has a function of transmitting and receiving processing requests and responses to methods of applications to be mounted on each device by RPC (Remote Procedure Call). Yes. In order to implement RPC, protocols such as HTTP (Hyper Text Transfer Protocol) and SOAP (Simple Object Access Protocol) can be used.

また、複合機100とネットワーク10との間にファイアウォール20が存在する場合、管理サーバー200から直接に複合機100に要求を送信しようとしても、ファイアウォール20に要求が遮断される。しかし、先に複合機100から管理サーバー200に要求を送信し、HTTPレスポンスに管理サーバー200からの要求を載せるという方式を用いることで、管理サーバー200からの要求がファイアウォール20を通過して複合機100まで届くようになる。   Further, when the firewall 20 exists between the multifunction device 100 and the network 10, even if an attempt is made to send a request directly from the management server 200 to the multifunction device 100, the request is blocked by the firewall 20. However, by using a method in which a request is first transmitted from the multifunction device 100 to the management server 200 and a request from the management server 200 is included in the HTTP response, the request from the management server 200 passes through the firewall 20 and the multifunction device. Reaches 100.

<管理サーバー200およびアプリ管理サーバー300の説明>
図5は、管理サーバー200のハードウェア構成を示す図である。図6は、アプリ配信サーバー300のハードウェア構成を示す図である。
<Description of Management Server 200 and Application Management Server 300>
FIG. 5 is a diagram illustrating a hardware configuration of the management server 200. FIG. 6 is a diagram illustrating a hardware configuration of the application distribution server 300.

管理サーバー200は、コントローラユニット2000、操作部2020、表示部2030を含む。コントローラユニット2000は、CPU(Central Processing Unit)2003を含む。同様に、アプリ管理サーバー300は、コントローラユニット3000、操作部3020、表示部3030を含む。コントローラユニット3000は、CPU3003を含む。管理サーバー200の構成及びアプリ管理サーバー300の構成はほぼ同様のため、以下では、主に管理サーバー200に関して説明する。   The management server 200 includes a controller unit 2000, an operation unit 2020, and a display unit 2030. The controller unit 2000 includes a CPU (Central Processing Unit) 2003. Similarly, the application management server 300 includes a controller unit 3000, an operation unit 3020, and a display unit 3030. The controller unit 3000 includes a CPU 3003. Since the configuration of the management server 200 and the configuration of the application management server 300 are almost the same, the management server 200 will be mainly described below.

CPU2003は、ROM(Read Only Memory)2006に記憶されているブートプログラムによりOS(Operating System)を起動する。管理サーバー200の場合、CPU2003は、OS上で、HDD(Hard Disk Drive)2005に記憶されている管理アプリプログラムを実行して各種処理を実行する。アプリ配信サーバー300の場合、CPU3003は、OS上で、HDD3005に記憶されているアプリ配信プログラムを実行して各種処理を実行する。RAM(Random Access Memory)2004は、CPU2003のワーキングメモリとして用いられる。   The CPU 2003 activates an OS (Operating System) by a boot program stored in a ROM (Read Only Memory) 2006. In the case of the management server 200, the CPU 2003 executes a management application program stored in an HDD (Hard Disk Drive) 2005 on the OS to execute various processes. In the case of the application distribution server 300, the CPU 3003 executes various processes by executing an application distribution program stored in the HDD 3005 on the OS. A RAM (Random Access Memory) 2004 is used as a working memory for the CPU 2003.

管理サーバー200の場合、HDD2005は、管理プログラムと複合機にアプリ設置実施を指示するアプリ関連設定ジョブ情報等を記憶する。アプリ配信サーバー300の場合、HDD3005は、アプリ配信プログラムと配信可能なアプリに関する情報等を記憶する。   In the case of the management server 200, the HDD 2005 stores application-related setting job information and the like for instructing the installation of the application to the management program and the multifunction peripheral. In the case of the application distribution server 300, the HDD 3005 stores information about the application distribution program and distributable applications.

システムバス2010には、ROM2006およびRAM2004の他に、操作部I/F2001、表示部I/F2002、ネットワークI/F2007が接続されている。操作部I/F2001は、ポインティングデバイスやキーボード等を含む操作部2020とのインターフェースであり、操作部2020を介してユーザーから入力された情報をCPU2003に送信する。表示部I/F2002は、ディスプレイ等を含む表示部2030に表示すべき画面データを表示部2030に対して出力する。ネットワークI/F2007は、ネットワーク10を通じて接続している各装置との間でデータの送受信を行う。   In addition to the ROM 2006 and the RAM 2004, an operation unit I / F 2001, a display unit I / F 2002, and a network I / F 2007 are connected to the system bus 2010. The operation unit I / F 2001 is an interface with the operation unit 2020 including a pointing device, a keyboard, and the like, and transmits information input from the user via the operation unit 2020 to the CPU 2003. The display unit I / F 2002 outputs screen data to be displayed on the display unit 2030 including a display to the display unit 2030. A network I / F 2007 transmits and receives data to and from each device connected through the network 10.

管理サーバー200で管理されるアプリ関連設定ジョブ情報は、複合機を識別する情報とアプリを識別する情報、アプリの使用権情報を識別するアプリ使用権ID、アプリの状態を指示するアプリ状態指示情報等で構成される情報である。このアプリ関連設定ジョブ情報は後述する管理システム連携アプリがアプリをデバイスに設置するときに使用する。なお、アプリ関連設定ジョブ情報の詳細については図19及び図20を参照して後述する。   The application-related setting job information managed by the management server 200 includes information for identifying the MFP, information for identifying the application, application usage right ID for identifying the usage right information of the application, and application state instruction information for instructing the state of the application. It is the information which consists of etc. This application-related setting job information is used when a management system cooperation application, which will be described later, installs an application on a device. Details of the application related setting job information will be described later with reference to FIGS.

アプリ配信サーバー300は、複合機100からのアプリ取得要求として複合機の識別番号とアプリ使用権IDを受付すると、そのアプリ使用権IDに対応したアプリのアプリファイルとライセンスファイルをセットで情報処理装置に返信する。   When the application distribution server 300 receives the MFP identification number and the application usage right ID as an application acquisition request from the MFP 100, the application distribution server 300 sets the application file and the license file of the application corresponding to the application usage right ID as a set. Reply to

<複合機100の説明>
図2は、複合機100のハードウェア構成を示す図である。複合機100はコントローラユニット1000を含み、コントローラユニット1000には、画像入力デバイスであるスキャナ1070や画像出力デバイスであるプリンタ1095が接続されるとともに、操作部1012が接続される。
<Description of MFP 100>
FIG. 2 is a diagram illustrating a hardware configuration of the multifunction peripheral 100. The multi-function device 100 includes a controller unit 1000, to which a scanner 1070 as an image input device and a printer 1095 as an image output device are connected, and an operation unit 1012 is connected.

コントローラユニット1000は、スキャナ1070で読み取られた画像データをプリンタ1095により印刷出力するコピー機能を実現するための制御を行う。コントローラユニット1000は、CPU1001を有し、CPU1001は、ROM1003に格納されているブートプログラムによりOSを立ち上げる。   The controller unit 1000 performs control for realizing a copy function in which image data read by the scanner 1070 is printed out by the printer 1095. The controller unit 1000 has a CPU 1001, and the CPU 1001 starts up the OS by a boot program stored in the ROM 1003.

CPU1001は、このOS上で、HDD1004に格納されているプログラムを実行し、これによって各種処理を実行する。このCPU1001の作業領域としてはRAM1002が用いられる。RAM1002は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリー領域を提供する。HDD1004は、上記プログラムや画像データを格納する。   The CPU 1001 executes a program stored in the HDD 1004 on this OS, thereby executing various processes. A RAM 1002 is used as a work area of the CPU 1001. The RAM 1002 provides a work area and an image memory area for temporarily storing image data. The HDD 1004 stores the program and image data.

CPU1001には、システムバス1007を介して、ROM1003およびRAM1002、操作部インターフェース(操作部I/F)1006、ネットワークインターフェース(ネットワークI/F)1010、USBホストインターフェース(USBホストI/F)1013、画像バスインターフェース(画像バスI/F)1005が接続される。   The CPU 1001 includes a ROM 1003 and a RAM 1002, an operation unit interface (operation unit I / F) 1006, a network interface (network I / F) 1010, a USB host interface (USB host I / F) 1013, an image via a system bus 1007. A bus interface (image bus I / F) 1005 is connected.

操作部I/F1006は、タッチパネルを有する操作部1012とのインターフェースであり、操作部1012に表示すべき画像データを操作部1012に対して出力する。   An operation unit I / F 1006 is an interface with an operation unit 1012 having a touch panel, and outputs image data to be displayed on the operation unit 1012 to the operation unit 1012.

操作部I/F1006は、操作部1012においてユーザーにより入力された情報をCPU1001に送出する。   The operation unit I / F 1006 sends information input by the user through the operation unit 1012 to the CPU 1001.

ネットワークI/F1010は、複合機100をネットワーク10に接続するためのインターフェースである。USBホストI/F1013は、USBストレージ1014と通信するインターフェース部である。USBホストI/F1013は、HDD1004に格納されているデータをUSBストレージ1014に出力する。また、USBホストI/F1013は、USBストレージ1014に格納されているデータを入力し、CPU1001にそれを伝える。USBホストI/F1013には、USBストレージ1014を含む複数のUSBデバイスが接続可能である。   The network I / F 1010 is an interface for connecting the multifunction peripheral 100 to the network 10. The USB host I / F 1013 is an interface unit that communicates with the USB storage 1014. The USB host I / F 1013 outputs data stored in the HDD 1004 to the USB storage 1014. The USB host I / F 1013 inputs data stored in the USB storage 1014 and transmits it to the CPU 1001. A plurality of USB devices including a USB storage 1014 can be connected to the USB host I / F 1013.

USBストレージ1014は、データを格納する外部記憶装置であり、USBホストI/F1013に対して着脱可能である。   The USB storage 1014 is an external storage device that stores data, and is detachable from the USB host I / F 1013.

画像バスI/F1005は、システムバス1007と、画像データを高速で転送する画像バス1008とを接続し、データ形式を変換するためのバスブリッジである。画像バス1008は、PCIバスまたはIEEE1394等によって構成される。画像バス1008上には、デバイスI/F1020、スキャナ画像処理部1080、プリンタ画像処理部1090が設けられる。   An image bus I / F 1005 is a bus bridge for connecting the system bus 1007 and an image bus 1008 for transferring image data at high speed and converting the data format. The image bus 1008 is configured by a PCI bus or IEEE1394. On the image bus 1008, a device I / F 1020, a scanner image processing unit 1080, and a printer image processing unit 1090 are provided.

デバイスI/F1020には、スキャナ1070およびプリンタ1095が接続され、デバイスI/F1020は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部1080は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部1090は、プリント出力画像データに対してプリンタ1095に応じた補正、解像度変換などを行う。   A scanner 1070 and a printer 1095 are connected to the device I / F 1020, and the device I / F 1020 performs synchronous / asynchronous conversion of image data. A scanner image processing unit 1080 corrects, processes, and edits input image data. A printer image processing unit 1090 performs correction, resolution conversion, and the like according to the printer 1095 for print output image data.

<複合機100のソフトウェア構成>
図3は、複合機100のソフトウェア構成を示す図である。なお、各機能を実現するソフトウェアはROM1003、もしくは、HDD1004に保存され、CPU1001にて実行される。また、実行時に使用する各種情報はRAM1003もしくはHDD1004に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークI/F1010を用いて通信を行う。
<Software configuration of MFP 100>
FIG. 3 is a diagram illustrating a software configuration of the multifunction peripheral 100. Note that software for realizing each function is stored in the ROM 1003 or the HDD 1004 and executed by the CPU 1001. Various information used at the time of execution is held in the RAM 1003 or the HDD 1004, and various information is exchanged between software functions. Further, communication with an external device is performed using the network I / F 1010.

複合機100のソフトウェアは、OS301を有し、OS301上にアプリプラットフォーム302が構成されている。アプリプラットフォーム302は、基本的には、JAVA(登録商標)仮想マシン(VM)303のランタイム環境として構成されている。より詳細には、アプリプラットフォーム302は、インタプリタとしてのJAVA(登録商標)VM303、ライブラリ304、OSGiフレームワーク305、システムアプリ306を備えて構成されている。ライブラリ304は、JAVA(登録商標)標準のAPIライブラリを含んで構成されている。   The software of the multifunction peripheral 100 has an OS 301, and an application platform 302 is configured on the OS 301. The application platform 302 is basically configured as a runtime environment of a JAVA (registered trademark) virtual machine (VM) 303. More specifically, the application platform 302 includes a JAVA (registered trademark) VM 303 as an interpreter, a library 304, an OSGi framework 305, and a system application 306. The library 304 includes a JAVA (registered trademark) standard API library.

OSGiフレームワーク305は、OSGi仕様に準拠した動作を行うモジュールである。OSGiフレームワーク305では、単一のJAVA(登録商標)VM303上に複数のアプリを動作させる事が可能であり、アプリのライフサイクルの管理やアプリ間通信機能などを提供する。   The OSGi framework 305 is a module that performs an operation based on the OSGi specification. The OSGi framework 305 can operate a plurality of applications on a single JAVA (registered trademark) VM 303 and provides a life cycle management of an application, an inter-application communication function, and the like.

<システムアプリ(第1種のアプリケーション)>
システムアプリ306は、後述する拡張システムアプリ320や一般アプリ310を管理する。また、システムアプリ306は、拡張システムアプリ320や一般アプリ310に対して、複合機100を操作するためのAPIをOSGiサービスとして提供する。なお、システムアプリ306は、例えば出荷時に複合機100にプリインストールされ、出荷後においてはアップデート、停止、アンインストールすることは出来ない(禁止されている)ように構成されている。
<System application (first type of application)>
The system application 306 manages an extended system application 320 and a general application 310 described later. Further, the system application 306 provides an API for operating the multifunction peripheral 100 as an OSGi service to the extended system application 320 and the general application 310. The system application 306 is configured to be preinstalled in the multifunction peripheral 100 at the time of shipment, for example, and cannot be updated, stopped, or uninstalled after shipment.

以下では、システムアプリの例として、アプリ配信インストールアプリ321、インストール制御アプリ307、アプリ管理UI提供アプリ308、ログインアプリ309、アプリライフサイクル管理アプリ312について説明する。   Hereinafter, as an example of a system application, an application distribution installation application 321, an installation control application 307, an application management UI providing application 308, a login application 309, and an application life cycle management application 312 will be described.

インストール制御アプリ307は、アプリとアプリを使用するためのライセンスとを関連付けて管理するためのアプリである。例えば、暗号化されたJAVA(登録商標)アプリのファイルをライセンスファイルに含まれる鍵情報で復号し、OSGiフレームワーク305にインストールする等、OSGiの仕様には無い機能を提供する。また、インストール制御アプリ307は、インストールやアップデート、開始や停止といった操作をAPIとして他のアプリに提供する。   The installation control application 307 is an application for associating and managing an application and a license for using the application. For example, functions that are not in the OSGi specification are provided, such as decrypting an encrypted JAVA (registered trademark) application file with the key information included in the license file and installing it in the OSGi framework 305. Further, the installation control application 307 provides operations such as installation, update, start and stop to other applications as APIs.

アプリ管理UI提供アプリ308は、インストール制御アプリ307を利用して、アプリのインストール、開始、停止、アンインストールを行うための操作画面をWEBページとして提供するアプリである。アプリ管理UI提供アプリ308が提供する画面は、複合機100が接続しているのと同じLANに接続している管理用PC(不図示)にインストールされているブラウザでアクセスして使用する。アプリ管理UI提供アプリ308は、主に顧客(システム管理者)や複合機100の販売会社等に所属するサービスマンが使用する。   The application management UI providing application 308 is an application that uses the installation control application 307 to provide an operation screen for installing, starting, stopping, and uninstalling the application as a WEB page. The screen provided by the application management UI providing application 308 is accessed and used by a browser installed on a management PC (not shown) connected to the same LAN to which the multifunction peripheral 100 is connected. The application management UI providing application 308 is mainly used by a service person belonging to a customer (system administrator), a sales company of the multifunction peripheral 100, or the like.

アプリ配信インストールアプリ321は、アプリ配信サーバー300と通信することでアプリとライセンスを取得し、インストールやアップデートをAPIとして他のアプリに提供するためのアプリである。なお、アプリ配信インストールアプリ321は、アプリ管理UI提供アプリ308と同様にインストール制御アプリ307を使用する。なお、アプリ配信インストールアプリ321は、後述する管理システムを使用したアプリのライフサイクル管理において、管理サーバー通信アプリ311の停止やアンインストールといった操作をおこなう権限を有さないアプリの例として使用する。   The application distribution installation application 321 is an application for acquiring an application and a license by communicating with the application distribution server 300, and providing installation and update to other applications as an API. Note that the application distribution installation application 321 uses the installation control application 307 in the same manner as the application management UI providing application 308. The application distribution installation application 321 is used as an example of an application that does not have authority to perform operations such as stopping or uninstalling the management server communication application 311 in life cycle management of an application using a management system described later.

ログインアプリ309は、複合機100を使用するユーザーを識別し、現在複合機100にログインしているユーザーのログイン情報を、図21に示すログインコンテキスト2200として他のアプリに提供するアプリである。   The login application 309 is an application that identifies a user who uses the multifunction peripheral 100 and provides login information of a user who is currently logged in to the multifunction peripheral 100 to another application as a login context 2200 shown in FIG.

アプリライフサイクル管理アプリ312は、管理サーバー通信アプリ311を使用して管理サーバー200からアプリ関連設定ジョブ情報を取得し、アプリのライフサイクル管理をおこなうアプリである。そのため、ユーザー向けの操作画面を有さずともよい。アプリライフサイクル管理アプリ312は、インストールないしアップデートの場合はアプリ配信インストールアプリ321が提供するAPIを利用する。一方、開始や停止、アンインストールの場合は直接インストール制御アプリ307が提供するAPIを利用する。なお、アプリライフサイクル管理アプリ312は、後述する管理システムを使用したアプリのライフサイクル管理において、管理サーバー通信アプリ311の停止やアンインストールといった操作をおこなう権限を有するアプリの例として使用する。   The application life cycle management application 312 is an application that acquires application-related setting job information from the management server 200 using the management server communication application 311 and performs application life cycle management. Therefore, it is not necessary to have an operation screen for the user. The application life cycle management application 312 uses an API provided by the application distribution installation application 321 in the case of installation or update. On the other hand, in the case of starting, stopping, or uninstalling, an API provided by the direct installation control application 307 is used. The application life cycle management application 312 is used as an example of an application having an authority to perform an operation such as stopping or uninstalling the management server communication application 311 in life cycle management of an application using a management system described later.

<拡張システムアプリ(第2種のアプリケーション)>
拡張システムアプリ320は、アプリプラットフォーム302上で動作する複合機100の機能を拡張したり、複合機100を操作するためのAPIを提供したりするなど、主として複合機100の開発企業がインストールするアプリの総称である。拡張システムアプリ320は、複合機100にプリインストールされる場合もあれば、出荷後にインストールされる場合もある。なお、拡張システムアプリは、所定の条件に応じてアップデートや停止、アンインストールすることが可能である。以下では、所定の条件として、一時許可リスト2110を利用する例について説明するが、条件はこれに限定されない。
<Extended system application (type 2 application)>
The extended system application 320 is an application that is mainly installed by a development company of the MFP 100, such as extending the function of the MFP 100 operating on the application platform 302, or providing an API for operating the MFP 100. Is a general term. The extended system application 320 may be preinstalled in the multifunction peripheral 100 or may be installed after shipment. The extended system application can be updated, stopped, or uninstalled according to predetermined conditions. Hereinafter, an example in which the temporary permission list 2110 is used as the predetermined condition will be described, but the condition is not limited to this.

以下、拡張システムアプリの例として、管理サーバー通信アプリ311について説明する。   Hereinafter, the management server communication application 311 will be described as an example of the extended system application.

管理サーバー通信アプリ311は、管理サーバー200と通信してアプリ関連設定ジョブ情報を取得するためのアプリである。また、管理サーバー通信アプリ311は管理サーバー200のIPアドレスやURL、認証するための鍵などの接続情報を有するとともに、管理サーバー200の通信プロトコルに従って通信するアプリである。なお、管理サーバー通信アプリ311は、出荷状態で複合機100にプリインストールされるものの、市場でアップデートされることがある。例えば、接続する管理サーバー200のIPアドレスやURLなどの接続情報が変更になる場合や通信プロトコルが変更になる場合等で、アプリのアップデートが必要となるケースである。   The management server communication application 311 is an application for communicating with the management server 200 to acquire application related setting job information. The management server communication application 311 is an application that has connection information such as an IP address and URL of the management server 200 and a key for authentication, and communicates according to the communication protocol of the management server 200. Note that the management server communication application 311 is preinstalled in the multifunction peripheral 100 in a shipping state, but may be updated in the market. For example, the application needs to be updated when the connection information such as the IP address or URL of the management server 200 to be connected is changed or when the communication protocol is changed.

なお、管理サーバー通信アプリ311はアプリライフサイクル管理アプリ312がアプリのライフサイクル管理のために利用しているため、停止やアンインストールされてしまうとアプリライフサイクル管理アプリ312の動作に影響が出る。例えば、複合機100を利用する顧客がアプリの使用契約を結んだときに管理サーバー通信アプリ311が停止している場合、管理サーバー200からアプリのインストール指示を受けられないことになる。従って、管理サーバー通信アプリ311の停止やアンインストールといった操作は、UIを持たないアプリライフサイクル管理アプリ312のような、ユーザーが簡単に操作出来ないようなアプリに限定して許可する必要がある。なお、管理サーバー通信アプリ311は、後述する管理システムを使用したアプリのライフサイクル管理において、管理サーバー通信アプリ311の停止やアンインストールといった操作を特定のアプリに限定して許可するときの操作対象のアプリの例として使用する。   The management server communication application 311 is used by the application life cycle management application 312 for managing the life cycle of the application. Therefore, if the management server communication application 311 is stopped or uninstalled, the operation of the application life cycle management application 312 is affected. For example, if the management server communication application 311 is stopped when a customer who uses the multifunction peripheral 100 has signed an application usage contract, the application installation instruction cannot be received from the management server 200. Therefore, operations such as stopping and uninstalling the management server communication application 311 need to be permitted only for applications that cannot be easily operated by the user, such as the application lifecycle management application 312 having no UI. Note that the management server communication application 311 is a target of an operation target when permitting an operation such as stopping or uninstalling the management server communication application 311 to a specific application in the life cycle management of the application using the management system described later. Use as an example app.

図21は、各種ファイルの例を示す図である。マニフェストファイル2100は、管理サーバー通信アプリ311が宣言する項目を記述したファイルである。項目2101は、アプリのアプリタイプを記述する。例えば、ログインアプリ309を除いたシステムアプリ306の場合は“SystemApp”、ログインアプリ309の場合は“LoginApp”、拡張システムアプリ320の場合は“SystemApp−Ex”、一般アプリ310の場合は“NormalApp”を記述する。   FIG. 21 is a diagram illustrating examples of various files. The manifest file 2100 is a file in which items declared by the management server communication application 311 are described. An item 2101 describes the application type of the application. For example, the system application 306 excluding the login application 309 is “SystemApp”, the login application 309 is “LoginApp”, the extended system application 320 is “SystemApp-Ex”, and the general application 310 is “NormalApp”. Is described.

また、拡張システムアプリ320の中でも、管理サーバー通信アプリ311のように開始や停止、アンインストールといった操作をある特定のアプリに限定して許可する場合は“SystemApp−PrivEx”を指定する。加えて、項目2102において、操作を許可する特定のアプリのアプリIDを記述する(本例では、アプリライフサイクル管理アプリ312のアプリID)。なお、操作するアプリが複数存在する場合は、カンマ(,)区切りで記述することが出来る。   Also, in the extended system application 320, “SystemApp-PrivEx” is designated when the operation such as start, stop, and uninstall is limited to a specific application as in the management server communication application 311. In addition, in item 2102, an application ID of a specific application that is permitted to be operated is described (in this example, an application ID of the application life cycle management application 312). If there are multiple applications to be operated, they can be described by separating them with commas (,).

<一般アプリ(第3種のアプリケーション)>
一般アプリ310は、アプリプラットフォーム302上で動作する複合機100の機能を拡張するなど、主として複合機100の開発企業とは異なるサードベンダーが開発するアプリの総称である。
<General application (type 3 application)>
The general application 310 is a general term for applications developed by a third vendor different from the development company of the multifunction device 100, such as expanding the functions of the multifunction device 100 operating on the application platform 302.

以下、一般アプリの例として、サードベンダー製アプリ313について説明する。   Hereinafter, a third vendor application 313 will be described as an example of a general application.

サードベンダー製アプリ313は、例えば印刷ジョブを一旦複合機の中に保存し、複合機のタッチパネル画面上で印刷設定を確認しながら、必要なジョブだけを印刷できる機能を有し、利用者は利用料金の支払い状況に応じてアプリを利用することが出来るようなアプリである。   The third-vendor application 313 has a function that, for example, temporarily stores a print job in the multifunction peripheral and prints only necessary jobs while confirming print settings on the touch panel screen of the multifunction peripheral. It is an application that can use the application according to the payment status.

図7は、アプリライフサイクル管理アプリ312と他のアプリとの関係を示す図である。具体的には、アプリ管理UI提供アプリ308、インストール制御アプリ307、管理サーバー通信アプリ311との関係を示している。   FIG. 7 is a diagram illustrating the relationship between the application life cycle management application 312 and other applications. Specifically, the relationship between the application management UI providing application 308, the installation control application 307, and the management server communication application 311 is shown.

<アプリ管理UI提供アプリ308を使用したアプリのライフサイクル管理>
顧客あるいは複合機100の販売会社等に所属するサービスマンが、顧客サイトにあるPCにインストールされたブラウザを使用して複合機100にアクセスすることで、アプリ管理UI提供アプリ308を使用したアプリのライフサイクル管理を行うことが出来る。以下、図4を参照して、アプリ管理UI提供アプリ308を使用したアプリの管理について説明する。また、併せてアプリの状態やアプリとライセンスの関係についても説明する。
<Application lifecycle management using application management UI providing application 308>
When a service person belonging to a customer or a sales company of the multifunction device 100 accesses the multifunction device 100 using a browser installed on a PC at the customer site, an application using the application management UI providing application 308 is obtained. Lifecycle management can be performed. Hereinafter, with reference to FIG. 4, application management using the application management UI providing application 308 will be described. In addition, the application status and the relationship between the application and the license will also be described.

図4は、アプリ管理UI提供アプリ308が提供するアプリ管理画面500を例示的に示す図である。アプリ管理画面500は、複合機100にインストールされているアプリの状態を操作するための画面である。   FIG. 4 is a diagram exemplarily showing an application management screen 500 provided by the application management UI providing application 308. The application management screen 500 is a screen for operating the state of an application installed in the multifunction device 100.

アプリケーション名501は、インストール制御アプリ307を使用し、一般アプリ310と拡張システムアプリ320に該当するアプリケーション情報を取得し、アプリの名称を一覧に表示する。この例の場合、一般アプリ310に該当するアプリケーションA505とアプリケーションB506、拡張システムアプリ320に該当する管理サーバー通信アプリ311の3つが管理されている。   The application name 501 uses the installation control application 307, acquires application information corresponding to the general application 310 and the extended system application 320, and displays the name of the application in a list. In this example, the application A 505 and application B 506 corresponding to the general application 310 and the management server communication application 311 corresponding to the extended system application 320 are managed.

インストール日502は、各アプリがインストールされた日付である。アプリケーションID503は、各アプリに一意に割り振られたIDを表示している。状態504は、各アプリの状態を示している。アプリが開始状態であれば開始、停止状態であれば停止と表示される。   The installation date 502 is a date when each application is installed. The application ID 503 displays an ID uniquely assigned to each application. A state 504 indicates the state of each application. If the app is in the start state, it is displayed as start, and if it is in the stop state, it is displayed as stop.

開始ボタン509/停止ボタン508は、アプリの開始停止を切り替える指示ボタンである。開始状態のアプリの場合、停止ボタンとなり、停止状態のアプリの場合、開始ボタンとなる。開始状態のアプリ(本例では、「アプリケーションA505」)の停止ボタン508を押下すると、その状態504は停止に変更される。一方、停止状態のアプリ(本例では、「アプリケーションB506」)の開始ボタン509を押下すると、その状態504は開始に変更される。   A start button 509 / stop button 508 is an instruction button for switching start / stop of an application. In the case of an application in a start state, it becomes a stop button, and in the case of an application in a stop state, it becomes a start button. When the stop button 508 of the application in the start state (“application A 505” in this example) is pressed, the state 504 is changed to stop. On the other hand, when the start button 509 of the stopped application (“application B 506” in this example) is pressed, the state 504 is changed to start.

無効化状態停止ボタン510は、アプリ管理UI提供アプリ308が管理サーバー通信アプリ311に対して停止する権限を持っていないため、無効化されて押下することが出来ない状態となっている。   The invalidation state stop button 510 is invalidated and cannot be pressed because the application management UI providing application 308 has no authority to stop the management server communication application 311.

アンインストールボタン511は、アプリのアンインストールするための指示ボタンである。アプリケーションA505のアンインストールボタン511を押下すると、アプリケーションA505をアンインストールする。無効化状態アンインストールボタン513は、アプリ管理UI提供アプリ308が管理サーバー通信アプリ311に対してアンインストールする権限を持っていないため、無効化されて押下することが出来ない状態となっている。   The uninstall button 511 is an instruction button for uninstalling the application. When the uninstall button 511 of the application A 505 is pressed, the application A 505 is uninstalled. The disabled state uninstall button 513 is disabled and cannot be pressed because the application management UI providing application 308 does not have the authority to uninstall the management server communication application 311.

<管理システムによるアプリの管理>
アプリの管理は、複合機100の販売会社等に所属するオペレーターが、複合機100の販売会社等のサイトにあるPC(不図示)等にインストールされているブラウザを使用して、管理サーバー200が提供する管理システム操作画面にアクセスし、操作する事で管理サーバー200にアプリ関連設定ジョブを登録する。登録されたジョブは、複合機100にインストールされた管理サーバー通信アプリ311及びアプリライフサイクル管理アプリ312が、定期的にポーリングすることで取得し、ジョブの指示に従って複合機100を設定する事で行う。
<Application management by management system>
The management of the application is performed by the management server 200 using a browser installed on a PC (not shown) or the like at a site of the MFP 100 sales company or the like by an operator belonging to the MFP 100 sales company or the like. An application-related setting job is registered in the management server 200 by accessing and operating the management system operation screen to be provided. The registered job is acquired by the management server communication application 311 and the application life cycle management application 312 installed in the MFP 100 by periodically polling, and is performed by setting the MFP 100 according to the job instruction. .

図19は、管理サーバー200が提供する管理システム操作画面1900を例示的に示す図である。管理システム操作画面1900は、複合機一覧画面1910、複合機管理画面1920、インストール設定画面1940、状態操作設定画面1960によって構成される。   FIG. 19 is a diagram exemplarily showing a management system operation screen 1900 provided by the management server 200. The management system operation screen 1900 includes a multifunction device list screen 1910, a multifunction device management screen 1920, an installation setting screen 1940, and a status operation setting screen 1960.

複合機一覧画面1910は、顧客毎に顧客が所有する複合機を一覧で表示するための画面である。複合機一覧画面1910は、顧客名1911、複合機ID1912、製品名1913、状態1914、参照ボタン1915によって構成される。顧客名1911は、顧客の名称、複合機ID1912は、顧客サイトで運用されている複合機を識別するID、製品名1913は、顧客サイトで運用されている複合機の製品名をそれぞれ表示する。   The MFP list screen 1910 is a screen for displaying a list of MFPs owned by each customer. The multifunction device list screen 1910 includes a customer name 1911, a multifunction device ID 1912, a product name 1913, a status 1914, and a reference button 1915. The customer name 1911 indicates the name of the customer, the multifunction machine ID 1912 displays an ID for identifying the multifunction machine operated at the customer site, and the product name 1913 displays the product name of the multifunction machine operated at the customer site.

状態1914は、顧客サイトで運用されている複合機に対する操作の状態を表示する。状態としては、処理待ちと処理済みがある。アプリ関連設定ジョブを登録後、複合機側での設定処理が終了するまでの状態が処理待ちで、設定処理終了後に複合機のアプリの状態が通知されると処理済みとなる。参照ボタン1915は、複合機IDで識別される各機器の複合機管理画面1920に遷移するためのボタンである。   The status 1914 displays the status of the operation for the multifunction machine operated at the customer site. The status includes waiting for processing and completed processing. After registration of the application-related setting job, the state until the setting process on the MFP side ends is waiting for processing, and when the state of the application of the MFP is notified after the setting process ends, the processing is completed. A reference button 1915 is a button for transitioning to the multifunction device management screen 1920 of each device identified by the multifunction device ID.

複合機管理画面1920は、複合機にインストール可能なアプリの状態を管理するための画面である。複合機管理画面1920は、詳細ボタン1915aが押下されたときに表示する、複合機IDが“XXX00001”である複合機(ここでは、複合機100)の複合機管理画面である。複合機管理画面1920は、顧客名1921及び複合機ID1922、製品名1923、アプリID1925、アプリ名1926、状態1927、状態操作1928、状態操作ボタン1929、アプリインストールボタン1930によって構成される。   The multifunction device management screen 1920 is a screen for managing the states of applications that can be installed in the multifunction device. The multifunction device management screen 1920 is a multifunction device management screen of a multifunction device (here, the multifunction device 100) whose multifunction device ID is “XXX00001”, which is displayed when the details button 1915a is pressed. The MFP management screen 1920 includes a customer name 1921, MFP ID 1922, product name 1923, application ID 1925, application name 1926, state 1927, state operation 1928, state operation button 1929, and application install button 1930.

顧客名1921は、複合機を所有している顧客の名称、複合機ID1922は、複合機を識別するID、製品名1923は、複合機の製品名をそれぞれ表示する。アプリID1925は、複合機にインストールされているか、インストールされる予定のアプリを識別するためのIDを表示する。アプリ名1926は、複合機にインストールされているか、インストールされる予定のアプリの名称を表示する。   The customer name 1921 displays the name of the customer who owns the multifunction device, the multifunction device ID 1922 displays the ID for identifying the multifunction device, and the product name 1923 displays the product name of the multifunction device. The application ID 1925 displays an ID for identifying an application that is installed in the multifunction device or is scheduled to be installed. The application name 1926 displays the name of the application that is installed in the multifunction device or is scheduled to be installed.

状態1927は、複合機にインストールされているか、インストールされる予定のアプリの状態を表示する。状態操作1928は、複合機にインストールされているか、インストールされる予定のアプリに対して可能である状態操作をボタンとして表示する。   A status 1927 displays the status of an application that is installed in the multifunction device or is scheduled to be installed. The state operation 1928 displays a state operation that can be performed on an application that is installed in the multi-function peripheral or is scheduled to be installed as a button.

状態操作ボタン1929は、アプリの状態操作の設定を行うための状態操作設定画面1960に遷移するためのボタンである。アプリインストールボタン1930は、インストール設定画面1940に遷移するためのボタンである。   The state operation button 1929 is a button for transitioning to the state operation setting screen 1960 for setting the state operation of the application. The application installation button 1930 is a button for making a transition to the installation setting screen 1940.

インストール設定画面1940は、アプリのインストール設定を行うための画面である。インストール設定画面1940は、複合機ID1941及びアプリ選択プルダウン1942、登録ボタン1945によって構成される。   The installation setting screen 1940 is a screen for performing application installation settings. The installation setting screen 1940 includes a multifunction machine ID 1941, an application selection pull-down 1942, and a registration button 1945.

複合機ID1941は、インストールするアプリを選択する複合機を識別するIDを表示する。アプリ選択プルダウン1942は、複合機IDで識別される複合機にインストールすることができるアプリを選択するプルダウンメニューである。登録ボタン1945は、選択したアプリをインストールするためのインストールジョブを登録するためのボタンである。   The MFP ID 1941 displays an ID for identifying a MFP that selects an application to be installed. The application selection pull-down 1942 is a pull-down menu for selecting an application that can be installed in the multifunction peripheral identified by the multifunction peripheral ID. The registration button 1945 is a button for registering an installation job for installing the selected application.

図20(a)は、管理サーバー200に登録されたアプリ関連設定ジョブのデータ構成を示す図である。   FIG. 20A is a diagram illustrating a data configuration of an application related setting job registered in the management server 200.

アプリ関連設定ジョブ2000は、ジョブプロパティ2010によって構成される。ジョブプロパティ2010は、アプリ関連設定ジョブのプロパティである。アプリ関連設定ジョブ2010は、アプリID2011及びジョブ種別2012、アプリ使用権ID2013によって構成される。   The application related setting job 2000 is configured by a job property 2010. A job property 2010 is a property of an application related setting job. The application related setting job 2010 includes an application ID 2011, a job type 2012, and an application usage right ID 2013.

アプリID2011は、状態を操作するアプリのIDである。ジョブ種別2012は、ジョブの種別である。インストールジョブであれば“Install”、開始ジョブであれば“Start”、停止ジョブであれば“Stop”、アップデートジョブであれば“Update”、アンインストールジョブであれば“Uninstall”となる。   The application ID 2011 is an ID of an application that operates the state. The job type 2012 is a job type. “Install” is an install job, “Start” is a start job, “Stop” is a stop job, “Update” is an update job, and “Uninstall” is an uninstall job.

アプリ使用権ID2013は、アプリ配信サーバー300からアプリを取得するために必要なアプリ使用権IDである。この情報は、インストールジョブとアップデートジョブの場合に必須となる。   The application usage right ID 2013 is an application usage right ID necessary for acquiring an application from the application distribution server 300. This information is essential for install jobs and update jobs.

図20(b)は、複合機100から管理サーバー200に送信するアプリ情報の例を示す図である。この情報により管理サーバー200は複合機100のアプリの状態を把握出来るようになる。   FIG. 20B is a diagram illustrating an example of application information transmitted from the MFP 100 to the management server 200. With this information, the management server 200 can grasp the state of the application of the multifunction peripheral 100.

アプリ情報2020は、アプリ数情報2030及び個別アプリ情報2040によって構成される。アプリ数情報2030は、アプリライフサイクル管理アプリ312が管理しているアプリの数である。個別アプリ情報2040は、アプリライフサイクル管理アプリ312で管理しているアプリの情報である。個別アプリ情報2040は、アプリID情報2041、状態情報2042、バージョン情報2043によって構成される。アプリID情報2041は、アプリを識別するためのIDである。   The application information 2020 includes application number information 2030 and individual application information 2040. The application number information 2030 is the number of applications managed by the application life cycle management application 312. The individual application information 2040 is information on an application managed by the application life cycle management application 312. The individual application information 2040 includes application ID information 2041, status information 2042, and version information 2043. The application ID information 2041 is an ID for identifying an application.

状態情報2042は、アプリの状態を示す情報である。開始状態は“Started”、停止状態は“Stoped”、インストール済み状態は“Installed”となる。バージョン情報2043は、アプリのバージョン情報である。   The state information 2042 is information indicating the state of the application. The start state is “Started”, the stop state is “Stopped”, and the installed state is “Installed”. Version information 2043 is application version information.

図8は、アプリライフサイクル管理アプリの詳細構成を示す図である。アプリインストール配信アプリは、アプリ配信インストールアプリ321を備えている。アプリ配信インストールアプリ321は、アプリ配信サーバー300とHTTP等のプロトコルで通信し、アプリ配信サーバー300からアプリファイルとライセンスファイルを取得し、インストール制御アプリ307を使用して複合機100にアプリファイルとライセンスファイルをインストールする。なお、新規アプリのインストールの他、既存アプリのアップデートも実行することが出来る。   FIG. 8 is a diagram illustrating a detailed configuration of the application life cycle management application. The application installation / distribution application includes an application distribution / installation application 321. The application distribution installation application 321 communicates with the application distribution server 300 using a protocol such as HTTP, acquires an application file and a license file from the application distribution server 300, and uses the installation control application 307 to transfer the application file and the license to the multifunction peripheral 100. Install the file. In addition to installing new apps, you can also update existing apps.

管理サーバー通信アプリ311は、通信処理部851を備えている。アプリライフサイクル管理アプリ312は、周期処理部801と最終通信時刻管理部802、管理対象アプリ管理部803、アプリインストール処理部805、アプリアンインストール処理部806、アプリ開始処理部807、アプリ停止処理部808を備えている。   The management server communication application 311 includes a communication processing unit 851. The application life cycle management application 312 includes a periodic processing unit 801, a last communication time management unit 802, a managed application management unit 803, an application installation processing unit 805, an application uninstallation processing unit 806, an application start processing unit 807, and an application stop processing unit. 808.

通信処理部851は、管理サーバー200とHTTP等のプロトコルで通信し、レスポンスにより管理サーバー200からのアプリ関連設定ジョブ情報を受信する。また、複合機100にインストールされているアプリの情報を送信する。   The communication processing unit 851 communicates with the management server 200 using a protocol such as HTTP, and receives application-related setting job information from the management server 200 as a response. In addition, information on the application installed in the multifunction device 100 is transmitted.

周期処理部801は、管理サーバー通信アプリ311が備える通信処理部851を使用して、定期的に管理サーバー200と通信し、アプリ関連設定ジョブ情報を受信した場合には、アプリ関連設定ジョブ情報に従い複合機100の設定を行う。また、一定期間管理サーバー200と通信出来なかった場合には、管理サーバー200から受信したアプリ関連設定ジョブ情報をもとにインストールしたアプリを停止する。   If the periodic processing unit 801 periodically communicates with the management server 200 using the communication processing unit 851 provided in the management server communication application 311 and receives application-related setting job information, the periodic processing unit 801 follows the application-related setting job information. The multifunction device 100 is set. If the communication with the management server 200 is not possible for a certain period, the installed application is stopped based on the application-related setting job information received from the management server 200.

最終通信時刻管理部802は、管理サーバー200と最後に通信が成功した日時の情報を保管する。管理対象アプリ管理部803は、管理サーバー200から受信したアプリ関連設定ジョブ情報によりインストールしたアプリを識別する情報を保管する。   The last communication time management unit 802 stores information on the date and time when communication with the management server 200 was last successful. The managed application management unit 803 stores information for identifying the installed application based on the application related setting job information received from the management server 200.

アプリインストール処理部805は、インストール制御アプリ307を使用してアプリファイルとライセンスファイルを複合機100にインストールする。アプリアンインストール処理部806は、インストール制御アプリ307を使用して複合機100からアプリとライセンスをアンインストールする。   The application installation processing unit 805 uses the installation control application 307 to install the application file and the license file in the multifunction device 100. The application uninstall processing unit 806 uninstalls the application and the license from the multifunction peripheral 100 using the installation control application 307.

アプリ開始処理部807は、インストール制御アプリ307を使用して停止状態のアプリを開始する。アプリ停止処理部808は、インストール制御アプリ307を使用して開始状態のアプリを停止する。アプリ停止処理部808が停止したアプリは、アプリ管理UI提供アプリ308からは開始することが出来ない。   The application start processing unit 807 uses the installation control application 307 to start a stopped application. The application stop processing unit 808 uses the installation control application 307 to stop the application in the start state. The application stopped by the application stop processing unit 808 cannot be started from the application management UI providing application 308.

アプリ情報取得処理部810は、インストール制御アプリ307を使用してインストールされているアプリの情報を取得する。   The application information acquisition processing unit 810 acquires information on applications installed using the installation control application 307.

<システムの動作>
図9は、複合機によるポーリング処理のフローチャートである。ここでは、ポーリング処理は、複合機100が管理サーバー200からアプリ関連設定ジョブを取得するために定期的に実行されることを想定する。
<System operation>
FIG. 9 is a flowchart of the polling process performed by the multifunction machine. Here, it is assumed that the polling process is periodically executed in order for the MFP 100 to acquire an application-related setting job from the management server 200.

ステップS901では、周期処理部801は、ポーリング終了指示があるか否かを判断する。ポーリング終了指示があった場合は、処理を終了する。そうで無い場合は、ステップS902に遷移する。   In step S901, the cycle processing unit 801 determines whether there is a polling end instruction. If there is a polling end instruction, the process ends. Otherwise, the process proceeds to step S902.

ステップS902では、周期処理部801は、アプリ関連設定ジョブ実行処理を実行する。なお、ステップS902についての処理の詳細は、図10を参照して後述する。ステップS903では、周期処理部801は、一定時間スリープし、ステップS901に遷移する。   In step S902, the cycle processing unit 801 executes an application related setting job execution process. Details of the processing in step S902 will be described later with reference to FIG. In step S903, the cycle processing unit 801 sleeps for a fixed time and transitions to step S901.

図10は、アプリ関連設定ジョブ(S902)の実行処理を説明するフローチャートである。   FIG. 10 is a flowchart for explaining the execution process of the application related setting job (S902).

ステップS1001では、周期処理部801は、通信処理部851を使用して管理サーバー200からアプリ関連設定ジョブ情報を取得する。ステップS1002では、周期処理部801は、通信処理部851が管理サーバー200から受信したアプリ関連設定ジョブ情報を解析する。ステップS1003では、ステップS1002で解析により、アプリ関連設定ジョブが存在する場合はステップS1004に遷移し、ジョブが存在しない場合は処理を終了する。   In step S <b> 1001, the periodic processing unit 801 acquires application-related setting job information from the management server 200 using the communication processing unit 851. In step S <b> 1002, the periodic processing unit 801 analyzes the application related setting job information received from the management server 200 by the communication processing unit 851. In step S1003, if the application-related setting job exists by the analysis in step S1002, the process proceeds to step S1004. If the job does not exist, the process ends.

ステップS1004では、周期処理部801は、ジョブの種別を判断する。ジョブがインストールジョブであった場合は、ステップS1005に遷移する。ジョブが停止ジョブであった場合は、ステップS1006に遷移する。ジョブが開始ジョブであった場合は、ステップS1007に遷移する。ジョブがアンインストールジョブであった場合は、ステップS1008に遷移する。ジョブがアップデートジョブであった場合は、ステップS1009に遷移する。   In step S1004, the periodic processing unit 801 determines the type of job. If the job is an install job, the process proceeds to step S1005. If the job is a stopped job, the process proceeds to step S1006. If the job is a start job, the process proceeds to step S1007. If the job is an uninstall job, the process proceeds to step S1008. If the job is an update job, the process proceeds to step S1009.

ステップS1005では、周期処理部801及びアプリインストール処理部805は、アプリ配信インストールアプリ321を使用し、インストール処理を実行する。なお、ステップS1005のインストール処理の詳細は、図11を参照して後述する。ステップS1006では、周期処理部801及びアプリ停止処理部808は、停止処理を実行する。なお、ステップS1006の停止処理の詳細は、図12を参照して後述する。ステップS1007では、周期処理部801及びアプリ開始処理部807は、開始処理を実行する。なお、ステップS1007の開始処理の詳細は、図13を参照して後述する。   In step S1005, the periodic processing unit 801 and the application installation processing unit 805 use the application distribution installation application 321 to execute installation processing. Details of the installation process in step S1005 will be described later with reference to FIG. In step S1006, the periodic processing unit 801 and the application stop processing unit 808 execute stop processing. Details of the stop process in step S1006 will be described later with reference to FIG. In step S1007, the periodic processing unit 801 and the application start processing unit 807 execute start processing. Details of the start process in step S1007 will be described later with reference to FIG.

ステップS1008では、周期処理部801及びアプリアンインストール処理部806はアンインストール処理を実行する。なお、ステップS1008のアンインストール処理の詳細は、図15を参照して後述する。ステップS1009では、周期処理部801及びアプリインストール処理部805は、アプリ配信インストールアプリ321を使用し、アップデート処理を実行する。なお、ステップS1009のアップデート処理の詳細は、図14を参照して後述する。   In step S1008, the periodic processing unit 801 and the application uninstall processing unit 806 execute an uninstall process. Details of the uninstall process in step S1008 will be described later with reference to FIG. In step S <b> 1009, the periodic processing unit 801 and the application installation processing unit 805 use the application distribution installation application 321 to execute update processing. Details of the update process in step S1009 will be described later with reference to FIG.

ステップS1010では、周期処理部801は、アプリ情報取得処理部810を使用してインストールされているアプリの情報を取得し、通信処理部851を使用して管理サーバー200にアプリの情報を送信する。これにより、管理サーバー200が管理する複合機100のアプリ情報が最新の状態に更新される。   In step S <b> 1010, the periodic processing unit 801 acquires information on the installed application using the application information acquisition processing unit 810, and transmits the application information to the management server 200 using the communication processing unit 851. As a result, the application information of the multifunction peripheral 100 managed by the management server 200 is updated to the latest state.

ステップS1012では、周期処理部801は、アプリ関連設定ジョブをすべて処理したか否かを判定する。すべて処理した場合は、処理を終了する。アプリ関連設定ジョブが残っている場合は、S1004に進む。   In step S1012, the cycle processing unit 801 determines whether all application-related setting jobs have been processed. If all the processes have been processed, the process ends. If an application related setting job remains, the process advances to S1004.

<権限の委譲処理、アプリ操作処理(S1005〜S1009)の詳細>
以下、図11〜図15において、前述のステップS1005〜ステップS1009のジョブ実行処理について詳しく説明する。まず、図16〜図18において、これから述べる図11〜図15の説明に共通する、権限判定処理、および権限の委譲処理と剥奪処理について説明を述べる。
<Details of authority delegation processing and application operation processing (S1005 to S1009)>
Hereinafter, the job execution processing in steps S1005 to S1009 will be described in detail with reference to FIGS. First, in FIG. 16 to FIG. 18, a description will be given of the authority determination process, the authority delegation process, and the deprivation process that are common to the description of FIGS.

図21に示す一時許可リスト2110は、アプリに対して一時的に権限を委譲した場合に、権限移譲に関する情報が書き込まれる予め用意された管理ファイルである。以下の説明では、委譲した権限を剥奪した際に、委譲の際書き込まれた情報を削除する形態について説明している。ただし、一時許可リストをログとして構成してもよく、その場合は、委譲した権限を剥奪した際に、当該委譲が無効になったことを示す情報を追記する。   A temporary permission list 2110 shown in FIG. 21 is a management file prepared in advance in which information related to authority transfer is written when authority is temporarily transferred to an application. In the following description, a mode is described in which information written at the time of delegation is deleted when the delegated authority is revoked. However, the temporary permission list may be configured as a log, and in this case, when delegating the delegated authority, information indicating that the delegation is invalid is added.

項目2111は、操作権限を委譲する処理をおこなったアプリのアプリIDである。項目2112は、操作権限が委譲されたアプリのアプリIDである。項目2113は、操作対象のアプリのアプリIDである。項目2114は、操作権限が委譲された処理を示しており、例えば、“update”はアップデート処理、“stop”は停止処理、“start”は開始処理、“install”はインストール処理、“uninstall”はアンインストール処理、にそれぞれ対応づけられる。   An item 2111 is an application ID of an application that has performed a process of delegating the operation authority. An item 2112 is an application ID of an application whose operation authority has been delegated. An item 2113 is an application ID of an operation target application. An item 2114 indicates a process in which the operation authority is delegated. For example, “update” is an update process, “stop” is a stop process, “start” is a start process, “install” is an install process, and “uninstall” is It is associated with the uninstall process.

図16は、操作権限有無の判定処理を説明するフローチャートである。すなわち、アプリに関する所定の操作(インストール処理など)を行う権限を有しているか否かを判定する。   FIG. 16 is a flowchart for explaining the determination processing of the presence / absence of operation authority. That is, it is determined whether or not the user has authority to perform a predetermined operation (installation processing or the like) related to the application.

ステップS1601では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2101を取得する。なお、マニフェストファイルについては非特許文献1に詳細に記載されているので、説明は省略する。   In step S1601, the installation control application 307 acquires the item 2101 of the manifest file 2100 of the application to be operated. Since the manifest file is described in detail in Non-Patent Document 1, description thereof is omitted.

ステップS1602では、ステップS1601で取得した項目2101が“SystemApp”の場合は判定NGを返して処理を終了し、“SystemApp−PrivEx”の場合はステップS1603に遷移する。アプリタイプが“SystemApp”でも“SystemApp−PrivEx”でもない場合は判定OKを返して処理を終了する。   In step S1602, if the item 2101 acquired in step S1601 is “SystemApp”, the determination NG is returned and the process ends. If it is “SystemApp-PrivEx”, the process proceeds to step S1603. If the application type is neither “SystemApp” nor “SystemApp-PrivEx”, the determination OK is returned and the process is terminated.

ステップS1603では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2102を取得する。ステップS1604では、インストール制御アプリ307は、操作要求をしたアプリのアプリIDを取得する。ステップS1605では、S1603で取得した項目2102とS1604で取得したアプリIDが一致する場合は判定OKを返して処理を終了し、一致しない場合はステップS1606に遷移する。   In step S1603, the installation control application 307 acquires the item 2102 of the manifest file 2100 of the application to be operated. In step S1604, the installation control application 307 acquires the application ID of the application that has requested the operation. In step S1605, if the item 2102 acquired in S1603 matches the application ID acquired in S1604, the determination OK is returned and the process ends. If not, the process proceeds to step S1606.

ステップS1606では、インストール制御アプリ307は、一時許可リスト2110を読み込む。ステップS1607では、S1606で読み込んだ一時許可リスト2110の項目2112と処理を要求したアプリのアプリIDが一致する場合はステップS1608に遷移し、一致しない場合は判定NGを返して処理を終了する。ステップS1608では、S1606で読み込んだ一時許可リスト2110の項目2113と処理対象のアプリのアプリIDが一致する場合はステップS1609に遷移し、一致しない場合は判定NGを返して処理を終了する。ステップS1609では、S1606で読み込んだ一時許可リスト2110の項目2114と要求された処理が一致する場合は判定OKを返して処理を終了し、一致しない場合は判定NGを返して処理を終了する。   In step S1606, the installation control application 307 reads the temporary permission list 2110. In step S1607, if the item 2112 of the temporary permission list 2110 read in S1606 matches the application ID of the application that requested the process, the process proceeds to step S1608, and if not, the determination NG is returned and the process ends. In step S1608, if the item 2113 of the temporary permission list 2110 read in S1606 matches the application ID of the application to be processed, the process proceeds to step S1609. If they do not match, the determination NG is returned and the process ends. In step S1609, if the requested process matches the item 2114 of the temporary permission list 2110 read in S1606, the determination OK is returned and the process ends. If not, the determination NG is returned and the process ends.

図17は、操作権限の委譲処理を説明するフローチャートである。具体的には、アプリに関する所定の操作(インストール処理など)を行う権限を委譲する処理である。   FIG. 17 is a flowchart for explaining the operation authority delegation process. Specifically, it is a process of delegating authority to perform a predetermined operation (installation process or the like) related to the application.

ステップS1701では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2101を取得する。ステップS1702では、ステップS1701で取得した項目2101が“SystemApp−PrivEx”の場合はステップS1703に遷移し、アプリタイプが“SystemApp−PrivEx”ではない場合は処理を終了する。   In step S1701, the installation control application 307 acquires the item 2101 of the manifest file 2100 of the application to be operated. In step S1702, if the item 2101 acquired in step S1701 is “SystemApp-PrivEx”, the process proceeds to step S1703. If the application type is not “SystemApp-PrivEx”, the process ends.

ステップS1703では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2102を取得する。ステップS1704では、インストール制御アプリ307は、操作要求をしたアプリのアプリIDを取得する。   In step S1703, the installation control application 307 acquires the item 2102 of the manifest file 2100 of the application to be operated. In step S1704, the installation control application 307 acquires the application ID of the application that has requested the operation.

ステップS1705では、S1703で取得した項目2102とS1704で取得したアプリIDが一致する場合はステップS1706に遷移し、一致しない場合はエラー終了する。   In step S1705, if the item 2102 acquired in S1703 and the application ID acquired in S1704 match, the process proceeds to step S1706, and if not matched, the process ends in error.

ステップS1706では、インストール制御アプリ307は、一時許可リスト2110に、操作権限を委譲する処理をおこなったアプリのアプリID、操作権限が委譲されたアプリのアプリID、操作対象のアプリのアプリID、操作権限を委譲する処理のデータを追加する。但し、既に全く同じデータが存在する場合は、新たに追加しない。   In step S1706, the installation control application 307 displays, in the temporary permission list 2110, the application ID of the application for which the operation authority has been delegated, the application ID of the application to which the operation authority has been delegated, the application ID of the operation target application, and the operation. Add data of process to delegate authority. However, if the exact same data already exists, it is not newly added.

図18は、操作権限の剥奪処理を説明するフローチャートである。ここでは、図17の処理で委譲した操作権限を剥奪し、本来の操作権限の状態に戻す処理を行う。   FIG. 18 is a flowchart for explaining the operation authority removal process. Here, the operation authority delegated in the process of FIG. 17 is deprived and the process returns to the original operation authority state.

ステップS1801では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2101を取得する。ステップS1802では、ステップS1801で取得した項目2101が“SystemApp−PrivEx”の場合はステップS1803に遷移し、アプリタイプが“SystemApp−PrivEx”ではない場合は処理を終了する。   In step S1801, the installation control application 307 acquires the item 2101 of the manifest file 2100 of the application to be operated. In step S1802, if the item 2101 acquired in step S1801 is “SystemApp-PrivEx”, the process proceeds to step S1803. If the application type is not “SystemApp-PrivEx”, the process ends.

ステップS1803では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2102を取得する。ステップS1804では、インストール制御アプリ307は、操作要求をしたアプリのアプリIDを取得する。   In step S1803, the installation control application 307 acquires the item 2102 of the manifest file 2100 of the application to be operated. In step S1804, the installation control application 307 acquires the application ID of the application that has requested the operation.

ステップS1805では、S1803で取得した項目2102とS1804で取得したアプリIDが一致する場合はステップS1806に遷移し、一致しない場合はエラー終了する。   In step S1805, if the item 2102 acquired in S1803 matches the application ID acquired in S1804, the process proceeds to step S1806, and if not matched, the process ends in an error.

ステップS1806では、インストール制御アプリ307は、一時許可リスト2110から、操作権限を委譲する処理をおこなったアプリのアプリID、操作権限が委譲されたアプリのアプリID、操作対象のアプリのアプリID、操作権限を委譲する処理をキーとしてデータを削除する。   In step S 1806, the install control application 307 determines from the temporary permission list 2110 the application ID of the application that has performed the operation delegating operation authority, the application ID of the application to which the operation authority has been delegated, the application ID of the operation target application, and the operation Delete data using the process of delegating authority as a key.

ステップS1603では、インストール制御アプリ307は、操作対象となるアプリのマニフェストファイル2100の項目2102を取得する。ステップS1604では、インストール制御アプリ307は、操作要求をしたアプリのアプリIDを取得する。   In step S1603, the installation control application 307 acquires the item 2102 of the manifest file 2100 of the application to be operated. In step S1604, the installation control application 307 acquires the application ID of the application that has requested the operation.

ステップS1605では、S1603で取得した項目2102とS1604で取得したアプリIDが一致する場合は判定OKを返して処理を終了し、一致しない場合はステップS1606に遷移する。   In step S1605, if the item 2102 acquired in S1603 matches the application ID acquired in S1604, the determination OK is returned and the process ends. If not, the process proceeds to step S1606.

ステップS1606では、インストール制御アプリ307は、一時許可リスト2110を読み込む。ステップS1607では、S1606で読み込んだ一時許可リスト2110の項目2112と処理を要求したアプリのアプリIDが一致する場合はステップS1608に遷移し、一致しない場合は判定NGを返して処理を終了する。ステップS1608では、S1606で読み込んだ一時許可リスト2110の項目2113と処理対象のアプリのアプリIDが一致する場合はステップS1609に遷移し、一致しない場合は判定NGを返して処理を終了する。ステップS1609では、S1606で読み込んだ一時許可リスト2110の項目2114と要求された処理が一致する場合は判定OKを返して処理を終了し、一致しない場合は判定NGを返して処理を終了する。   In step S1606, the installation control application 307 reads the temporary permission list 2110. In step S1607, if the item 2112 of the temporary permission list 2110 read in S1606 matches the application ID of the application that requested the process, the process proceeds to step S1608, and if not, the determination NG is returned and the process ends. In step S1608, if the item 2113 of the temporary permission list 2110 read in S1606 matches the application ID of the application to be processed, the process proceeds to step S1609. If they do not match, the determination NG is returned and the process ends. In step S1609, if the requested process matches the item 2114 of the temporary permission list 2110 read in S1606, the determination OK is returned and the process ends. If not, the determination NG is returned and the process ends.

図11は、インストールジョブの実行処理(S1005)の詳細フローチャートである。   FIG. 11 is a detailed flowchart of the installation job execution process (S1005).

ステップS1101では、周期処理部801は、アプリ関連設定ジョブ情報からアプリ使用権IDを取り出す。ステップS1102では、アプリインストール処理部805は、インストール制御アプリ307を使用し、アプリ配信インストールアプリ321に対して、アプリをインストールするための権限を委譲する。   In step S1101, the cycle processing unit 801 extracts the application usage right ID from the application related setting job information. In step S1102, the application installation processing unit 805 uses the installation control application 307 to delegate authority to install the application to the application distribution installation application 321.

ステップS1103では、アプリ配信インストールアプリ321は、アプリインストール処理部805から受け取ったアプリ使用権IDを使用してアプリ配信サーバー300からアプリファイルとライセンスファイルを取得する。ここでは、アプリファイルは、最新のバージョン、あるいは、指定されたバージョンのアプリファイルを取得する。さらに、アプリ配信インストールアプリ321は、インストール制御アプリ307のインストール処理を呼び出す。その際、アプリ配信サーバー300から取得したアプリファイルとライセンスファイルを渡す。   In step S1103, the application distribution installation application 321 acquires an application file and a license file from the application distribution server 300 using the application usage right ID received from the application installation processing unit 805. Here, as the application file, the latest version or a specified version of the application file is acquired. Furthermore, the application distribution installation application 321 calls the installation process of the installation control application 307. At that time, the application file and license file acquired from the application distribution server 300 are passed.

ステップS1104では、インストール制御アプリ307は、アプリ配信インストールアプリ321がステップS1103で取得したアプリケーションに対して、インストール処理を実行する権限を有しているか否かの判定をおこなう。ステップS1105では、ステップS1104の判定に問題がない場合はステップS1106に進み、問題がある場合はエラー終了する。   In step S1104, the installation control application 307 determines whether the application distribution installation application 321 has the authority to execute the installation process for the application acquired in step S1103. In step S1105, if there is no problem in the determination in step S1104, the process proceeds to step S1106, and if there is a problem, the process ends in error.

ステップS1106では、インストール制御アプリ307は、アプリファイルとライセンスファイルをインストールする。インストール処理の完了後、ステップS1107では、アプリインストール処理部805は、インストール制御アプリ307を使用し、アプリ配信インストールアプリ321に対して、アプリをインストールするための権限を剥奪する。   In step S1106, the installation control application 307 installs the application file and the license file. After completing the installation process, in step S1107, the application installation processing unit 805 uses the installation control application 307 to deprive the application distribution installation application 321 of the authority to install the application.

ステップS1108では、周期処理部801は、ステップS1106でのインストール処理の結果を判断する。インストールに成功した場合はステップS1107に遷移し、失敗した場合は処理を終了する。   In step S1108, the periodic processing unit 801 determines the result of the installation process in step S1106. If the installation is successful, the process proceeds to step S1107. If the installation is unsuccessful, the process ends.

ステップS1109では、周期処理部801は、インストールしたアプリの識別情報とアプリ使用権IDを管理対象アプリ管理部803に保存する。   In step S1109, the cycle processing unit 801 stores the identification information of the installed application and the application usage right ID in the management target application management unit 803.

以上、説明した処理により、インストール対象のアプリによってインストールを許可されたアプリが、インストールが許可されていないアプリの機能を利用し、複合機100にアプリをインストールすることが出来るようになる。   As described above, the application that is permitted to be installed by the installation target application can use the function of the application that is not permitted to install to install the application in the multi-function device 100.

図12は、停止ジョブの実行処理(S1006)の詳細フローチャートである。   FIG. 12 is a detailed flowchart of the stop job execution process (S1006).

ステップS1201では、周期処理部801は、アプリ関連設定ジョブ情報から停止するアプリIDを取り出し、アプリ停止処理部808に渡す。更に、アプリ停止処理部808は、周期処理部801から受け取ったアプリIDを指定し、インストール制御アプリ307の停止処理を呼び出す。   In step S <b> 1201, the periodic processing unit 801 extracts the application ID to be stopped from the application related setting job information and passes it to the application stop processing unit 808. Further, the application stop processing unit 808 specifies the application ID received from the periodic processing unit 801 and calls the stop processing of the installation control application 307.

ステップS1202では、インストール制御アプリ307は、アプリライフサイクル管理アプリ312がステップS1201で取得したアプリIDのアプリに対して、停止処理を実行する権限を有しているか否かの判定をおこなう。ステップS1203では、ステップS1202の判定に問題がない場合はステップS1204に進み、問題がある場合はエラー終了する。ステップS1204では、インストール制御アプリ307はアプリを停止する。   In step S1202, the installation control application 307 determines whether or not the application life cycle management application 312 has the authority to execute the stop process on the application with the application ID acquired in step S1201. In step S1203, if there is no problem in the determination in step S1202, the process proceeds to step S1204, and if there is a problem, the process ends in error. In step S1204, the installation control application 307 stops the application.

以上、説明した処理により、停止対象のアプリによって停止を許可されたアプリだけが、複合機100のアプリを停止することが出来るようになる。   As described above, only the application permitted to be stopped by the stop target application can stop the application of the multifunction peripheral 100.

図13は、開始ジョブの実行処理(S1007)の詳細フローチャートである。   FIG. 13 is a detailed flowchart of the start job execution process (S1007).

ステップS1301では、周期処理部801は、アプリ関連設定ジョブ情報から開始するアプリIDを取り出し、アプリ開始処理部807に渡す。更に、アプリ開始処理部807は、周期処理部801から受け取ったアプリIDを指定し、インストール制御アプリ307の開始処理を呼び出す。   In step S <b> 1301, the periodic processing unit 801 extracts an application ID that starts from the application-related setting job information and passes the application ID to the application start processing unit 807. Furthermore, the application start processing unit 807 designates the application ID received from the periodic processing unit 801 and calls the start process of the installation control application 307.

ステップS1302では、インストール制御アプリ307は、アプリライフサイクル管理アプリ312がステップS1301で取得したアプリIDのアプリに対して、開始処理を実行する権限を有しているか否かの判定をおこなう。ステップS1303では、ステップS1302の判定に問題がない場合はステップS1304に進み、問題がある場合はエラー終了する。ステップS1304では、インストール制御アプリ307はアプリを開始する。   In step S1302, the installation control application 307 determines whether the application life cycle management application 312 has the authority to execute the start process for the application with the application ID acquired in step S1301. In step S1303, if there is no problem in the determination in step S1302, the process proceeds to step S1304, and if there is a problem, the process ends in error. In step S1304, the installation control application 307 starts the application.

以上、説明した処理により、開始対象のアプリによって開始を許可されたアプリだけが、複合機100のアプリを開始することが出来るようになる。   As described above, only the application that is permitted to start by the start target application can start the application of the multifunction peripheral 100.

図14は、アップデートジョブの実行処理(S1009)の詳細フローチャートである。   FIG. 14 is a detailed flowchart of the update job execution process (S1009).

ステップS1401では、周期処理部801は、アプリ関連設定ジョブ情報からアプリIDを取り出す。ステップS1402では、周期処理部801は、管理対象アプリ管理部803からステップS1401で取り出したアプリIDに対応したアプリ使用権IDを取得する。ステップS1403では、アプリインストール処理部805は、インストール制御アプリ307を使用することで、アップデート対象のアプリの状態を取得する。   In step S1401, the cycle processing unit 801 extracts the application ID from the application related setting job information. In step S1402, the periodic processing unit 801 acquires an application usage right ID corresponding to the application ID extracted in step S1401 from the management target application management unit 803. In step S1403, the application installation processing unit 805 acquires the status of the update target application by using the installation control application 307.

ステップS1404では、アップデート対象のアプリが開始している(すなわち実行中である)場合はステップS1405に遷移し、開始していない場合はステップS1408に遷移する。   In step S1404, if the application to be updated has started (that is, is being executed), the process proceeds to step S1405. If not started, the process proceeds to step S1408.

ステップS1405では、インストール制御アプリ307は、アプリライフサイクル管理アプリ312がステップS1401で取得したアプリIDのアプリに対して、停止処理を実行する権限を有しているか否かの判定をおこなう。ステップS1406では、ステップS1405の判定に問題がない場合はステップS1407に進み、問題がある場合はエラー終了する。   In step S1405, the installation control application 307 determines whether or not the application life cycle management application 312 has the authority to execute stop processing on the application with the application ID acquired in step S1401. In step S1406, if there is no problem in the determination in step S1405, the process proceeds to step S1407, and if there is a problem, the process ends in error.

ステップS1407では、インストール制御アプリ307は、アプリを停止する。なお、ここでアプリを停止する理由としては、OSGiの仕様上、開始しているアプリはアップデートすることができないためである。   In step S1407, the installation control application 307 stops the application. The reason for stopping the application here is that the started application cannot be updated due to the specification of OSGi.

ステップS1408では、アプリインストール処理部805は、インストール制御アプリ307を使用し、アプリ配信インストールアプリ321に対して、アプリをアップデートするための権限を委譲する。   In step S1408, the application installation processing unit 805 uses the installation control application 307 to delegate the authority to update the application to the application distribution installation application 321.

ステップS1409では、アプリ配信インストールアプリ321は、ステップS1402で取得したアプリ使用権IDを使用してアプリ配信サーバー300からアプリファイルとライセンスファイルを取得する。ここでは、アプリファイルは、最新のバージョン、あるいは、指定されたバージョンのアプリファイルを取得する。続いて、アプリ配信インストールアプリ321は、インストール制御アプリ307のアップデート処理を呼び出す。その際、アプリ配信サーバー300から取得したアプリファイルとライセンスファイルを渡す。   In step S1409, the application distribution installation application 321 acquires an application file and a license file from the application distribution server 300 using the application usage right ID acquired in step S1402. Here, as the application file, the latest version or a specified version of the application file is acquired. Subsequently, the application distribution installation application 321 calls update processing of the installation control application 307. At that time, the application file and license file acquired from the application distribution server 300 are passed.

ステップS1410では、インストール制御アプリ307は、アプリ配信インストールアプリ321がステップS1408で取得したアプリケーションに対して、アップデート処理を実行する権限を有しているか否かの判定をおこなう。ステップS1411では、ステップS1410の判定に問題がない場合はステップS1412に進み、問題がある場合はエラー終了する。ステップS1412では、インストール制御アプリ307は、アプリファイルとライセンスファイルをアップデートする。   In step S1410, the installation control application 307 determines whether or not the application distribution installation application 321 has authority to execute update processing on the application acquired in step S1408. In step S1411, if there is no problem in the determination in step S1410, the process proceeds to step S1412. If there is a problem, the process ends in error. In step S1412, the installation control application 307 updates the application file and the license file.

アップデート処理の完了後、ステップS1413では、アプリインストール処理部805は、インストール制御アプリ307を使用し、アプリ配信インストールアプリ321に対して、アプリをアップデートするための権限を剥奪する。   After completing the update process, in step S1413, the application installation processing unit 805 uses the installation control application 307 to deprive the application distribution installation application 321 of the authority to update the application.

ステップS1414では、ステップS1407の停止処理がおこなわれていない場合は処理を終了し、停止処理がおこなわれていた場合はS1415に遷移し、アプリインストール処理部805は、インストール制御アプリ307を利用して、アプリの開始処理を呼び出す。   In step S1414, if the stop process in step S1407 has not been performed, the process ends. If the stop process has been performed, the process proceeds to S1415. The application installation processing unit 805 uses the installation control application 307. Call the app start process.

ステップS1415では、インストール制御アプリ307は、アプリライフサイクル管理アプリ312がステップS1401で取得したアプリIDのアプリに対して、開始処理を実行する権限を有しているか否かの判定をおこなう。ステップS1416では、ステップS1415の判定に問題がない場合はステップS1417に進み、問題がある場合はエラー終了する。ステップS1418では、インストール制御アプリ307は、アプリを開始する。   In step S1415, the installation control application 307 determines whether the application life cycle management application 312 has the authority to execute the start process for the application with the application ID acquired in step S1401. In step S1416, if there is no problem in the determination in step S1415, the process proceeds to step S1417, and if there is a problem, the process ends in error. In step S1418, the installation control application 307 starts the application.

以上、説明した処理により、インストール対象のアプリによってインストールを許可されたアプリが、インストールが許可されていないアプリの機能を利用し、複合機100のアプリをアップデートすることが出来るようになる。   As described above, the application permitted to be installed by the application to be installed can update the application of the multifunction peripheral 100 using the function of the application not permitted to install.

図15は、アンインストールジョブの実行処理(S1008)の詳細フローチャートである。   FIG. 15 is a detailed flowchart of the uninstall job execution process (S1008).

ステップS1501では、周期処理部801は、アプリ関連設定ジョブ情報からアンインストールするアプリIDを取り出し、アプリアンインストール処理部806に渡す。更に、アプリアンインストール処理部806は、周期処理部801から受け取ったアプリIDを指定し、インストール制御アプリ307のアンインストール処理を呼び出す。   In step S1501, the periodic processing unit 801 extracts the application ID to be uninstalled from the application-related setting job information, and passes it to the application uninstallation processing unit 806. Further, the application uninstall processing unit 806 designates the application ID received from the periodic processing unit 801 and calls the uninstall process of the installation control application 307.

ステップS1502では、インストール制御アプリ307は、アプリライフサイクル管理アプリ312がステップS1501で取得したアプリIDのアプリに対して、アンインストール処理を実行する権限を有しているか否かの判定をおこなう。ステップS1503では、ステップS1502の判定に問題がない場合はステップS1504に進み、問題がある場合はエラー終了する。ステップS1504では、インストール制御アプリ307はアプリをアンインストールする。   In step S1502, the installation control application 307 determines whether or not the application life cycle management application 312 has the authority to execute the uninstall process on the application with the application ID acquired in step S1501. In step S1503, if there is no problem in the determination in step S1502, the process proceeds to step S1504, and if there is a problem, the process ends in error. In step S1504, the installation control application 307 uninstalls the application.

ステップS1505では、周期処理部801は、ステップS1501で取り出したアプリIDに対応したアプリの識別情報とアプリ使用権IDを管理対象アプリ管理部803から削除する。   In step S1505, the periodic processing unit 801 deletes the application identification information and the application usage right ID corresponding to the application ID extracted in step S1501 from the management target application management unit 803.

以上、説明した処理により、アンインストール対象のアプリによってアンインストールを許可されたアプリだけが、複合機100のアプリをアンインストールすることが出来るようになる。   As described above, only the application permitted to be uninstalled by the uninstall target application can uninstall the application of the multifunction peripheral 100.

以上説明したとおり第1実施形態によれば、アプリ毎にライフサイクル管理をおこなうアプリを制限することが可能になる。加えて、制限された状況下であっても、権限を持つアプリが権限を持たないアプリの提供するライフサイクル管理用のAPIを利用することが可能になり、アプリの操作に係る管理性を向上するとともに既存資源の有効利用が可能となる。   As described above, according to the first embodiment, it is possible to limit apps that perform life cycle management for each app. In addition, even under restricted circumstances, it becomes possible for an authorized app to use the lifecycle management API provided by an unauthorized app, improving the manageability of app operations In addition, existing resources can be used effectively.

(第2実施形態)
第2実施形態では、アプリの操作権限を持たないアプリに一時的に権限を委譲し、権限を必要とするアプリを操作する形態について説明する。例えば、OS資源の逼迫や障害発生等が発生した場合、緊急で停止やアンインストールが必要になることがある。しかし、アプリライフサイクル管理アプリ312は前述したように、管理サーバー200への定期的なポーリングによってアプリの処理要求を実行するため、ポーリング間隔によっては処理が実行されるまでに時間がかかり即時に対応が出来ない場合がある。
(Second Embodiment)
In the second embodiment, a mode will be described in which authority is temporarily delegated to an app that does not have app operation authority, and an app that requires authority is operated. For example, when an OS resource is tight or a failure occurs, it may be necessary to stop or uninstall it urgently. However, as described above, the application life cycle management application 312 executes an application processing request by periodically polling the management server 200. Therefore, depending on the polling interval, it takes time until the processing is executed and immediately responds. May not be possible.

一方、アプリ管理UI提供アプリ308は複合機100の販売会社等に所属するサービスマンのみに操作が限定されているわけではない。すなわち、顧客(システム管理者)も操作が出来てしまうという問題がある。つまり、複合機100の販売会社等に所属するサービスマンに限り、アプリの操作権限を持たないアプリ管理UI提供アプリ308によるアプリの操作を許可する必要がある。そこで、第2実施形態では、ログインコンテキスト2200を利用して、現在操作しているユーザがサービスマンであるか否かを決定し、判定に基づいて一時的な権限の委譲を行う。   On the other hand, the operation of the application management UI providing application 308 is not limited to service personnel belonging to the sales company or the like of the multifunction device 100. That is, there is a problem that the customer (system administrator) can also operate. That is, only a serviceman belonging to the sales company or the like of the multifunction peripheral 100 needs to permit the operation of the application by the application management UI providing application 308 that does not have the authority to operate the application. Therefore, in the second embodiment, the login context 2200 is used to determine whether or not the currently operating user is a serviceman, and temporary authority is delegated based on the determination.

図21に示すログインコンテキスト2200は、ログインアプリ309を通して正規にログイン処理を実行した場合にのみ、ログインアプリ309から取得することが出来るデータである。項目2201はログインしたユーザーIDである。項目2202はログインしたユーザーが所属するドメインである。項目2203はログインしたユーザーのロールであり、管理者権限であれば“Administrator”、サービスマンであれば“Serviceman”、一般ユーザーであれば“General”、ゲストユーザーであれば“Guest”等が設定される。すなわち、コンテキスト2200を参照することにより、ログインしているユーザの権限を決定することが可能である。   The login context 2200 shown in FIG. 21 is data that can be acquired from the login application 309 only when the login process is normally executed through the login application 309. An item 2201 is a logged-in user ID. An item 2202 is a domain to which the logged-in user belongs. Item 2203 is the role of the logged-in user. “Administrator” is set for administrator privileges, “Serviceman” is set for service personnel, “General” is set for general users, and “Guest” is set for guest users. Is done. That is, it is possible to determine the authority of the logged-in user by referring to the context 2200.

図21に示すパーミッションファイル2300は、アプリ管理UI提供アプリ308が宣言するファイルである。項目2301はアプリ管理UI提供アプリ308の持つ権限を宣言する。本例では、OSGiフレームワークのライフサイクル管理機能にアクセスできる権限を有していることを示している。   A permission file 2300 illustrated in FIG. 21 is a file declared by the application management UI providing application 308. An item 2301 declares the authority that the application management UI providing application 308 has. This example shows that the user has authority to access the life cycle management function of the OSGi framework.

図22は、手動操作に基づくアプリ関連設定ジョブの開始処理を説明するフローチャートである。   FIG. 22 is a flowchart for explaining an application-related setting job start process based on a manual operation.

ステップS2401では、アプリ管理UI提供アプリ308は、ログインアプリ309を利用してログインコンテキスト2200を取得し、アプリライフサイクル管理アプリ312が提供するAPIに渡す。   In step S2401, the application management UI providing application 308 acquires the login context 2200 using the login application 309 and passes it to the API provided by the application life cycle management application 312.

ステップS2402では、アプリライフサイクル管理アプリ312は、ステップS2401で取得したログインコンテキスト2200の項目2203が“Serviceman”であるかを判定し、YesであればステップS2403に遷移し、Noであればエラー終了する。すなわち、アプリライフサイクル管理アプリ312に関する操作権限を有するユーザであるか否かを判定する。   In step S2402, the application life cycle management application 312 determines whether the item 2203 of the login context 2200 acquired in step S2401 is “Serviceman”. If yes, the process proceeds to step S2403. If no, the process ends in error. To do. That is, it is determined whether or not the user has an operation authority related to the application life cycle management application 312.

ステップS2403では、アプリライフサイクル管理アプリ312は、操作要求をしたアプリのパーミッションファイル2300を取得する。ステップS2404では、アプリライフサイクル管理アプリ312は、ステップS2403で取得したパーミッションファイル2300の項目2301が“org.osgi.framework.AdminPermission”であるかを判定し、YesであればステップS2405に遷移し、Noであればエラー終了する。ステップS2405では、アプリライフサイクル管理アプリ312は、アプリ関連設定ジョブ実行処理を実行し、処理を終了する。   In step S2403, the application life cycle management application 312 acquires the permission file 2300 of the application that has requested the operation. In step S2404, the application life cycle management application 312 determines whether the item 2301 of the permission file 2300 acquired in step S2403 is “org.osgi.framework.AdminPermission”. If yes, the process proceeds to step S2405. If No, the process ends in error. In step S2405, the application life cycle management application 312 executes an application related setting job execution process, and ends the process.

以上説明したとおり第2実施形態によれば、本来は操作権限を持たないアプリであっても、一時的に操作権限を委譲することにより、操作権限を必要とするアプリを操作することが可能となる。   As described above, according to the second embodiment, even an app that originally does not have the operation authority can be operated by temporarily delegating the operation authority to operate the application that requires the operation authority. Become.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

301:OSプラットフォーム; 302:アプリプラットフォーム; 303:JavaVM; 304:ライブラリ; 305:OSGiフレームワーク; 306:システムアプリ; 310:拡張システムアプリ; 320:一般アプリ   301: OS platform; 302: Application platform; 303: JavaVM; 304: Library; 305: OSGi framework; 306: System application; 310: Extended system application;

Claims (10)

処理手段を介してアプリケーションに関する処理を実行する情報処理装置であって、
アプリケーションに関する処理を指示する設定ジョブを取得する取得手段と、
前記処理手段が前記設定ジョブに含まれる処理の操作権限を有しているか否かを判定する判定手段と、
前記判定手段により前記処理手段が前記設定ジョブに含まれる所定の処理の操作権限を有していないと判定された場合、前記所定の処理の操作権限を前記処理手段に委譲する委譲手段と、
前記委譲手段により前記所定の処理の操作権限が委譲された前記処理手段による前記所定の処理の完了後、前記処理手段から前記所定の処理の操作権限を剥奪する剥奪手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus that executes processing related to an application via a processing unit,
An acquisition means for acquiring a setting job instructing processing related to the application;
Determination means for determining whether or not the processing means has an operation authority for processing included in the setting job;
A delegation unit for delegating the operation authority of the predetermined process to the processing unit when the determination unit determines that the processing unit does not have the operation authority of the predetermined process included in the setting job;
A deprivation means for depriving the operation authority of the predetermined process from the processing means after the completion of the predetermined process by the processing means to which the operation authority of the predetermined process has been delegated by the delegation means;
An information processing apparatus comprising:
前記判定手段は、前記アプリケーションが、前記所定の処理が禁止された第1種のアプリケーション、所定の条件に応じて前記所定の処理が可能な第2種のアプリケーション、条件によらず前記所定の処理が可能な第3種のアプリケーション、の何れであるかを判定し、
前記処理手段は、前記アプリケーションのタイプが前記第1種のアプリケーションである場合は、前記委譲手段による前記所定の処理の操作権限の委譲を行うことなく前記所定の処理をエラー終了し、前記アプリケーションのタイプが前記第2種のアプリケーションである場合は、前記委譲手段による前記所定の処理の操作権限の委譲を行い前記所定の処理を実行し、前記アプリケーションのタイプが前記第3種のアプリケーションである場合は、前記委譲手段による前記所定の処理の操作権限の委譲を行うことなく前記所定の処理を実行する
ことを特徴とする請求項1に記載の情報処理装置。
The determination means includes the first process in which the predetermined process is prohibited, the second type application in which the predetermined process can be performed according to a predetermined condition, and the predetermined process regardless of the condition. To determine which of the third type of applications is possible,
If the application type is the first type of application, the processing unit terminates the predetermined process with an error without delegating the operation authority of the predetermined process by the delegation unit, and When the type is the second type application, when the delegation unit delegates the operation authority of the predetermined process and executes the predetermined process, and the type of the application is the third type application The information processing apparatus according to claim 1, wherein the predetermined process is executed without delegating operation authority of the predetermined process by the delegation unit.
前記所定の条件は、予め用意された一時許可リストに、前記アプリケーションに対する前記所定の処理が含まれていることである
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the predetermined condition is that the predetermined process for the application is included in a temporary permission list prepared in advance.
前記所定の条件は、予め用意された一時許可リストに、前記処理手段による前記アプリケーションに対する前記所定の処理が含まれていることである
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the predetermined condition is that the predetermined process for the application by the processing unit is included in a temporary permission list prepared in advance.
前記所定の条件は、前記情報処理装置が前記アプリケーションのライセンスを有していることを更に含む
ことを特徴とする請求項3又は4に記載の情報処理装置。
The information processing apparatus according to claim 3, wherein the predetermined condition further includes that the information processing apparatus has a license for the application.
前記取得手段は、前記情報処理装置を管理する管理装置に定期的にポーリングすることで前記設定ジョブを取得する
ことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the acquisition unit acquires the setting job by periodically polling a management apparatus that manages the information processing apparatus.
前記取得手段がユーザによる入力を介して前記設定ジョブを取得した場合に、前記情報処理装置に前記ユーザの権限をログインコンテキストに基づいて決定する決定手段を更に有し、
前記所定の条件は、前記ユーザの権限が所定の権限を有していることを更に含む
ことを特徴とする請求項2乃至5の何れか1項に記載の情報処理装置。
When the acquisition unit acquires the setting job via an input by a user, the information processing apparatus further includes a determination unit that determines the authority of the user based on a login context.
The information processing apparatus according to claim 2, wherein the predetermined condition further includes that the authority of the user has a predetermined authority.
前記所定の処理は、前記アプリケーションのインストール処理及びアップデート処理を含む
ことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the predetermined process includes an installation process and an update process of the application.
処理手段を介してアプリケーションに関する処理を実行する情報処理装置の制御方法であって、
アプリケーションに関する処理を指示する設定ジョブを取得する取得工程と、
前記処理手段が前記設定ジョブに含まれる処理の操作権限を有しているか否かを判定する判定工程と、
前記判定工程により前記処理手段が前記設定ジョブに含まれる所定の処理の操作権限を有していないと判定された場合、前記所定の処理の操作権限を前記処理手段に委譲する委譲工程と、
前記委譲工程により前記所定の処理の操作権限が委譲された前記処理手段による前記所定の処理の完了後、前記処理手段から前記所定の処理の操作権限を剥奪する剥奪工程と、
を含むことを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus that executes processing related to an application via a processing means,
An acquisition process for acquiring a setting job instructing processing related to the application;
A determination step of determining whether or not the processing means has an operation authority for processing included in the setting job;
A delegation step of delegating the operation authority of the predetermined process to the processing unit when the determination unit determines that the processing unit does not have the operation authority of the predetermined process included in the setting job;
A deprivation step of depriving the operation authority of the predetermined process from the processing means after the completion of the predetermined process by the processing means to which the operation authority of the predetermined process has been delegated by the delegation step;
A method for controlling an information processing apparatus, comprising:
コンピュータを、請求項1乃至8の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the information processing apparatus of any one of Claims 1 thru | or 8.
JP2015200470A 2015-10-08 2015-10-08 Information processing device and control method therefor Pending JP2017073035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015200470A JP2017073035A (en) 2015-10-08 2015-10-08 Information processing device and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015200470A JP2017073035A (en) 2015-10-08 2015-10-08 Information processing device and control method therefor

Publications (1)

Publication Number Publication Date
JP2017073035A true JP2017073035A (en) 2017-04-13

Family

ID=58537790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015200470A Pending JP2017073035A (en) 2015-10-08 2015-10-08 Information processing device and control method therefor

Country Status (1)

Country Link
JP (1) JP2017073035A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392286B2 (en) 2019-09-30 2022-07-19 Fujifilm Business Innovation Corp. Information processing apparatus, device control apparatus, and non-transitory computer readable medium for automatically cancelling prohibition of operation of device upon receipt of instruction to execute the operation
US11747964B2 (en) 2019-09-30 2023-09-05 Fujifilm Business Innovation Corp. Information processing apparatus, device control apparatus, and non-transitory computer readable medium for restricting predetermined input during transition to and from device setting mode

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392286B2 (en) 2019-09-30 2022-07-19 Fujifilm Business Innovation Corp. Information processing apparatus, device control apparatus, and non-transitory computer readable medium for automatically cancelling prohibition of operation of device upon receipt of instruction to execute the operation
US11747964B2 (en) 2019-09-30 2023-09-05 Fujifilm Business Innovation Corp. Information processing apparatus, device control apparatus, and non-transitory computer readable medium for restricting predetermined input during transition to and from device setting mode

Similar Documents

Publication Publication Date Title
JP5173563B2 (en) License management apparatus and method
US9635207B2 (en) Management system and information processing apparatus managing installation and settings of an application
KR101337160B1 (en) Information processing apparatus, information processing method and storage medium
JP5743724B2 (en) Management apparatus and management method, management system and network device
JP6499423B2 (en) Information processing system, information processing apparatus, and control method and program thereof
JP2020004158A (en) Information processing apparatus, method of controlling information processing apparatus, and program
JP2016057697A (en) Information processing system, information processor, control method thereof, and program
JP2013069077A (en) System, information processing device and control method thereof, image formation device and control method thereof and program
JP6456028B2 (en) Information processing apparatus, information processing method, and program
JP6066750B2 (en) Image forming apparatus, control method therefor, and program
JP4344203B2 (en) Image forming apparatus and information display method
US20100162407A1 (en) Apparatus, method, and recording medium
JP2018033005A (en) Information processing system, information processing apparatus, control method of the same, and program
JP2016018339A (en) System and control method for system
JP4394740B2 (en) Image forming apparatus, method, and program
JP5419637B2 (en) Management device, method and program
JP2017073035A (en) Information processing device and control method therefor
JP2019074995A (en) Information processing device
JP5822581B2 (en) Image forming apparatus, method thereof, and program
JP2009205262A (en) Application program installation device, application program installation method, program, and recording medium
JP6057740B2 (en) Image forming apparatus, information processing method, and program
JP4378338B2 (en) Information processing apparatus, device setting method, storage medium, and program
JP6614987B2 (en) Management system, management apparatus and control method thereof
JP2010218352A (en) Device management apparatus, image forming apparatus, and device management program
JP2014178798A (en) Image formation apparatus, control method thereof and computer program