JP6772009B2 - Information processing equipment and control methods in the information processing equipment, and programs and image processing equipment - Google Patents
Information processing equipment and control methods in the information processing equipment, and programs and image processing equipment Download PDFInfo
- Publication number
- JP6772009B2 JP6772009B2 JP2016184689A JP2016184689A JP6772009B2 JP 6772009 B2 JP6772009 B2 JP 6772009B2 JP 2016184689 A JP2016184689 A JP 2016184689A JP 2016184689 A JP2016184689 A JP 2016184689A JP 6772009 B2 JP6772009 B2 JP 6772009B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- application
- identification information
- information
- web
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理装置および、情報処理装置における制御方法およびプログラムと画像処理装置に関するものである。 The present invention relates to an information processing apparatus, a control method and a program in the information processing apparatus, and an image processing apparatus.
近年、画像処理装置にソフトウェアをインストールして機能を拡張させる環境が整備されてきている。このようなソフトウェア(本体アプリ)は外部のサービスと連携し、画像処理装置の機能を拡張することが可能になっている。従来技術として、画像処理装置が、外部サービスにアクセスする際に、外部サービスを認証して、認証された外部サービスのみ、利用することが提案されている(特許文献1参照)。 In recent years, an environment has been developed in which software is installed in an image processing device to expand its functions. Such software (main body application) can be linked with an external service to expand the functions of the image processing device. As a prior art, it has been proposed that when an image processing apparatus accesses an external service, the external service is authenticated and only the authenticated external service is used (see Patent Document 1).
特許文献1で開示している方法では、外部サービスにアクセスする際に、外部サービスを認証しているため、例えば、外部サービス(Webアプリ)による情報処理装置の利用はしないが、外部サービス(Webアプリ)にアクセスして画面情報を取得するというようなことができなかった。また、Webブラウザーから外部サービスにアクセスすることを想定した場合、閲覧だけを行うWebページ(例えば、企業のポータルサイト)にアクセスできないという課題があった。
本発明は、上記問題に鑑みてなされたものである。外部サービスへのアクセスは可能にしながら、外部サービスによる情報処理装置の利用を管理することを、本発明の目的とする。
In the method disclosed in Patent Document 1, since the external service is authenticated when accessing the external service, for example, the information processing device is not used by the external service (Web application), but the external service (Web) is used. I couldn't access the app) to get screen information. Further, when it is assumed that an external service is accessed from a Web browser, there is a problem that a Web page (for example, a corporate portal site) that is only viewed cannot be accessed.
The present invention has been made in view of the above problems. An object of the present invention is to control the use of an information processing device by an external service while enabling access to the external service.
上記目的を達成するために本発明は以下の構成を有する。
すなわち、接続された外部のサーバーに対してサービスを要求できるサービス要求手段と、
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供手段と、
前記サービス提供手段によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持手段と
を有し、
前記サービス提供手段は、サービス要求元にサービスの提供が許可されているかを、前記保持手段により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求手段は、さらに、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置が提供される。
In order to achieve the above object, the present invention has the following configuration.
That is, a service requesting means that can request a service from a connected external server,
As required by the external server, and service providing means for providing a service to the external server,
It has a holding means configured to be installable and uninstallable, which holds the identification information of the service requester authorized to provide the service by the service providing means.
The service providing means determines whether or not the service requester is permitted to provide the service by referring to the identification information held by the holding means, and if it is determined that the service is permitted, the requested service. Provide,
The service requesting means further provides an information processing device characterized by accessing an external server to acquire and display display screen information.
本発明によれば、外部サービスを変更せずに、外部サービスによる情報処理装置の利用を、情報処理装置に紐づくライセンスに基づき、管理できる。 According to the present invention, the use of the information processing device by the external service can be managed based on the license associated with the information processing device without changing the external service.
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. However, the components described in this embodiment are merely examples, and the scope of the present invention is not limited to them.
[第一の実施形態]
<システム構成例>
図1は、本発明の好適な実施の形態に係る情報処理装置(すなわちコンピューター)である画像処理装置を備える画像処理システムを構成する図である。図1中、Webサーバー100は、外部サービスを提供する情報処理装置である。このWebサーバー100には、サービスとしてのWebアプリケーション1001を有する。すなわち、Webサーバー100はアプリケーションサービスを提供するアプリケーションサーバーということもできる。このアプリケーションサービスは、たとえばMFP110の機能を拡張するようなサービスである。Webアプリケーション1001は、後述のWebブラウザーの指示により、Webブラウザーにコンテンツ情報を送付する。ライセンスサーバー101は、アプリケーションのライセンスを管理する情報処理装置である。ライセンスサーバー101はアプリケーションの情報、アプリケーションに割り当てられているプロダクトキー及びアプリケーションを有効化するライセンスファイルを、図示しない記憶部に保持する。さらにライセンスサーバー101はネットワーク120を介し、図示しない情報処理装置からライセンスファイルの要求を受け付ける手段を有し、要求に応じて要求元にライセンスファイルを送付する機能を有する。管理装置102は画像処理システムの管理を司る情報処理装置である。画像処理システムの管理者は、管理装置102を用い、MFP110の設定・管理や、アプリケーションのインストールを行う。
[First Embodiment]
<System configuration example>
FIG. 1 is a diagram constituting an image processing system including an image processing device which is an information processing device (that is, a computer) according to a preferred embodiment of the present invention. In FIG. 1, the
MFP(複合周辺装置)110は画像形成装置あるいは画像処理装置であり、各種アプリケーションをインストールすることが可能なデバイスである。本実施形態では画像処理装置或いは画像形成装置としているが、各種アプリケーションが動作可能なあらゆる情報処理装置が、本実施形態におけるデバイスになり得る。本実施形態では、説明の簡便のため、プリンター、画像スキャナ等の複数の機能を持つ複合機(MFP)をデバイスの例とする。以降の説明において、MFPとはアプリケーションをインストールする画像処理装置を指す。ネットワーク120はインターネットなどのネットワークである。MFP110は、ネットワーク120を介して、Webサーバー100、管理装置102や図示しない情報処理装置と接続される。
The MFP (multifunction peripheral device) 110 is an image forming device or an image processing device, and is a device on which various applications can be installed. Although the image processing device or the image forming device is used in the present embodiment, any information processing device capable of operating various applications can be the device in the present embodiment. In the present embodiment, for the sake of simplicity of explanation, a multifunction device (MFP) having a plurality of functions such as a printer and an image scanner is used as an example of a device. In the following description, the MFP refers to an image processing device in which an application is installed. The
図2はMFP110の装置構成例を示すブロック図である。図2において、制御部208は、CPU210、ROM211、及びRAM212を含み、MFP110全体の動作を制御する。CPU210は、ROM211に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM212は、CPU210の主メモリ、ワークエリア等の一時記憶領域として用いられる。また、制御部208は、機能部201と接続され、操作表示部202、スキャナ部203、及びプリンター部204の動作を制御する。また制御部208はまた、Webブラウザーなど、インストールされたアプリケーションプログラム(デバイスアプリあるいは単にアプリと呼ぶ。)を実行する。
FIG. 2 is a block diagram showing an example of a device configuration of the
操作表示部202には、タッチパネル機能を有する液晶等の表示部やキーボード等が配置されている。操作表示部202には、Webブラウザー等の画面が表示される。プリンター部204は、制御部208から出力された画像データを印刷する。スキャナ部203は、原稿の画像を読み取って画像データを生成し、制御部208に出力する。インターフェース部206は、制御部208をネットワーク120に接続して外部の情報処理装置(不図示)から印刷用の画像データを受信したり、操作表示部202で表示する画面データを受信したりする。HDD209は、画像データや各種プログラムを記憶する。なお、外部の情報処理装置から受信した印刷用の画像データは、画像メモリ207に一時的に格納され、制御部208を介してプリンター部204により印刷される。
The
<MFP110のソフトウェア構成>
図3(a)は、本実施形態におけるMFP110のソフトウェア構造の一例を示す図である。図3(a)に示される各ソフトウェアは、ROM211あるいはHDD209に格納され、CPU210によって実行されるものとする。
OS(Operation System)層301は、一般的にはリアルタイムOSが使用されるが、Linux(登録商標)等の汎用OSを用いても良い。
JavaVM302は、Java(登録商標)などの仮想マシンであり、アプリケーションの実行環境を提供する。
アプリケーションフレームワーク303は、アプリケーションのライフサイクルを管理する機能を提供する。Native機能部304は、MFP110に組み込まれた機能を提供する。インターフェース部206を介して受信した印刷データに基づき、プリンター部204で印刷を行う機能がNative機能の一例である。インストールされたアプリケーションは、MFP110により提供されるネイティブ機能304を利用できる。図3(a)の例では、アプリケーションとして、Webブラウザー305、インストーラサービス306、連携許可アプリケーション307、サービスプロバイダー308がインストールされている。インストールされたアプリケーションは、必要に応じてアンインストールすることもできる。
Webブラウザー部305(Webブラウザー305とも呼ぶ。)は、MFP110に搭載されたウェブブラウザーを機能させるものである。Webブラウザー部305は、操作表示部202にハイパーテキスト型の情報を表示したり、操作表示部202から入力された操作情報等をWebサーバー100へ送信する等を行うことができる。また、Webブラウザー部305は、Webサーバー100から受信したスクリプトを実行することもできる。このようにWebブラウザー部305は、Webサーバー100や図示しない情報処理装置から受信したHTMLファイルを解析し、解析したHTMLファイルの記述に基づく操作画面を操作表示部202に表示する。また、Webブラウザー部305は、そのリクエスト先をWebアプリケーション1001とすることで、Webアプリケーション1001に対してサービス要求するサービス要求元となる。
<Software configuration of MFP110>
FIG. 3A is a diagram showing an example of the software structure of the
As the OS (Operation System)
JavaVM302 is a virtual machine such as Java (registered trademark), and provides an application execution environment.
The
The Web browser unit 305 (also referred to as a Web browser 305) functions the Web browser mounted on the
インストーラサービス306は、複数のアプリケーションを、アプリケーションフレームワーク303に登録することでインストール処理を行う。インストールされたアプリケーションを有効化するためには、MFP110へのライセンスファイルのインストールを必要とする。ライセンスファイルをインストールしないとアプリケーションは、図示しないアプリケーション管理機能によって動作を停止させられる。インストーラサービス306は、このライセンスのインストールも行う。ライセンスファイルはライセンスサーバー101により発行される。ライセンスファイルには、対象アプリケーションの識別情報と、アプリケーションのインストール先のMFPを識別する情報を埋め込む。MFPを識別する情報とは、例えばMFPのシリアル番号である。他のMFPに対して同じアプリケーションをインストールするには、該当するMFPの識別情報を埋め込んだライセンスファイルのインストールが必要となる。これにより、ソフトウェアの無断複製が防止可能となっている。
The
連携許可アプリケーション307は、インストーラサービス306によってインストールされたアプリケーションであり、MFP110上で様々な機能を提供する。連携許可アプリケーション307はMFP110の外部からダウンロードしてインストールすることが可能である。連携許可アプリケーション307は、操作表示部202を介してユーザーとやり取りを行うことが可能である。また、連携許可アプリケーション307は、Native機能部304を介して、スキャナ部204を使って画像データを生成することも可能である。
サービスプロバイダー308は、Webブラウザー305を介して指示されたジョブの実行を制御する。例えば、Webブラウザー305を介して印刷の指示を受けると、サービスプロバイダー308は、Native機能部304を介し、プリンター部204の制御を行い、印刷ジョブの実行を行うことができる。このようにサービスプロバイダー308は、MFP110の外部たとえばWebアプリケーション1001に対してMFP110の機能をサービス提供するサービス提供部である。
The
The
なお、本実施形態では、JavaVM302、アプリケーションフレームワーク303、インストーラサービス306、Webブラウザー305、連携許可アプリケーション307、サービスプロバイダー308はHDD209に格納されているものとする。また、Native機能304はROM210に格納されているものとする。
In the present embodiment, it is assumed that the
図4−1(a)は、本発明の第一の実施例における画像処理装置(MFP)とWebサーバーのソフトウェア構成例を示すブロック図である。図4−1(a)記載の各機能部は、MFP110が有しているCPU210や、Webサーバー100が有している図示しないCPUが制御プログラムを実行することにより実現される。なお、以下では、画像処理システム特に画像処理装置のソフトウェア構成について説明するが、これらの機能ブロックはハードウェアや、ハードウェアとソフトウェアの組み合わせによって実現されてもよい。
FIG. 4-1 (a) is a block diagram showing a software configuration example of an image processing device (MFP) and a Web server according to the first embodiment of the present invention. Each functional unit shown in FIG. 4-1 (a) is realized by executing a control program by a
Webブラウザー305及びサービスプロバイダー308及び連携許可アプリケーション307のそれぞれは、MFP110が有しているCPU201が制御プログラムを実行することにより実現される。なお、Webブラウザー305とWebサーバー100とは、プロトコルを共有してコンテンツの要求/提供が可能なものであれば他のプロトコルに従うクライアント/サーバーであってもよい。すなわち、Webサーバー100のコンテンツを表示するものに限定するものではない。同様に、Webサーバー100もHTTPプロトコルに従ってリクエスト/レスポンスを送受信するWebサーバーに限定するものではない。したがって、Webブラウザー305は、サーバーと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するクライアントであればよい。ここで、コンテンツとは、MFP110が操作表示部202に表示する表示画面の情報を示す。
Each of the
Webブラウザー305は、通信部421、解析部422、及び画面表示部423を備える。通信部421は、HTTPプロトコルに従って、Webサーバー100のWebアプリケーション110におけるプレゼンテーション部411と通信を行う。より具体的には、通信部421は、Webブラウザー305で表示した操作画面を介して入力される情報をWebアプリケーション110に対するリクエストとして送信する。また、通信部421は、Webアプリケーション110から送信されるレスポンス(処理結果)を受信する。Webブラウザー305がリクエスト送信およびレスポンス受信を行っている相手先であるWebアプリケーション110のアドレス(URL)はWebブラウザー305内部で保持している。相手のURLは、インストール済のアプリケーションや後述のサービスプロバイダー308からの求めに応じ、いつでも提供可能とする。
The
解析部422は、Webアプリケーション1001から受信したレスポンスを解析する。レスポンスの中にはWebブラウザー305に表示すべき操作画面の内容を示す記述であるHTMLデータが含まれている。画面表示部423は、表示制御手段として機能し、解析部422によるHTMLデータ(表示画面情報)の解析結果に基づいて、操作表示部202にHTMLデータやスクリプト等に応じた画面を表示する。
The
サービスプロバイダー308は、通信部431、ジョブ生成部432、コンテンツ生成部433、及び許可URL検証部434を備える。通信部431は、Webアプリケーション1001内のロジック部412から処理依頼を受け付ける。また、通信部431は、MFP110の通信部421からリクエストを受けた場合、後述のコンテンツ生成部433によって生成されたコンテンツ情報(HTMLデータ)をレスポンスとして返す。ジョブ生成部432は、通信部431が受け付けた処理依頼を受け取り、依頼された処理を実行するためのジョブを生成して実行する。コンテンツ生成部433は、通信部431がMFP110の通信部421からリクエストを受けた場合に、Webブラウザー305が画面表示を行うためのコンテンツ情報(HTMLデータ)を生成する。また、コンテンツ生成部433は、動的にコンテンツを生成せず、HDD209等の記憶装置に予め記憶したコンテンツを参照して使用してもよい。許可URL検証部434は、通信部431が処理依頼を受けたときに、依頼元のURLが後述の許可URLと一致するか判定し、一致する場合はジョブ生成部432にジョブの生成を許可する。一致しない場合は、ジョブの生成を許可しない。
The
連携許可アプリケーション307は、MFP110にインストールされたアプリケーションである。連携許可アプリケーション307は、サービスプロバイダー308によるジョブ生成を管理するためにMFP110にインストールされた。連携許可アプリケーション307が有する許可URL441の情報は、他のアプリケーションやサービスプロバイダー308から参照可能な情報であり、許可URL検証部434によって、ジョブの生成許可の判断基準として使われる。これはMFP110の資源を利用する権限を有するWebアプリケーションの識別情報といってもよいし、その利用を認める許可情報といってもよい。
The
<ファイルの内容>
次に図8を用いて、アプリケーションファイルについて説明する。アプリケーションファイルとは、アプリケーションプログラムのファイル(圧縮済みでもよい)およびそのメタデータファイルを含むファイルである。図8において、アプリケーションファイル800は、CABファイルや、JAR(Java(登録商標)ARchive)ファイル、ZIPファイルのように複数のファイルを圧縮した1ファイルで構成されている。アプリケーションファイル800の内部にはマニフェストファイル801、およびアプリケーションプログラム802が含まれる。マニフェストファイル801には、アプリケーション名や、本アプリケーションを一意に識別すためのアプリケーションID、バージョンなどのアプリケーション付属情報を記載する。マニフェストファイル801はインストーラサービス306によって、インストール時に読み込まれる。インストールされたアプリケーションのマニフェストファイル801に記載された情報は、アプリケーションフレームワーク303を介して、他のインストール済アプリケーションや、サービスプロバイダー308から参照可能とする。アプリケーションファイル800内のアプリケーションプログラム802は、第三者によるプログラムの改ざんなどを防止するため暗号化されている。アプリケーションファイル802は、CDなどの記録媒体や、インターネットなどのメディアを介して使用者に配布され、インストール対象のMFPで解読されて実行される。アプリケーションファイル802は復号されたのちにアプリケーションフレームワーク303上にインストールされる。
<File contents>
Next, the application file will be described with reference to FIG. An application file is a file that contains an application program file (which may be compressed) and its metadata file. In FIG. 8, the
本実施形態では、マニフェストファイル801に記述する項目を下記のように定義する。
アプリケーション名8011は、アプケーションの名称を表す。
アプリケーションID8012は、アプリケーションを一意に特定するための識別子を表す。
アプリケーションタイプ8013は、アプリケーションの種別を表す。例えば、値100は、外部サービスからMFPの利用(連携)を許可するために用いられるアプリケーション、すなわち本実施形態における連携許可アプリケーション307を表す。
バージョン8014は、アプリケーションのバージョンを表す。
サービスホスト8015は、サービスを提供しているサーバーのアドレスをURL形式で表す。連携許可アプリケーション307に関しては、本項目に記載されたアドレスが許可URL441である。すなわち、本項目で示されるアドレスのサービスは、当該連携許可アプリケーション307がインストールされたMFPの利用を許可される。本項目はアプリケーション開発者によって、アプリケーション作成時に設定される。
In the present embodiment, the items described in the
The
The application ID 8012 represents an identifier for uniquely identifying the application.
The
図9(a)はアプリケーションを有効にするためにMFP110にインストールするライセンスファイルの一例を示す図である。本実施形態では、ライセンスファイルに記述する項目を以下のように定義する。
図9(a)中、ライセンスID901はライセンスを識別するためにユニークなIDを表す。ライセンスの種類には、起動回数や期間に制限のあるお試しライセンスや、同時起動等の機能に制限がある制限ライセンス、一切の制限のないライセンス等がある。
図9(a)中、アプリケーションID902には、ライセンスの設定対象であるアプリケーションを一意に識別するアプリケーションIDを表す。図9(a)中、有効期間903には本ライセンスが対象とするアプリケーションを使用可能な期間を表す。図9中、デバイスID904は、本ライセンスが対象とするアプリケーションがインストール可能なMFPを一意に識別するデバイスIDを表す。図9(a)中、復号化データ905は、ライセンス対象のアプリケーションの暗号化されたアプリケーションプログラム802を復号するための情報等が格納される。インストーラサービス304は、ライセンスファイル記載の情報に基づきアプリケーションが有効であるか無効であるかを判断する。以下の条件がすべて成り立つときは、アプリケーションのライセンスを有効にするものとする
・ライセンスファイル記載のアプリケーションID902と、対象アプリケーションのマニフェストファイル記載のアプリケーションID8102が一致する。
・ライセンスファイル記載の有効期間903が過ぎていない。
・ライセンスファイル記載のデバイスID904と、インストール対象のMFPから取得したデバイスIDが一致する。
FIG. 9A is a diagram showing an example of a license file installed on the
In FIG. 9A, the
In FIG. 9A, the
-The
-The device ID 904 described in the license file matches the device ID obtained from the MFP to be installed.
<アプリケーションのインストール処理>
次に、図10を参照して、本実施形態におけるアプリケーションのインストール処理の一例について説明する。インストールするアプリケーションのインストールプログラムと、インストールに必要な各種設定値は管理者によって管理装置102に渡されているものとする。この手順でインストールされるアプリケーションには、たとえばサービスプロバイダー308や、Webブラウザー305、連携許可アプリケーション307なども含まれる。
S1000で、管理装置102はMFP110からデバイス識別情報を取得する。デバイス識別情報とは、画像処理装置を一意に識別する情報である。例えば、シリアル番号である。
次にS1001で、管理装置102はライセンスサーバー101にアプリケーション識別情報とデバイス識別情報とを送付する。アプリケーション識別情報とは、アプリケーションID、アプリケーション名、バージョン等である。
次にS1002で、ライセンスサーバー101は予め定められた方法に基づきライセンスファイルを管理装置102に送付する。ライセンスサーバーはS1001で受け取ったアプリケーション識別情報、デバイス識別情報を図9(a)中のアプリケーションID902、デバイスID904に設定し、ライセンスファイルを作成する。作成したライセンスファイルを管理装置102に送付する。
次にS1003で、管理装置102はアプリケーションのインストールプログラムと、S1002で取得したライセンスファイルとを、MFP110のインストーラサービス306に送付する。
次にS1004で、MFP110はインストールする。すなわち、MFP110のインストーラサービス306はS1003で受け取ったインストールプログラムを起動し、アプリケーションファイルを、アプリケーションフレームワーク303に登録する。
次にS1005でMFP110は、インストールしたアプリケーションをアクティベート(有効化)する。すなわち、MFP110のインストーラサービス306は、S1003で取得したライセンスファイル記載の情報と、MFP110のデバイス情報およびS1004でインストールしたアプリケーションの情報との比較を行う。例えば、S1003で取得したライセンスファイル記載のデバイスID905の値と、MFP110から取得したデバイスIDとが異なると、不正のインストールと見做し、アクティベートを失敗とする。アクティベート失敗のときは、アプリケーションフレームワーク303に登録済のアプリケーションは起動をすることができない。同様にS1003で取得したライセンスファイル記載のアプリケーションID903と、S1004でインストールしたアプリケーションのアプリケーションIDが異なるときも、アクティベート失敗とする。
S1005でアクティベートに成功したときはS1006で、MFP110は管理装置102にアクティベーション成功を返す。例えば、管理装置102の図示しないWebブラウザーにアプリケーションの成功を意味する情報を送付することで、管理装置102の図示しないWebブラウザーはインストール成功を管理装置102に通知する。
S1005でアクティベートに成功しなかったときはS1007で、MFP110は管理装置102にアクティベーション失敗を返す。例えば、管理装置102の図示しないWebブラウザーにアプリケーションの失敗を意味する情報を送付することで、ユーザーにインストール失敗を通知する。
Webブラウザーは通常、HTTPリクエストに対するレスポンスを受信する。このことから、管理装置102のWebブラウザーを用いる場合、たとえばS1003の直後にインストールが成功したか失敗したかを示すURLに対するリクエストを管理装置102がMFP110に送信し、それに対する応答としてインストールの失敗/成功を管理装置102に返すよう構成してもよい。また管理装置102にスクリプトを送信し、そのスクリプトによりインストールの失敗/成功を受信させてもよい。もちろんHTTPを用いずにインストール結果を通知してもよい。
<Application installation process>
Next, an example of the application installation process in the present embodiment will be described with reference to FIG. It is assumed that the installation program of the application to be installed and various setting values required for installation have been passed to the
In S1000, the
Next, in S1001, the
Next, in S1002, the
Next, in S1003, the
Next, in S1004, the
Next, in S1005, the
When the activation is successful in S1005, the MFP110 returns the activation success to the
If the activation is not successful in S1005, the MFP110 returns the activation failure to the
The web browser usually receives a response to the HTTP request. From this, when using the Web browser of the
そして、Webアプリケーション101によるサービスプロバイダー308等のデバイスアプリケーションの利用を許可する場合には、Webブラウザー305がWebアプリケーション101にアクセスするためのURLをマニフェストファイル800に記載した連携許可アプリケーション307が登録されている必要がある。連携許可アプリケーション307は、デバイスアプリケーションを利用するWebアプリケーションごとにひとつずつインストールされてもよいし、ひとつの連携許可アプリケーション307のマニフェストファイルに、デバイスアプリケーションを利用する1又は複数のWebアプリケーションのURLを記載してもよい。
Then, when permitting the use of the device application such as the
<画像処理装置における手順>
次に、図5を参照して、本実施形態における画像処理装置における一連の処理について説明する。本シーケンスは、MFP110のWebブラウザー305がユーザーによって起動されることにより開始される。なお、Webブラウザー305とHTTPリクエスト/レスポンスを交換するのはWebサーバー100であり、Webアプリケーション1001はWebサーバー100を介してリクエスト/レスポンスをWebブラウザーと交換する。しかし図5ではWebサーバー100の介在は省略し、Webブラウザー305はWebアプリケーション1001と直接通信しているかのように記載し、また説明する。まず、S500において、Webブラウザー305は、HTTPリクエストをWebサーバー100のWebアプリケーション1001に行う。このときHTTPリクエストの宛先はWebアプリケーション1001ごとに決められたWebアプリケーション対応URLである。リクエストを受けたWebアプリケーション1001は、S501において、Webブラウザー305で表示する画面のHTMLコンテンツ(表示画面情報)をHTTPレスポンスとして返す。例えば、HTTPリクエストが印刷設定画面の要求である場合は、Webアプリケーション1001は、スキャン設定画面表示用のHTMLをレスポンスする。
ユーザーがWebブラウザー305により操作表示部202に表示されたコンテンツを操作すると、S502において、Webブラウザー305は、当該操作に従ってWebアプリケーション1001に対して、サービスプロバイダー308への機能実行を要求するHTTPリクエストを送信する。ここで、例えば、コンテンツの操作としてユーザーがスキャン実行ボタンを押下したのであれば、スキャンの実行を要求するHTTPリクエストをWebブラウザー305はWebアプリケーション対応URLを宛先として送信する。そのリクエストに応じてWebアプリケーション1001は、Webブラウザー305によりスキャンの実行を要求されたと判断する。リクエストには、要求された機能を実行するMFPのサービスプロバイダー308の宛先を示す情報が含まれていてもよい。
<Procedure in image processing device>
Next, a series of processes in the image processing apparatus according to the present embodiment will be described with reference to FIG. This sequence is started when the
When the user operates the content displayed on the
S503において、Webアプリケーション1001は、Webブラウザー305に対して、画面表示用のHTMLコンテンツをレスポンスする。ここでレスポンスするコンテンツは、処理実行中をユーザーに知らせるHTMLコンテンツである。
S504において、Webアプリケーション1001は、サービスプロバイダー308に機能実行指示を行う。例えば、S502でユーザーによってスキャン実行の指示をされた場合は、サービスプロバイダー305にスキャンの指示を行う。この機能実行指示の送信は、ロジック部412とサービスプロバイダー308との間であるので、HTTPでなくともよい。あるいはサービスプロバイダー308にWebサーバー機能を持たせ、HTTPリクエストとして送信してもよい。また、Webアプリケーション1001はMFP110による要求に応じてアプリケーションサービスを提供するので、Webアプリケーション1001がMFPによるサービスを必要とする場合には、アプリケーションサービスの要求元のMFPに対してサービスを要求するものとする。すなわち、Webアプリケーション1001に対するサービス要求元のMFPが、Webアプリケーション1001によるサービス要求先のMFPとなる。
S505において、サービスプロバイダー308は、Webブラウザー305から接続URLを取得する。すなわち、直前のS503でレスポンスを送信したWebアプリケーション1001のURLを取得する。
次にS506において、サービスプロバイダー308は、連携許可アプリケーション307が保持する許可URLを取得する。
次にS507において、サービスプロバイダー308は、S505およびS506で取得したURLが一致するか判定する。
S507で一致すると判定したときはS508において、サービスプロバイダー308はジョブを実行する。例えば、S502でユーザーによってスキャン実行の指示をされた場合は、スキャンのジョブを生成し、スキャンを実行する。スキャンにより生成された画像データは、ジョブ実行要求に応じて、たとえばWebアプリケーション101に送信されたり、あるいはMFP110の格納部に格納されたりする。
S507で一致すると判定しなかったときはS509において、サービスプロバイダー308は、Webアプリケーション1001にエラーを通知する。例えば、ライセンス違反を意味するエラーコード情報を、予め定められた方法で通知する。
In S503, the
In S504, the
In S505, the
Next, in S506, the
Next, in S507, the
When it is determined in S507 that they match, the
If it is not determined in S507 that they match, the
上記例では機能としてスキャンを用いたが、サービスプロバイダー308を介してWebアプリケーション101に対して提供される機能であればどのような機能にも上記手順は適用可能である。
In the above example, scanning is used as a function, but the above procedure can be applied to any function provided to the
<サービスプロバイダーによる処理手順>
次に、図6を用いてサービスプロバイダー308の基本フローを説明する。なお、以下で説明する処理は、CPU210でHDD209等の記憶装置から読みだしたプログラムを実行することで実現される。
S601で、サービスプロバイダー308は、Webアプリケーション1001からジョブ実行の指示を受け付ける(図5のS504に相当)。ジョブに関する詳細情報は、Webアプリケーションからサービスプロバイダー308に適宜伝わっているものとする。
次にS602で、サービスプロバイダー308は、Webブラウザー305から接続先URLを取得する。本ステップは図5におけるS505に相当する。
次にS603で、サービスプロバイダー308は、連携許可アプリケーション307から許可URLを取得する。本ステップは図5におけるS506に相当する。
S604で、サービスプロバイダー308は、URLが一致するか判断する。すなわち、S602およびS603で取得した2つのURLが同じ場合は、URLが一致すると判断する。本ステップは図5におけるS507に相当する。
S604でURLが一致すると判断したときは、S605でサービスプロバイダー308は、ジョブを実行する。すなわちS601でWebアプリケーション1001から指示されたジョブを実行する。本ステップは図5におけるS508に相当する。
S604でURLが一致しないと判断したときは、S606でサービスプロバイダー308は、Webアプリケーション101に対してエラー通知する。すなわち、S601で受け付けたジョブ実行指示の送付元であるWebアプリケーション1001に、予め定められた方法を用いてエラー情報を通知する。本ステップは図5におけるS509に相当する。
<Processing procedure by service provider>
Next, the basic flow of the
In S601, the
Next, in S602, the
Next, in S603, the
In S604, the
When it is determined in S604 that the URLs match, the
When it is determined in S604 that the URLs do not match, the
以上説明したように、第一の実施の形態における画像処理システムでは、Webアプリケーションからの画像処理装置の利用を簡単に管理できる。すなわち、Webアプリケーションから画像処理装置へのジョブ実行指示があった場合、該当WebアプリケーションのURLを持つ連携許可アプリケーションがインストール済の場合に限り、ジョブを実行することができる。特定のWebアプリケーションに画像処理装置の利用を許可したいときは、該当WebアプリケーションのURLを持つ連携許可アプリケーションをインストールすることで利用許可することが可能となる。また、利用を許可から不許可にしたいときは、インストール済の該当アプリケーションをアンインストールすれば、不許可にするこができる。WebブラウザーやWebアプリケーションおよびWebサーバーに特別な変更を施すことないため、画像処理装置からWebアプリケーションへの通信や、画像処理装置の利用を伴わないWebアプリケーションからの通信は制限されない。 As described above, in the image processing system according to the first embodiment, the use of the image processing device from the Web application can be easily managed. That is, when a job execution instruction is given from the Web application to the image processing device, the job can be executed only when the cooperation permission application having the URL of the corresponding Web application is already installed. When it is desired to permit the use of the image processing device to a specific Web application, the use can be permitted by installing the cooperation permission application having the URL of the corresponding Web application. Also, if you want to disallow the use from permission, you can disallow it by uninstalling the installed application. Since no special changes are made to the Web browser, Web application, and Web server, communication from the image processing device to the Web application and communication from the Web application that does not involve the use of the image processing device are not restricted.
以上はジョブの実行に限らない。Webアプリケーションから画像処理装置の資源を利用する場合には、利用が許可されたWebアプリケーションの識別情報(例えばURL)を有する連携許可アプリケーションを画像処理装置にインストールしておく。サービスプロバイダーは、その連携許可アプリケーションの持つ識別情報を参照することで、Webアプリケーションが画像処理装置の資源にアクセスする権限を持つか否かを判断できる。またサービスとしてスキャンを例に挙げたが、MFP110により提供できるプリンターの機能や、スキャンおよびプリンターの両方の機能、ファクシミリやデータ保管ボックスなどの機能を提供することもできる。
The above is not limited to job execution. When using the resources of the image processing device from the Web application, the cooperation permission application having the identification information (for example, URL) of the Web application permitted to be used is installed in the image processing device. The service provider can determine whether or not the Web application has the authority to access the resources of the image processing device by referring to the identification information of the cooperation permission application. In addition, although scanning is taken as an example as a service, it is also possible to provide printer functions that can be provided by the
[第二の実施形態]
画像処理装置を利用するWebアプリケーションが増えると、その都度、連携許可アプリケーションのインストールが必要になり、管理者による管理工数を増大させることとなる。画像処理システムに特別な権限を用意し、この特別な権限を持つシステムでは、連携許可アプリケーションがなくともWebアプリケーションから画像処理装置の利用を許可する改良が考えられる。説明の簡便のため、第一の実施の形態と異なる点のみ説明する。図4−1(b)、図7、図9(b)を用いて説明する。
[Second Embodiment]
As the number of Web applications that use the image processing device increases, it is necessary to install the cooperation permission application each time, which increases the management man-hours by the administrator. An improvement is conceivable in which a special authority is prepared for the image processing system, and in the system having this special authority, the use of the image processing device is permitted from the Web application even if there is no cooperation permission application. For the sake of simplicity, only the points different from the first embodiment will be described. This will be described with reference to FIGS. 4-1 (b), 7 and 9 (b).
Webブラウザー305のライセンスファイルによって特別な権限を付与する例を説明する。Webブラウザー305と共にインストールされたライセンスファイルのライセンスIDによって、画像処理システムに付与する権限を指定することができる。図9(b)は特別な権限を持つWebブラウザー305のライセンスファイルの一例である。ライセンスID911は、特別な権限を意味する値が設定されている。この特別な権限を示すライセンスファイルと共にWebブラウザー305をインストールされた画像処理装置110は特別な権限を持つものとする。特別な権限(以下、特別権限と呼ぶ。)とは、画像処理装置110を利用するWebアプリケーション1001に制限を設けないというものである。つまり、この特別な権限を有するアプリケーション、特にWebブラウザー305からリクエストによりサービスを提供するWebアプリケーション1001は、どんなWebアプリケーションでも画像処理装置110を利用することができ、利用にあたり連携許可アプリケーション305のインストールを必要としない。
An example of granting special authority by the license file of the
<ソフトウェア構成例>
図4−1(b)は、本発明の第二の実施例における画像処理装置(MFP)とWebサーバーのソフトウェア構成例を示すブロック図である。
ライセンス検証部435は、通信部431がWebアプリケーション1001から処理依頼を受けたときに、Webブラウザー305のライセンスが、Webアプリケーション1001から画像処理装置110を使わせるための特別権限であるか判定する。特別権限がある場合はジョブ生成部432にジョブの生成を許可する。特別権限がない場合は、許可URL検証部434にジョブの生成を許可判定させる。これは第1実施形態で説明した通りである。Webブラウザー305のライセンスは、アプリケーションフレームワークを介して、他のインストール済アプリケーションや、サービスプロバイダー308から参照可能とする。
<Software configuration example>
FIG. 4-1 (b) is a block diagram showing a software configuration example of an image processing device (MFP) and a Web server according to a second embodiment of the present invention.
When the
<サービスプロバイダーの基本フロー>
図7は、第二の実施例におけるサービスプロバイダー308の基本フローである。S601〜606は、図6のフローにおけるS601〜606と同じである。
S601でサービスプロバイダー308は、Webアプリケーション1001からジョブ実行指示を受け付ける。なお図7の手順はジョブ実行指示の受信をきっかけに開始されてもよい。それは図6も同様である。
S701でサービスプロバイダー308は、特別権限があるか判定する。すなわち、サービスプロバイダー308は、Webブラウザー305のライセンスファイルのライセンスID911を調べ、特別権限を意味する値が設定されている場合は、特別権限があると判断する。
S701でWebブラウザー305に特別権限があると判断したときは、S605でサービスプロバイダー308はWebアプリケーション1001から指示されたジョブを実行する。
S701で特別権限があると判断しなかったときは、図6のS602〜S606の処理を実行する。このように、S701において、実施形態1で説明した連携許可の判定以前に、本実施形態では特別権限を優先的に判定し、特別権限があればサービスの提供を許可する。
説明の簡便のため、画像処理システムの特別権限の判断手段としてライセンスファイルによるものを例にとり説明したが、これに限られるものではない。Webブラウザーの製品名やバージョンによって判断してもよい。また、Webブラウザーではなく、他の機能を有するアプリケーションのライセンスを特別権限の判断基準にしてもよい。
<Basic flow of service provider>
FIG. 7 is a basic flow of the
In S601, the
In S701,
When it is determined in S701 that the
When it is not determined in S701 that the person has special authority, the processes S602 to S606 of FIG. 6 are executed. As described above, in S701, prior to the determination of the cooperation permission described in the first embodiment, the special authority is preferentially determined in the present embodiment, and if there is the special authority, the provision of the service is permitted.
For the sake of simplicity, the license file is used as an example to determine the special authority of the image processing system, but the description is not limited to this. It may be judged by the product name and version of the Web browser. Further, the license of the application having other functions may be used as the criterion for determining the special authority instead of the Web browser.
以上説明した通り、第二の実施の形態における画像処理システムでは、連携許可アプリケーションをインストールすることなく、Webアプリケーションから画像処理装置利用の許可することができる。よって、特別権限を持つ画像処理システムでは、Webアプリケーション毎に連携許可アプリケーションのインストールの必要がなくなり、管理者のアプリケーション管理負荷が軽減する。 As described above, in the image processing system according to the second embodiment, the use of the image processing device can be permitted from the Web application without installing the cooperation permission application. Therefore, in the image processing system having special authority, it is not necessary to install the cooperation permission application for each Web application, and the application management load of the administrator is reduced.
[第三の実施形態]
第一の実施形態ではWebアプリケーションに接続するためにステップS500でWebアプリケーション101ごとに決められたWebアプリケーション対応URLに対してHTTPリクエストを行う必要があった。しかし、接続しようとするWebアプリケーション対応URLが連携許可されているか否か(Webアプリケーション対応URLに対応する連携許可アプリケーションがインストールされているか否か)は、図5のシーケンスにおけるステップS507まで実施しないと分からない。また、ユーザーは、Webアプリケーション101ごとに決められたWebアプリケーションURLをあらかじめ知っておく必要がある。そこで、本実施形態では、連携許可アプリケーションにWebアプリケーションへの接続機能を持たせる改良を、実施形態1あるいは実施形態2で説明した構成に施す。本実施形態でも、システム構成およびMFPのハードウェア構成は図1、図2にそれぞれ示したとおりであり、それに関しては、実施形態1と同様であるため説明を省略する。
[Third Embodiment]
In the first embodiment, in order to connect to the Web application, it is necessary to make an HTTP request to the Web application corresponding URL determined for each
図3(b)は、図3(a)と同様に、本実施形態におけるMFP110のソフトウェア構造の一例を示す図である。図3(a)との差異点は、複数の連携許可アプリケーション450,460が存在する点と、メニューアプリ310が存在する点である。なお以下の説明では連携許可アプリケーション450について説明するが、連携許可アプリケーション460あるいは他の連携許可アプリケーションについても同様である。
FIG. 3B is a diagram showing an example of the software structure of the MFP110 according to the present embodiment, similarly to FIG. 3A. The difference from FIG. 3A is that there are a plurality of
<MFPとWebサーバーのソフトウェア構成例>
図4−2は、本発明の第三の実施例における画像処理装置(MFP)とWebサーバーのソフトウェア構成例を示すブロック図である。なお、特に記載がない場合は、前述の図4−1(a),図4−1(b)と構成やブロックは、同じ役割を持つ。前述した図4−1と図4−2の違いは、連携許可アプリケーションの中に、WebアプリケーションのURLを複数保持することが可能である点である。図4−2の連携許可アプリケーション450は、許可URL441とWebアプリケーション対応URL451というふたつのURLを保持する。許可URL441は、第一の実施形態で説明したように連携許可された、すなわちMFP110の資源へのアクセスが許可されたWebアプリケーションか否かを確認するために使用するURLである。Webアプリケーション対応URL451は、Webアプリケーションの入り口となるトップページのURL(以降、トップページURLとも呼ぶ)である。また、トップページURLは、許可URL441と同様、連携許可されたWebアプリケーションか否かを確認するためにも使用する場合がある。ふたつのURLのうち、Webアプリケーション対応URL451は必須である。Webアプリケーション対応URLと許可URLのドメインとパスが同じ場合、許可URL441は省略することが可能である。すなわち、Webアプリケーション対応URL451のみが含まれている場合には、Webアプリケーション対応URL451は許可URLでもあると判断できる。一方、Webアプリケーション対応URLと許可URLのドメインやパスが異なる場合、許可URLは省略できない。例えば、トップページを認証のためのサブドメイン(例:auth.mysite.org)、Webアプリケーションを専用のサブドメイン(例:app1.mysite.org)で提供する場合、Webアプリケーション対応URL(すなわちトップページURL)と許可URLを両方指定しておく必要がある。
<Software configuration example of MFP and Web server>
FIG. 4-2 is a block diagram showing a software configuration example of an image processing device (MFP) and a Web server according to a third embodiment of the present invention. Unless otherwise specified, the configurations and blocks have the same roles as those in FIGS. 4-1 (a) and 4-1 (b). The difference between FIGS. 4-1 and 4-2 described above is that it is possible to hold a plurality of URLs of the Web application in the cooperation permission application. The
<連携許可アプリケーション450のソフトウェア>
図18は実施形態に係る連携許可アプリケーション450のソフトウェアモジュールの構成を示す図である。ここでも説明は連携許可アプリケーション450を対象とするが、他の連携許可アプリケーションも同様である。連携許可アプリケーション450は、Webアプリごとに必要となる設定情報をマニフェストファイル1801に保持する。つまり、ひとつのWebアプリに対して、ひとつの連携許可アプリケーションが必要となる。MFP110には、使用するWebアプリに応じた連携許可アプリケーションをインストールする。複数のWebアプリを使用する場合、複数の連携許可アプリケーションをMFP110にインストールする。その場合、複数の連携許可アプリケーションは、ひとつのWebブラウザー305を共有して使用することになる。図18に提示したこれらソフトウェアモジュールは、MFP110のHDD209に格納され、実行時にはRAM212に展開されてCPU210により実行される。
<Software of
FIG. 18 is a diagram showing a configuration of a software module of the
マニフェストファイル1801は、連携許可アプリケーション450の基本情報とWebアプリへ接続するための情報を記述したファイルである。このマニフェストファイル1801に許可URL441およびWebアプリケーション対応URL451が登録されている。メニューアプリ連携部1811からWebブラウザー連携部1812に、マニフェストファイル1801に登録されたWebアプリのトップページURL8016(図11(a)参照)を伝えて、Webブラウザー305内で動作するアプリが動作を開始できるようにする。なおトップページURL8016が、Webアプリケーション対応URL451に相当する。またサービスホスト8015は、許可URL441に相当する。
The
図11で、連携許可アプリケーションのアプリケーションファイル800について説明する。図11(a)、図11(b)は、図8の一部を変更した図である。アプリケーションファイル800に含まれたマニフェストファイル801,802は、図18に示したマニフェストファイル1801に相当する。なお、本説明では図8との差異についてのみ説明する。図11(a)は、サービスホスト(すなわち許可URL)8015とトップページURL(すなわちWebアプリケーション対応URL)8016が同一のサイトに配置されている例である。例えば、スキャンした文書を格納するサイト(のトップページURL)とその文書に対する処理(例として、ファイル形式の変換処理や、画像解像度の変換処理等)をおこなうサイト(サービスホスト)が同一なケースを想定している。なお、本例の場合、サービスホスト8015とトップページURL8016が同一のサイトなのでサービスホスト8015を省略可能である。図11(a)において、トップページURL8016は、サービスを提供しているサーバーのWebアプリケーションのトップページのアドレスをURL形式で表す。図4−2の連携許可アプリケーション450に関しては、本項目に記載されたアドレスがWebアプリケーション対応URL451である。一方で、図11(b)が、サービスホスト8025とトップページURL8026が別のサイトに配置されている例である。例えば、トップページURL8026のサイトで認証を行った後に、サービスホスト8025が別のサイトで処理を継続するような場合を想定している。なお、本例の場合、サービスホスト8015とトップページURL8016が異なるサイトに配置されているのでサービスホスト8015を省略することは不可である。
FIG. 11 describes the
<連携許可アプリケーションのインストール処理>
図10のステップS1004およびS1005における、連携許可アプリケーションのインストール時、および、アクティベートとして、メインメニューにボタンを登録するフローを、図15を使って補足説明する。
<Installation process of cooperation permission application>
The flow of registering a button in the main menu at the time of installation and activation of the cooperation permission application in steps S1004 and S1005 of FIG. 10 will be supplementarily described with reference to FIG.
図15は、MFP110が行う連携許可アプリケーションのインストール処理を説明するためのフローチャートである。MFP110のHDD209に記憶されているプログラムを、CPU210がRAM212に読み出し、解析、実行することで、図15のフローチャートの各ステップが実行される。
FIG. 15 is a flowchart for explaining the installation process of the cooperation permission application performed by the
事前準備として、連携許可アプリケーション購入者は、前述したように、暗号化された連携許可アプリケーションとライセンスアクセス番号を連携許可アプリケーションの販売者から受け取り、ライセンスサーバー101からライセンスファイルを受け取っているものとする。
As a preliminary preparation, it is assumed that the purchaser of the cooperation permission application receives the encrypted cooperation permission application and the license access number from the seller of the cooperation permission application and receives the license file from the
先ずインストーラサービス306は、連携許可アプリケーション購入者が操作するPC140からインストールの指示として暗号化された連携許可アプリケーションと、暗号化されたライセンスファイルを受け取る(ステップS1501)。インストーラサービス306は、受け取った連携許可アプリケーションとライセンスファイルを復号する。(ステップS1502)。
First, the
インストーラサービス306は、ライセンスファイルと連携許可アプリケーションが両方とも復号できたかどうかをチェックする(ステップS1503)。インストーラサービス306は、両方とも復号できた場合はステップS1504へ処理を進める。インストーラサービス306は、どちらか一方または両方とも復号できなかった場合はエラーを通知(ステップS1510)して処理を終了する。
The
ステップS1504で、インストーラサービス306は、復号したライセンスファイルに記載されているデバイスIDと、MFP110に予め設定されているデバイスIDとを比較し、そのMFP110に適合した正しいライセンスファイルかどうかを判定する。インストーラサービス306は、ライセンスファイルが正しいと判定すると、ステップS1505に処理を進める。インストーラサービス306は、正しいライセンスファイルでないと判定すると、エラーを通知(ステップS1510)して処理を終了する。
In step S1504, the
次にインストーラサービス306は、復号した連携許可アプリケーションとライセンスファイルをHDD209に保存する。続けてインストーラサービス306は、HDD209に保存した連携許可アプリケーションをRAM212に読み出し、起動する(ステップS1507)。起動した連携許可アプリケーションは、メニューアプリ310に連携許可アプリケーションを呼び出すためのGUIボタン(あるいはアイコン)を登録する(ステップS1508)。
Next, the
図16は、実施形態に係るMFP110に二つの連携許可アプリケーションをインストールした状態で、MFP110のメニューアプリ310を呼び出したときに操作表示部202に表示されるGUIの一例を示す図である。GUIボタン1601、1602、1603は、MFP110に最初から備わっているアプリケーションを呼び出すためのGUIボタンである。GUIボタン1604とGUIボタン1605は、ともに連携許可アプリケーションを呼び出すためのGUIボタンである。図16に示したように、連携許可アプリケーションごとにGUIボタンが表示される。GUIボタン1606は、連携許可アプリケーションとは別のMFP上で動作するアプリケーションを呼び出すためのGUIボタンである。図16に示したようにメニューアプリ310はアプリケーションの種類を区別せずにGUIボタンを表示する。
FIG. 16 is a diagram showing an example of a GUI displayed on the
<MFPによるWebアプリの利用シーケンス>
図13は、MFP110からWebアプリを利用する際の一連の処理の流れを示したシーケンス図である。ここでは例としてメニューアプリ310が表示したGUIボタン1605がユーザーによって選択された場合の処理を説明する。
<Web application usage sequence by MFP>
FIG. 13 is a sequence diagram showing a flow of a series of processes when using the Web application from the
最初にMFP110のメニューアプリ310はユーザーによるGUIボタン1605の押下を受け付けると、GUIボタン1605に対応した連携許可アプリケーション450を呼び出す(ステップS1301)。呼び出された連携許可アプリケーション450は連携許可アプリケーション450のマニフェストファイル1801に定義された情報(例えばトップページURL8016)に基づいてWebアプリのトップページを呼び出すために必要な情報を作成する(ステップS1302)。続いて連携許可アプリケーション450は、Webブラウザー305を用いて、ステップS1302で作成した情報に基づきWebアプリのトップページを呼び出す(ステップS1303)。
First, when the
呼び出しを受けて、Webサーバー100は、呼び出しに対する検証を行う(ステップS1304)。呼び出しに対する検証として、例えば、存在するURLの呼び出しか否か、や、ブラウザーのバージョンチェックなどを行う。検証の結果を踏まえて、Webサーバー100は、呼び出しに対する応答をMFP110(Webブラウザ305)に対して返す(ステップS1305)。検証の結果がOK(すなわち成功)であれば、Webサーバー100は次の操作に必要な画面を構成するためのHTMLコンテンツを応答する。一方検証が不首尾に終わった場合には、その旨のメッセージを応答する。
Upon receiving the call, the
Webブラウザー305は受け取ったHTML(あるいは不首尾メッセージ)をレンダリングし、操作部111に画面を表示する(ステップS1306)。検証が成功した場合、次にWebブラウザー305は、ユーザーの画面操作指示を受け取る(ステップS1307)と、それに対応するリクエストをHTTPプロトコルでWebサーバー100へ送信する(ステップS1308)。
The
リクエストを受け取ったWebサーバー100は、リクエストに対する処理を行い(ステップS1309)、処理結果にもとに次の画面を構成するためのHTMLコンテンツをMFP110(Webブラウザ305)へ応答する(ステップS1310)。以降、ステップS1306からステップS1310を繰り返すことで、Webアプリの処理および画面遷移を実現する。
The
図12で、本実施形態における画像処理装置における一連の処理について説明する。図5のシーケンスを本実施形態に合わせて一部変更したものである。そのため、本説明では、差異についてのみ説明を行う。なお図12は、図13のシーケンスをソフトウェアモジュールごとの動作として示し、かつ、Webアプリケーション101からMFP110の資源を利用する場合について詳述した図である。S1201では、連携許可アプリケーション450からWebブラウザー305にトップページURLを伝える。トップページURLに関する説明は、図4−2の説明で前述したため、本説明では説明を割愛する。S504でジョブ実行要求を受信したサービスプロバイダー308は、S1202において、連携許可アプリケーション450が保持する許可URL441とトップページURLとしてのWebアプリケーション対応URL451を取得する。サービスプロバイダー308は、許可URLを取得できた場合には、S505で取得した接続先URLと比較し、一致していれば、要求されたジョブを実行する。一方、取得したURLに許可URL441が含まれていない場合には、Webアプリケーション対応URL451とS505で取得した接続先URLと比較し、一致していれば、要求されたジョブを実行する。一致していなければWebアプリケーション101にエラーを通知する。
FIG. 12 describes a series of processes in the image processing apparatus according to the present embodiment. The sequence of FIG. 5 is partially modified according to the present embodiment. Therefore, in this description, only the difference will be described. Note that FIG. 12 is a diagram detailing a case where the sequence of FIG. 13 is shown as an operation for each software module and the resources of the
<連携許可アプリケーションによるトップページの呼び出し処理>
図17は、連携許可アプリケーションがWebアプリのトップページを呼び出す際の処理を説明するためのフローチャートである。MFP110のHDD204に記憶されているプログラムを、CPU201がRAM203に読み出し、解析、実行することで、図17のフローチャートの各ステップが実行される。
<Call processing of top page by cooperation permission application>
FIG. 17 is a flowchart for explaining a process when the cooperation permission application calls the top page of the Web application. Each step of the flowchart of FIG. 17 is executed by the
図17のフローチャートは、図13のステップS1301からステップS1303の処理を詳細に説明したものである。図13のステップS1301は、図17ではステップS1701に相当する。図13のステップS1302は、図17ではステップS1702からステップS1705に相当する。図13のステップS1303は、図17ではステップS1706に相当する。扱いを検討する
図17において、連携許可アプリケーション450のメニューアプリ連携部1811は、ユーザーによるGUIボタン押下を受け取ったメニューアプリ310からの呼び出し指示を受け取る(ステップS1701)。次にWebブラウザー連携部812は、マニフェストファイル1801からWebアプリの情報であるトップページURL8016(図11(a)参照)を取得する(ステップS1702)。
The flowchart of FIG. 17 is a detailed description of the processes of steps S1301 to S1303 of FIG. Step S1301 in FIG. 13 corresponds to step S1701 in FIG. Step S1302 in FIG. 13 corresponds to steps S1702 to S1705 in FIG. Step S1303 in FIG. 13 corresponds to step S1706 in FIG. Examining the Handling In FIG. 17, the menu
次にWebブラウザー連携部1812は、取得したトップページURLを接続先としてWebブラウザー305に設定する(ステップS1704)。Webブラウザー連携部1812は、操作部202の表示をメニューアプリ310からWebブラウザー305のGUIウィンドウに切り変える(ステップS1705)。Webブラウザー305は、GUIボタンに対応するWebアプリのトップページを呼び出すため、ステップS1704で設定されたURLへアクセスする(ステップS1706)。
Next, the Web
以上の処理を実行することによって、メニューアプリ310で指示されたGUIボタンに対応する連携許可アプリケーションが、Webアプリのトップページを呼び出すことができる。
By executing the above processing, the cooperation permission application corresponding to the GUI button instructed by the
<サービスプロバイダーの基本フロー>
次に、図14を用いてサービスプロバイダー308の基本フローを説明する。なお、図14は、図6を元にフローを追加したものである。特に説明がないフローについては、図6と同等である。なお本説明では、追加した差異について説明する。図14の手順は、図12のステップS507〜S509に相当する。
<Basic flow of service provider>
Next, the basic flow of the
S1407で、サービスプロバイダー308は、連携許可アプリケーション450から許可URL441とトップページURL(すなわちWebアプリケーション対応URL451)とを取得する。本ステップは図12におけるS1202に相当する。トップページURLについては、図4−2で記載したので省略する。S1408では、サービスプロバイダー308は、URLが2つ存在しないかを判断する。すなわち、S1407で取得したURLが1つ以下かどうかを判断する。もし、1つしかURLが存在しない場合は、S604に進む。もし、2つ以上URLが存在する場合は、S1409に進む。なお、S604、S605、S606に関しては図6と差異がないので説明を省略する。一つもURLが含まれていなければ、S606に分岐する。
In S1407, the
S1409では、サービスプロバイダー308は、Webアプリケーション対応UR451Lもしくは許可URL441のいずれかが一致するかを判断する。もし少なくともいずれか一方が一致している場合は、S605に進む。もしいずれも一致していない場合は、S606に進む。本ステップは図5におけるS1309に相当する。なお、S604およびS1409において、URLを比較する場合は、URLの完全一致ではなく、部分一致の比較とする。具体的には、そのサービスのサイトを識別可能にする文字列が一致するかを比較する。理由としては、本来サイト単位で比較することを期待しているが、URLの完全一致で比較すると、サイトのページ単位で比較されてしまう。そのため、該当のページのみの許可になってしまう。一方で、サービスのサイト単位を識別可能にする文字列を部分一致で比較すれば、該当するサイトかをサイト単位で正しく比較できる。例えば、最上位フォルダまでの比較とする。なお、トップページURLと許可URLのいずれかと接続先URLがマッチすればOKとする。
In S1409, the
以上説明した通り、第三の実施の形態における画像処理システムでは、連携許可アプリケーションにWebアプリケーションへの接続機能を持たせる。そのため、特定の連携許可アプリケーションと特定のWebアプリケーションとが紐づけられ、特定の連携許可アプリケーションを起動することで、対応するWebアプリケーションを利用できる。さらに、連携許可アプリケーションは、それが紐づけられているWebアプリケーションに与えられた、MFPの資源へのアクセス権限を管理している。よって、接続しようとするWebアプリケーション対応URLが連携許可されているか否か(Webアプリケーション対応URLに対応する連携許可アプリケーションがインストールされているか否か)を、サービスプロバイダーによる判定処理(図5のS507)を実施しないでも把握することが可能になる。連携許可アプリケーションにはトップページURLが必ず登録されており、そこに対しては本実施形態では、MFPの資源へのアクセスを許可する。そこで連携許可アプリケーションがインストールされていれば、それに紐づけられたWebサービスは連携許可されていると判断できるためである。 As described above, in the image processing system according to the third embodiment, the cooperation permission application is provided with the connection function to the Web application. Therefore, the corresponding Web application can be used by associating the specific cooperation permission application with the specific Web application and starting the specific cooperation permission application. Further, the cooperation permission application manages the access authority to the resource of the MFP given to the Web application to which it is associated. Therefore, the service provider determines whether or not the linking permission URL corresponding to the Web application corresponding URL to be connected is permitted (whether or not the linking permission application corresponding to the Web application compatible URL is installed) (S507 in FIG. 5). It becomes possible to grasp without implementing. The top page URL is always registered in the cooperation permission application, and in the present embodiment, access to the resources of the MFP is permitted for the top page URL. This is because if the cooperation permission application is installed, it can be determined that the Web service associated with the cooperation permission application is permission to cooperate.
また、ユーザーは、Webアプリケーション101ごとに決められたWebアプリケーションURLをあらかじめ知っておく必要もなくなる。そのため、Webアプリケーションに接続するためにステップを簡便にし、操作性の煩雑さを軽減出来る。
Further, the user does not need to know the Web application URL determined for each
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
100 Webサーバー、102 管理装置、110 MFP、202 表示操作部、303 アプリケーションフレームワーク、305 Webブラウザー、308 サービスプロバイダー 100 Web server, 102 Management device, 110 MFP, 202 Display operation unit, 303 Application framework, 305 Web browser, 308 Service provider
Claims (15)
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供手段と、
前記サービス提供手段によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持手段と
を有し、
前記サービス提供手段は、サービス要求元にサービスの提供が許可されているかを、前記保持手段により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求手段は、さらに、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置。 A service request method that can request a service from a connected external server,
As required by the external server, and service providing means for providing a service to the external server,
It has a holding means configured to be installable and uninstallable, which holds the identification information of the service requester authorized to provide the service by the service providing means.
The service providing means determines whether or not the service requester is permitted to provide the service by referring to the identification information held by the holding means, and if it is determined that the service is permitted, the requested service. Provide,
The service requesting means is an information processing device that further accesses an external server to acquire and display display screen information.
前記サービス要求手段は、前記サービス要求先の識別情報に対してサービス要求のためにアクセスすることを特徴とする請求項1に記載の情報処理装置。 The holding means further holds the identification information of the service request destination by the service request means in addition to the identification information of the service request source for each service request source.
The information processing device according to claim 1, wherein the service request means accesses the identification information of the service request destination for a service request.
前記保持手段は、前記フレームワークにインストールおよびアンインストールが可能な連携許可アプリケーションにより実現されることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。 It also has a framework on which applications can be installed
The information processing apparatus according to any one of claims 1 to 5, wherein the holding means is realized by a cooperation permission application that can be installed and uninstalled in the framework.
前記連携許可アプリケーションは、前記ライセンス検証手段によってライセンスがあると判定された場合に有効化されることを特徴とする請求項6乃至8のいずれか一項に記載の情報処理装置。 Has more license verification means
The information processing device according to any one of claims 6 to 8, wherein the cooperation permission application is activated when it is determined by the license verification means that there is a license.
前記サービス提供手段は、前記サービス要求手段を実現するアプリケーションの識別情報が、特別な権限を示す値であるか否かを優先的に判定し、特別な権限を示す値である場合には、前記サービス要求元にサービスの提供が許可されていると判定することを特徴とする請求項6乃至9のいずれか一項に記載の情報処理装置。 The service request means is realized by an application that can be installed and uninstalled in the framework.
The service providing means preferentially determines whether or not the identification information of the application that realizes the service requesting means is a value indicating a special authority, and if it is a value indicating a special authority, the above-mentioned The information processing apparatus according to any one of claims 6 to 9, wherein it is determined that the service requester is permitted to provide the service.
画像を印刷するプリンター手段とを更に有し、
前記サービス提供手段により提供されるサービスは、前記スキャン手段または前記プリンター手段またはその両方を用いたサービスを含むことを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。 Scanning means to scan images and
It also has a printer means for printing images,
The information processing apparatus according to any one of claims 1 to 10, wherein the service provided by the service providing means includes a service using the scanning means, the printer means, or both of them.
アプリケーションをインストールし、インストールしたアプリケーションを実行するためのアプリケーションフレームワークと、
スキャナ部と、
プリンター部とを有し、
前記アプリケーションフレームワークにインストールされたアプリケーションとして、前記画像処理装置の機能を外部のサーバーに提供するサービスプロバイダーと、
外部のサーバーにアクセスしてWebアプリケーションによるサービスを受けるWebブラウザーと、
前記Webアプリケーションによる前記画像処理装置によるサービスの提供が許可されるか否かを示す許可情報と前記Webアプリケーションのトップページにアクセスするための情報とを保持する連携許可アプリケーションと
を有し、
前記サービスプロバイダーは、前記Webアプリケーションにサービスの提供が許可されているかを、前記連携許可アプリケーションにより保持された許可情報、もしくは前記アクセスするための情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記Webブラウザーは、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする画像処理装置。 It is an image processing device
An application framework for installing applications and running installed applications,
With the scanner part
It has a printer unit and
As an application installed in the application framework, a service provider that provides the function of the image processing device to an external server , and
A web browser that accesses an external server and receives services from a web application,
It has a cooperation permission application that holds permission information indicating whether or not the provision of services by the image processing device by the Web application is permitted and information for accessing the top page of the Web application.
The service provider determines whether the provision of the service is permitted to the Web application by referring to the permission information held by the cooperation permission application or the information for accessing the Web application, and determines that the service is permitted. If you do, provide the requested service,
The Web browser is an image processing device characterized by accessing an external server, acquiring display screen information, and displaying the information.
前記外部のサーバーによる要求に応じて、サービスを前記外部のサーバーに提供するためのサービス提供工程と、
前記サービス提供工程によるサービスの提供を許可されたサービス要求元の識別情報を保持する、インストールおよびアンインストールが可能に構成された保持工程と
を有し、
前記サービス提供工程は、サービス要求元にサービスの提供が許可されているかを、前記保持工程により保持された識別情報を参照して判定し、許可されていると判定した場合に、要求されたサービスを提供し、
前記サービス要求工程では、外部のサーバーにアクセスして表示画面情報を取得して表示することを特徴とする情報処理装置における制御方法。 A service request process that can request services from a connected external server,
As required by the external server, and a service providing step for providing a service to the external server,
It has a retention process configured to be installable and uninstallable, which retains the identification information of the service requester authorized to provide the service by the service provision process.
The service providing process determines whether or not the service requester is permitted to provide the service by referring to the identification information held by the holding process, and if it is determined that the service is permitted, the requested service. Provide,
In the service request process, a control method in an information processing device, which comprises accessing an external server to acquire and display display screen information.
前記サービス要求工程では、前記サービス要求先の識別情報に対してサービス要求のためにアクセスすることを特徴とする請求項13に記載の情報処理装置における制御方法。 In the holding step, in addition to the identification information of the service request source, the identification information of the service request destination by the service request process is further held for each service request source.
The control method in the information processing apparatus according to claim 13, wherein in the service request process, the identification information of the service request destination is accessed for the service request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/386,584 US10051154B2 (en) | 2016-01-13 | 2016-12-21 | Information processing apparatus, control method in information processing apparatus, and image processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016004614 | 2016-01-13 | ||
JP2016004614 | 2016-01-13 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017126977A JP2017126977A (en) | 2017-07-20 |
JP2017126977A5 JP2017126977A5 (en) | 2019-11-07 |
JP6772009B2 true JP6772009B2 (en) | 2020-10-21 |
Family
ID=59365376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016184689A Active JP6772009B2 (en) | 2016-01-13 | 2016-09-21 | Information processing equipment and control methods in the information processing equipment, and programs and image processing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6772009B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7275734B2 (en) * | 2019-03-26 | 2023-05-18 | ブラザー工業株式会社 | Image forming apparatus, information processing method and information processing program |
-
2016
- 2016-09-21 JP JP2016184689A patent/JP6772009B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017126977A (en) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10051154B2 (en) | Information processing apparatus, control method in information processing apparatus, and image processing apparatus | |
JP4136325B2 (en) | Image forming system, software acquisition method, image forming apparatus, and computer-readable recording medium storing program for causing computer to execute the method | |
US8264721B2 (en) | Server apparatus, management system, and method | |
US10305961B2 (en) | Information processing apparatus, information processing apparatus control method, and storage medium storing program | |
JP5528018B2 (en) | Image processing apparatus, image processing apparatus control method, and program | |
US20090241107A1 (en) | License file issuance apparatus, image processing apparatus, license file issuance method, application installation method, and storage medium | |
US10298800B2 (en) | Information processing apparatus and control method thereof | |
US20130074048A1 (en) | System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium | |
JP6872867B2 (en) | Information processing device and application management method | |
JP5693051B2 (en) | Information processing apparatus and user authentication method for information processing apparatus | |
JP2004303202A (en) | Information providing device, information providing method, information providing program and recording medium, user authenticating device, user authenticating method, and user authenticating program and recording medium | |
US10185523B2 (en) | Information processing system, information processing apparatus and control method therefor, and program for preventing inconsistency of a setting | |
US10284734B2 (en) | Information processing apparatus, method, and storage medium for managing an executable application | |
JP6303979B2 (en) | Information processing system, information processing apparatus, information processing method, and program | |
JP2012088849A (en) | Image forming device, log management method, and log management program | |
US10713098B2 (en) | Information processing apparatus and cookie information management method | |
US8239857B2 (en) | Information processing apparatus and method of installing application program | |
JP6772009B2 (en) | Information processing equipment and control methods in the information processing equipment, and programs and image processing equipment | |
JP2009205262A (en) | Application program installation device, application program installation method, program, and recording medium | |
JP2004153472A (en) | Job processing control apparatus and method therefor | |
JP2004122778A (en) | Image forming apparatus and method of controlling use thereof | |
JP5247540B2 (en) | Information processing system, control method therefor, and program | |
JP2006318098A (en) | Server device, system, and control method of server device | |
JP2020091544A (en) | Information processing device, control method thereof, and program | |
JP2018055569A (en) | Information processing apparatus and controlling method therefor, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190920 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200819 |
|
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: 20200831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200930 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6772009 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |