JP6667605B2 - Information processing apparatus, control method therefor, and program - Google Patents

Information processing apparatus, control method therefor, and program Download PDF

Info

Publication number
JP6667605B2
JP6667605B2 JP2018233705A JP2018233705A JP6667605B2 JP 6667605 B2 JP6667605 B2 JP 6667605B2 JP 2018233705 A JP2018233705 A JP 2018233705A JP 2018233705 A JP2018233705 A JP 2018233705A JP 6667605 B2 JP6667605 B2 JP 6667605B2
Authority
JP
Japan
Prior art keywords
application
web
instruction
license
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018233705A
Other languages
Japanese (ja)
Other versions
JP2019079549A (en
Inventor
文利 伊藤
文利 伊藤
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 JP2018233705A priority Critical patent/JP6667605B2/en
Publication of JP2019079549A publication Critical patent/JP2019079549A/en
Application granted granted Critical
Publication of JP6667605B2 publication Critical patent/JP6667605B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置とその制御方法、及びプログラムに関する。   The present invention relates to an information processing device, a control method thereof, and a program.

PCなどの情報処理装置が、ネットワークを介して接続されたWebサーバから提供されるWebアプリケーションの操作画面を、その情報処理装置が備えるWebブラウザにより表示して、ユーザがその操作画面を操作することが知られている。例えば特許文献1を参照されたい。このWebアプリケーションを使用するためにユーザは、Webアプリケーションの提供者から、そのWebアプリケーションを使用するライセンスを取得する。そしてユーザの情報処理装置のWebブラウザにより、そのWebアプリケーションの操作画面を表示する。そのために、Webアプリケーションの提供者は、正しくライセンスを購入したユーザからの接続かどうかを検証する仕組みが必要となる。このために例えばWebアプリケーションの操作画面でユーザ名とパスワードの入力を求め、その画面を介して入力されたユーザ名とパスワードが、登録している情報と一致するとライセンスを購入したユーザであると判定するといった運用が行われている。   An information processing apparatus such as a PC displays an operation screen of a Web application provided from a Web server connected via a network using a Web browser provided in the information processing apparatus, and a user operates the operation screen. It has been known. See, for example, Patent Document 1. To use the Web application, the user acquires a license to use the Web application from a Web application provider. Then, the operation screen of the Web application is displayed by the Web browser of the information processing device of the user. Therefore, a provider of the Web application needs a mechanism for verifying whether or not the connection is from a user who has correctly purchased the license. For this purpose, for example, the user is requested to input a user name and a password on the operation screen of the Web application, and if the user name and the password input via the screen match the registered information, it is determined that the user has purchased the license. It is being operated.

一方、スキャン機能やプリント機能を備えた複合機(MFP:Multi Function Peripheral)のような多数の人間が共有して使用する情報処理装置を対象とするWebアプリケーションもある。多数の人間が一つの情報処理装置を共有して使用する場合、Webアプリケーションのライセンスは、ユーザ単位ではなくクライアントの端末単位で契約する場合もある。   On the other hand, there is also a Web application intended for an information processing apparatus shared and used by many people, such as a multifunction peripheral (MFP: Multi Function Peripheral) having a scan function and a print function. When many people share and use one information processing apparatus, a license for a Web application may be contracted not for each user but for each client terminal.

このようなライセンスの管理は、個々のWebアプリケーションがそれぞれ行う場合だけでなく、異なるWebアプリケーションの開発ベンダーが開発したWebアプリケーションについて、ライセンスの販売と管理を纏めて代行する仕組みもある。この場合、Webアプリケーションを有するサーバは、Webブラウザからの情報を基に、ライセンスを管理するライセンス管理サーバに対して問い合わせを行って、ライセンスが正しく購入されているか否かを検証する。この他にも、Webブラウザ上でJavaScript等のプログラムを実行させ、そのJavaScriptがライセンス管理サーバと通信を行ってライセンスを検証するという方法もある。   Such license management is performed not only by individual Web applications but also by a mechanism that collectively sells and manages licenses for Web applications developed by different Web application development vendors. In this case, the server having the Web application makes an inquiry to the license management server that manages the license based on the information from the Web browser to verify whether the license has been purchased correctly. Alternatively, there is a method in which a program such as JavaScript is executed on a Web browser, and the JavaScript verifies a license by communicating with a license management server.

特開2011−123677号公報JP 2011-123677 A

しかしながらライセンスを管理するライセンス管理サーバは、ライセンスの確認が必要なとき、つまりユーザがWebアプリケーションを操作しようとしたときに常に動作していないといけない。つまり、複数のWebアプリケーションのライセンスをまとめて管理するライセンス管理サーバの場合、各ユーザのライセンスを確認するためのサービスを停止せずに運用する必要があり、そのためサーバの運用コストが高くなるという課題があった。   However, the license management server that manages the license must always operate when it is necessary to confirm the license, that is, when the user attempts to operate the Web application. In other words, in the case of a license management server that manages licenses of a plurality of Web applications collectively, it is necessary to operate the service for checking the license of each user without stopping the service, which increases the operation cost of the server. was there.

本発明の目的は、上記従来技術の問題点を解決することにある。   An object of the present invention is to solve the above-mentioned problems of the conventional technology.

本発明の特徴は、ライセンス管理サーバに常に問い合わせを行わなくても、Webアプリケーションのライセンスを検証できる技術を提供することにある。   A feature of the present invention is to provide a technology that can verify a license of a Web application without constantly inquiring a license management server.

上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
Webブラウザを有し、WebサーバからWebアプリケーションを呼び出して実行する情報処理装置であって、
Webアプリケーションを登録するための設定ファイル群と前記WebアプリケーションのURLを含む、前記Webアプリケーションを呼び出すための第1のアプリケーションと、前記第1のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第2のアプリケーションと、前記第2のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第1の受信手段と、
前記第1のアプリケーションのライセンスファイルを用いて前記第1のアプリケーションの使用可否を管理し、前記第2のアプリケーションのライセンスファイルを用いて前記第2のアプリケーションの使用可否を管理する管理手段と、
前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示、或いは、前記第2のアプリケーションの呼び出しの指示を受け取る指示受け手段と、
前記指示受け手段で、前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示を受けた場合、前記第1のアプリケーションに含まれる前記WebアプリケーションのURLに基づいて、前記Webサーバに前記第1のアプリケーションに含まれるURLへのアクセスのリクエストを送信する送信手段と、を有し、
前記第1のアプリケーションは、前記Webアプリケーションが署名を検証する際に用いる公開鍵に対応する秘密鍵を含むことを特徴とする。
In order to achieve the above object, an information processing device according to one embodiment of the present invention has the following configuration. That is,
An information processing apparatus that has a Web browser and calls and executes a Web application from a Web server,
A first application for invoking the web application, including a configuration file group for registering the web application and a URL of the web application, a license file of the first application, and a file executable by the information processing apparatus. First receiving means for receiving, from a license management server, a second application including an executable file group of the program, and a license file of the second application;
Management means for managing the availability of the first application using the license file of the first application, and managing the availability of the second application using a license file of the second application;
Instruction receiving means for receiving an instruction to call the Web application or an instruction to call the second application via the first application;
When the instruction receiving unit receives an instruction to call the Web application via the first application, the Web server sends the instruction to the Web server based on a URL of the Web application included in the first application. Transmission means for transmitting a request for access to a URL included in one application ,
The first application includes a secret key corresponding to a public key used when the Web application verifies a signature .

本発明によれば、ライセンス管理サーバに問い合わせなくても、Webアプリケーションを要求した情報処理装置のライセンスを検証できるという効果がある。   According to the present invention, there is an effect that the license of the information processing apparatus that has requested the Web application can be verified without inquiring the license management server.

本発明の実施形態に係る情報処理システムの全体構成を示す図。FIG. 1 is a diagram illustrating an overall configuration of an information processing system according to an embodiment of the present invention. 実施形態に係るMFPのハードウェア構成を説明するブロック図。FIG. 2 is a block diagram illustrating a hardware configuration of the MFP according to the embodiment. 実施形態に係るライセンス管理サーバのハードウェア構成を示すブロック図。FIG. 2 is an exemplary block diagram illustrating a hardware configuration of a license management server according to the embodiment. 実施形態に係るライセンス管理サーバのソフトウェアモジュールの構成を説明するブロック図。FIG. 4 is a block diagram illustrating a configuration of a software module of the license management server according to the embodiment. 実施形態に係るアプリケーション管理テーブルの一例を示す図(A)、ダミーアプリケーションの構成を示す図(B),ライセンス管理テーブルの一例を模式的に示す図(C)。FIG. 3A is a diagram illustrating an example of an application management table according to the embodiment, FIG. 3B is a diagram illustrating a configuration of a dummy application, and FIG. 3C is a diagram schematically illustrating an example of a license management table. 実施形態に係るライセンス管理サーバが発行するライセンスファイルの一例を示す図。FIG. 4 is an exemplary view showing an example of a license file issued by a license management server according to the embodiment. 実施形態に係るMFPのアプリケーション及びソフトウェアモジュールの構成を示す図。FIG. 2 is a diagram illustrating a configuration of an application and software modules of the MFP according to the embodiment. 本実施形態に係るWebアプリケーションサーバのソフトウェアモジュールの構成を示す図(A)、実施形態に係るトークン管理テーブルの一例を模式的に示す図(B)。FIG. 2A is a diagram illustrating a configuration of a software module of a Web application server according to the embodiment; FIG. 2B is a diagram schematically illustrating an example of a token management table according to the embodiment; 実施形態に係るMFPの操作部に表示されるGUIの一例を示す図。FIG. 4 is an exemplary view showing an example of a GUI displayed on an operation unit of the MFP according to the embodiment. 実施形態に係るMFPでユーザがGUIボタンを指示してから、WebブラウザがWebアプリケーションのコンテンツを表示するまでのシーケンス図。FIG. 5 is a sequence diagram from when a user instructs a GUI button on the MFP according to the embodiment until the Web browser displays the contents of the Web application. 実施形態に係るMFPのアプリケーション管理部がアプリケーション呼び出しを受け付けた場合に実行する処理を説明するフローチャート。6 is an exemplary flowchart illustrating processing executed when the application management unit of the MFP according to the embodiment receives an application call. 実施形態に係るWebアプリケーションサーバがHTTPによる要求を受けた場合に実行する、正しく登録されたMFPからの要求かどうかを判定する処理を説明するフローチャート。9 is an exemplary flowchart illustrating a process performed by the Web application server according to the embodiment when receiving a request based on HTTP to determine whether the request is from a correctly registered MFP. 実施形態に係るMFPのWebブラウザが実行する、MFPのライセンス確認用のJavaScriptに記載されている処理を説明するフローチャート。5 is a flowchart for describing processing described in JavaScript for MFP license confirmation, which is executed by the Web browser of the MFP according to the embodiment. 実施形態に係るMFPによる、図13のS1303の署名取得処理を説明するフローチャート。14 is a flowchart for describing the signature acquisition processing of S1303 in FIG. 13 by the MFP according to the embodiment. 実施形態に係るWebアプリケーションサーバ802が、MFPからHTTPによる要求を受けた場合に実行するMFPの登録処理を説明するフローチャート。9 is a flowchart for describing MFP registration processing that is executed when the Web application server 802 according to the embodiment receives an HTTP request from the MFP.

以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、この実施形態では、Webアプリケーションのライセンス管理システムの一例を説明する。本実施形態では、Webアプリケーションを表示するクライアント端末として、Webブラウザアプリケーションを搭載したMFPを例に説明する。また、Webアプリケーションのライセンス管理は、クライアント端末であるMFP単位でのライセンス管理を行う場合で説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the present embodiments are not necessarily essential to the solution of the present invention. . In this embodiment, an example of a Web application license management system will be described. In the present embodiment, an MFP equipped with a Web browser application will be described as an example of a client terminal that displays a Web application. The license management of the Web application will be described in the case where license management is performed for each MFP that is a client terminal.

図1は、本発明の実施形態に係る情報処理システムの全体構成を示す図である。   FIG. 1 is a diagram illustrating an overall configuration of an information processing system according to an embodiment of the present invention.

この情報処理システムでは、LAN100を介してMFP110とPC140とが接続されており、またこのLAN100は、インターネット150に接続されている。更にこのインターネット150には、ライセンス管理サーバ120とWebアプリケーションサーバ(Webサーバ)130が接続されている。   In this information processing system, the MFP 110 and the PC 140 are connected via the LAN 100, and the LAN 100 is connected to the Internet 150. Further, a license management server 120 and a Web application server (Web server) 130 are connected to the Internet 150.

MFP110は、操作部111、スキャナ部112、プリンタ部113を有する複合機(多機能処理装置)である。実施形態に係るMFP110は、内蔵するWebブラウザを利用してWebアプリケーションの操作画面を表示及び操作するクライアント端末としても機能する。またMFP110は、Webアプリケーションの指示に応じて、プリンタ部113を利用してWebアプリケーションから取得した画像を印刷でき、スキャナ部112を利用して原稿を読み取って得られた画像データをWebアプリケーションに送信できる。尚、この実施形態に係るMFPにはデバイスIDという識別子が割り当てられており、この識別子により一意に、各MFPを特定、認識できる。   The MFP 110 is a multifunction device (multifunction processing device) having an operation unit 111, a scanner unit 112, and a printer unit 113. The MFP 110 according to the embodiment also functions as a client terminal that displays and operates an operation screen of a Web application using a built-in Web browser. In addition, the MFP 110 can print an image obtained from the Web application using the printer unit 113 in accordance with an instruction of the Web application, and transmits image data obtained by reading a document using the scanner unit 112 to the Web application. it can. Note that the MFP according to this embodiment is assigned an identifier called a device ID, and this MFP can uniquely identify and recognize each MFP.

ライセンス管理サーバ120は、複数の異なるWebアプリケーションのライセンスを管理するサーバである。Webアプリケーションサーバ130は、Webアプリケーションを実行するサーバである。PC140は、MFP110に対して各種設定を行うための端末装置として機能している。但し、上述のシステム構成はあくまでも一例であり、これらの機器の数などは、本実施形態に限定されない。   The license management server 120 is a server that manages licenses of a plurality of different Web applications. The Web application server 130 is a server that executes a Web application. PC 140 functions as a terminal device for performing various settings for MFP 110. However, the above-described system configuration is merely an example, and the number of these devices is not limited to the present embodiment.

図2は、実施形態に係るMFP110のハードウェア構成を説明するブロック図である。   FIG. 2 is a block diagram illustrating a hardware configuration of MFP 110 according to the embodiment.

操作部111は、タッチパネル機能を有する表示部や各種ハードキー等を有し、制御部200からのデータに従ってユーザに対して情報を表示したり、ユーザの操作に応じた情報を制御部200に入力する。スキャナ部112は、原稿上の画像を読み取って、その画像の画像データを作成して制御部200に供給する。プリンタ部113は、制御部200から受け取った画像データに基づいて用紙上に画像を印刷する。   The operation unit 111 includes a display unit having a touch panel function, various hard keys, and the like, displays information to a user according to data from the control unit 200, and inputs information according to a user operation to the control unit 200. I do. The scanner unit 112 reads an image on a document, creates image data of the image, and supplies the image data to the control unit 200. The printer unit 113 prints an image on a sheet based on the image data received from the control unit 200.

制御部200は、操作部111、スキャナ部112、プリンタ部113と電気的に接続されており、またLAN100にもネットワークインターフェース(I/F)206を介して接続されている。これによりLAN100を介した、TCP/IP等の通信プロトコルによる通信が可能となっている。制御部200において、CPU201,ROM202,RAM203,HDD204,操作部I/F205、ネットワークI/F206、スキャナI/F207、画像処理部208及びプリンタI/F209がシステムバス211を介して接続されている。CPU201は、ROM202のブートプログラムを実行してHDD204に記憶されたOSや制御プログラムをRAM203に展開し、そのプログラムに基づいてこのMFP110を統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。ROM202には、このMFP110のブートプログラムや各種データが格納されている。RAM203は、CPU201が動作するためのワークメモリを提供し、また画像データを一時記憶するための画像メモリも提供している。HDD204はハードディスクドライブであり、OSや各種プログラムや画像データを格納している。操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェース部である。ネットワークI/F206は、LAN100及びシステムバス211に接続し、ネットワークを介して情報の入出力を行う。スキャナI/F207は、スキャナ部112と制御部200との間のインターフェースを制御する。画像処理部208は、スキャナ部112から入力した画像データ、及びプリンタ部113に出力する画像データに対して、回転、色変換、画像圧縮/伸張処理などの画像処理を行う。プリンタI/F209は、画像処理部208で処理された画像データを受け取り、この画像データに付随している属性データに従ってプリンタ部113による印刷を制御する。尚、実施形態では、操作部111を用いたUI表示が可能なMFPの例で説明するが、このMFP110に代えて、例えば汎用コンピュータ等のような情報処理装置を採用してもよい。   The control unit 200 is electrically connected to the operation unit 111, the scanner unit 112, and the printer unit 113, and is also connected to the LAN 100 via a network interface (I / F) 206. This enables communication using a communication protocol such as TCP / IP via the LAN 100. In the control unit 200, a CPU 201, a ROM 202, a RAM 203, an HDD 204, an operation unit I / F 205, a network I / F 206, a scanner I / F 207, an image processing unit 208, and a printer I / F 209 are connected via a system bus 211. The CPU 201 executes the boot program of the ROM 202 to load the OS and the control program stored in the HDD 204 into the RAM 203, and controls the MFP 110 based on the program. This control includes execution of a program for realizing a flowchart described later. The ROM 202 stores a boot program of the MFP 110 and various data. The RAM 203 provides a work memory for the operation of the CPU 201, and also provides an image memory for temporarily storing image data. The HDD 204 is a hard disk drive and stores an OS, various programs, and image data. The operation unit I / F 205 is an interface unit for connecting the system bus 211 and the operation unit 111. The network I / F 206 is connected to the LAN 100 and the system bus 211, and inputs and outputs information via a network. The scanner I / F 207 controls an interface between the scanner unit 112 and the control unit 200. The image processing unit 208 performs image processing such as rotation, color conversion, and image compression / decompression processing on image data input from the scanner unit 112 and image data output to the printer unit 113. The printer I / F 209 receives the image data processed by the image processing unit 208 and controls printing by the printer unit 113 according to attribute data attached to the image data. In the embodiment, an example of an MFP capable of displaying a UI using the operation unit 111 will be described. However, instead of the MFP 110, an information processing device such as a general-purpose computer may be employed.

図3は、実施形態に係るライセンス管理サーバ120のハードウェア構成を示すブロック図である。   FIG. 3 is a block diagram illustrating a hardware configuration of the license management server 120 according to the embodiment.

ライセンス管理サーバ120は、CPU301,RAM302,ROM303、ハードディスクドライブ(HDD)304、ネットワークI/F305を有し、これらはシステムバス306を介して互いに通信可能に接続されている。ROM303はブートプログラムを格納しており、CPU301は電源オン時に、このブートプログラムを読み出してHDD304にインストールされているOSや制御プログラム等をRAM302に展開する。そしてCPU301が、RAM302に展開したプログラムを実行することにより、このライセンス管理サーバ120の機能が実現される。またCPU301は、ネットワークI/F305を介して接続されているネットワーク上の他の装置との通信を行う。尚、Webアプリケーションサーバ130とPC140のハードウェア構成も、図3で示したライセンス管理サーバ120のハードウェア構成と同様であるため、その説明を省略する。   The license management server 120 has a CPU 301, a RAM 302, a ROM 303, a hard disk drive (HDD) 304, and a network I / F 305, which are communicably connected to each other via a system bus 306. The ROM 303 stores a boot program. When the power is turned on, the CPU 301 reads the boot program and expands the OS and control programs installed in the HDD 304 into the RAM 302. The function of the license management server 120 is realized by the CPU 301 executing the program expanded in the RAM 302. The CPU 301 communicates with another device on the network connected via the network I / F 305. Note that the hardware configuration of the Web application server 130 and the PC 140 is also the same as the hardware configuration of the license management server 120 shown in FIG.

図4は、実施形態に係るライセンス管理サーバ120のソフトウェアモジュールの構成を説明するブロック図である。これらモジュールを実現するプログラムはライセンス管理サーバ120のHDD304に格納されており、それをRAM302に展開してCPU301が実行することにより、これらモジュールの機能が達成される。   FIG. 4 is a block diagram illustrating a configuration of a software module of the license management server 120 according to the embodiment. Programs for implementing these modules are stored in the HDD 304 of the license management server 120. The functions of these modules are achieved by expanding the programs in the RAM 302 and executing the programs by the CPU 301.

本実施形態に係るライセンス管理サーバ120は、アプリケーションの暗号化、個々のMFPにアプリケーションをインストールするためのライセンスの発行、個々のライセンスを管理するライセンスアクセス番号の発行の3つの処理を行う。ここで説明するアプリケーションとは、次の2つを示す。1つはMFP110にインストール可能な、MFP110上で実行可能なプログラムの実行ファイル群を含むMFPアプリケーションである。もう1つは後述するWebアプリケーションを登録するための設定ファイル群を含むダミーアプリケーションである。   The license management server 120 according to the present embodiment performs three processes: encryption of an application, issuance of a license for installing an application in each MFP, and issuance of a license access number for managing each license. The applications described here include the following two. One is an MFP application that can be installed on the MFP 110 and includes an executable file group of a program executable on the MFP 110. The other is a dummy application including a setting file group for registering a Web application described later.

通信部401は、ネットワークを介して外部装置と通信して処理要求の受け付けを行い、その処理要求に応じて、アプリケーション管理部402とライセンス管理部404に要求を振り分ける。アプリケーション管理部402は、暗号化前のアプリケーションを受け取ってアプリケーションを暗号化する。アプリケーション管理部402は、インターネット150に接続された端末(不図示)を通じて、アプリケーション開発ベンダーからアプリケーションを受け取る。そして、そのアプリケーションのIDと、そのアプリケーションの暗号共通鍵を生成してアプリケーション管理テーブル403に登録する。アプリケーションのIDは、個々のアプリケーションを識別するための識別情報である。アプリケーションの暗号共通鍵は、そのアプリケーションを暗号化するための暗号鍵である。そして、その暗号共通鍵を用いてアプリケーションを暗号化し、その暗号化したアプリケーションと、そのアプリケーションのIDとを要求元に送信する。アプリケーション管理テーブル403は、アプリケーション管理部402が生成したアプリケーションのIDとアプリケーションの暗号共通鍵を関連付けて保存するデータベースである。   The communication unit 401 communicates with an external device via a network to receive a processing request, and distributes the request to the application management unit 402 and the license management unit 404 according to the processing request. The application management unit 402 receives the application before encryption and encrypts the application. The application management unit 402 receives an application from an application development vendor through a terminal (not shown) connected to the Internet 150. Then, an ID of the application and an encryption common key of the application are generated and registered in the application management table 403. The application ID is identification information for identifying each application. The encryption common key of the application is an encryption key for encrypting the application. Then, the application is encrypted using the encryption common key, and the encrypted application and the ID of the application are transmitted to the request source. The application management table 403 is a database that stores the application ID generated by the application management unit 402 in association with the encryption common key of the application.

図5(A)は、実施形態に係るアプリケーション管理テーブル403の一例を示す図である。   FIG. 5A is a diagram illustrating an example of the application management table 403 according to the embodiment.

列501は、アプリケーションのID、列502は、アプリケーションの暗号共通鍵を示している。   A column 501 indicates an application ID, and a column 502 indicates an encryption common key of the application.

図5(B)は、Webアプリケーションを登録するための設定ファイル群を示すダミーアプリケーションの構成を示す図である。   FIG. 5B is a diagram illustrating a configuration of a dummy application indicating a group of setting files for registering a Web application.

ダミーアプリケーションは、階層化されたフォルダとファイルとを1つのファイルにまとめた構造を有する。ファイル510は、Webアプリケーションの説明を記述するためのマニフェストファイルである。ファイル511は、Webアプリケーションサーバ130が発行した公開鍵暗号化方式における秘密鍵である。尚、この秘密鍵に対応した公開鍵は、後述するWebアプリケーションサーバ130のソフトウェアに含まれている。ファイル512は、Webアプリケーションサーバ130を利用するためのURLを記載したファイルである。   The dummy application has a structure in which hierarchical folders and files are combined into one file. The file 510 is a manifest file for describing the description of the Web application. The file 511 is a secret key in the public key encryption system issued by the Web application server 130. The public key corresponding to the secret key is included in software of the Web application server 130 described later. The file 512 is a file in which a URL for using the Web application server 130 is described.

尚、MFPアプリケーションでは、ダミーアプリケーションとは異なり、MFP110が実行可能なプログラムの実行ファイルが含まれる。   Note that, unlike the dummy application, the MFP application includes an execution file of a program executable by the MFP 110.

アプリケーション管理部402がアプリケーションを暗号化する場合、図5(B)に示すマニフェストファイル510以外が全て暗号化されて1つのファイルとしてまとめられる。アプリケーション開発ベンダーは、このアプリケーションの暗号化機能を利用することにより、このアプリケーションの中身を第3者が解析するのを防止できる。またダミーアプリケーションであれば、内部に含んでいる秘密鍵が取り出されるのを防止できる。   When the application management unit 402 encrypts an application, all of the files other than the manifest file 510 shown in FIG. 5B are encrypted and combined into one file. The application development vendor can prevent a third party from analyzing the contents of the application by using the encryption function of the application. Further, in the case of a dummy application, it is possible to prevent the secret key contained therein from being taken out.

ライセンス管理部404は、各MFPにアプリケーションをインストールするためのライセンスの発行、ライセンスの発行を行うためのライセンスアクセス番号を管理する。アプリケーションを販売する販売者から、販売対象のアプリケーションに対応するライセンスアクセス番号の発行要求を受け取ると、ライセンス管理部404は、そのアプリケーションのIDに対応したライセンスアクセス番号を発行する。そして、そのライセンスアクセス番号をライセンス管理テーブル406に登録する。ここでライセンスアクセス番号は、一意にそのアプリケーションの一つのライセンスを管理するための番号であり、アプリケーションの販売者は、前述の暗号化されたアプリケーションと、このライセンスアクセス番号とを併せて販売する。またライセンス管理部404は、アプリケーションの購入者から、ライセンスアクセス番号とデバイスIDを受け取ると、その購入者(ユーザ)に対してライセンスを発行する。このライセンスの発行は、アプリケーション管理テーブル403とライセンス管理テーブル406とを参照して、ライセンスアクセス番号に対応したライセンスファイルを作成する処理である。   The license management unit 404 manages a license access number for issuing a license for installing an application in each MFP and issuing a license. Upon receiving a license access number issuance request corresponding to the application to be sold from the seller who sells the application, the license management unit 404 issues a license access number corresponding to the ID of the application. Then, the license access number is registered in the license management table 406. Here, the license access number is a number for uniquely managing one license of the application, and the seller of the application sells the encrypted application and the license access number together. When receiving the license access number and the device ID from the purchaser of the application, the license management unit 404 issues a license to the purchaser (user). This license issuance is processing for creating a license file corresponding to the license access number with reference to the application management table 403 and the license management table 406.

ここではまず、ライセンスアクセス番号からアプリケーションのIDを取得し、アプリケーションのIDからアプリケーションの暗号共通鍵を取得する。そしてライセンスIDを発行し、ライセンス管理テーブル406にデバイスIDとライセンスIDとを記録するとともに、これら情報を1つのファイルとしてライセンスファイルを作成する。こうして作成されたライセンスファイルは、ライセンス管理部404が内部に保持するライセンスファイルの暗号鍵405で暗号化して要求元に送信する。ライセンスファイルの暗号鍵405は、公開鍵暗号化方式における公開鍵である。尚、これに対応する秘密鍵は後述するMFP110のソフトウェアに含まれている。ライセンス管理テーブル406は、ライセンスに関係する情報を保存するデータベースである。   Here, first, the application ID is obtained from the license access number, and the encryption common key of the application is obtained from the application ID. Then, a license ID is issued, the device ID and the license ID are recorded in the license management table 406, and a license file is created using the information as one file. The license file created in this way is encrypted by the license key 405 of the license file held internally by the license management unit 404 and transmitted to the request source. The encryption key 405 of the license file is a public key in a public key encryption method. The secret key corresponding to this is included in software of MFP 110 described later. The license management table 406 is a database that stores information related to the license.

図5(C)は、実施形態に係るライセンス管理テーブル406の一例を模式的に示す図である。   FIG. 5C is a diagram schematically illustrating an example of the license management table 406 according to the embodiment.

列521はアプリケーションのID、列522はライセンスアクセス番号、列523はライセンスの有効期限を日数で示している。この日数は、アプリケーションをMFPにインストールした日時から数えて何日間有効であるかを示している。列524はデバイスID(アプリケーションをインストールしたMFPのID)、列525はライセンスIDを示している。行526は、ライセンスアクセス番号を発行しているが、ライセンスが未発行のアプリケーションの例であり、ここではデバイスIDとライセンスIDは空である。行527はライセンスを発行済みのアプリケーションの例を示し、デバイスID(DEV001)とライセンスID(LIC001)が登録されている。また行528もライセンスを発行済みのアプリケーションの例を示し、有効期限は60日、デバイスID(DEV002)とライセンスID(LIC002)が登録されている。   A column 521 indicates an application ID, a column 522 indicates a license access number, and a column 523 indicates a license expiration date in days. This number of days indicates how many days are valid from the date and time when the application is installed in the MFP. Column 524 shows a device ID (ID of the MFP in which the application is installed), and column 525 shows a license ID. A line 526 is an example of an application for which a license access number has been issued but a license has not been issued. Here, the device ID and the license ID are empty. A line 527 shows an example of an application for which a license has been issued, in which a device ID (DEV001) and a license ID (LIC001) are registered. A row 528 also shows an example of an application for which a license has been issued, the expiration date is 60 days, and a device ID (DEV002) and a license ID (LIC002) are registered.

このようにライセンス管理テーブル406には、WebアプリケーションのIDとMFP110のデバイスIDとが対応付けて登録されている。このため、このライセンス管理テーブル406を参照することにより、どのMFPに、どのアプリケーションのライセンスが発行されているかが分かる。   As described above, in the license management table 406, the ID of the Web application and the device ID of the MFP 110 are registered in association with each other. Therefore, by referring to this license management table 406, it is possible to know which application license has been issued to which MFP.

図6は、実施形態に係るライセンス管理サーバ120が発行するライセンスファイルの一例を示す図である。   FIG. 6 is a diagram illustrating an example of a license file issued by the license management server 120 according to the embodiment.

ここでは、図5(C)のライセンス管理テーブル406の行528に対応するライセンスファイルの一例を示している。ここでは図5(C)から、ライセンスID(LIC002)、アプリケーションのID(APP002),デバイスID(DEV002)、有効期限(60日)が得られる。また図5(A)のアプリケーション管理テーブル403から、アプリケーション(APP002)の暗号共通鍵(WasiIDcQR6dYj...)が得られている。このようにライセンスファイルは、ライセンス管理部404が、アプリケーション管理テーブル403とライセンス管理テーブル406から取得した情報に基づいて作成されている。   Here, an example of the license file corresponding to the row 528 of the license management table 406 in FIG. 5C is shown. Here, the license ID (LIC002), the application ID (APP002), the device ID (DEV002), and the expiration date (60 days) are obtained from FIG. 5C. The encryption common key (WasiIDcQR6dYj...) Of the application (APP002) is obtained from the application management table 403 in FIG. As described above, the license file is created by the license management unit 404 based on the information acquired from the application management table 403 and the license management table 406.

このようにしてアプリケーションの購入者は、その購入したアプリケーションのライセンスアクセス番号を基に、暗号化されたライセンスファイルを取得することができる。   In this manner, the purchaser of the application can obtain the encrypted license file based on the license access number of the purchased application.

図7は、実施形態に係るMFP110のアプリケーション及びソフトウェアモジュールの構成を示す図である。これらアプリケーション及びソフトウェアモジュールは、MFP110のHDD204に格納され、実行時にはRAM203に展開されてCPU201により実行される。   FIG. 7 is a diagram illustrating a configuration of an application and a software module of the MFP 110 according to the embodiment. These applications and software modules are stored in the HDD 204 of the MFP 110 and are loaded into the RAM 203 and executed by the CPU 201 at the time of execution.

インストール処理部701は、アプリケーションのインストールを制御する。インストール処理部701は、ネットワークI/F206を介してPC140に接続され、PC140からの指示によりアプリケーションのインストールを実行する。またインストール処理部701は、暗号化されたライセンスファイルを復号化するためのライセンスファイル復号鍵702を含んでいる。このライセンスファイル復号鍵702は、前述のライセンスファイル暗号鍵405に対応している。アプリケーション管理部703は、MFP110にインストールされているアプリケーションを管理する。メニューアプリケーション704は、MFP110にインストールされているアプリケーションを選択して実行させるためのGUIを表示する。Webブラウザ705は、Webアプリケーションサーバ130と通信を行う。Webブラウザ705は、Webアプリケーションサーバ130にHTTPプロトコルを用いて要求を送信し、その要求に応答して返送されるHTMLデータをレンダリングして操作部111に表示したり、応答されたJavaScriptを解釈して実行する。   The installation processing unit 701 controls installation of an application. The installation processing unit 701 is connected to the PC 140 via the network I / F 206, and executes installation of an application according to an instruction from the PC 140. The installation processing unit 701 includes a license file decryption key 702 for decrypting the encrypted license file. The license file decryption key 702 corresponds to the license file encryption key 405 described above. Application management section 703 manages applications installed in MFP 110. Menu application 704 displays a GUI for selecting and executing an application installed in MFP 110. The web browser 705 communicates with the web application server 130. The Web browser 705 transmits a request to the Web application server 130 using the HTTP protocol, renders HTML data returned in response to the request, displays the HTML data on the operation unit 111, and interprets the returned JavaScript. Run.

次に、アプリケーションの購入者によるアプリケーションのインストールについて説明する。   Next, installation of an application by a purchaser of the application will be described.

ユーザはPC140を用いて、インストール処理部701に対して、暗号化されたアプリケーションと、暗号化されたライセンスファイルを送信することにより、インストール処理部701は、そのアプリケーションのインストール処理を行う。このときまずライセンスファイル復号鍵702を用いて、ライセンスファイルを復号する。そして、その復号したライセンスファイルに含まれるアプリケーションの暗号共通鍵を用いて、暗号化されたアプリケーションを復号する。こうして復号されたアプリケーションは、アプリケーション管理部703に渡されてHDD204に保存される。この時、復号されたライセンスファイルに記載されているデバイスIDと、MFP110に予め設定されているデバイスIDとを比較し、正しいライセンスファイルかどうかを判定する。またライセンスファイルに記載されている有効期限と現在の日時とから、そのアプリケーションが無効となる日時を計算し、有効期限日としてアプリケーション管理部703で管理する。   The user transmits the encrypted application and the encrypted license file to the installation processing unit 701 using the PC 140, so that the installation processing unit 701 performs the installation processing of the application. At this time, first, the license file is decrypted using the license file decryption key 702. Then, the encrypted application is decrypted by using the encryption common key of the application included in the decrypted license file. The application decrypted in this way is passed to the application management unit 703 and stored in the HDD 204. At this time, the device ID described in the decrypted license file is compared with a device ID preset in MFP 110 to determine whether the license file is correct. Also, the date and time when the application becomes invalid is calculated from the expiration date described in the license file and the current date and time, and is managed by the application management unit 703 as the expiration date.

実施形態では、図5(B)に示したWebアプリケーション130を登録するための設定ファイル群を示すダミーアプリケーションがMFP110にインストールされているものとする。   In the embodiment, it is assumed that a dummy application indicating a group of setting files for registering the Web application 130 illustrated in FIG.

図8(A)は、本実施形態に係るWebアプリケーションサーバ130のソフトウェアモジュールの構成を示す図である。これらソフトウェアモジュールは、Webアプリケーションサーバ130のHDD304に格納されており、実行時にRAM302に展開されCPU301により実行されることにより、これらソフトウェアモジュールの機能が達成される。   FIG. 8A is a diagram illustrating a configuration of a software module of the Web application server 130 according to the present embodiment. These software modules are stored in the HDD 304 of the Web application server 130, and are loaded into the RAM 302 at the time of execution and executed by the CPU 301, thereby achieving the functions of the software modules.

本実施形態では、Webアプリケーションサーバ130は、HTTPプロトコルによるMFP110からの要求に応じて、MFP110のWebブラウザ705に表示するHTMLコンテンツを応答したり、MFP110を操作するためのコンテンツを応答する。この際にダミーアプリケーションが正しく購入されてインストールされたMFP110からの要求であるかどうかを判断するが、その仕組みは後述する。   In the present embodiment, the Web application server 130 responds to the request from the MFP 110 by the HTTP protocol with the HTML content to be displayed on the Web browser 705 of the MFP 110 or the content for operating the MFP 110. At this time, it is determined whether or not the dummy application is a request from the MFP 110 that has been correctly purchased and installed. The mechanism will be described later.

通信部801は、ネットワークを介して外部装置と通信して要求の受け付けを行い、指定されたURLに応じて初期登録処理部802とアプリケーション処理部804に要求の振り分けを行う。初期登録処理部802は、アクセスしてきたMFPの初期登録を行う。また初期登録処理部802は、受信した要求に含まれる署名を検証する署名検証部803を含んでいる。署名検証部803は、図5(B)で示したダミーアプリケーションに含まれるファイル511の秘密鍵に対応する公開鍵を含んでおり、この秘密鍵でデジタル署名した署名情報の検証が可能となる。   The communication unit 801 receives a request by communicating with an external device via a network, and distributes the request to the initial registration processing unit 802 and the application processing unit 804 according to the specified URL. The initial registration processing unit 802 performs initial registration of the accessed MFP. Further, the initial registration processing unit 802 includes a signature verification unit 803 that verifies a signature included in the received request. The signature verification unit 803 includes a public key corresponding to the secret key of the file 511 included in the dummy application illustrated in FIG. 5B, and can verify the digitally signed signature information with the secret key.

アプリケーション処理部804は、MFP110のWebブラウザ705により表示されるHTMLコンテンツを応答したり、MFP110を操作するためのコンテンツを応答する。トークン管理テーブル805は、Webアプリケーションサーバ130に登録されているデバイスIDとトークン(認可情報)とを関連付けて管理するデータベースである。このトークンは、初期登録処理部802がMFPを初期登録したときに発行するランダムな文字列である。そして、MFPからの要求に含まれるトークンが、このトークン管理テーブル805に登録されている場合に、そのMFPが正しく登録されたMFPであるとみなす。   The application processing unit 804 responds with HTML content displayed by the web browser 705 of the MFP 110 or responds with content for operating the MFP 110. The token management table 805 is a database that manages a device ID and a token (authorization information) registered in the Web application server 130 in association with each other. This token is a random character string issued when the initial registration processing unit 802 initially registers the MFP. When the token included in the request from the MFP is registered in the token management table 805, the MFP is regarded as a correctly registered MFP.

図8(B)は、実施形態に係るトークン管理テーブル805の一例を模式的に示す図である。   FIG. 8B is a diagram schematically illustrating an example of the token management table 805 according to the embodiment.

列811はトークン、列812はデバイスIDを示し、列813はトークンの有効期限を日時で示している。現在の日時が、この有効期限の日付を過ぎた場合、このトークンは無効であると判断される。   Column 811 indicates a token, column 812 indicates a device ID, and column 813 indicates the expiration date of the token by date and time. If the current date and time passes this expiration date, the token is determined to be invalid.

次に、本実施形態に係るWebアプリケーションサーバ130が、MFP110からのダミーアプリケーションに基づいて、正しく購入されたライセンスかどうかを判定する処理について説明する。   Next, a process in which the Web application server 130 according to the present embodiment determines whether the license has been correctly purchased based on the dummy application from the MFP 110 will be described.

まず、ダミーアプリケーションをインストールした後、初回のWebアプリケーションの実行時に行う処理の流れを説明する。ここでは特に、正しいライセンスを購入したMFPをWebアプリケーションへ登録する方法、またMFPからWebアプリケーションへの要求の検証方法について説明する。   First, a description will be given of a flow of processing performed when the first Web application is executed after the dummy application is installed. Here, a method of registering an MFP for which a correct license has been purchased in a Web application, and a method of verifying a request from the MFP to the Web application will be described.

ユーザがWebアプリケーションを利用するために、まずMFP110のメニューアプリケーション704を起動する。このメニューアプリケーション704は、メニューを表示するためにアプリケーション管理部703に問い合わせて、インストールされているアプリケーションの一覧を取得する。   In order for the user to use the Web application, first, the menu application 704 of the MFP 110 is activated. The menu application 704 queries the application management unit 703 to display a menu, and obtains a list of installed applications.

図9は、MFP110のメニューアプリケーション704を呼び出したときに操作部111に表示されるGUIの一例を示す図である。このとき図5(B)に示す、Webアプリケーションを呼び出すためのダミーアプリケーションがMFP110にインストールされている。   FIG. 9 is a diagram illustrating an example of a GUI displayed on the operation unit 111 when the menu application 704 of the MFP 110 is called. At this time, a dummy application for calling the Web application shown in FIG.

GUIボタン901は、図5(B)のダミーアプリケーションを呼び出すためのGUIボタンである。   A GUI button 901 is a GUI button for calling the dummy application of FIG.

図10は、実施形態に係るMFP110でユーザがGUIボタン901を指示してから、Webブラウザ705がWebアプリケーションのコンテンツを表示するまでのシーケンス図である。   FIG. 10 is a sequence diagram from when the user instructs the GUI button 901 on the MFP 110 according to the embodiment until the Web browser 705 displays the contents of the Web application.

1001では、メニューアプリケーション704がGUIボタン901の押下を受け付けると、メニューアプリケーション704はアプリケーション管理部703に対して、アプリケーションの実行を通知する。   In 1001, when the menu application 704 receives the press of the GUI button 901, the menu application 704 notifies the application management unit 703 of the execution of the application.

このときのアプリケーション管理部703の処理を以下に説明する。   The processing of the application management unit 703 at this time will be described below.

図11は、実施形態に係るMFP110のアプリケーション管理部703がアプリケーション呼び出しを受け付けた場合に実行する処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD204にインストールされており、実行時にはRAM203に展開されCPU201の制御の下に実行される。よって、ここではCPU201による処理として説明する。   FIG. 11 is a flowchart illustrating a process executed when the application management unit 703 of the MFP 110 according to the embodiment receives an application call. It should be noted that a program for executing this processing is installed in the HDD 204, and is expanded in the RAM 203 and executed under the control of the CPU 201 at the time of execution. Therefore, the processing will be described here as processing by the CPU 201.

S1101でCPU201は、図9の画面で指示されたアプリケーションの種類を判別する。ここで例えばGUIボタン901が指示されて、ダミーアプリケーションが呼び出されたかどうかを判定する。ここでGUIボタン901が指示されたときはWebアプリケーションが指示されたと判定してS1102に処理を進めるが、そうでなければS1105に処理を進める。S1102でCPU201は、ダミーアプリケーションのファイルからWebアプリケーションのURLを取得する。例えば図5(B)のダミーアプリケーションの例では、ファイル512を読み込んでWebアプリケーションサーバ130のアプリケーション処理部804を呼び出すURLを取得する。次にS1103に進みCPU201は、Webブラウザ705に対して、S1102で取得したURLを設定する。そしてS1104に進みCPU201は、操作部111の表示をメニューアプリケーション704からWebブラウザ705のGUIウィンドウに切り変えて処理を終了する。   In step S1101, the CPU 201 determines the type of the application specified on the screen in FIG. Here, for example, it is determined whether the GUI button 901 is instructed and the dummy application is called. Here, when the GUI button 901 is instructed, it is determined that the Web application has been instructed, and the process proceeds to S1102; otherwise, the process proceeds to S1105. In step S1102, the CPU 201 acquires the URL of the Web application from the file of the dummy application. For example, in the example of the dummy application in FIG. 5B, a URL that reads the file 512 and calls the application processing unit 804 of the Web application server 130 is acquired. Next, the processing proceeds to step S1103, and the CPU 201 sets the URL acquired in step S1102 in the Web browser 705. Then, the processing proceeds to step S1104, where the CPU 201 switches the display of the operation unit 111 from the menu application 704 to the GUI window of the web browser 705, and ends the processing.

一方、S1105でCPU201は、Webアプリケーションではないため、操作部111の表示をメニューアプリケーション704から指示されたMFP110上で実行可能なアプリケーション、例えばコピーやSEND等のGUIウィンドウに切り変える。そしてこの処理を終了する。   On the other hand, in step S <b> 1105, the CPU 201 switches the display of the operation unit 111 to an application executable on the MFP 110 specified by the menu application 704, for example, a GUI window such as copy or SEND, because it is not a Web application. Then, this process ends.

以上の処理により、図9のメニュー画面のアイコンで指示されたアプリケーションの画面を表示することができる。特にWebアプリケーションのGUIボタン901が指示されると、そのWebアプリケーションを呼び出すためにWebアプリケーションサーバ130のURLにアクセスできる。   By the above processing, the screen of the application indicated by the icon on the menu screen in FIG. 9 can be displayed. In particular, when the GUI button 901 of the web application is designated, the user can access the URL of the web application server 130 to call the web application.

図10に戻り、1002でWebブラウザ705が、Webアプリケーションサーバ130にHTTPプロトコルによる要求を行う。これは、図11のフローチャートのS1103で、Webブラウザ705にファイル512(図5(B))のURLが設定された結果である。この要求を受け付けたWebアプリケーションサーバ130の通信部801は、アプリケーション処理部804に対して、この要求を渡す。このときのアプリケーション処理部804の処理を以下に説明する。   Returning to FIG. 10, in 1002, the Web browser 705 makes a request to the Web application server 130 using the HTTP protocol. This is a result of setting the URL of the file 512 (FIG. 5B) in the Web browser 705 in S1103 of the flowchart in FIG. The communication unit 801 of the Web application server 130 that has received the request passes the request to the application processing unit 804. The processing of the application processing unit 804 at this time will be described below.

図12は、実施形態に係るWebアプリケーションサーバ130のアプリケーション処理部804がHTTPによる要求を受けた場合に実行する、正しく登録されたMFP110からの要求かどうかを判定する処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD304にインストールされており、実行時にはRAM302に展開されCPU301の制御の下に実行される。よって、ここではCPU301による処理として説明する。   FIG. 12 is a flowchart illustrating a process performed when the application processing unit 804 of the Web application server 130 according to the embodiment receives a request by HTTP to determine whether the request is from a correctly registered MFP 110. It should be noted that a program for executing this processing is installed in the HDD 304, and is loaded into the RAM 302 and executed under the control of the CPU 301 at the time of execution. Therefore, the process will be described here by the CPU 301.

まずS1201でCPU301は、MFP110からのHTTP要求に含まれるヘッダ情報を取得する。次にS1202に進みCPU301は、S1201で取得したヘッダ情報からトークンを取得し、トークン管理テーブル805に問合せる。ここでトークンを取得でき、かつトークン管理テーブル805からそのトークンに対応するレコードが取得できた場合はS1203へ処理を進め、そうでなければS1205に処理を進める。S1203でCPU301は、S1202で取得したレコードからトークンの有効期限を確認する。ここで現在日時が有効期限内であると判定するとS1204に処理を進め、そうでなければS1206に処理を進める。S1204でCPU301は、そのMFP110が正しく登録されたMFPであると判定し、S1202で取得したレコードに含まれるデバイスIDに対応したコンテンツを応答して、この処理を終了する。   First, in step S1201, the CPU 301 obtains header information included in an HTTP request from the MFP 110. Next, the processing proceeds to step S1202, where the CPU 301 obtains a token from the header information obtained in step S1201, and inquires the token management table 805. Here, if the token can be acquired and the record corresponding to the token can be acquired from the token management table 805, the process proceeds to S1203; otherwise, the process proceeds to S1205. In S1203, the CPU 301 checks the expiration date of the token from the record acquired in S1202. Here, if it is determined that the current date and time is within the expiration date, the process proceeds to S1204; otherwise, the process proceeds to S1206. In S1204, the CPU 301 determines that the MFP 110 is a correctly registered MFP, returns a content corresponding to the device ID included in the record acquired in S1202, and ends this processing.

一方、S1205でCPU301は、トークンがない、もしくは正しくない要求を受け付けたケースであるため、MFPのライセンス確認用のJavaScriptを含むコンテンツを応答して、この処理を終了する。ライセンス確認用のJavaScriptの内容については、後述する。   On the other hand, in step S1205, since the CPU 301 has received a request with no or incorrect token, the CPU 301 responds with a content including JavaScript for confirming the license of the MFP, and ends this processing. The contents of the JavaScript for license confirmation will be described later.

またS1206は、有効期限切れトークンが含まれる要求を受け付けた場合であるため、CPU301は、トークンの有効期限切れをユーザに表示するためのコンテンツを応答する。   Since S1206 is a case where a request including an expired token is received, the CPU 301 responds with a content for displaying the expired token to the user.

以上の処理により、Webアプリケーションサーバ130は、登録されているMFPからのコンテンツの要求かどうかを判定し、正当なコンテンツの要求であると判定すると、そのMFP110に対してコンテンツを応答する。   Through the above processing, the Web application server 130 determines whether the request is for a content from a registered MFP, and if it is determined that the request is for a legitimate content, the Web application server 130 responds to the MFP 110 with the content.

再び図10に戻り、1003で、アプリケーション処理部804が、ライセンス確認用のJavaScriptを含むコンテンツを応答する。これは、1002での、HTTPプロトコルによる要求にトークンが含まれていないため、図12のフローチャートのS1202からS1205に進んだ場合で、MFP110に対してライセンスの確認要求を行うものである。この応答を受けたWebブラウザ705は、このJavaScriptを実行する。このときのWebブラウザ705の処理を説明する。   Returning to FIG. 10 again, at 1003, the application processing unit 804 responds with a content including JavaScript for license confirmation. In this case, since the request in the HTTP protocol in 1002 does not include a token, the process proceeds from S1202 to S1205 in the flowchart of FIG. The Web browser 705 that has received the response executes the JavaScript. The processing of the Web browser 705 at this time will be described.

図13は、実施形態に係るMFP110のWebブラウザ705が実行する、MFPのライセンス確認処理用のJavaScriptに記載されている処理を説明するフローチャートである。   FIG. 13 is a flowchart for describing processing described in JavaScript for MFP license confirmation processing, which is executed by the Web browser 705 of the MFP 110 according to the embodiment.

先ずS1301でWebブラウザ705は、アプリケーション管理部703に対してトークンを要求する。この時に、アプリケーション管理部703は、現在のWebブラウザ705のURLとダミーアプリケーションのファイルに含まれるURLとを比較する。そして両方が一致していれば、そのダミーアプリケーションに対応して保存していたトークンをWebブラウザ705に渡す。S1302でWebブラウザ705は、S1301でトークンが取得できたかどうかを判定する。ここでトークンが取得できたと判定したときはS1309に処理を進め、そうでないときはS1303に処理を進める。S1303でWebブラウザ705は、アプリケーション管理部703に対して署名を要求する。この時のアプリケーション管理部703の処理を説明する。   First, in step S1301, the web browser 705 requests a token from the application management unit 703. At this time, the application management unit 703 compares the current URL of the Web browser 705 with the URL included in the dummy application file. If the two match, the token stored corresponding to the dummy application is passed to the Web browser 705. In step S1302, the web browser 705 determines whether the token has been acquired in step S1301. If it is determined that the token has been obtained, the process proceeds to S1309; otherwise, the process proceeds to S1303. In step S1303, the web browser 705 requests a signature from the application management unit 703. The processing of the application management unit 703 at this time will be described.

図14は、実施形態に係るMFP110による、図13のS1303の署名取得処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD204にインストールされており、実行時にはRAM203に展開されCPU201の制御の下に実行される。よって、ここではCPU201による処理として説明する。   FIG. 14 is a flowchart illustrating the signature acquisition processing of S1303 in FIG. 13 by the MFP 110 according to the embodiment. It should be noted that a program for executing this processing is installed in the HDD 204, and is expanded in the RAM 203 and executed under the control of the CPU 201 at the time of execution. Therefore, the processing will be described here as processing by the CPU 201.

先ずS1401でCPU201は、現在のWebブラウザ705のURLとダミーアプリケーションのファイルに含まれるURLとを比較する。ここで一致していれば正しいURLと判断してS1402に処理を進めるが、そうでなければS1406に処理を進めエラーを応答して、この処理を終了する。S1402でCPU201は、MFP110のオペレーションシステムから現在日時を取得する。次にS1403に進みCPU201は、MFP110に個別に設定されているデバイスIDを取得する。そしてS1404に進みCPU201は、ダミーアプリケーションのファイルに含まれるWebアプリケーションの秘密鍵を用いてデジタル署名した署名情報を作成する。このときの署名情報には、S1402で取得した現在日時と、S1403で取得したデバイスIDと、インストール時に決定した有効期限日が含まれる。そしてS1405に進みCPU201は、現在日時、デバイスID、有効期限日、そして署名情報をWebブラウザ705に渡して、この処理を終了する。   First, in step S1401, the CPU 201 compares the current URL of the Web browser 705 with the URL included in the file of the dummy application. If they match, it is determined that the URL is correct, and the process proceeds to S1402. If not, the process proceeds to S1406, an error is returned, and the process ends. In step S1402, the CPU 201 acquires the current date and time from the operation system of the MFP 110. Next, the processing proceeds to step S1403, in which the CPU 201 acquires a device ID set individually for the MFP 110. Then, the processing proceeds to step S1404, where the CPU 201 creates digital signature information using the secret key of the Web application included in the file of the dummy application. The signature information at this time includes the current date and time acquired in S1402, the device ID acquired in S1403, and the expiration date determined at the time of installation. Then, the processing proceeds to step S1405, and the CPU 201 passes the current date and time, the device ID, the expiration date, and the signature information to the Web browser 705, and ends this processing.

次に図13に戻り、S1304で、Webブラウザ705が、S1303で署名情報の取得が成功したかを判定する。ここで成功したと判定するとS1305に処理を進めるが、そうでなければS1311に処理を進める。S1305では、Webブラウザ705が、S1303で取得した現在日時、デバイスID、有効期限日、署名情報をHTTP要求のヘッダ部分に設定する。そしてS1306に進み、Webブラウザ705が、S1305で設定したHTTP要求を初期登録用URLに送信する。次にS1307に進み、S1306での通信が成功したかどうか判定する。ここで成功したと判定するとS1308に処理を進め、そうでなければS1311に遷移する。S1308では、Webブラウザ705が、S1306で通信が成功した場合に応答されるトークンをアプリケーション管理部703に渡す。これによりアプリケーション管理部703は、その渡されたトークンをURLに対応づけて保存する。そしてS1309に進みWebブラウザ705が、現在のURLに対応したクッキーにトークン情報を保存する。これにより次回以降の要求にはトークンがクッキー情報として付加されて、Webアプリケーションに渡されることになる。そしてS1310に進み、Webブラウザ705が現在のページのリロードを行って、この処理を終了する。またS1311は、署名が失敗した場合であり、エラーを表示して処理を終了する。   Next, returning to FIG. 13, in S1304, the Web browser 705 determines whether the acquisition of the signature information has been successful in S1303. If it is determined that the process is successful, the process proceeds to S1305; otherwise, the process proceeds to S1311. In step S1305, the web browser 705 sets the current date and time, device ID, expiration date, and signature information acquired in step S1303 in the header of the HTTP request. In step S1306, the web browser 705 transmits the HTTP request set in step S1305 to the initial registration URL. Next, the process advances to step S1307 to determine whether the communication in step S1306 has been successful. If it is determined that the process is successful, the process proceeds to step S1308; otherwise, the process proceeds to step S1311. In step S1308, the web browser 705 passes a token returned when the communication is successful in step S1306 to the application management unit 703. Accordingly, the application management unit 703 stores the passed token in association with the URL. Then, the process proceeds to step S1309, where the Web browser 705 stores the token information in the cookie corresponding to the current URL. As a result, the token is added to the next and subsequent requests as cookie information, and is passed to the Web application. In step S1310, the web browser 705 reloads the current page, and ends this processing. S1311 is a case where the signature has failed, an error is displayed, and the process ends.

以上が、JavaScriptによってWebブラウザ705が行う処理である。   The above is the processing performed by the Web browser 705 using JavaScript.

再び図10に戻る。1004では、図13と図14のフローチャートを参照して説明したように、初期登録処理URLが呼び出される。ここでは、まだMFP110はトークンを取得していない状態であるため、図13のS1302でトークンが取得できないと判定される。そして図14のフローチャートで示す処理により、図5(B)のファイル511の秘密鍵で現在日時、デバイスID、有効期限日がデジタル署名された署名情報が作成される。そして1006で、MFP110のWebブラウザ705が初期登録処理URLに対してHTTP要求を行う。この要求を受け付けたWebアプリケーションサーバ130の通信部801は、初期登録処理部802にその要求を渡す。このときの初期登録処理部802の処理を説明する。   Returning to FIG. At 1004, as described with reference to the flowcharts of FIGS. 13 and 14, the initial registration processing URL is called. Here, since the MFP 110 has not yet acquired the token, it is determined in S1302 in FIG. 13 that the token cannot be acquired. Then, by the processing shown in the flowchart of FIG. 14, signature information in which the current date and time, the device ID, and the expiration date are digitally signed with the secret key of the file 511 in FIG. 5B is created. In step 1006, the Web browser 705 of the MFP 110 issues an HTTP request to the initial registration processing URL. The communication unit 801 of the Web application server 130 that has received the request passes the request to the initial registration processing unit 802. The processing of the initial registration processing unit 802 at this time will be described.

図15は、実施形態に係るWebアプリケーションサーバ130の初期登録処理部802が、MFP110からHTTPによる要求を受けた場合に実行するMFPの登録処理を説明するフローチャートである。尚、この処理を実行するプログラムはHDD304にインストールされており、実行時にはRAM302に展開されCPU301の制御の下に実行される。よって、ここではCPU301による処理として説明する。   FIG. 15 is a flowchart illustrating MFP registration processing executed by the initial registration processing unit 802 of the Web application server 130 according to the embodiment when receiving an HTTP request from the MFP 110. It should be noted that a program for executing this processing is installed in the HDD 304, and is loaded into the RAM 302 and executed under the control of the CPU 301 at the time of execution. Therefore, the process will be described here by the CPU 301.

まずS1501でCPU301は、HTTP要求のヘッダ情報から日時とデバイスIDと有効期限日そして署名情報を取得する。次にS1502に進みCPU301は、S1501で取得したヘッダ情報から日時とデバイスIDと有効期限日、そして署名情報を検証する。次にS1502に進みCPU301は、検証に成功したかどうかを判定し、成功した場合はS1503に処理を進め、そうでなければS1507に処理を進める。S1503でCPU301は、S1501で取得した日時が正しいかどうかを判定する。ここで日時が正しいかどうかの判定は、Webアプリケーションサーバの現在日時との差が予め決められた時間以内であるかどうかにより判定する。ここで正しい日時であると判定した場合S1504に処理を進め、そうでなければS1507に処理を進める。S1504は、正しいダミーアプリケーションがインストールされたMFPからの要求であるとCPU301が判定した場合であるため、CPU301は、そのMFPのためのトークンを生成する。次にS1505に進みCPU301は、その生成したトークンをトークン管理テーブル805に登録する。次にS1506に進みCPU301は、その生成したトークンを要求元のMFP110に応答して、この処理を終了する。またS1507でCPU301は、初期登録処理が失敗したため、エラーを要求元のMFP110に応答して、この処理を終了する。   First, in step S1501, the CPU 301 acquires date and time, device ID, expiration date, and signature information from the header information of the HTTP request. Next, the processing advances to step S1502, and the CPU 301 verifies the date and time, the device ID, the expiration date, and the signature information from the header information acquired in step S1501. Next, the processing advances to step S1502, and the CPU 301 determines whether the verification has succeeded. If the verification has succeeded, the processing advances to step S1503; otherwise, the processing advances to step S1507. In S1503, the CPU 301 determines whether the date and time acquired in S1501 is correct. Here, whether or not the date and time is correct is determined based on whether or not the difference from the current date and time of the Web application server is within a predetermined time. If it is determined that the date and time are correct, the process proceeds to S1504; otherwise, the process proceeds to S1507. In step S1504, the CPU 301 determines that the request is from the MFP in which the correct dummy application is installed. Therefore, the CPU 301 generates a token for the MFP. Next, the processing proceeds to step S1505, and the CPU 301 registers the generated token in the token management table 805. Next, the processing proceeds to step S1506, in which the CPU 301 responds to the requesting MFP 110 with the generated token, and ends this processing. In step S <b> 1507, since the initial registration processing has failed, the CPU 301 responds to the requesting MFP 110 with an error and ends the processing.

以上が、初期登録処理部802が行う初期登録処理の説明である。   The above is the description of the initial registration processing performed by the initial registration processing unit 802.

再び図10に戻り、1005でWebアプリケーションサーバ130は、図15のフローチャートで示す処理により、初期登録処理が行われてトークンが生成される。そして、要求元のWebブラウザ705に対してトークンを応答する。こうしてトークンが応答されると、Webブラウザ705は図13のS1307でトークンの取得に成功したと判定する。   Returning to FIG. 10 again, in 1005, the Web application server 130 performs an initial registration process and generates a token by the process shown in the flowchart of FIG. Then, the token is returned to the requesting Web browser 705. When the token is returned in this way, the Web browser 705 determines that the token has been successfully acquired in S1307 of FIG.

次に1006で、図13のS1310の処理により、Webブラウザ705がWebアプリケーションサーバ130にHTTPプロトコルによる要求を行う。このとき、このHTTP要求に含まれるクッキーには、トークンが含まれている。そして1007で、図12のS1202とS1203の処理により正しいトークンと判断されると、Webアプリケーションのコンテンツが応答される。以上が、初回のWebアプリケーションのコンテンツをWebブラウザ705が表示するまでのシーケンスの説明である。   Next, in step 1006, the Web browser 705 makes a request to the Web application server 130 using the HTTP protocol by the processing in S1310 in FIG. At this time, the cookie included in the HTTP request includes the token. Then, in 1007, if it is determined that the token is correct by the processing of S1202 and S1203 in FIG. 12, the content of the Web application is responded. The above is the description of the sequence up to the first web application displaying the content of the web application.

このように実施形態によれば、Webアプリケーションサーバ130は、MFP110にインストールされたダミーアプリケーションが持つ秘密鍵で署名された情報が正しいかどうかでライセンスを検証する。そしてMFP110をWebアプリケーションサーバ130に登録するかどうかを判定できる。つまり、Webアプリケーションを購入して、ダミーアプリケーションをインストールしていないMFPからの要求は受け付けないようにできる。この際に、MFP110とライセンス管理サーバ120との通信は必要ない。   As described above, according to the embodiment, the Web application server 130 verifies the license based on whether the information signed with the private key of the dummy application installed in the MFP 110 is correct. Then, it can be determined whether or not MFP 110 is registered in Web application server 130. That is, it is possible to purchase a Web application and not accept a request from an MFP in which a dummy application is not installed. At this time, communication between the MFP 110 and the license management server 120 is not required.

また、2回目以降のWebアプリケーションの呼び出しでは、図12のS1202の処理でトークンが保存されていると判定するため初期登録処理は行わない。このように、MFPのWebブラウザ705を登録する時にトークンを発行することで、Webブラウザ705から要求する度に署名をする必要がなくなり、ライセンスの検証が可能となる。   In the second and subsequent calls of the Web application, the initial registration process is not performed because it is determined that the token is stored in the process of S1202 in FIG. As described above, by issuing a token when registering the Web browser 705 of the MFP, it is not necessary to sign each time a request is made from the Web browser 705, and the license can be verified.

また、購入したWebアプリケーションの有効期限が切れた場合、図12のS1203でトークンが無効と判定されて有効期限切れのコンテンツが応答される。このため、MFP110のユーザに対して、追加の有効期限のライセンスを購入する等の処理を促すことが可能になる。   If the purchased Web application has expired, the token is determined to be invalid in S1203 in FIG. 12, and the expired content is returned. For this reason, it is possible to prompt the user of the MFP 110 to perform processing such as purchasing a license with an additional expiration date.

尚、実施形態では、Webアプリケーションサーバ130のアプリケーション管理部703が署名処理を行っていたが、ダミーアプリケーションに図14の署名取得処理を実行するためのプログラムを含めるソフトウェア構成でもよい。   In the embodiment, the application management unit 703 of the Web application server 130 performs the signature process. However, the software configuration may include a program for executing the signature acquisition process of FIG. 14 in the dummy application.

また、更に、ダミーアプリケーションに、図11に示すような、Webアプリケーションと判断された場合のアプリケーションの呼び出し処理を実行するプログラムを含める構成でもよい。   Further, the dummy application may include a program for executing a process of calling the application when it is determined that the application is a Web application, as shown in FIG.

また、本実施形態に係るMFP110では、Webアプリケーションサーバ130から渡されたJavaScriptによって登録処理を行っている。しかし、例えばダミーアプリケーションがJavaScriptを保持していて、それをWebブラウザ705に読み込ませるようソフトウェアを構成してもよい。   Further, in the MFP 110 according to the present embodiment, the registration process is performed by the JavaScript passed from the Web application server 130. However, for example, the dummy application may hold JavaScript and the software may be configured to read the JavaScript into the Web browser 705.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention is also realized by executing the following processing. That is, software (program) for realizing the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program and reads the program. This is the process to be performed.

本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。   The present invention is not limited to the above embodiments, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, to make the scope of the present invention public, the following claims are appended.

110…MFP,120…ライセンス管理サーバ、130…Webアプリケーションサーバ、201,301…CPU,402…アプリケーション管理部、403…アプリケーション管理テーブル、404…ライセンス管理部、405…ライセンス管理テーブル、703…アプリケーション管理部、705…Webブラウザ、803…初期登録処理部、804…アプリケーション処理部、805…トークン管理テーブル。   110: MFP, 120: License management server, 130: Web application server, 201, 301: CPU, 402: Application management unit, 403: Application management table, 404: License management unit, 405: License management table, 703: Application management Unit, 705: Web browser, 803: initial registration processing unit, 804: application processing unit, 805: token management table.

Claims (13)

Webブラウザを有し、WebサーバからWebアプリケーションを呼び出して実行する情報処理装置であって、
Webアプリケーションを登録するための設定ファイル群と前記WebアプリケーションのURLを含む、前記Webアプリケーションを呼び出すための第1のアプリケーションと、前記第1のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第2のアプリケーションと、前記第2のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第1の受信手段と、
前記第1のアプリケーションのライセンスファイルを用いて前記第1のアプリケーションの使用可否を管理し、前記第2のアプリケーションのライセンスファイルを用いて前記第2のアプリケーションの使用可否を管理する管理手段と、
前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示、或いは、前記第2のアプリケーションの呼び出しの指示を受け取る指示受け手段と、
前記指示受け手段で、前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示を受けた場合、前記第1のアプリケーションに含まれる前記WebアプリケーションのURLに基づいて、前記Webサーバに前記第1のアプリケーションに含まれるURLへのアクセスのリクエストを送信する送信手段と、を有し、
前記第1のアプリケーションは、前記Webアプリケーションが署名を検証する際に用いる公開鍵に対応する秘密鍵を含むことを特徴とする情報処理装置。
An information processing apparatus that has a Web browser and calls and executes a Web application from a Web server,
A first application for invoking the web application, including a configuration file group for registering the web application and a URL of the web application, a license file of the first application, and a file executable by the information processing apparatus. First receiving means for receiving, from a license management server, a second application including an executable file group of the program, and a license file of the second application;
Management means for managing the availability of the first application using the license file of the first application and managing the availability of the second application using a license file of the second application;
Instruction receiving means for receiving an instruction to call the Web application or an instruction to call the second application via the first application;
When the instruction receiving unit receives an instruction to call the Web application via the first application, the Web server sends the instruction to the Web server based on a URL of the Web application included in the first application. Transmission means for transmitting a request for access to a URL included in one application ,
The information processing apparatus according to claim 1, wherein the first application includes a secret key corresponding to a public key used when the Web application verifies a signature .
前記第1のアプリケーション、前記第2のアプリケーションをインストールするインストール手段を、更に有することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising an installation unit that installs the first application and the second application. 前記第1のアプリケーションのライセンスファイルは、前記第1のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含み、前記第2のアプリケーションのライセンスファイルは、前記第2のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含むことを特徴とする請求項1又は請求項2に記載の情報処理装置。   The license file of the first application includes information on an expiration date of the first application and identification information for identifying the information processing apparatus. The license file of the second application includes the license file of the second application. The information processing apparatus according to claim 1, further comprising information about an expiration date of the information processing apparatus, and identification information for identifying the information processing apparatus. 前記指示受け手段で、前記第2のアプリケーションの呼び出しの指示を受け付けた場合に前記第2のアプリケーションを呼び出す呼び出し手段を、更に有することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。 Wherein an instruction receiving means, wherein the call means for calling the second application when receiving an instruction to call the second application, to any one of claims 1 to 3, characterized by further comprising Information processing device. 前記指示受け手段で、前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示を受け付けた場合、前記Webブラウザに、前記第1のアプリケーションに含まれるURLを設定して、前記Webブラウザにウィンドウを切り替え、前記指示受け手段で、前記第2のアプリケーションの呼び出しの指示を受け付けた場合、前記第2のアプリケーションにウィンドウを切り替える切り替え手段を、更に有することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。 When the instruction receiving unit receives an instruction to call the Web application via the first application, a URL included in the first application is set in the Web browser, and the URL is set in the Web browser. switch windows, in the instruction receiving means, when receiving an instruction to call the second application, a switching means for switching the window to the second application, according to claim 1 to 4, further comprising The information processing device according to claim 1. 前記情報処理装置は、画像形成装置であることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。 The information processing apparatus, an information processing apparatus according to any one of claims 1 to 5, characterized in that an image forming apparatus. Webブラウザを有し、WebサーバからWebアプリケーションを呼び出して実行する情報処理装置を制御する制御方法であって、
Webアプリケーションを登録するための設定ファイル群と前記WebアプリケーションのURLを含む、前記Webアプリケーションを呼び出すための第1のアプリケーションと、前記第1のアプリケーションのライセンスファイルと、前記情報処理装置で実行可能なプログラムの実行ファイル群を含む第2のアプリケーションと、前記第2のアプリケーションのライセンスファイルとを、ライセンス管理サーバから受信する第1の受信工程と、
前記第1のアプリケーションのライセンスファイルを用いて前記第1のアプリケーションの使用可否を管理し、前記第2のアプリケーションのライセンスファイルを用いて前記第2のアプリケーションの使用可否を管理する管理工程と、
前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示、或いは、前記第2のアプリケーションの呼び出しの指示を受け取る指示受け工程と、
前記指示受け工程で、前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示を受けた場合、前記第1のアプリケーションに含まれる前記WebアプリケーションのURLに基づいて、前記Webサーバに前記第1のアプリケーションに含まれるURLへのアクセスのリクエストを送信する送信工程と、を有し、
前記第1のアプリケーションは、前記Webアプリケーションが署名を検証する際に用いる公開鍵に対応する秘密鍵を含むことを特徴とする制御方法。
A control method for controlling an information processing apparatus that has a Web browser and calls and executes a Web application from a Web server,
A first application for invoking the web application, including a configuration file group for registering the web application and a URL of the web application, a license file of the first application, and a file executable by the information processing apparatus. A first receiving step of receiving, from a license management server, a second application including a group of executable files of the program, and a license file of the second application;
A management step of managing the availability of the first application using the license file of the first application, and managing the availability of the second application using a license file of the second application;
An instruction receiving step of receiving an instruction to call the Web application or an instruction to call the second application via the first application;
In the instruction receiving step, when an instruction to call the Web application is received via the first application, the Web server sends the Web application to the Web server based on a URL of the Web application included in the first application. Transmitting a request for access to a URL included in one application ,
The control method according to claim 1, wherein the first application includes a secret key corresponding to a public key used when the Web application verifies a signature .
前記第1のアプリケーション、前記第2のアプリケーションをインストールするインストール工程を、更に有することを特徴とする請求項に記載の制御方法。 The control method according to claim 7 , further comprising an installation step of installing the first application and the second application. 前記第1のアプリケーションのライセンスファイルは、前記第1のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含み、前記第2のアプリケーションのライセンスファイルは、前記第2のアプリケーションの有効期限に関する情報、前記情報処理装置を識別するための識別情報を含むことを特徴とする請求項又は請求項に記載の制御方法。 The license file of the first application includes information on an expiration date of the first application and identification information for identifying the information processing apparatus. The license file of the second application includes the license file of the second application. expiration date information regarding the control method according to claim 7 or claim 8, characterized in that it comprises identification information for identifying the information processing apparatus. 前記指示受け工程で、前記第2のアプリケーションの呼び出しの指示を受け付けた場合に前記第2のアプリケーションを呼び出す呼び出し工程を、更に有することを特徴とする請求項乃至の何れか1項に記載の制御方法。 Wherein an instruction receiving step, according to any one of claims 7 to 9 calls step of invoking the second application when receiving an instruction to call the second application, and further comprising Control method. 前記指示受け工程で、前記第1のアプリケーションを介して、前記Webアプリケーションの呼び出しの指示を受け付けた場合、前記Webブラウザに、前記第1のアプリケーションに含まれるURLを設定して、前記Webブラウザにウィンドウを切り替え、前記指示受け工程で、前記第2のアプリケーションの呼び出しの指示を受け付けた場合、前記第2のアプリケーションにウィンドウを切り替える切り替え工程を、更に有することを特徴とする請求項乃至10の何れか1項に記載の制御方法。 In the instruction receiving step, when an instruction to call the Web application is received via the first application, a URL included in the first application is set in the Web browser, and the URL is set in the Web browser. switch windows, in the instruction receiving step, when receiving an instruction to call the second application, a switching step of switching the window to the second application, the claims 7 to 10, characterized by further comprising The control method according to claim 1. 前記情報処理装置は、画像形成装置であることを特徴とする請求項乃至11の何れか1項に記載の制御方法。 The information processing apparatus control method according to any one of claims 7 to 11, characterized in that the image forming apparatus. コンピュータを、請求項1乃至のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。 Program for causing a computer to function as each unit of the information processing apparatus according to any one of claims 1 to 6.
JP2018233705A 2018-12-13 2018-12-13 Information processing apparatus, control method therefor, and program Active JP6667605B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018233705A JP6667605B2 (en) 2018-12-13 2018-12-13 Information processing apparatus, control method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018233705A JP6667605B2 (en) 2018-12-13 2018-12-13 Information processing apparatus, control method therefor, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014150134A Division JP6463023B2 (en) 2014-07-23 2014-07-23 Information processing apparatus, control method therefor, and program

Publications (2)

Publication Number Publication Date
JP2019079549A JP2019079549A (en) 2019-05-23
JP6667605B2 true JP6667605B2 (en) 2020-03-18

Family

ID=66627969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018233705A Active JP6667605B2 (en) 2018-12-13 2018-12-13 Information processing apparatus, control method therefor, and program

Country Status (1)

Country Link
JP (1) JP6667605B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4332344B2 (en) * 2001-12-28 2009-09-16 株式会社Access Expiration date management method, expiration date management system, and management server
JP4994909B2 (en) * 2007-03-26 2012-08-08 キヤノン株式会社 Program management apparatus and method
JP5454035B2 (en) * 2009-09-15 2014-03-26 株式会社リコー Image processing apparatus, remote management system, license update method, and license update program
JP2011253474A (en) * 2010-06-04 2011-12-15 Canon Inc User apparatus identification method and information processing system
JP2012185651A (en) * 2011-03-04 2012-09-27 Canon Inc Information processor, information processing system, information processor control method and program

Also Published As

Publication number Publication date
JP2019079549A (en) 2019-05-23

Similar Documents

Publication Publication Date Title
JP6463023B2 (en) Information processing apparatus, control method therefor, and program
JP6872867B2 (en) Information processing device and application management method
US20090241107A1 (en) License file issuance apparatus, image processing apparatus, license file issuance method, application installation method, and storage medium
US10305961B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium storing program
US10185523B2 (en) Information processing system, information processing apparatus and control method therefor, and program for preventing inconsistency of a setting
JP6758999B2 (en) Information processing system, information processing device and its control method, and program
JP2014081779A (en) Device management system, peripheral device, and control method therefor
US10713098B2 (en) Information processing apparatus and cookie information management method
CN112954128B (en) Image processing apparatus and control method executed by the image processing apparatus
JP6667605B2 (en) Information processing apparatus, control method therefor, and program
JP6527316B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM
JP2006318098A (en) Server device, system, and control method of server device
JP5175629B2 (en) Activation system
JP2017170642A (en) Information processing system, information processing device, information processing method, and program
JP6772009B2 (en) Information processing equipment and control methods in the information processing equipment, and programs and image processing equipment
JP4652016B2 (en) Application program, server computer, license key issuing program, license key issuing device, and license key issuing system
JP5285970B2 (en) Key management server device
JP2018055569A (en) Information processing apparatus and controlling method therefor, and program
JP2005309899A (en) Image processing service mediating apparatus, image processing service mediating program, and image processing service mediating method
JP5745013B2 (en) Image processing system, image processing apparatus, control method in image processing system, control method for image processing apparatus, and program
JP7242430B2 (en) Systems, network devices, control methods and programs
JP6950781B2 (en) Information processing system, information processing device, information processing method, and program
JP5091777B2 (en) Image forming apparatus, key management server apparatus, and deactivation system
JP2020091544A (en) Information processing device, control method thereof, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200225

R151 Written notification of patent or utility model registration

Ref document number: 6667605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151