JP2021092876A - アプリケーションプログラム - Google Patents

アプリケーションプログラム Download PDF

Info

Publication number
JP2021092876A
JP2021092876A JP2019221819A JP2019221819A JP2021092876A JP 2021092876 A JP2021092876 A JP 2021092876A JP 2019221819 A JP2019221819 A JP 2019221819A JP 2019221819 A JP2019221819 A JP 2019221819A JP 2021092876 A JP2021092876 A JP 2021092876A
Authority
JP
Japan
Prior art keywords
device application
extension
extended
information
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019221819A
Other languages
English (en)
Inventor
益田 哲也
Tetsuya Masuda
哲也 益田
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2019221819A priority Critical patent/JP2021092876A/ja
Publication of JP2021092876A publication Critical patent/JP2021092876A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】ユーザー、OS、端末の種類毎に異なるデバイスアプリを用意する必要なく、かつ、ユーザーのデバイスの利用方法に応じた機能を利用可能なデバイスアプリを提供する。【解決手段】デバイスアプリは、周辺機器を制御するための拡張機能を提供する1以上の拡張プログラムのネットワーク上の格納先を含む構成情報を取得する取得処理と、情報処理端末にインストールする拡張プログラムを特定する特定処理と、特定した拡張プログラムをダウンロードし、情報処理端末にインストールするインストール処理と、インストールされた拡張プログラムと連携して周辺機器の設定項目の設定を行う設定処理とを、情報処理端末に実行させる。【選択図】図6

Description

本開示は、情報処理端末で周辺装置(デバイス)を制御するために、情報処理端末にインストールされるアプリケーションプログラムに関する。
従来、PC(Personal Computer)等の情報処理端末でプリンター等の周辺装置(デバイス)を利用する為に情報処理端末にデバイスドライバーと呼ばれるソフトウェアがインストールされている。ところが、Microsoft(登録商標) Store等のダウンロード販売のストアから提供されるアプリケーションプログラム(ストアアプリ)からデバイスを利用するときには、デバイスドライバーとは別にデバイスを制御するためのアプリケーションプログラム(デバイスアプリ)を情報処理端末にインストールする必要がある場合がある。なお、デバイスアプリは、一例として、WSDA(Windows(登録商標) Store Device Application)やUWP(Universal Windows Platform)デバイスアプリ等が該当する。
このデバイスアプリは、デバイスのデバイス識別子と関連付けられて提供され、異なる情報処理端末であっても、同じデバイス識別子を有するデバイスに接続される場合には、当該デバイス識別子に関連付けられた共通のデバイスアプリが各情報処理端末にインストールされる。
特開2019−106101号公報
ところで、同じデバイスに接続される場合であっても、デバイスを利用するユーザーによってデバイスの利用方法は異なるため、ユーザー毎に異なるデバイスアプリをインストールできるようにしたいというニーズがある。これに対して、特許文献1には、デバイスがユーザー毎に異なるデバイス識別子を保持することで、ユーザー毎に異なるデバイスアプリを提供する技術が開示されている。
しかしながら、特許文献1の技術では、ユーザー毎に異なるデバイスアプリを用意してストアに登録しなければならず、機能拡張での柔軟性に課題がある。例えば、機能追加やバグフィックスを施した更新版のデバイスアプリを新たに提供する場合、ユーザー毎に異なるデバイスアプリそれぞれに対して更新版のデバイスアプリを用意する必要があり、コストがかかる。
本開示は、上記課題に鑑みてなされたもので、ユーザー毎に異なるデバイスアプリを用意する必要なく、かつ、ユーザーのデバイスの利用方法に応じた機能を利用可能なデバイスアプリを提供することを目的とする。
本開示の一態様のデバイスアプリは、情報処理端末に接続される周辺機器に対し、前記情報処理端末の違いに依らず前記情報処理端末毎に一つだけ提供され、前記周辺機器を制御するために前記情報処理端末にインストールされるアプリケーションプログラムであって、前記周辺機器を制御するための拡張機能を提供する1以上の拡張プログラムのネットワーク上の格納先を含む構成情報を取得する取得処理と、前記1以上の拡張プログラムのうち前記情報処理端末にインストールする拡張プログラムを特定する特定処理と、特定した拡張プログラムを前記格納先からダウンロードし、前記情報処理端末にインストールするインストール処理と、インストールされた拡張プログラムと連携して前記周辺機器の設定項目の設定を行う設定処理とを、前記情報処理端末に実行させることを特徴とする。
前記周辺機器は、印刷機能を有する周辺機器であり、前記特定処理では、前記周辺機器の印刷環境を示す印刷環境情報を取得し、前記印刷環境の情報に応じてインストールする拡張プログラムを特定してもよい。
前記特定処理では、前記印刷環境情報として、印刷対象の編集又は表示に使用されるアプリケーションプログラムに係る情報、前記周辺機器の備えるオプション装置に係る情報、前記情報処理端末の種類に係る情報、前記情報処理端末で実行しているOSの種類に係る情報、及び、前記情報処理端末の空き容量に係る情報の少なくとも一つを取得してもよい。
前記特定処理では、前記印刷環境情報に応じて前記情報処理端末にインストール可能な拡張プログラムをユーザーに提示し、提示した拡張プログラムのインストールを行うか否かをユーザーに選択させてもよい。
前記特定処理では、前記印刷環境情報に応じて前記情報処理端末にインストール可能な拡張プログラムを特定し、前記インストール可能な拡張プログラムをすべて前記情報処理端末にインストールする拡張プログラムとしてもよい。
更に、前記インストールされた拡張プログラムの更新を管理する更新管理処理を前記情報処理端末に実行させてもよい。
前記更新管理処理では、更新可能な拡張プログラムの更新を行うか否かを、個別に設定可能としてもよい。
前記更新管理処理では、更新可能な拡張プログラムのうち、所定の更新条件を満たす拡張プログラムの更新をしてもよい。
前記更新条件は、前記インストールされた拡張プログラムに対する新しいバージョンの拡張プログラムが公開されてからの経過日数に係る条件であってもよい。
前記更新条件は、前記インストールされた拡張プログラムの使用頻度に係る条件であってもよい。
前記更新管理処理では、拡張プログラムの更新を行う際に更新前の拡張プログラムをバックアップし、ユーザー操作に応じて、更新された拡張プログラムを更新前の拡張プログラムにロールバックさせてもよい。
更に、ユーザーの操作に応じて、前記周辺機器に記憶されたインストールすべき拡張プログラムのリストを取得し、取得したリストに含まれる拡張プログラムを前記インストール処理でインストールさせるインポート処理部を前記情報処理端末に実行させてもよい。
更に、ユーザーの操作に応じて、前記情報処理端末にインストールされた拡張プログラムのリストを前記周辺機器に記憶させるエクスポート処理を前記情報処理端末に実行させてもよい。
本開示によると、アプリケーションプログラムは、デバイスに対して一つだけ提供される、すなわち、同じデバイスに接続される場合には、当該デバイスに関連付けられた共通のアプリケーションプログラム(デバイスアプリ)が各情報処理端末にインストールされるので、ユーザー、OS、端末の種類毎に異なるデバイスアプリを用意する必要がない。また、複数の拡張プログラムの中から特定された拡張プログラムと連携して機能を提供するので、特定する拡張プログラムの組み合わせに応じてユーザー、OS、端末の種類毎に異なる機能を提供することができる。
実施の形態1に係るデバイスアプリ提供システム1の概略的な構成を示す図である。 デバイスアプリ提供システム1のソフトウェア構成を示す図である。 (a)は、拡張機能の構成データDB(Database)のデータ構成の一例を示す図である。(b)は、インストール済の拡張デバイスアプリのリストの一例を示す図である。(c)は、インストール設定情報の一例を示す図である。 全体動作を示すフローチャートである。 基本デバイスアプリインストール処理のフローチャートである。 拡張デバイスアプリインストール処理のフローチャートである。 インストール結果確認画面の一例を示す図である。 インストール対象アプリ特定処理のフローチャートである。 インストール対象選択画面の一例を示す図である。 デバイス設定処理のフローチャートである。 (a)拡張機能をインストールする前の印刷設定画面の一例を示す図である。(b)拡張機能をインストールいた後の印刷設定画面の一例を示す図である。 拡張機能のUI(User Interface)を表示する処理のフローチャートである。 UI応答処理のフローチャートである。 実施の形態2に係るインストール設定情報に含まれるおすすめ拡張機能情報の一例を示す図である。 実施の形態2に係るUI応答処理のフローチャートの一部である。 拡張機能の追加インストールの確認画面の一例を示す図である。 拡張機能の追加インストール後の印刷設定画面の一例を示す図である。 拡張デバイスアプリ追加インストール処理のフローチャートである。 実施の形態2に係る全体動作のフローチャートの一部である。 拡張機能のおすすめ画面の一例を示す図である。 実施の形態3に係るデバイスアプリ提供システム3のソフトウェア構成を示す図である。 実施の形態3に係る拡張機能の構成データDB(Database)のデータ構成の一例を示す図である。 (a)及び(b)は、実施の形態2に係る全体動作のフローチャートの一部である。 拡張デバイスアプリ更新・追加処理のフローチャートである。 拡張機能の更新・追加選択画面の一例を示す図である。 更新・追加対象の拡張デバイスアプリ特定処理のフローチャートである。 (a)は、実施の形態4に係る印刷設定画面の一例を示す図である。(b)は、拡張機能の更新設定画面の一例を示す図である。 実施の形態4に係るUI応答処理のフローチャートの一部である。 実施の形態5に係るデバイスアプリ提供システム5のソフトウェア構成を示す図である。 (a)は、ロールバック処理前のプリントキュー設定情報の一例を示す図である。(b)は、ロールバック処理後のプリントキュー設定情報の一例を示す図である。(c)は、ロールバック処理において、プリントキューの複製を行った場合のプリントキュー設定情報の一例を示す図である。 (a)は、プリンター切替前の印刷設定画面の一例を示す図である。(b)は、プリンター切替前の印刷設定画面の一例を示す図である。 実施の形態5に係るUI応答処理のフローチャートの一部である。 拡張機能のロールバック設定処理画面の一例を示す図である。 実施の形態5に係るUI応答処理のフローチャートの一部である。 プリンター切替画面の一例を示す図である。 実施の形態6に係るデバイスアプリ提供システム6のソフトウェア構成を示す図である。 ユーザー情報のデータ構成の一例を示す図である。 実施の形態6に係る印刷設定画面の一例を示す図である。 実施の形態6に係るUI応答処理のフローチャートの一部である。 (a)は、拡張機能のインポート・エクスポート設定画面の一例を示す図である。(b)は、拡張機能のエクスポート設定画面の一例を示す図である。 実施の形態6に係るUI応答処理のフローチャートの一部である。 (a)は、拡張機能のインポート・エクスポート設定画面の一例を示す図である。(b)は、拡張機能のインポート設定画面の一例を示す図である。(c)は、拡張機能のインポート・エクスポート設定画面の一例を示す図である。
1.実施の形態1
以下、実施の形態1に係る基本デバイスアプリ提供システム1について説明する。
1.1 全体構成
図1は、デバイスアプリ提供システム1の概略構成を示す図である。図に示すように、デバイスアプリ提供システム1は、PC等の情報処理端末100と、プリンター等のデバイス200と、メタデータ管理サーバー300と、アプリ管理サーバー400と、を備える。
情報処理端末100は、図示していないCPU(Central Processing Unit)とメモリとを備え、CPUがメモリにロードされたプログラムを実行することによりインストールされたOS(Operating System)やインストールされたアプリケーションプログラムを実行する。また、情報処理端末100は、ユーザーに情報を表示するためのディスプレイ及びユーザーが情報処理端末100に情報を入力するための入力装置(例えば、マウス、キーボード、タッチパネル等)を備える。また、情報処理端末100は、NIC(Network Interface Card)等の通信インターフェースを備え、LAN(Local Area Network)500や、インターネット600を介して、デバイス200、メタデータ管理サーバー300、及び、アプリ管理サーバー400に通信可能である。この通信は、有線接続であっても無線接続であってもよく、また一部が無線であってもよい。情報処理端末100としては、PC、タブレット端末、スマートフォン、IOT(Internet of Things)機器などが該当する。
デバイス200は、本実施の形態においては、プリンターやMFP(Multi Function Peripheral)等の画像形成装置が該当する。デバイス200は、通信インターフェースを備えており、情報処理端末100と通信可能である。デバイス200は、情報処理端末100から受信したジョブデータに従って印刷を実行する。
メタデータ管理サーバー300は、デバイス200のデバイスID(IDentifier)と後述する基本デバイスアプリのアプリIDとの関連付け情報であるデバイスメタデータを管理する。メタデータ管理サーバー300は、例えば、WMIS(Windows Metadata and Internet Service)などが該当する。
アプリ管理サーバー400は、情報処理端末100で実行されるOS上で実行されるアプリケーションプログラムを管理する。アプリ管理サーバー400は、例えば、Microsoft Storeなどのダウンロード販売のストアとして機能する。
1.2 ソフトウェア構成
図2は、デバイスアプリ提供システム1のソフトウェア構成を示す図である。
情報処理端末100には、OS110、及びOS上で動作する基本デバイスアプリ120、拡張デバイスアプリ群140、デスクトップアプリ170、ストアアプリ180等のアプリケーションプログラムやプリンタードライバー150等のデバイスドライバーがインストールされる。また、情報処理端末100には、デバイスメタデータ160が記憶される。
OS110は、基本デバイスアプリ120、拡張デバイスアプリ群140、デスクトップアプリ170、ストアアプリ180等のアプリケーションプログラムの実行環境を提供する。
基本デバイスアプリ120は、アプリ管理サーバー400からダウンロードされてインストールされ、ストアアプリ180から印刷設定を行う際に起動して実行されるアプリケーションプログラムである。
基本デバイスアプリ120は、デバイスメタデータ160によってデバイスID161と関連付けられたアプリID162と同じ値のアプリID121を付与されており、デバイスID161と同じ値を有するデバイスID201のデバイス200と関連付けられている。
基本デバイスアプリ120は、Modern UI部122、印刷環境の情報取得部123、拡張機能の構成データ取得部124、拡張デバイスアプリ特定部125、拡張デバイスアプリインストール部126、拡張デバイスアプリ連携部127を備え、拡張機能の構成データDB128、インストール済の拡張デバイスアプリのリスト129、インストール設定情報130を保持している。
Modern UI部122は、ストアアプリ180からの印刷で詳細設定を行うためのUIの表示及び制御などの処理を行う。
印刷環境の情報取得部123は、OS110が提供するAPI(Application Program Interface)等を利用して、印刷環境の情報を取得する処理を行う。印刷環境の情報は、基本デバイスアプリ120の呼び出し元のストアアプリ180(以下、印刷アプリとも呼ぶ。)の情報、デバイス200が搭載しているオプション機能の情報、情報処理端末100の種別の情報、OS110の情報、情報処理端末100の空き容量の情報、情報処理端末100の通信速度の情報などを含む。
拡張機能の構成データ取得部124は、拡張機能の構成データDB128から必要なデータを取得する処理などを行う。拡張機能の構成データDB128で保持されるデータについては後述する。
拡張デバイスアプリ特定部125は、印刷環境の情報取得部123が取得した印刷環境の情報、拡張機能の構成データ取得部124が取得したデータ、及び、インストール設定情報130等を用いて、情報処理端末100にインストールする拡張デバイスアプリを特定する処理を行う。
拡張デバイスアプリインストール部126は、拡張デバイスアプリ特定部125が特定した拡張デバイスアプリを情報処理端末100にインストールする処理を行う。
拡張デバイスアプリ連携部127は、OS110が提供するアプリ間通信の仕組みを利用して、インストールされた拡張デバイスアプリ141と通信を行い、拡張デバイスアプリ141に所定の処理を実行させる処理や、拡張デバイスアプリ141から情報を取得する処理を行う。
拡張デバイスアプリ群140は、複数の拡張デバイスアプリ141からなり、各拡張デバイスアプリ141には、固有のアプリID142が付与されている。拡張デバイスアプリ141は、アプリ管理サーバー400からダウンロードされてインストールされるアプリケーションプログラムである。拡張デバイスアプリ141は、基本デバイスアプリ120と連携して動作することにより、デバイス200を制御するための拡張機能を提供する。
なお、拡張デバイスアプリ141は、デバイス200との関連付けは行われておらず、厳密には、ストアアプリ180の一種であるが、本実施の形態では異なる種類のアプリケーションプログラムとして説明する。
デスクトップアプリ170は、アプリ管理サーバー400以外の場所から取得されて情報処理端末100にインストールされるアプリケーションプログラムである。
ストアアプリ180は、アプリ管理サーバー400からダウンロードされてインストールされるアプリケーションプログラムである。
プリンタードライバー150は、情報処理端末100が、OS110の元でデバイス200を制御するために、情報処理端末100にインストールされるデバイスドライバーである。本実施の形態のプリンタードライバー150は、V4(Version4)ドライバーのアーキテクトを採用し、デスクトップUI部151、共通処理部152、描画部153を備える。
デスクトップUI部151は、デスクトップアプリからの印刷で詳細設定を行うためのUIの表示及び制御などの処理を行う。
共通処理部152は、デスクトップUI部151及び描画部153以外の処理を行う。例えば、ストアアプリからの印刷で詳細設定を行った場合における設定内容を基本デバイスアプリ120から取得して描画部に通知する処理や、デスクトップアプリ170からの印刷で詳細設定を行った場合における設定内容をデスクトップUI部151から取得して描画部153に通知する処理や、描画部153の生成した印刷ジョブをデバイス200に送信する処理や、デバイス200と通信してデバイス200が搭載しているオプション機能の情報を取得する処理などを行う。
描画部153は、通知された設定内容に基づいて印刷ジョブを生成する処理を行う。
デバイスメタデータ160は、メタデータ管理サーバー300から取得したデバイス200と基本デバイスアプリ120との関連付け情報であり、デバイス200のデバイスID201と同じ値のデバイスID161と基本デバイスアプリ120のアプリID121と同じ値のアプリID162が含んでいる。
デバイス200には、デバイスを識別するためのデバイスID201が付与されている。
メタデータ管理サーバー300には、複数のデバイスメタデータから構成されるデバイスメタデータ群301を保持している。デバイスメタデータは、アプリ管理サーバー400に登録されている基本デバイスアプリについての、当該基本デバイスアプリに付与されたアプリIDと当該基本デバイスアプリに関連付けられたデバイスのデバイスIDとの関連付け情報である。
アプリ管理サーバー400には、複数の基本デバイスアプリからなる基本デバイスアプリ群401と、複数の拡張デバイスアプリからなる拡張デバイスアプリ群402と、複数のストアアプリからなるストアアプリ群403と、を保持している。アプリ管理サーバー400に登録されている各基本デバイスアプリ、拡張デバイスアプリ、ストアアプリにはそれぞれ固有のアプリIDが付与されている。
1.3 データ構成
図3(a)に示すように、拡張機能の構成データDB128は、基本デバイスアプリ120がサポートしている1以上の拡張デバイスアプリの構成データを保持している。
拡張デバイスアプリの構成データは、「拡張デバイスアプリNo.」、「機能ID」、「アプリID」、「機能情報」、「アプリ情報」、「オプション要否」を含む。「拡張デバイスアプリNo.」は、基本デバイスアプリ120でサポートされている各拡張デバイスアプリを識別するために付与されたID情報である。「機能ID」は、対応する拡張デバイスアプリが提供する拡張機能を識別するID情報である。「アプリID」は、対応する拡張デバイスアプリについてアプリ管理サーバー400に登録されているアプリIDである。「機能情報」は、対応する拡張デバイスアプリが提供する拡張機能の「機能名」(具体的には、「白紙抑制」や「章分け」など)を含む。「アプリ情報」は、「Version」、「公開URL(Uniform Resource Locator)」、「公開日」、「サイズ」を含む。「Version」は、対応する拡張デバイスアプリのバージョン情報である。「公開URL」は、アプリ管理サーバー400登録されている、対応する拡張デバイスアプリの取得先情報(ダウンロードURL)である。「公開日」は、対応する拡張デバイスアプリがアプリ管理サーバー400に登録されて公開された日付を示す日付情報である。「サイズ」は、対応する拡張デバイスアプリのサイズを示す情報である。「オプション要否」は、、対応する拡張デバイスアプリが提供する拡張機能の実行にデバイス200が特定のオプション装置を備えている必要があるか否かを示す情報である。
図3(a)の例では、基本デバイスアプリ120がサポートする拡張機能が全部7つあり、その中で例えば、「拡張デバイスアプリNo.」が「1」である拡張デバイスアプリの機能IDは「1」であり、「アプリID」は「EX1」であり、機能情報は「白紙抑制」であることを示している。
図3(b)は、情報処理端末100にインストールされた拡張デバイスアプリ141のリストを示すインストール済の拡張デバイスアプリのリスト129の例である。図3(b)の例では、情報処理端末100に3つ拡張デバイスアプリ141がインストールされ、インストールされた拡張デバイスアプリの「拡張デバイスアプリNo.」がそれぞれ「1」、「3」、「5」であることを示している。
図3(c)は、拡張デバイスアプリのインストール時に参照される設定情報であるインストール設定情報130の例である。図3(c)に示すように、インストール設定情報130には、拡張デバイスアプリの自動インストールに係る設定情報131と、インストール結果の確認表示に係る設定情報132と、拡張デバイスアプリのインストール条件133を含む。拡張デバイスアプリの自動インストールに係る設定情報131は、拡張デバイスアプリのインストールを行う際にユーザーがインストールする拡張デバイスアプリを選択させるか否かの設定情報である。拡張デバイスアプリの自動インストールに係る設定情報131が「無効」の場合はユーザーにインストールする拡張デバイスアプリを選択させ、「有効」の場合はユーザーにインストールする拡張デバイスアプリを選択させないことを示す。インストール結果の確認表示に係る設定情報132は、インストール直後にインストールした拡張デバイスアプリの情報をユーザーに確認させるか否かの設定情報である。インストール結果の確認表示に係る設定情報132が「有効」の場合は、インストール直後にインストールした拡張デバイスアプリの情報をユーザーに確認させ、「無効」の場合はインストール直後にインストールした拡張デバイスアプリの情報をユーザーに確認させないことを示す。拡張デバイスアプリのインストール条件133は、拡張デバイスアプリをインストールする為に情報処理端末100が満たすべき条件を示す。図3(c)の例では、端末種類に係る条件、OSに係る条件、空き容量に係る条件、通信速度に係る条件が設定されおり、すべての条件を満たした場合に、拡張デバイスアプリがインストール可能になる。端末種類に係る条件は、情報処理端末100の端末種類が列挙された「PC」、「タブレット端末」、「スマートフォン」のいずれかの場合に満たされるものとする。OSに係る条件は、情報処理端末100で実行しているOSが列挙された「OS A」、「」、……、のいずれかである場合に満たされるものとする。空き容量に係る条件は、情報処理端末100の空き容量が設定されている容量よりも大きい場合に満たされるものとする。通信速度に係る条件は、情報処理端末の通信速度が設定されている速度よりも高速である場合に満たされるものとする。インストール設定情報130の各設定情報は、基本デバイスアプリ120のインストール時に既定の値に設定されてもよいし、ユーザーが任意の値に設定してもよい。
1.4 動作
次に、デバイスアプリ提供システム1の動作を説明する。
図4は、情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作のフローチャートである。
図4に示すように、まず、情報処理端末100のOS100は、起動後、プリンタードライバー150が情報処理端末100にインストールされているか否かを確認し(ステップS101)、インストールされていなければプリンタードライバー150を情報処理端末100にインストールする(ステップS102)。
情報処理端末100にプリンタードライバー150がインストールされている状態でユーザーが情報処理端末100にデバイス200を接続すると、OS110は、当該デバイス200に対応する基本デバイスアプリ120がインストールされているか否かを確認し(ステップS103)、インストールされていなければ後述する基本デバイスアプリインストール処理(ステップS104)を実行する。
情報処理端末100に基本デバイスアプリ120がインストールされた状態で、ユーザーが印刷アプリを実行し、当該印刷アプリから印刷の詳細設定を行う操作をすると、基本デバイスアプリ120が起動する(ステップS105)。
基本デバイスアプリ120は、初回起動である場合(ステップS106:Yes)には、拡張デバイスアプリインストール処理(ステップS107)を実行する。
その後、ユーザーが、基本デバイスアプリ120が提供するデバイス設定処理(ステップS108)に従って、印刷の詳細設定を行った後、プリンタードライバー150で生成された印刷ジョブがデバイス200に送信され印刷が実行される(ステップS109)。
本開示のデバイスアプリ提供システム1では、上記のようにして印刷を実行する。
図5は、基本デバイスアプリインストール処理(ステップS104)のフローチャートである。
図5に示すように、基本デバイスアプリインストール処理において、最初に、OS110は、接続されたデバイス200からデバイスIDを取得する(ステップS201)。
次に、OS110は、メタデータ管理サーバー300にアクセスして、デバイス200から取得したデバイスIDに対応するデバイスメタデータ160を取得する(ステップS202)。
OS110は、取得したデバイスメタデータ160からデバイス200のデバイスIDに関連付けられた基本デバイスアプリのアプリIDを取得する(ステップS203)。
OS110は、取得したアプリIDに該当する基本デバイスアプリ120をアプリ管理サーバー400からダウンロードして(ステップS204)、ダウンロードした基本デバイスアプリ120を情報処理端末100にインストールする(ステップS205)。なお、ここでいう「インストールする」とは、基本デバイスアプリ120を、情報処理端末100の所定位置に格納し、実行可能な状態にすることを指す。
図6は、拡張デバイスアプリインストール処理(ステップS107)のフローチャートである。
図6に示すように、拡張デバイスアプリインストール処理を開始すると、基本デバイスアプリ120の印刷環境の情報取得部123は、OS110及びデバイス200から、印刷環境の情報を取得する(ステップS301)。印刷環境の情報取得部123は、OS110から、印刷環境の情報として、印刷アプリの情報、情報処理端末100の種別の情報、OS110の情報、情報処理端末100の空き容量の情報、情報処理端末100の通信速度の情報を取得する。印刷アプリの情報は、例えば、印刷アプリの名称を識別することができる情報である。例えば、ワープロソフトAを使用して文書を作成し、作成した文章を印刷するために基本デバイスアプリ120を起動した場合には、この「ワープロソフトA」を識別する情報が印刷アプリの情報になる。情報処理端末100の種別の情報は、例えば、「PC」、「タブレット端末」、「スマートフォン」、「IOT機器」などの端末の種別を識別することができる情報である。OS110の情報は、例えば、「Microsoft Windows 10」や「Microsoft Windows 10 IoT」などの、OSの種別を識別することができる情報である。また、印刷環境の情報取得部123は、デバイス200と通信を行って、デバイス200が搭載しているオプション装置の情報を取得する。例えば、デバイス200が「パンチ」、「ステープル」、「折り」などの拡張機能を実行するために必要なオプション装置を備えている場合には、搭載しているオプション装置を識別することができる情報である。
次に、拡張デバイスアプリ特定部125は、印刷環境の情報取得部123が取得した印刷環境の情報と、拡張アプリのインストール条件133とを比較して、印刷環境の情報がインストール条件を満たすか否かを判定する(ステップS302)。
インストール条件を満たす場合(ステップS302:Yes)、拡張デバイスアプリ特定部125は、詳細を後述するインストール対象アプリ特定処理(ステップS303)を実行し、インストール対象の拡張デバイスアプリを特定する。
インストール対象の拡張デバイスアプリが存在する場合(ステップS304:Yes)はステップS305に進み、全てのインストール対象の拡張デバイスアプリのインストールが完了していない場合(ステップS305:No)、拡張デバイスアプリインストール部126は、インストール対象の拡張デバイスアプリのうち未インストールのものを一つ選択し、拡張機能の構成データ取得部124に拡張機能の構成データDB128から選択した拡張デバイスアプリの取得先情報を取得させる(ステップS306)。
拡張デバイスアプリインストール部126は、拡張機能の構成データ取得部124から取得した拡張デバイスアプリの取得先情報を用いてアプリ管理サーバー400にアクセスし、インストール対象の拡張デバイスアプリをダウンロードする(ステップS307)。
拡張デバイスアプリインストール部126は、ダウンロードした拡張デバイスアプリをインストールし(ステップS308)、インストールした拡張デバイスアプリをインストール済拡張デバイスアプリのリスト129に追加する(ステップS309)。なお、ここでいう「インストールする」とは、拡張デバイスアプリを、情報処理端末100の所定位置に格納し、実行可能な状態にすることを指す。
印刷環境の情報がインストール条件を満たさない場合(ステップS302:No)、又は、インストール対象の拡張デバイスアプリが存在しない場合(ステップS304:No)、又は、全てのインストール対象の拡張デバイスアプリのインストールが完了した場合(ステップS305:Yes)、拡張デバイスアプリインストール部126は、インストール設定情報130のうちインストール結果の確認表示に係る設定情報132を参照する(ステップS310)。
インストール結果の確認表示が有効である場合(ステップS310:Yes)、拡張デバイスアプリインストール部126は、情報処理端末100のディスプレイに、インストール結果確認画面を表示し(ステップS311)、拡張デバイスアプリインストール処理を終了する。
図7(a)は、一つ以上の拡張デバイスアプリをインストールした場合のインストール結果確認画面700の例である。インストール結果確認画面700では、インストールした拡張デバイスアプリの機能名701を表示して、どの拡張デバイスアプリが情報処理端末100にインストールされたかをユーザーに通知している。また、符号702で示すように、ステップS301で取得した印刷環境の情報を表示して、現在の印刷環境に適した拡張デバイスアプリがインストールされたことをユーザーに通知している。
図7(b)は、印刷環境の情報がインストール条件を満たさなかったため、拡張デバイスアプリをインストールしなかった場合のインストール結果確認画面710の例である。インストール結果確認画面710では、符号711で示すように、拡張デバイスアプリのインストールが行われなかった理由を表示して、ユーザーに通知している。
図8は、インストール対象アプリ特定処理(ステップS303)のフローチャートである。
図8に示すように、インストール対象アプリ特定処理を開始すると、拡張デバイスアプリ特定部125は、拡張機能の構成データ取得部124に対し、拡張機能の構成データDB128から拡張機能の構成データを取得させる(ステップS401)。
拡張デバイスアプリ特定部125は、ステップS301で印刷環境の情報取得部123の取得した印刷環境の情報及びステップS401で拡張機能の構成データ取得部124の取得した拡張機能の構成データに基づいて情報処理端末100にインストール可能な拡張デバイスアプリを特定する(ステップS402)。具体的に、拡張デバイスアプリ特定部125は、拡張機能の構成データの「オプション要否」に基づいて基本デバイスアプリ120がサポートする拡張デバイスアプリを、提供する拡張機能が特定のオプション装置を必要とするものとそうでないものに分類する。そして、提供する拡張機能が特定のオプション装置を必要としない拡張デバイスアプリをすべてインストール可能な拡張デバイスアプリと特定する。また、印刷環境の情報に基づいてデバイス200が備えるオプション装置を特定し、提供する拡張機能が特定のオプション装置を必要とする拡張デバイスアプリのうちデバイスが対応するオプション装置を備える拡張デバイスアプリをインストール可能な拡張デバイスアプリと特定する。
インストール可能な拡張デバイスアプリが存在する場合(ステップS403:Yes)、拡張デバイスアプリ特定部125は、インストール設定情報130の拡張デバイスアプリの自動インストールに係る設定情報131を参照し、「有効」であれば(ステップS404:Yes)、インストール可能な拡張デバイスアプリをすべてインストール対象の拡張デバイスアプリとして特定する(ステップS405)。
インストール設定情報130の拡張デバイスアプリの自動インストールに係る設定情報131が「無効」である場合(ステップS404:No)、拡張デバイスアプリ特定部125は、情報処理端末100のディスプレイに、インストールする拡張デバイスアプリの選択画面を表示してユーザーにインストールする拡張デバイスアプリを選択させる(ステップS406)。
ユーザーによるインストールする拡張デバイスアプリの選択後、ユーザーに選択された拡張デバイスアプリをインストール対象の拡張デバイスアプリと特定する(ステップS407)。
図9は、インストールする拡張デバイスアプリの選択画面900の例である。符号901で示すようにチェックボックスと拡張機能の機能名が表示され、チェックボックスをチェックするか否かにより、対応する拡張デバイスアプリをインストールするか否かを選択可能である。また、符号902で示すように、各拡張デバイスアプリのサイズを表示しており、ユーザーは情報処理端末100の空き容量を考慮に入れてインストールする拡張デバイスアプリを選択可能である。
図10は、デバイス設定処理(ステップS108)のフローチャートである。
図10に示すように、デバイス設定処理を開始すると、Modern UI部122は、基本デバイスアプリの印刷設定画面における設定項目のうち、拡張デバイスアプリをインストールしなくても設定可能な基本機能の設定項目を設定するUI(基本機能のUIと呼ぶ)の表示処理を実行する(ステップS501)。
基本機能のUIの表示処理後、Modern UI部122及び拡張デバイスアプリ連携部127は、基本デバイスアプリの印刷設定画面における設定項目のうち、インストールされた拡張デバイスアプリ141と連携してインストールされた拡張機能の設定項目を設定するUI(以後、拡張機能のUIと呼ぶ)の表示処理(ステップS502)を実行する。
拡張機能のUIの表示処理後、Modern UI部122は、基本デバイスアプリの印刷設定画面における設定項目のうち、インストールされていない拡張デバイスアプリに対応する拡張機能に係るUIを表示する処理を実行する(ステップS503)。
基本機能のUI、インストールされた拡張機能のUI、及びインストールされていない拡張機能のUIの表示処理が終了すると、Modern UI部122は、情報処理端末100のディスプレイに、基本デバイスアプリの印刷設定画面を表示し(ステップS504)、印刷設定画面内のUIに対するユーザーの操作に対してUI応答処理(ステップS505)を実行する。
図11(a)は、拡張デバイスアプリがインストールされていない状態における基本デバイスアプリの印刷設定画面1100の例である。図に示すように、基本機能のUI1101が表示され、本実施の形態における基本機能である「用紙サイズ」と「ズーム」の設定変更が可能となっている。また、拡張デバイスアプリがインストールされていない状態であり、インストールされていない拡張機能のUI1102が表示され、本実施の形態におけるすべての拡張機能である「白紙抑制」、「章分け」、「ウォーターマーク」、「ステープル」、「パンチ」、「折り」、「カバー」の設定ができないように無効化された形で表示されている。
図11(b)は、複数の拡張デバイスアプリがインストールされた状態における基本デバイスアプリの印刷設定画面1110の例である。図11(a)と比較して、インストールされた拡張機能のUI1111が表示され、「章分け」、「ウォーターマーク」、「ステープル」の設定変更が可能になっている。
基本デバイスアプリの印刷設定画面において、「用紙サイズ」の設定は、例えば、「A3」、「A4」、「B4」などの複数の設定値の中から一つの設定値を選択する形で行ってもよい。
基本デバイスアプリの印刷設定画面において、「ズーム」の設定は、例えば、「100%」、「A3→A4」などの複数の設定値の中から一つの設定値を選択する形で行ってもよい。
基本デバイスアプリの印刷設定画面において、「白紙抑制」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。
基本デバイスアプリの印刷設定画面において、「章分け」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、章区切り紙を挿入するページの指定や、章区切り紙がセットされたトレイの選択を可能にしてもよい。
基本デバイスアプリの印刷設定画面において、「ウォーターマーク」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、ウォーターマークとして印刷するテキストや画像の指定を可能にしてもよい。
基本デバイスアプリの印刷設定画面において、「ステープル」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、綴じ位置の指定を可能にしてもよい。
基本デバイスアプリの印刷設定画面において、「パンチ」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、パンチ位置の指定を可能にしてもよい。
基本デバイスアプリの印刷設定画面において、「折り」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、「二つ折り」、「三つ折り」、「Z折り」等の折りの種類の選択を可能にしてもよい。
基本デバイスアプリの印刷設定画面において、「カバー」の設定は、「する」、「しない」の2つの設定値の中から一つの設定値を選択する形で行ってもよい。そして、「する」の場合、更に、表紙用の用紙がセットされたトレイの選択を可能にしてもよい。
図12は、インストールされた拡張機能のUIの表示処理(ステップS502)のフローチャートである。
Modern UI部122は、インストール済の拡張デバイスアプリのリスト129を参照し、インストールされている拡張機能を特定する(ステップS601)。
インストールされてる拡張機能が存在する場合(ステップS602:Yes)、未表示の拡張機能数を示す変数iにインストールされている拡張機能数を代入し(ステップS603)、未表示の拡張機能数を示す変数iが0になるまで、ステップS605〜607を繰り返す(ステップS604)。
ステップS605において、Modern UI部122は、未表示の拡張機能を一つ選択する。未表示の拡張機能とは、インストールされた拡張機能のうち、基本デバイスアプリの印刷設定画面にUIを表示されていない拡張機能のことである。
ステップS606において、Modern UI部122は、拡張デバイスアプリ連携部127に選択した拡張機能を提供する拡張デバイスアプリを通知し、拡張デバイスアプリ連携部127を介して、選択した拡張機能に対応する拡張デバイスアプリに当該拡張機能のUIを表示させる。
ステップS607において、未表示の拡張機能数を示す変数iにi−1を代入する。
以上のようにして、Modern UI部122は、インストールされている拡張機能のUIを表示する。
図13は、UI応答処理(ステップS505)のフローチャートである。なお、本開示では、ユーザーがマウス操作を使用して情報処理端末100を操作する場合を例に挙げて説明するが、タッチ操作により情報処理端末100を操作する場合についてもマウスのクリック位置をタッチ位置に読み替えれば同じ処理を適用することができる。
Modern UI部122は、基本機能のUIに対する応答の要求があるか否かを確認する(ステップS701)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置が基本機能のUIが表示されている位置と一致していれば、基本機能のUIに対する応答の要求があると判定する。
基本機能のUIに対する応答の要求がある場合(ステップS701:Yes)、対応する基本機能のUI応答処理を実行する(ステップS702)。基本機能である「用紙サイズ」のUIに対する応答の要求がある場合、Modern UI部122は、例えば、「A4」、「A3」、「B4」等の複数の設定値の選択肢を情報処理端末100のディスプレイに表示してユーザーに「用紙サイズ」の設定値を選択させる。そして、ユーザーの選択後、基本機能である「用紙サイズ」のUIをユーザーの選択した設定値を反映したものに更新する。
Modern UI部122は、インストールされた拡張機能のUIに対する応答の要求があるか否かを確認する(ステップS703)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置が拡張機能のUIが表示されている位置と一致していれば、拡張機能のUIに対する応答の要求があると判定する。
拡張機能のUIに対する応答の要求がある場合(ステップS703:Yes)、Modern UI部122は、どの拡張機能のUIに対する応答の要求であるかを特定する(ステップS704)。Modern UI部122は、マウスのクリック位置と各拡張機能のUIの表示位置との比較により、どの拡張機能のUIに対する応答の要求であるかを特定する。
Modern UI部122は、拡張デバイスアプリ連携部127に特定した拡張機能を提供する拡張デバイスアプリを通知し、拡張デバイスアプリ連携部127を介して、特定した拡張機能に対応する拡張デバイスアプリに、当該拡張機能のUI応答処理を実行させる(ステップS705)。拡張機能である「章分け」のUIに対する応答の要求がある場合、対応する拡張デバイスアプリは、例えば、「する」、「しない」の2つの設定値の選択肢を情報処理端末100のディスプレイに表示してユーザーに「章分け」の設定値を選択させる。そして、ユーザーの選択後、基本機能である「章分け」のUIをユーザーの選択した設定値を反映したものに更新する。
Modern UI部122は、ユーザーによる印刷設定が終了したか否かを判定し(ステップS706)、ユーザーによる印刷設定が終了した場合はUI応答処理を終了し、ユーザーによる印刷設定が終了していない場合は、ステップS701に戻り処理を継続する。例えば、Modern UI部122は、図11(a)、(b)に例を示す、基本デバイスアプリの印刷設定画面に表示された「OK」ボタンに対するクリック操作を検出することで、ユーザーによる印刷設定が終了したことを検出できる。
2.実施の形態2
実施の形態2に係る基本デバイスアプリ提供システム2が、実施の形態1に係る基本デバイスアプリ提供システム1と異なるところは、主に以下の2点である。一つは、基本デバイスアプリの印刷設定画面において、ユーザーがインストールされていない拡張機能のUIに対するクリック操作を行った際に、当該拡張機能に対応する拡張デバイスアプリをインストール可能としたことである。もう一つは、ユーザーが主として使用している印刷アプリに応じて、おすすめの拡張機能が存在する場合に、当該拡張機能に対応する拡張デバイスアプリのインストールをユーザーに促す処理を行うことである。
以下、実施の形態1に係る基本デバイスアプリ提供システム1と異なる部分を詳しく説明する。
2.1 データ構成
図14で示すように、実施の形態2に係る基本デバイスアプリ120のインストール設定情報は、更に、おすすめ拡張機能の情報134を含む。おすすめ拡張機能の情報134は、例えば、ストアアプリと拡張デバイスアプリの関連付け情報であり、特定のストアアプリと、当該ストアアプリから印刷を行う際に有用となる拡張機能に対応する拡張デバイスアプリとが関連付けられた情報である。図の例では、ワープロソフトAから印刷を行う際に拡張デバイスアプリNoが「1」、「2」の拡張デバイスアプリが有用になること、及び、ドキュメントビューワCから印刷を行う際に拡張デバイスアプリNoが「1」、「2」の拡張デバイスアプリが有用になること、を示している。
2.2 動作
図15は、実施の形態2に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態2に係る基本デバイスアプリ120の実行するUI応答処理は、図13で示した実施形態1に係る基本デバイスアプリ120の実行するUI応答処理におけるステップS706の直前に、図15で示すステップS801〜S804を追加したものである。
図に示すように、ステップS703又はS705の後、Modern UI部122は、インストールされていない拡張機能のUIに対する応答の要求があるか否かを確認する(ステップS801)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がインストールされていない拡張機能のUIが表示されている位置と一致していれば、当該拡張機能のUIに対する応答の要求があると判定する。
インストールされていない拡張機能のUIに対する応答の要求がある場合(ステップS801:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、拡張機能追加インストール確認画面を表示する(ステップS802)。
拡張機能追加インストール確認画面に対して、ユーザーが拡張機能を追加することを示す操作を行うと、Modern UI部122は、拡張デバイスアプリインストール部126に、拡張デバイスアプリ追加インストール処理(ステップS803)を実行させる。
拡張デバイスアプリ追加インストール処理後、Modern UI部122は、拡張デバイスアプリ連携部127に追加インストールした拡張機能を提供する拡張デバイスアプリを通知し、拡張デバイスアプリ連携部127を介して、追加インストールした拡張機能に対応する拡張デバイスアプリに当該拡張機能のUIを更新させる(ステップS804)。
図16は、ステップS802で表示する拡張機能追加インストール確認画面1600の例である。符号1601で示しているように、追加インストールする拡張デバイスアプリの提供する拡張機能の機能名を表示し、当該拡張機能に対応する拡張デバイスアプリをインストールするか否かをユーザーに選択させている。ユーザーによる機能名の左に表示されているチェックボックスのチェック及び「OK」ボタンの押下操作を検出することで、拡張機能を追加することを示す旨の操作を受け付ける。
図17は、拡張デバイスアプリの追加インストール後の基本デバイスアプリの印刷設定画面1700の例である。図11(b)と比較して、追加インストールされた拡張機能のUI1701が更新され、「白紙抑制」の設定変更が可能になっている。
図18は、拡張デバイスアプリ追加インストール処理(ステップS803)のフローチャートである。
拡張デバイスアプリインストール部126は、印刷環境の情報取得部123に、印刷環境の情報を取得させる(ステップS901)。ここで取得する情報は、図6のステップS301で取得する情報と同様である。
拡張デバイスアプリインストール部126は、拡張機能の構成データ取得部124に、拡張機能の構成データDB128から追加インストール対象の拡張デバイスアプリの構成データを取得させる(ステップS902)。
拡張デバイスアプリインストール部126は、追加インストール対象の拡張デバイスアプリが情報処理端末100にインストール可能であるか否かを確認する(ステップS903)。具体的には、図6ステップS302と同様に情報処理端末100がインストール条件を満たすかの第1条件と、追加インストール対象の拡張デバイスアプリがオプション装置を不要とするかの第2条件と、追加インストール対象の拡張デバイスアプリが必要とするオプション装置をデバイス200が備えているかの第3条件とについて、第1条件及び第2条件が満たされるとき、又は、第1条件及び第3条件が満たされるとき、追加インストール対象の拡張デバイスアプリが情報処理端末100にインストール可能であると判定する。
ステップS904〜ステップS907の処理は、図6のステップS306〜ステップS309で示した処理についてインストール対象を追加インストール対象と読み替えた処理と同様であり説明を省略する。
図19は、実施の形態2に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作の一部のフローチャートである。実施の形態2に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作は、図4で示した実施の形態1に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作におけるステップS108の直前に、図19で示したステップS1001〜ステップS1008を追加したものである。
図に示すように、ステップS106又はS107の後、拡張デバイスアプリインストール部126は、印刷環境の情報取得部123にOS110及びプリンタードライバー150と通信させ、印刷環境の情報として、印刷アプリの情報及び印刷アプリの使用頻度を取得する(ステップS1001)。ここで、印刷アプリの使用頻度とは、当該印刷アプリから印刷設定を行って印刷を実行した頻度(所定期間内における印刷回数)を示す情報である。この情報は、情報処理端末100で印刷を実行する毎にプリンタードライバー150又はOS110により印刷日時と印刷アプリを記録し、過去の印刷日時と印刷アプリの記録に基づいて算出されるとしてもよい。
拡張デバイスアプリインストール部126は、印刷アプリの使用頻度が所定の閾値を超えるか否かを判定し(ステップS1002)、閾値を超える場合(ステップS1002:Yes)、インストール設定情報130からおすすめ拡張機能の情報134を取得する(ステップS1003)とともに、拡張機能の構成データ取得部124に、拡張機能の構成データDB128から拡張機能の構成データを取得させる(ステップS1004)。更に、拡張デバイスアプリインストール部126は、インストール済みの拡張デバイスアプリのリスト129を取得する(ステップS1005)。
拡張デバイスアプリインストール部126は、印刷環境の情報、おすすめ拡張機能の情報134、及び、インストール済みの拡張デバイスアプリのリスト129を用いて、印刷アプリに対応する未インストールのおすすめ拡張デバイスアプリが存在するか否かを判定する(ステップS1006)。具体的に、まず、拡張デバイスアプリインストール部126は、印刷環境の情報、及び、おすすめ拡張機能の情報134に基づき、印刷アプリに関連付けられた拡張デバイスアプリを特定する。次に、インストール済みの拡張デバイスアプリのリスト129に基づき、特定された拡張デバイスアプリがインストール済みであるか否かを判定する。
印刷アプリに対応する未インストールのおすすめ拡張デバイスアプリが存在する場合(ステップS1006:Yes)、拡張デバイスアプリインストール部126は、情報処理端末100のディスプレイに、拡張機能のおすすめ画面を表示する(ステップS1007)。
拡張機能のおすすめ画面に対して、ユーザーが拡張機能を追加することを示す操作を行うと、拡張デバイスアプリインストール部126は、拡張デバイスアプリ追加インストール処理(ステップS803)を実行する。
図20は、ステップS1007で表示する拡張機能のおすすめ画面2000の例である。符号2001で示しているように、ユーザーにおすすめする拡張デバイスアプリに対応する拡張機能の機能名を表示し、当該拡張機能に対応する拡張デバイスアプリをインストールするか否かをユーザーに選択させている。ユーザーによる機能名の左に表示されているチェックボックスのチェック及び「OK」ボタンの押下操作を検出することで、拡張機能を追加することを示す旨の操作を受け付ける。
3.実施の形態3
実施の形態3に係る基本デバイスアプリ提供システム3が、実施の形態1に係る基本デバイスアプリ提供システム1と異なるところは、主に以下の3点である。一つ目は、新バージョンの基本デバイスアプリが公開された場合に、基本デバイスアプリを最新版に更新する処理を追加したことである。二つ目は、新バージョンの拡張機能の構成データDBが公開された場合、拡張機能の構成データDBを最新版に更新する処理を追加したことである。三つめは、拡張機能の構成データDBの内容更新に伴い拡張デバイスアプリの更新及び追加を実行する処理を追加したことである。
以下、実施の形態1に係る基本デバイスアプリ提供システム1と異なる部分を詳しく説明する。
3.1 ソフトウェア構成
図21は、デバイスアプリ提供システム3のソフトウェア構成を示す図である。
実施の形態1に係るデバイスアプリ提供システム1のソフトウェア構成と比較して、新たに、基本デバイスアプリ120は。拡張デバイスアプリ更新部135を備え、拡張機能の構成データDB128に代えて拡張機能の構成データDB136を備える。
拡張デバイスアプリ更新部135は、更新可能な拡張機能及び追加可能な拡張機能を特定し、特定した内容に応じて、拡張デバイスアプリの更新や追加を行う。
拡張機能の構成データDB136は、基本デバイスアプリ120のバージョンアップにより、又は、拡張機能の構成データDB128のバージョンアップにより、内容更新された拡張機能の構成データを示すDBである。
図22の例では、図3(a)に示す拡張機能の構成データDB128の例と比較して「拡張デバイスアプリNo.」が「8」〜「11」の拡張デバイスアプリの構成データが追加されている。その中で例えば、「拡張デバイスアプリNo.」が「8」である拡張デバイスアプリの機能IDは「1」であり、「拡張デバイスアプリNo.」が「1」である拡張デバイスアプリと同じ「機能ID」を有しており、「拡張デバイスアプリNo.」が「8」である拡張デバイスアプリが「拡張デバイスアプリNo.」が「1」である拡張デバイスアプリのバージョンアップ版であることを示している。また、「拡張デバイスアプリNo.」が「11」である拡張デバイスアプリの機能IDは「8」であり、同じ機能IDを有する拡張デバイスアプリは存在しない。これは、新たな拡張機能を提供する拡張デバイスアプリが新たにサポートされ、アプリ管理サーバー400に登録されたことを示している。
3.2 動作
次に、デバイスアプリ提供システム3の動作を説明する。
図23(a)、(b)は、実施の形態3に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作のフローチャートの一部である。実施の形態3に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作は、図4で示した実施の形態1に係る情報処理端末100で印刷アプリを実行して印刷を実行する際の全体動作におけるステップS105の直前に、図23(a)で示したステップS1101、ステップS1102を追加し、ステップS108の直前に、図23(b)で示したステップS1103を追加したものである。
図23(a)に示すように、ステップS103又はS104の後、OS110は、新バージョンの基本デバイスアプリが公開されているかを判定する(ステップS1101)。OS110は、デバイスメタデータ160内のアプリIDに基づいてアプリ管理サーバー400から基本デバイスアプリの情報(バージョン情報、公開日等)を取得し、情報処理端末100にインストールされている基本デバイスアプリの情報(バージョン情報、公開日等)と比較することにより、新バージョンの基本デバイスアプリが公開されているか否かを判定する。なお、情報処理端末100にインストールされている基本デバイスアプリの情報は、基本デバイスアプリのインストール時に情報処理端末100に保存される。
新バージョンの基本デバイスアプリが公開されている場合(ステップS1101:Yes)、OS110は、基本デバイスアプリを最新版に更新する(ステップS1102)。すなわち、新しいアプリIDに該当する基本デバイスアプリ120をアプリ管理サーバー400からダウンロードして、ダウンロードした基本デバイスアプリ120を情報処理端末100にインストールする。なお、ここでいう「インストールする」とは、基本デバイスアプリ120を、情報処理端末100の所定位置に格納し、実行可能な状態にすることを指す。
なお、ここでは、拡張機能の構成データDBの更新の例として、基本デバイスアプリ120の更新(バージョンアップ)について説明した。別の例として、基本デバイスアプリが拡張機能の構成データDBの更新を行う機能を備えても良い。例えば、アプリ管理サーバー400とは別に図示されていない拡張機能の構成データDB群が管理されているサーバーが設けられており、基本デバイスアプリが前述のサーバーと通信を行い、前述のサーバーにおいて、より新しいバージョンの拡張機能の構成データDBが公開されていれば、基本デバイスアプリ内の拡張機能の構成データDBを最新バージョンのものに更新しても良い。
図23(b)に示すように、ステップS106又はS107の後、基本デバイスアプリ120は、拡張デバイスアプリ更新部135に、拡張デバイスアプリ更新・追加処理(ステップS1103)を実行させる。
図24は、拡張デバイスアプリ更新・追加処理(ステップS1103)のフローチャートである。
図に示すように、拡張デバイスアプリ更新部135は、印刷環境の情報取得部123に印刷環境の情報を取得させ(ステップS1201)、拡張機能の構成データ取得部124に拡張機能の構成データDB136から拡張機能の構成データを取得させる(ステップS1202)。印刷環境の情報取得部123が行う処理は、図6のステップS301と同様であり、拡張機能の構成データ取得部124が行う処理は、図8のステップS401と同様である。
次に、拡張デバイスアプリ更新部135は、拡張デバイスアプリ特定部125に、更新・追加対象の拡張デバイスアプリ特定処理(ステップS1203)を実行させる。
拡張デバイスアプリ更新部135は、特定された更新・追加対象の拡張デバイスアプリに対応する拡張機能の更新・追加選択画面を表示する(ステップS1204)。
ステップS1205〜ステップS1209の処理は、図6のステップS305〜ステップS309で示した処理についてインストール対象を更新・追加対象と読み替えた処理と同様であり説明を省略する。
図25は、ステップS1204で表示する拡張機能の更新・追加選択画面2500の例である。符号2501で示しているように、更新可能な拡張デバイスアプリに対応する拡張機能の機能名を表示し、当該拡張機能に対応する拡張デバイスアプリを更新するか否かをユーザーに選択させている。ユーザーによる機能名の左に表示されているチェックボックスのチェック及び「OK」ボタンの押下操作を検出することで、拡張機能を更新することを示す旨の操作を受け付ける。符号2502で示しているように、追加可能な拡張デバイスアプリに対応する拡張機能の機能名を表示し、当該拡張機能に対応する拡張デバイスアプリを更新するか否かをユーザーに選択させている。ユーザーによる機能名の左に表示されているチェックボックスのチェック及び「OK」ボタンの押下操作を検出することで、拡張機能を追加することを示す旨の操作を受け付ける。
図26は、更新・追加対象の拡張デバイスアプリ特定処理(ステップS1203)のフローチャートである。
拡張デバイスアプリ特定部125は、インストール済みの拡張デバイスアプリのリスト129を取得する(ステップS1301)。
次に、拡張デバイスアプリ特定部125は、ステップS1201で取得した印刷環境の情報とステップS1202で取得した拡張機能の構成データを用いて、図8のステップS402で示した処理と同様に、情報処理端末100にインストール可能な拡張デバイスアプリを特定し、インストール可能な拡張デバイスアプリのリストを作成する(ステップS1302)。
拡張デバイスアプリ特定部125は、インストール済みの拡張デバイスアプリのリスト129とインストール可能な拡張デバイスアプリのリスト比較し(ステップS1303)、インストールされていない拡張機能が存在するか否か、及び、更新可能な拡張機能が存在するか否かを判定する(ステップS1304、ステップS1306)。
拡張デバイスアプリ特定部125は、インストールされていない拡張デバイスアプリの中でインストール済の拡張デバイスアプリのいずれとも機能IDが一致しない拡張デバイスアプリが存在すれば、当該拡張デバイスアプリに対応する拡張機能をインストールされていない拡張機能と判定する。
インストールされていない拡張機能が存在する場合(ステップS1304:Yes)、拡張デバイスアプリ特定部125は、インストールされていない拡張機能に対応する拡張デバイスアプリを追加対象の拡張デバイスアプリとして特定する(ステップS1305)。
拡張デバイスアプリ特定部125は、インストールされていない拡張デバイスアプリの中でインストール済の拡張デバイスアプリのいずれかと機能IDが一致し、更にバージョン情報がより新しい拡張デバイスアプリが存在すれば、当該拡張デバイスアプリに対応する拡張機能を更新可能な拡張機能と判定する。
更新可能な拡張機能が存在する場合(ステップS1306:Yes)、拡張デバイスアプリ特定部125は、更新可能な拡張機能のよりバージョンの新しい拡張デバイスアプリを更新対象の拡張デバイスアプリとして特定する(ステップS1307)。
4.実施の形態4
実施の形態4に係る基本デバイスアプリ提供システム4が、実施の形態3に係る基本デバイスアプリ提供システム3と異なるところは、基本デバイスアプリの印刷設定画面から拡張機能の更新設定画面へ遷移可能とし、拡張機能の更新設定画面において、拡張機能の更新条件を設定する処理を追加したことである。
以下、実施の形態3に係る基本デバイスアプリ提供システム3と異なる部分を詳しく説明する。
図27(a)は、実施の形態4に係る基本デバイスアプリ120の印刷設定画面2700の例である。図に示すように、ボタン2701を表示しており、このボタンをクリックすることにより、基本デバイスアプリの印刷設定画面から拡張機能の更新設定画面への遷移を可能としている。
図27(b)は、拡張機能の更新設定画面2710の例である。符号2711で示しているUIを操作することで、ユーザーが拡張機能を更新するための条件を設定することが可能である。図の例では、「公開日」の左のチェックボックスがチェックされている。これは、チェックボックスがチェックされた「公開日」についての更新条件の設定が可能になっていることを示す。図の例では、「公開日」の右の設定値ボックスに「公開から1か月経過」と表示されている。これは、より新しいバージョンの拡張デバイスアプリが公開されてから1か月以上経過していることを、拡張機能を更新する条件として設定することを示している。設定値ボックス内の値は、予め定められた複数の設定値の中からユーザーが選択する形で設定することができる。
更新条件として「サイズ」を設定する場合、設定値ボックスには、「10MB以内」など公開されたより新しいバージョンの拡張デバイスアプリのサイズ(データ容量)に係る条件を設定することができる。更新条件として「公開日」を設定する場合、設定値ボックスには、「公開から1か月経過」など公開されてからより新しいバージョンの拡張デバイスアプリが公開されてからの経過日数に係る条件を設定値とすることができる。更新条件として「ユーザー別設定」を設定する場合は、設定値ボックスには、「白紙抑制のみ更新可」や「白紙抑制と章分けのみ更新可」など、ユーザーの好みにより更新可の拡張機能と更新不可の拡張機能を設定することができる。更新条件として「使用頻度」を設定する場合、設定値ボックスには、「使用頻度の高い機能」など機能ごとの使用頻度に基づく条件を設定することができる。機能ごとの使用頻度は、例えば、基本デバイスアプリを用いて印刷設定を行って印刷を実行する毎に、プリンタードライバー150が印刷日時と各機能の設定値を記録しておき、記録した情報を基に算出してもよい。更新条件として「使用レベル」を設定する場合、設定値ボックスには、「初心者向けの機能」や「上級者向けの機能」などを設定することができる。どの機能を「初心者向けの機能」とし、どの機能を「上級者向けの機能」とするかは、基本デバイスアプリの開発者が任意に設定してもよい。
ユーザーが拡張機能を更新するための条件は、符号2712で示した「サイズ」、「公開日」、「ユーザー別設定」などのユーザーの希望観点に基づくものと、符号2713で示した「使用頻度」、「使用レベル」などのプリンタードライバーの使用観点に基づくものとを設定可能にしてもよい。
符号2714の領域には、符号2711で示すUIにより設定された条件を満たす拡張機能の機能名とチェックボックスを表示し、当該拡張機能に対応する拡張デバイスアプリを更新するか否かをユーザーに選択させている。ユーザーによる機能名の左に表示されているチェックボックスのチェック及び画面下部の「OK」ボタンの押下操作を検出することで、選択された拡張機能を更新することを示す旨の操作を受け付ける。
図28は、実施の形態4に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態4に係る基本デバイスアプリ120の実行するUI応答処理は、図13で示した実施形態1に係る基本デバイスアプリ120の実行するUI応答処理におけるステップS706の直前に、図28で示すステップS1401〜S1406を追加したものである。
図に示すように、ステップS703又はS705の後、Modern UI部122は、更新設定画面を表示するためのUI(図27(a)のボタン2701)に対する応答の要求があるか否かを確認する(ステップS1401)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン2701の表示位置と一致していれば、更新設定画面を表示するためのUIに対する応答の要求があると判定する。
更新設定画面を表示するためのUIに対する応答の要求がある場合(ステップS1401:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、更新設定画面(図27(b))を表示する(ステップS1402)。
更新設定画面に対して、ユーザーが操作を行うと、Modern UI部122は、更新設定画面のUIに対する応答の要求ありと判定し(ステップS1403:Yes)、ユーザーの操作に応じて更新する拡張機能を設定する(ステップS1404)。
更新設定画面の操作が完了した場合(ステップS1405:Yes)、Modern UI部122は、更新設定画面で設定された内容に応じた拡張機能の更新を、拡張デバイスアプリ更新部135に実行させ(ステップS1406)、ステップS706に進む。Modern UI部122は、更新設定画面下部のOKボタンのクリック操作の検出により、更新設定画面の操作の完了を検出可能である。拡張機能の更新は、より新しいバージョンの基本デバイスアプリを更新対象の拡張デバイスアプリとして特定し、更新対象の拡張デバイスアプリのインストールを行うことであり、図24のステップS1206〜ステップS1209で示した処理について更新・追加対象を更新対象と読み替えた処理と同様であり説明を省略する。
更新設定画面の操作が完了していない場合(ステップS1405:No)、Modern UI部122は、ステップS1403に戻る。
5.実施の形態5
実施の形態5に係る基本デバイスアプリ提供システム5が、実施の形態4に係る基本デバイスアプリ提供システム4と異なるところは、主に以下の2点である。一つは、基本デバイスアプリの印刷設定画面から拡張機能のロールバック設定画面へ遷移可能とし、拡張機能のロールバック設定画面において、拡張機能のロールバックする処理を追加したことである。もう一つは、基本デバイスアプリの印刷設定画面からプリンター切替画面へ遷移可能とし、プリンター切替画面において、使用するプリンターを切り替える処理を追加したことである。
以下、実施の形態4に係る基本デバイスアプリ提供システム4と異なる部分を詳しく説明する。
5.1 ソフトウェア構成
図29は、デバイスアプリ提供システム5のソフトウェア構成を示す図である。
実施の形態3に係るデバイスアプリ提供システム3のソフトウェア構成と比較して、新たに、基本デバイスアプリ120は。プリントキュー設定情報137を保持する。
本実施の形態では、同じ機能IDを有する複数の拡張デバイスアプリが情報処理端末100にインストールされていた場合、拡張機能のロールバックを可能とすることにより、最新バージョンの拡張デバイスアプリではなく、古いバージョンの拡張デバイスアプリを使用して印刷設定を行うことを可能としている。プリントキュー設定情報137は、印刷の設定時に使用する拡張デバイスアプリを識別する情報である。
図30(a)は、拡張機能のロールバックをする前のプリントキュー設定情報137の例である。図に示すように、プリントキュー設定情報137は、プリントキューの数3001とプリントキューの数に応じた各プリントキューの設定3002の設定値を含む。プリントキューの設定3002の設定値は、プリントキューの名称の設定値と、有効な拡張デバイスNo.の設定値を含む。この拡張デバイスNo.は拡張機能の構成データDB内の拡張デバイスNo.と対応している。この例では、プリントキューの数が「1」と設定され、一つの目のプリントキューについて、プリントキューの名称が「プリンターA」と設定され、有効な拡張デバイスアプリNo.が「8」、「2」、「9」、「10」と設定されている。
図30(b)は、拡張機能のロールバックをした後のプリントキュー設定情報137の例である。図30(a)と比較して、有効な拡張デバイスアプリNo.が異なり、「1」、「2」、「9」、「10」と設定されている。これは、図22の拡張機能の構成データDB136を参照し、「白紙抑制」の拡張機能について、バージョン1.1の拡張デバイスアプリからバージョン1.0の拡張デバイスアプリにロールバックしたことを示している。
図30(c)は、拡張機能のロールバック時に、プリントキューの複製を行った場合のプリントキュー設定情報137の例である。この例では、プリントキューの数が「2」と設定されている。一つの目のプリントキューについて、プリントキューの名称が「プリンターA」と設定され、有効な拡張デバイスアプリNo.が「8」、「2」、「9」、「10」と設定されている。二つ目のプリントキューについて、プリントキューの名称が「プリンターA(Rollback)」と設定され、有効な拡張デバイスアプリNo.が「1」、「2」、「9」、「10」と設定されている。このようにプリントキューの数を複数に設定し、印刷設定時に使用するプリントキューを切り替えることで、最新バージョンの拡張機能と古いバージョンの拡張機能を使い分けることができる。
図31(a)は、実施の形態5に係る基本デバイスアプリ120の印刷設定画面3100の例である。図に示すように、ボタン3101を表示しており、このボタンをクリックすることにより、基本デバイスアプリの印刷設定画面から拡張機能のロールバック設定画面への遷移を可能としている。また、符号3102に示す領域に現在使用しているプリンターを識別する情報を表示し、プリントキュー設定情報137で保持する一つ以上のプリントキューの設定3002のうち、どのプリントキューの設定3002が有効であるかをユーザーに通知している。更に、ボタン3103を表示しており、このボタンをクリックすることにより、基本デバイスアプリの印刷設定画面から拡張機能のプリンターの切り替え画面への遷移を可能としている。
図31(b)は、実施の形態5に係る基本デバイスアプリ120の印刷設定画面3100の例である。図31(a)と異なるところは、符号3102に示す領域に表示されているプリンターを識別する情報が、図30(c)の一つ目のプリントキューの設定3002のものから二つ目のプリントキューの設定3002のものへ変わっていることである。これに伴い、印刷設定における「白紙抑制」機能のバージョンが「1.1」から「1.0」へ変わっている。
5.2 動作
図32は、実施の形態5に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態5に係る基本デバイスアプリ120の実行するUI応答処理は、実施の形態4に係る基本デバイスアプリ120の実行するUI応答処理に対し、更に、図32で示すステップS1501〜S1506を実行する。
図に示すように、ステップS1406の後、Modern UI部122は、ロールバック設定画面を表示するためのUI(図31(a)のボタン3101)に対する応答の要求があるか否かを確認する(ステップS1501)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン3101の表示位置と一致していれば、ロールバック設定画面を表示するためのUIに対する応答の要求があると判定する。
ロールバック設定画面を表示するためのUIに対する応答の要求がある場合(ステップS1501:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、ロールバック設定画面を表示する(ステップS1502)。
ロールバック設定画面に対して、ユーザーが操作を行うと、Modern UI部122は、ロールバック設定画面のUIに対する応答の要求ありと判定し(ステップS1503:Yes)、ユーザーの操作に応じてロールバックに係る設定を行う(ステップS1504)。
ロールバック設定画面の操作が完了した場合(ステップS1505:Yes)、Modern UI部122は、ロールバック設定画面で設定された内容に応じたロールバック処理を拡張デバイスアプリ更新部135に実行させ(ステップS1506)、後述のステップS1601に進む。Modern UI部122は、ロールバック設定画面下部のOKボタンのクリック操作の検出により、ロールバック設定画面の操作の完了を検出可能である。
ロールバック設定画面の操作が完了していない場合(ステップS1505:No)、Modern UI部122は、ステップS1503に戻る。
図33は、ステップS1504で表示するロールバック設定画面3300の例である。符号3301で示しているUIを操作することで、ユーザーが拡張機能をロールバックするための条件を設定することが可能である。図の例では、「公開日」の左のチェックボックスがチェックされている。これは、チェックボックスがチェックされた「公開日」についてのロールバック条件の設定が可能になっていることを示す。また、「公開日」の右の設定値ボックスに「公開から1年以内」と表示されている。これは、現在のプリントキューの設定で有効な拡張機能のバージョンが公開されてから1年以内であることを、拡張機能をロールバックする条件として設定することを示している。設定値ボックス内の値は、予め定められた複数の設定値の中からユーザーが選択する形で設定することができる。
ロールバック条件として「公開日」を設定する場合、設定値ボックスには、「公開から1年以内」など公開されてからより新しいバージョンの拡張デバイスアプリが公開されてからの経過日数に係る条件を設定値とすることができる。更新条件として「バージョン」を設定する場合は、設定値ボックスには、「最新版」など、拡張機能のバージョンに係る条件を設定値とすることができる。
符号3302の領域には、符号3301で示すUIにより設定されたロールバック条件を満たす拡張機能の機能名とチェックボックスを表示し、当該拡張機能に対応する拡張デバイスアプリをロールバックするか否かをユーザーに選択させている。図の例では、「白紙抑制」の左のチェックボックスがチェックされている。これは、チェックボックスがチェックされた「白紙抑制」について、ロールバックを実行するように設定されていることを示している。また、「白紙抑制」の右に二つの設定値ボックスがあり、それぞれ「Ver1.1」及び「Ver1.0」と表示されている。これは、「白紙抑制」機能について「Ver1.1」から「Ver1.0」にロールバックするように設定されていることを示している。これら設定値ボックス内の値は、情報処理端末100にインストールされた拡張デバイスアプリに基づく複数の設定値の中からユーザーが選択する形で設定することができる。
符号3303の領域には、ロールバック時にプリントキューの複製を行うか否かをユーザーに選択させている。図の例では、「プリントキューを複製する」の左のチェックボックスがチェックされている。これは、ロールバック時にプリントキューの複製を行うように設定されていることを示している。また、「名称」の右に設定値ボックスがあり、「プリンターA(Rollback)」と表示されている。これは、新たに作成されるプリントキューの名称が「プリンターA(Rollback)」と設定されていることを示す。この設定値ボックス内の値は、ユーザーがキーボード等の入力装置により入力してもよく、基本デバイスアプリが自動で作成して入力してもよい。
ロールバック時にプリントキューの複製を行うように設定されていない状態でロールバック設定画面下部のOKボタンの押下が検出されると、拡張デバイスアプリ更新部135は、現在のプリントキューの設定3002に対して、符号3302の領域でロールバックすると設定された拡張機能をロールバックさせたプリントキューの設定3002を新たに作成し、作成したプリントキューの設定3002で現在のプリントキューの設定を上書きする。例えば、図30(a)に示すプリントキュー設定情報137から図30(b)に示すプリントキュー設定情報137に更新する。
ロールバック時にプリントキューの複製を行うように設定されている状態でロールバック設定画面下部のOKボタンの押下が検出されると、拡張デバイスアプリ更新部135は、現在のプリントキューの設定3002に対して、符号3302の領域でロールバックすると設定された拡張機能をロールバックさせたプリントキューの設定3002を新たに作成してプリントキュー設定情報137に追加し、プリントキューの数3001をインクリメントする。例えば、図30(a)に示すプリントキュー設定情報137から図30(c)に示すプリントキュー設定情報に更新する。
図34は、実施の形態5に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態5に係る基本デバイスアプリ120の実行するUI応答処理は、更に、図34で示すステップS1601〜S1606を実行する。
図に示すように、ステップS1506の後、再度基本デバイスアプリの印刷設定画面を表示し、Modern UI部122は、プリンター切替画面を表示するためのUI(図31(a)のボタン3103)に対する応答の要求があるか否かを確認する(ステップS1601)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン3103の表示位置と一致していれば、プリンター切替画面を表示するためのUIに対する応答の要求があると判定する。
プリンター切替画面を表示するためのUIに対する応答の要求がある場合(ステップS1601:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、プリンター切替画面を表示する(ステップS1602)。
プリンター切替画面に対して、ユーザーが操作を行うと、Modern UI部122は、プリンター切替画面のUIに対する応答の要求ありと判定し(ステップS1603:Yes)、ユーザーの操作に応じてプリンター切替の設定を行う(ステップS1604)。
プリンター切替画面の操作が完了した場合(ステップS1605:Yes)、Modern UI部122は、プリンター切替画面で設定された内容に応じた有効なプリントキューの設定3002の切り替えを拡張デバイスアプリ更新部135に実行させ(ステップS1606)、ステップS706に進む。Modern UI部122は、プリンター切替画面下部のOKボタンのクリック操作の検出により、プリンター切替画面の操作の完了を検出可能である。
プリンター切替画面の操作が完了していない場合(ステップS1605:No)、Modern UI部122は、ステップS1603に戻る。
図35は、ステップS1604で表示するプリンター切替画面3500の例である。図に示すように、プリントキュー設定情報137で設定されているプリントキューの設定3002におけるプリントキューの名称が、使用するプリンターの選択候補3501として表示される。ここで、ユーザーによるいずれかの使用するプリンターの選択候補3501の表示領域をクリックする操作を行うと、当該プリンターの選択候補3501の表示領域を強調表示し、他のプリンターの選択候補3501の表示領域が強調表示されていれば強調表示を打ち消す。強調表示されているプリンターの選択候補3501は、対応するプリントキューの設定3002が有効であることを示す。プリンター切替画面3500下部のOKボタンのクリック操作を検出すると、Modern UI部122は、その時点で有効なプリントキューの設定3002に基づいて基本デバイスアプリの印刷設定画面を表示してステップS706に戻る。
6.実施の形態6
実施の形態6に係る基本デバイスアプリ提供システム6が、実施の形態1に係る基本デバイスアプリ提供システム1と異なるところは、主に以下の2点である。一つは、基本デバイスアプリ120で保持するインストール済拡張デバイスアプリのリスト129をユーザー情報としてデバイス200にエクスポートできることである。もう一つは、デバイス200で保持するユーザー情報をインポートして、インポートしたユーザー情報に基づいて拡張デバイスアプリのインストールを行うことができることである。
以下、実施の形態1に係る基本デバイスアプリ提供システム1と異なる部分を詳しく説明する。
5.1 ソフトウェア構成
図36は、デバイスアプリ提供システム6のソフトウェア構成を示す図である。
実施の形態1に係るデバイスアプリ提供システム1のソフトウェア構成と比較して、新たに、基本デバイスアプリ120は、インポート・エクスポート部138を備え、デバイス200は、ユーザー情報202を保持する。
インポート・エクスポート部138は、インストール済拡張デバイスアプリのリスト129に基づいてユーザー情報を生成し、デバイス200に送信するエクスポート処理と、デバイス200からユーザー情報を取得し、拡張デバイスアプリインストール部126に、取得したユーザー情報に基づいて拡張デバイスアプリを情報処理端末100にインストールさせるインポート処理を行う。
図37は、デバイス200で保持するユーザー情報202の例である。図に示すように、ユーザー情報202は、ユーザー名203と拡張機能のリスト204を含む。図の例では、
ユーザー名が「minoru」のユーザー情報202として、拡張デバイスアプリNo.が「1」、「3」、「5」の3つの拡張デバイスアプリが設定されていることを示している。
6.2 動作
図38は、実施の形態6に係る基本デバイスアプリ120の印刷設定画面3800の例である。図に示すように、ボタン3801を表示しており、このボタンをクリックすることにより、基本デバイスアプリの印刷設定画面から拡張機能のインポート・エクスポート設定画面への遷移を可能としている。
図39は、実施の形態6に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態6に係る基本デバイスアプリ120の実行するUI応答処理は、実施の形態1に係る基本デバイスアプリ120の実行するUI応答処理に対し、更に、図39で示すステップS1701〜S1708を実行する。
図に示すように、ステップS703又はステップS705の後、Modern UI部122は、インポート・エクスポート設定画面を表示するためのUI(図38のボタン3801)に対する応答の要求があるか否かを確認する(ステップS1701)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン3801の表示位置と一致していれば、インポート・エクスポート設定画面を表示するためのUIに対する応答の要求があると判定する。
インポート・エクスポート設定画面を表示するためのUIに対する応答の要求がある場合(ステップS1701:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、インポート・エクスポート設定画面を表示する(ステップS1702)。
インポート・エクスポート設定画面の表示後、Modern UI部122は、エクスポート設定画面を表示するためのUI(図40(a)のボタン4003)に対する応答の要求があるか否かを確認する(ステップS1703)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン4003の表示位置と一致していれば、エクスポート設定画面を表示するためのUIに対する応答の要求があると判定する。
エクスポート設定画面を表示するためのUIに対する応答の要求がある場合(ステップS1703:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、エクスポート設定画面を表示する(ステップS1704)。
エクスポート設定画面に対して、ユーザーが操作を行うと、Modern UI部122は、エクスポート設定画面のUIに対する応答の要求ありと判定し(ステップS1705:Yes)、ユーザーの操作に応じてエクスポートに係る設定を行う(ステップS1706)。
エクスポート設定画面の操作が完了した場合(ステップS1707:Yes)、Modern UI部122は、エクスポート設定画面で設定された内容に応じたエクスポート処理をインポート・エクスポート部138に実行させ、ステップS1708に進む。Modern UI部122は、エクスポート設定画面下部のOKボタンのクリック操作の検出により、エクスポート設定画面の操作の完了を検出可能である。
エクスポート設定画面の操作が完了していない場合(ステップS1707:No)、Modern UI部122は、ステップS1705に戻る。
インポート・エクスポート設定画面の操作が完了した場合(ステップS1708:Yes)、Modern UI部122は、基本デバイスアプリ120の印刷設定画面を表示し、ステップS706に進む。Modern UI部122は、インポート・エクスポート設定画面下部のOKボタンのクリック操作の検出により、インポート・エクスポート設定画面の操作の完了を検出可能である。
インポート・エクスポート設定画面の操作が完了していない場合(ステップS1708:No)、Modern UI部122は、ステップS1702に戻る。
図40(a)は、ステップS1702で表示する拡張機能のインポート・エクスポート設定画面4000の例である。符号4001で示した領域には、拡張機能のリストが表示され、その中で情報処理端末100にインストールされている拡張デバイスアプリに対応する拡張機能には左のチェックボックスがチェックされている。これにより、ユーザーは、現在インストールされている拡張機能を確認できる。また、ボタン4003を表示しており、このボタンをクリックすることにより、インポート・エクスポート設定画面からエクスポート設定画面への遷移を可能としている。
図40(b)は、ステップS1704で表示する拡張機能のエクスポート設定画面4010の例である。エクスポート設定画面4010では、ユーザー名の設定値ボックス4011により、デバイス200に出力するユーザー情報のユーザー名を設定できるようになっている。この設定値ボックス4011内の値は、ユーザーがキーボード等の入力装置により入力してもよく、基本デバイスアプリがOSのアカウント情報を参照して自動で入力してもよい。また、エクスポート設定画面4010には、符号4012の領域に、拡張機能のリストを表示し、ユーザーにエクスポートしようとしている拡張機能を通知している。この符号4012に表示される拡張機能のリストは、情報処理端末100にインストールされている拡張デバイスアプリに対応する拡張機能のリストである。
エクスポート設定画面4010下部のOKボタンに対するクリック操作を検出すると、インポート・エクスポート部138は、設定値ボックス4011で設定されたユーザー名及び符号4012に表示されている拡張機能のリストに基づいて、図37に示すようなユーザー情報202を生成し、デバイス200に出力する。
図41は、実施の形態6に係る基本デバイスアプリ120の実行するUI応答処理の一部のフローチャートである。実施の形態6に係る基本デバイスアプリ120の実行するUI応答処理は、更に、図41で示すステップS1801〜S1805を実行する。
図に示すように、ステップS1703又はステップS1707の後、Modern UI部122は、再度インポート・エクスポート設定画面を表示し、インポート設定画面を表示するためのUI(図42(a)のボタン4002)に対する応答の要求があるか否かを確認する(ステップS1801)。Modern UI部122は、マウスのクリックを検出し、かつ、そのクリック位置がボタン4002の表示位置と一致していれば、インポート設定画面を表示するためのUIに対する応答の要求があると判定する。
インポート設定画面を表示するためのUIに対する応答の要求がある場合(ステップS1801:Yes)、Modern UI部122は、情報処理端末100のディスプレイに、インポート設定画面を表示する(ステップS1802)。
インポート設定画面に対して、ユーザーが操作を行うと、Modern UI部122は、インポート設定画面のUIに対する応答の要求ありと判定し(ステップS1803:Yes)、ユーザーの操作に応じてインポートに係る設定を行う(ステップS1804)。
インポート設定画面の操作が完了した場合(ステップS1805:Yes)、Modern UI部122は、エクスポート設定画面で設定された内容に応じたインポート処理をインポート・エクスポート部138に実行させ、ステップS1708に進む。Modern UI部122は、インポート設定画面下部のOKボタンのクリック操作の検出により、インポート設定画面の操作の完了を検出可能である。
インポート設定画面の操作が完了していない場合(ステップS1805:No)、Modern UI部122は、ステップS1803に戻る。
図42(a)は、拡張機能のインポートを行う前の拡張機能のインポート・エクスポート設定画面4200の例である。符号4001で示した領域には、拡張機能のリストが表示され、その中で情報処理端末100にインストールされている拡張デバイスアプリに対応する拡張機能には左のチェックボックスがチェックされている。また、ボタン4002を表示しており、このボタンをクリックすることにより、インポート・エクスポート設定画面からインポート設定画面への遷移を可能としている。
図42(b)は、ステップS1802で表示する拡張機能のインポート設定画面4210の例である。インポート設定画面4210では、ユーザー名の設定値ボックス4211により、デバイス200からインポートするユーザー情報202のユーザー名203を設定できるようになっている。この設定値ボックス4011内の値は、インポート・エクスポート部138が、デバイス200にアクセスしてデバイス200が保持するユーザー情報202を取得し、取得したユーザー名203の名称を自動で入力してもよい。また、デバイス200に複数のユーザー情報202が記憶されている場合は、それらからユーザーに選択させてもよい。
また、インポート設定画面4210には、符号4212の領域に、拡張機能のリストを表示し、ユーザーにインポートしようとしている拡張機能を通知している。符号4212の領域に表示される拡張機能のリストは、設定値ボックス4211で設定されているユーザー名に対応するユーザー情報で登録されている拡張機能のリストである。
インポート設定画面4210下部のOKボタンに対するクリック操作を検出すると、インポート・エクスポート部138は、符号4012に表示されている拡張機能のリストを拡張デバイスアプリ特定部125に通知して、このリストの中から情報処理端末100にインストール可能な拡張デバイスアプリを特定させ、特定された拡張デバイスアプリを拡張デバイスアプリインストール部126にインストールさせる。インストール可能な拡張デバイスアプリの特定方法は、図8のステップS402と同様である。また、拡張デバイスアプリのインストール方法は、図6のステップS305〜S309と同様である。
図42(c)は、拡張機能のインポートを行った後の拡張機能のインポート・エクスポート設定画面4220の例である。図42(a)の拡張機能のインポートを行う前の拡張機能のインポート・エクスポート設定画面4200と比較して、符号4001で示した領域において、「章分け」、「ウォーターマーク」、「ステープル」、「パンチ」のチェックボックスがチェックされ、これらの拡張機能がインポート処理によりインストールされたことを示している。
7.補足
以上、本発明を実施の形態に基づいて説明してきたが本発明は上述の実施の形態に限定されないのは勿論であり、以下の変形例が本発明の技術範囲に含まれることは勿論である。
(1)上述の実施の形態において、デバイス200は、プリンターやMFP等の画像形成装置が該当するとしたが、これに限られるものではない。デバイス200は、デバイスメタデータによって、基本デバイスアプリと関連付けられ、基本デバイスアプリによって、設定を行うものであればよい。例えば、スキャナー装置であってもよいし、マウス、キーボード、マイクのような入力装置であってもよく、また、スピーカーやディスプレイのような出力装置であってもよい。また、HDDやSSD等の記憶装置であってもよい。
(2)上述の実施の形態では、基本機能として「用紙サイズ」と「ズーム」を設定可能で、その他の機能は拡張機能であるとしたが、どの機能を基本機能としてどの機能を拡張機能とするかは適宜変更してもよい。基本デバイスアプリで基本機能を設定可能とする必要がなく、全ての設定項目の設定を拡張デバイスアプリにより実現してもよい。
(3)上述の実施の形態をそれぞれ組み合わせるとしてもよい。
本開示は、デバイスを制御するアプリケーションプログラムとして有用である。
100 情報処理端末
120 基本デバイスアプリ
122 Modern UI部
123 印刷環境の情報取得部
124 拡張機能の構成データ取得部
125 拡張デバイスアプリ特定部
126 拡張デバイスアプリインストール部
127 拡張デバイスアプリ連携部
128,136 拡張機能の構成データDB
129 インストール済み拡張デバイスアプリのリスト
130 インストール設定情報
135 拡張デバイスアプリ更新部
137 プリントキュー設定情報
138 インポート・エクスポート部
140 拡張デバイスアプリ群
141 拡張デバイスアプリ
150 プリンタードライバー
160 デバイスメタデータ
170 デスクトップアプリ
180 ストアアプリ
200 デバイス
300 メタデータ管理サーバー
400 アプリ管理サーバー

Claims (13)

  1. 情報処理端末に接続される周辺機器に対し、前記情報処理端末の違いに依らず前記情報処理端末毎に一つだけ提供され、前記周辺機器を制御するために前記情報処理端末にインストールされるアプリケーションプログラムであって、
    前記周辺機器を制御するための拡張機能を提供する1以上の拡張プログラムのネットワーク上の格納先を含む構成情報を取得する取得処理と、
    前記1以上の拡張プログラムのうち前記情報処理端末にインストールする拡張プログラムを特定する特定処理と、
    特定した拡張プログラムを前記格納先からダウンロードし、前記情報処理端末にインストールするインストール処理と、
    インストールされた拡張プログラムと連携して前記周辺機器の設定項目の設定を行う設定処理とを、
    前記情報処理端末に実行させる
    ことを特徴とするアプリケーションプログラム。
  2. 前記周辺機器は、印刷機能を有する周辺機器であり、
    前記特定処理では、前記周辺機器の印刷環境を示す印刷環境情報を取得し、前記印刷環境の情報に応じてインストールする拡張プログラムを特定する
    請求項1に記載のアプリケーションプログラム。
  3. 前記特定処理では、前記印刷環境情報として、印刷対象の編集又は表示に使用されるアプリケーションプログラムに係る情報、前記周辺機器の備えるオプション装置に係る情報、前記情報処理端末の種類に係る情報、前記情報処理端末で実行しているOSの種類に係る情報、及び、前記情報処理端末の空き容量に係る情報の少なくとも一つを取得する
    請求項2に記載のアプリケーションプログラム。
  4. 前記特定処理では、前記印刷環境情報に応じて前記情報処理端末にインストール可能な拡張プログラムをユーザーに提示し、提示した拡張プログラムのインストールを行うか否かをユーザーに選択させる
    請求項2又は3に記載のアプリケーションプログラム。
  5. 前記特定処理では、前記印刷環境情報に応じて前記情報処理端末にインストール可能な拡張プログラムを特定し、前記インストール可能な拡張プログラムをすべて前記情報処理端末にインストールする拡張プログラムとする
    請求項2又は3に記載のアプリケーションプログラム。
  6. 更に、前記インストールされた拡張プログラムの更新を管理する更新管理処理を前記情報処理端末に実行させる
    請求項1から5に記載のアプリケーションプログラム。
  7. 前記更新管理処理では、更新可能な拡張プログラムの更新を行うか否かを、個別に設定可能である
    請求項6に記載のアプリケーションプログラム。
  8. 前記更新管理処理では、更新可能な拡張プログラムのうち、所定の更新条件を満たす拡張プログラムの更新を行う
    請求項6に記載のアプリケーションプログラム。
  9. 前記更新条件は、前記インストールされた拡張プログラムに対する新しいバージョンの拡張プログラムが公開されてからの経過日数に係る条件である
    請求項8に記載のアプリケーションプログラム。
  10. 前記更新条件は、前記インストールされた拡張プログラムの使用頻度に係る条件である
    請求項8に記載のアプリケーションプログラム。
  11. 前記更新管理処理では、拡張プログラムの更新を行う際に更新前の拡張プログラムをバックアップし、ユーザー操作に応じて、更新された拡張プログラムを更新前の拡張プログラムにロールバックさせる
    請求項6に記載のアプリケーションプログラム。
  12. 更に、ユーザーの操作に応じて、前記周辺機器に記憶されたインストールすべき拡張プログラムのリストを取得し、取得したリストに含まれる拡張プログラムを前記インストール処理でインストールさせるインポート処理部を前記情報処理端末に実行させる
    請求項1から11のいずれかに記載のアプリケーションプログラム。
  13. 更に、ユーザーの操作に応じて、前記情報処理端末にインストールされた拡張プログラムのリストを前記周辺機器に記憶させるエクスポート処理を前記情報処理端末に実行させる
    請求項1から12のいずれかに記載のアプリケーションプログラム。
JP2019221819A 2019-12-09 2019-12-09 アプリケーションプログラム Pending JP2021092876A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019221819A JP2021092876A (ja) 2019-12-09 2019-12-09 アプリケーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019221819A JP2021092876A (ja) 2019-12-09 2019-12-09 アプリケーションプログラム

Publications (1)

Publication Number Publication Date
JP2021092876A true JP2021092876A (ja) 2021-06-17

Family

ID=76313245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019221819A Pending JP2021092876A (ja) 2019-12-09 2019-12-09 アプリケーションプログラム

Country Status (1)

Country Link
JP (1) JP2021092876A (ja)

Similar Documents

Publication Publication Date Title
JP6390708B2 (ja) システムおよび情報処理方法
JP4371673B2 (ja) プログラムインストール方法およびサーバ装置
US10892956B2 (en) Device management server, control method for the same, and medium
US9544454B2 (en) Information processing apparatus, information processing method, and computer-readable medium for displaying device settings via a device setting screen
JP6581418B2 (ja) 配信システム、配信方法及びプログラム
JP6648915B2 (ja) 情報処理装置、方法およびプログラム
JP4908731B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6326795B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
US8422040B2 (en) Image forming system and method, management apparatus, and recording medium
JP5178319B2 (ja) アプリケーションプラットフォーム
JP2021092876A (ja) アプリケーションプログラム
JP6103978B2 (ja) 配信装置、デバイス装置、配信装置の制御方法およびコンピュータプログラム
JP5812769B2 (ja) 文書管理システム、文書管理方法、プログラム
JP6639363B2 (ja) サーバ装置、情報処理方法及びプログラム
JP2019008673A (ja) 情報処理装置およびドライバーインストール方法
JP6929160B2 (ja) 画像形成装置およびその制御方法とプログラム
JP2016177351A (ja) プログラム、情報処理装置、画面表示方法
JP2015049862A (ja) 情報処理装置、システム、方法およびプログラム
US20230153127A1 (en) Displaying user interface using user interface definition file
JP2019087922A (ja) 画像処理装置および画像処理装置の制御方法
JP6831689B2 (ja) 端末装置、サーバ装置、会計情報処理方法、およびプログラム
JP2017162070A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6648642B2 (ja) 印刷システム、情報処理システムおよび方法
JP6537366B2 (ja) サーバ装置、端末装置、情報処理方法、およびプログラム