(57)【要約】      （修正有）【課題】Ｖ４プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内のローカルフォルダに記憶されたアドレス帳を容易に編集することができるようにする。【解決手段】情報処理装置は、プリンタドライバを実行する情報処理装置であって、デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第１の設定画面を表示する第１の設定部と、ストアアプリケーションから前記プリンタドライバに関する設定を行う第２の設定画面を表示する第２の設定部と、前記第１の設定部から編集可能な第１の記憶部に記憶した第１のアドレス帳と、前記第２の設定部から編集可能な第２の記憶部に記憶した第２のアドレス帳と、前記第１のアドレス帳及び前記第２のアドレス帳を編集可能であり、前記第１のアドレス帳と前記第２のアドレス帳とをマージするアドレス帳管理部と、を有する。【選択図】図７
2019160237.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバを実行する情報処理装置であって、
デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第１の設定画面を表示する第１の設定部と、
ストアアプリケーションから前記プリンタドライバに関する設定を行う第２の設定画面を表示する第２の設定部と、
前記第１の設定部から編集可能な第１の記憶部に記憶した第１のアドレス帳と、
前記第２の設定部から編集可能な第２の記憶部に記憶した第２のアドレス帳と、
前記第１のアドレス帳及び前記第２のアドレス帳を編集可能であり、前記第１のアドレス帳と前記第２のアドレス帳とをマージするアドレス帳管理部と、
を有する、情報処理装置。
【請求項２】
前記第１の設定画面、又は前記第２の設定画面で設定された設定情報に基づいて、出力対象となるデータから所定の形式の出力データを生成する出力データ生成部を有し、
前記アドレス帳管理部は、前記出力データ生成部が前記出力データを生成するときに、前記第１のアドレス帳と前記第２のアドレス帳とをマージする、請求項１に記載の情報処理装置。
【請求項３】
前記出力データ生成部は、前記第１の設定画面、又は前記第２の設定画面で設定された出力先に、前記出力データを出力する、請求項２に記載の情報処理装置。
【請求項４】
前記アドレス帳管理部は、利用者によって前記第１のアドレス帳又は前記第２のアドレス帳が開かれたときに、前記利用者によって選択されたマージ方法に従って、前記第１のアドレス帳と前記第２のアドレス帳とをマージする、請求項１に記載の情報処理装置。
【請求項５】
前記アドレス帳管理部は、前記第１のアドレス帳と前記第２のアドレス帳とが同じデータ内容となるように、前記第１のアドレス帳又は前記第２のアドレス帳をマージする、請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記アドレス帳管理部は、前記第１のアドレス帳に含まれるデータの保存時刻と、前記第２のアドレス帳に含まれるデータの保存時刻とを比較し、前記保存時刻が最新のデータを用いて、前記第１のアドレス帳又は前記第２のアドレス帳のデータ内容を更新する、請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第２の記憶部は、前記プリンタドライバに対応するＵｓｅｒＰｒｏｐｅｒｔｙＢａｇを含む、請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項８】
前記プリンタドライバは、
前記第１の設定部と、
前記アドレス帳管理部と、
前記第１の設定画面、又は前記第２の設定画面で設定された設定情報に基づいて、出力対象となるデータから所定の形式の出力データを生成する出力データ生成部と、
として前記情報処理装置を機能させる、請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
プリンタドライバを実行する情報処理装置が、
デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第１の設定画面を表示する第１の設定部から編集可能な第１の記憶部に第１のアドレス帳を記憶するステップと、
ストアアプリケーションから前記プリンタドライバに関する設定を行う第２の設定画面を表示する第２の設定部から編集可能な第２の記憶部に記憶した第２のアドレス帳を編集するステップと、
前記第１のアドレス帳及び前記第２のアドレス帳を読出し、前記第１のアドレス帳と前記第２のアドレス帳とをマージするステップと、
を実行する、情報処理方法。
【請求項１０】
コンピュータに、
デスクトップアプリケーションからプリンタドライバに関する設定を行う第１の設定画面を表示する第１の設定部から編集可能な第１の記憶部に第１のアドレス帳を記憶するステップと、
ストアアプリケーションから前記プリンタドライバに関する設定を行う第２の設定画面を表示する第２の設定部から編集可能な第２の記憶部に記憶した第２のアドレス帳を編集するステップと、
前記第１のアドレス帳及び前記第２のアドレス帳を読出し、前記第１のアドレス帳と前記第２のアドレス帳とをマージするステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）２０００からＷｉｎｄｏｗｓ７までのＷｉｎｄｏｗｓＯＳ（Operating System）では、Ｖｅｒｓｉｏｎ３（以降「Ｖ３」と称する）プリンタドライバと呼ばれるプリンタドライバのアーキテクチャが採用されている。また、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｖ３プリンタドライバに加え、Ｖｅｒｓｉｏｎ４（以降「Ｖ４」と称する）プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが採用されている。
【０００３】
また、Ｆａｘ送信装置において、Ｆａｘジョブデータに付与されたアドレス帳情報と、Ｆａｘ送信装置が持つアドレス帳情報とを比較し、アドレス帳情報の間に差異がある場合に送信先の修正を行う技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、従来のアプリケーション（以下、デスクトップアプリと呼ぶ）に加えて、ＷｉｎｄｏｗｓＯＳにアプリケーションを提供する「Ｗｉｎｄｏｗｓストア」から入手可能なストアアプリを利用することができる。
【０００５】
このストアアプリから印刷に関する設定を行う場合、ストアアプリと同様に「Ｗｉｎｄｏｗｓストア」から入手可能なアプリケーションであるストアデバイスアプリを利用して、ストアアプリ用の設定画面を表示させて設定を行う。
【０００６】
しかし、ストアアプリ、及びストアデバイスアプリは、デスクトップアプリと比べてセキュリティが強化されており、情報処理装置内のファイルやレジストリ等へのアクセスが制限されている。そのため、従来の技術では、Ｖ４プリンタドライバにおけるストアアプリ用の設定画面から、例えば、情報処理装置のストレージデバイス等のローカルフォルダに記憶されたアドレス帳を編集することには困難を伴っていた。
【０００７】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、Ｖ４プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内のローカルフォルダに記憶されたアドレス帳を容易に編集することができるようにする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、プリンタドライバを実行する情報処理装置であって、デスクトップアプリケーションから前記プリンタドライバに関する設定を行う第１の設定画面を表示する第１の設定部と、ストアアプリケーションから前記プリンタドライバに関する設定を行う第２の設定画面を表示する第２の設定部と、前記第１の設定部から編集可能な第１の記憶部に記憶した第１のアドレス帳と、前記第２の設定部から編集可能な第２の記憶部に記憶した第２のアドレス帳と、前記第１のアドレス帳及び前記第２のアドレス帳を編集可能であり、前記第１のアドレス帳と前記第２のアドレス帳とをマージするアドレス帳管理部と、を有する。
【発明の効果】
【０００９】
本発明の一実施形態によれば、Ｖ４プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内のローカルフォルダに記憶されたアドレス帳を容易に編集することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】一実施形態に係るクライアント装置及びサーバ装置の一例のハードウェア構成を示す図である。
【図３】一実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
【図４】クライアント装置の一例のソフトウェア構成を示す図である。
【図５】Ｖ４プリンタドライバ及びストアデバイスアプリがアクセス可能な記憶領域について説明するための図である。
【図６】第１の実施形態に係る情報処理システムのシステム構成の例を示す図である。
【図７】第１の実施形態に係るクライアント装置の機能構成の例を示す図である。
【図８】第１の実施形態に係る情報処理システムの処理の例を示すシーケンス図（１）である。
【図９】第１の実施形態に係る情報処理システムの処理の例を示すシーケンス図（２）である。
【図１０】第１の実施形態に係るアドレス帳のマージについて説明するための図（１）である。
【図１１】第１の実施形態に係るアドレス帳のマージについて説明するための図（２）である。
【図１２】変形例について説明するための図（１）である。
【図１３】変形例について説明するための図（２）である。
【図１４】第２の実施形態に係るクライアント装置の機能構成の例を示す図である。
【図１５】第２の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１２】
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を用いて説明する。図１は、一実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１３】
図１に示すように、本実施形態に係る情報処理システム１は、１台以上のクライアント装置１０と、１台以上の画像形成装置２０と、サーバ装置３０とを含み、これら装置はＬＡＮ（Local Area Network）等のネットワークＮを介して互いに通信可能に接続されている。
【００１４】
クライアント装置１０は、例えばＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等である。クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置２０に送信する。又は、クライアント装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置３０に送信する。
【００１５】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置２０が印刷可能なＰＤＬ（Page Description Language）形式に変換した電子データである。
【００１６】
画像形成装置２０は、例えばプリンタ、印刷機能を備えたＭＦＰ（Multifunction Peripheral）等である。画像形成装置２０は、クライアント装置１０又はサーバ装置３０から受信した印刷データを印刷する。
【００１７】
サーバ装置３０は、例えばＰＣ等である。サーバ装置３０は、例えば、クライアント装置１０から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置２０に送信する。
【００１８】
また、サーバ装置３０は、ファイルサーバとして機能しても良い。すなわち、サーバ装置３０は、例えば、クライアント装置１０から受信した印刷データを記憶しておき、画像形成装置２０からの要求に応じて、記憶した印刷データを要求元の画像形成装置２０に送信しても良い。
【００１９】
なお、以降では、１台以上のクライアント装置１０について、各々を区別するときは、「クライアント装置１０−１」、「クライアント装置１０−２」等と表す。同様に、１台以上の画像形成装置２０について、各々を区別するときは、「画像形成装置２０−１」、「画像形成装置２０−２」等と表す。
【００２０】
＜ハードウェア構成＞
次に、本実施形態に係る情報処理システム１に含まれるクライアント装置１０、画像形成装置２０、及びサーバ装置３０のハードウェア構成について、図２及び図３を用いて説明する。
【００２１】
≪クライアント装置１０及びサーバ装置３０≫
図２は、一実施形態に係るクライアント装置１０及びサーバ装置３０の一例のハードウェア構成を示す図である。なお、クライアント装置１０及びサーバ装置３０は、同様のハードウェア構成を有しているため、以降では、クライアント装置１０のハードウェア構成について説明する。
【００２２】
図２に示すように、本実施形態に係るクライアント装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４とを有する。また、クライアント装置１０は、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、ＨＤＤ（Hard Disk Drive）１０８とを有する。これらのハードウェアは、バスＢで互いに接続されている。
【００２３】
入力装置１０１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイ等を含み、クライアント装置１０による処理結果を表示する。なお、入力装置１０１及び表示装置１０２の少なくとも一方は、必要なときにクライアント装置１０に接続して利用する形態であっても良い。
【００２４】
通信Ｉ／Ｆ１０７は、クライアント装置１０をネットワークＮに接続するインタフェースである。クライアント装置１０は、通信Ｉ／Ｆ１０７を介して通信を行うことができる。
【００２５】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１０８に格納されるプログラムやデータには、クライアント装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２６】
なお、クライアント装置１０は、ＨＤＤ１０８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を有して良い。また、ＨＤＤ１０８は、格納しているプログラムやデータを所定のファイルシステムやＤＢにより管理している。
【００２７】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。クライアント装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取りや書き込みを行うことができる。記録媒体１０３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２８】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、ＯＳ設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）が格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００２９】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置１０全体の制御やその他の機能を実現する演算装置である。
【００３０】
本実施形態に係るクライアント装置１０及びサーバ装置３０は、図２に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３１】
≪画像形成装置２０≫
図３は、一実施形態に係る画像形成装置２０の一例のハードウェア構成を示す図である。
【００３２】
図３に示すように、本実施形態に係る画像形成装置２０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プロッタ２０５を有する。また、コントローラ２０１は、ＣＰＵ２１１と、ＲＡＭ２２１と、ＲＯＭ２３１と、ＮＶＲＡＭ２４１と、ＨＤＤ２５１とを有する。
【００３３】
ＲＯＭ２３１は、各種プログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ２２１は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ２４１は、例えば設定情報等を格納している。また、ＨＤＤ２５１は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００３４】
ＣＰＵ２１１は、ＲＯＭ２３１やＮＶＲＡＭ２４１、ＨＤＤ２５１等からプログラムやデータ、設定情報等をＲＡＭ２２１上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置２０全体の制御やその他の機能を実現する演算装置である。
【００３５】
操作パネル２０２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。画像形成装置２０は、外部Ｉ／Ｆ２０３を介して記録媒体２０３ａの読み取りや書き込みを行うことができる。なお、記録媒体２０３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３６】
通信Ｉ／Ｆ２０４は、画像形成装置２０をネットワークＮに接続するインタフェースである。画像形成装置２０は、通信Ｉ／Ｆ２０４を介して通信を行うことができる。プロッタ２０５は、印刷データを印刷する印刷装置である。
【００３７】
本実施形態に係る画像形成装置２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３８】
＜クライアント装置１０のソフトウェア構成＞
次に、本実施形態に係るクライアント装置１０のソフトウェア構成について、図４を用いて説明する。図４は、クライアント装置１０の一例のソフトウェア構成を示す図である。
【００３９】
図４に示すように、本実施形態に係るクライアント装置１０は、アプリケーション３０１と、ＯＳ３０２と、プリンタドライバ３０３と、ストアデバイスアプリ３０４とを有する。
【００４０】
アプリケーション３０１は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、ＯＳ３０２に印刷の指示（要求）を行うことができるアプリケーションソフトである。アプリケーション３０１には、ストアアプリ３１１と、デスクトップアプリ３２１とが含まれる。
【００４１】
ストアアプリ３１１は、例えば、Ｗｉｎｄｏｗｓ（登録商標）８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳにアプリケーションを提供する「Ｗｉｎｄｏｗｓストア」から、入手可能なアプリケーションである。ストアアプリ３１１では、「ストアアプリ  ＵＩ」が用いられる。なお、Ｗｉｎｄｏｗｓ８及びＷｉｎｄｏｗｓ８．１では、ＯＳ３０２によって提供される「Ｍｏｄｅｒｎ  ＵＩ」又は「Ｍｅｔｒｏ  ＵＩ」とも称されるＵＩからストアアプリ３１１が呼び出される。
【００４２】
一方、デスクトップアプリ３２１は、例えば、Ｗｉｎｄｏｗｓ７以前のバージョンのＷｉｎｄｏｗｓＯＳにおいても使用可能なアプリケーションである。
【００４３】
ＯＳ３０２は、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳである。
【００４４】
プリンタドライバ３０３は、例えば、Ｖｅｒｓｉｏｎ４プリンタドライバ（以降では、「Ｖ４プリンタドライバ」と表す。）である。Ｖ４プリンタドライバとは、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ３０３を「Ｖ４プリンタドライバ３０３」とも表す。
【００４５】
なお、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、Ｗｉｎｄｏｗｓ２０００からＷｉｎｄｏｗｓ７で使用されていたＶｅｒｓｉｏｎ３プリンタドライバ（以降では、「Ｖ３プリンタドライバ」と表す。）に加えて、Ｖ４プリンタドライバも使用可能である。
【００４６】
プリンタドライバ３０３は、拡張設定部３１３と、設定制御部３２３と、描画部３３３とを含む。
【００４７】
拡張設定部３１３は、プリンタ拡張とも称され、デスクトップアプリ３２１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
【００４８】
設定制御部３２３は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部３１３は、例えば、設定制御部３２３により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。
【００４９】
また、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３が設定可能な機能の情報を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｙを返信する。更に、設定制御部３２３は、アプリケーション３０１やＯＳ３０２等からの要求に応じて、プリンタドライバ３０３に設定されている各種機能の設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから取得し、取得した設定値を示すＰｒｉｎｔＴｉｃｋｅｔを返信する。また、設定制御部３２３は、ＰｒｉｎｔＴｉｃｋｅｔで示された設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【００５０】
なお、ＯＳ３０２に返信されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙやＰｒｉｎｔＴｉｃｋｅｔは、例えば、拡張設定部３１３が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【００５１】
描画部３３３は、アプリケーション３０１において印刷指示が行われた印刷対象データから印刷データを作成する。
【００５２】
ストアデバイスアプリ３０４は、ストアアプリ３１１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ３０４は、ストアアプリ３１１と同様に、「Ｗｉｎｄｏｗｓストア」から入手可能なアプリケーションである。
【００５３】
デスクトップアプリ３２１から印刷を行う場合、プリンタドライバ３０３は、拡張設定部３１３により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ３１１から印刷を行う場合、プリンタドライバ３０３は、ストアデバイスアプリ３０４により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【００５４】
拡張設定部３１３及びストアデバイスアプリ３０４は、ベンダ独自の印刷設定画面を表示するＵＩ部３０５を構成する。
【００５５】
＜Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域＞
次に、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について、図５を用いて説明する。図５は、Ｖ４プリンタドライバ３０３及びストアデバイスアプリ３０４がアクセス可能な記憶領域について説明するための図である。
【００５６】
図５に示すように、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＰｒｏｐｅｒｔｙＢａｇ４００と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、ＯＳ３０２によって提供されるＡＰＩ（Application Programming Interface）を用いて行うことができる。
【００５７】
図５に示すように、ＰｒｏｐｅｒｔｙＢａｇ４００には、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０と、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０と、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０とが含まれる。
【００５８】
ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０は、Ｖ４プリンタドライバ３０３を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０から各種情報の読み出しが可能である。一方で、拡張設定部３１３、設定制御部３２３、描画部３３３、及びストアデバイスアプリ３０４は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ４１０に対して、情報の書き込みを行うことはできない。
【００５９】
ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０は、論理プリンタ（プリンタアイコン）毎の設定情報等を記憶する記憶領域である。拡張設定部３１３及びストアデバイスアプリ３０４は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部３２３及び描画部３３３は、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ４２０に対して、各種情報の読み出しが可能である。
【００６０】
なお、論理プリンタとは、例えば、ＯＳ３０２のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置１０の利用者は、１つの画像形成装置２０に対して、設定情報（例えば、用紙サイズや向き、印刷品質等）が異なる複数の論理プリンタを作成することができる。
【００６１】
ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部３１３、設定制御部３２３、及びストアデバイスアプリ３０４は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に対して、各種情報の読み出し及び書き込みが可能である。
【００６２】
また、拡張設定部３１３及び描画部３３３は、更に、独自記憶領域５００に対して、各種情報の読み出し及び書き込みが可能である。
【００６３】
独自記憶領域５００は、例えばレジストリやファイル等を用いて実現され、ＰｒｏｐｅｒｔｙＢａｇ４００とは異なる記憶領域である。独自記憶領域５００は、Ｖ４プリンタドライバ３０３を提供するベンダ等によって定義される。
【００６４】
ストアデバイスアプリ３０４は、ＯＳ３０２の課す制約により、ＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。また、設定制御部３２３は、上述したＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇ及びＰｒｏｐｅｒｔｙＢａｇ４００以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ３０４及び設定制御部３２３は、独自記憶領域５００に対して、各種情報の読み出しや書き込み等を行うことができない。
【００６５】
このことは、ストアアプリ３１１に課されている制約と同様であり、例えば、ストアデバイスアプリ３０４及び設定制御部３２３が、ＯＳ３０２が使用するレジストリ等を変更し、ＯＳ３０２の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
【００６６】
［第１の実施形態］
＜システム構成＞
図６は、第１の実施形態に係る情報処理システムのシステム構成の例を示す図である。図６に示すように、第１の実施形態に係る情報処理システム１は、例えば、クライアント装置１０、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、及びスマートデバイス６０２等を含む。上記の各装置は、例えば、インターネットやＬＡＮ等のネットワークＮを介して、互いに通信可能に接続されている。なお、クライアント装置１０、画像形成装置２０、及びサーバ装置３０は、図１で前述したクライアント装置１０、画像形成装置２０、及びサーバ装置３０に対応している。
【００６７】
本実施形態に係るクライアント装置１０は、クライアント装置１０で生成した印刷データ、電子ファイル等の出力データを、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、及びスマートデバイス６０２等の送信先のデバイスに送信する機能を有する。
【００６８】
画像形成装置２０は、クライアント装置１０が出力データを送信する送信先のデバイスの一例であり、例えば、クライアント装置１０から送信された印刷データや、ファクスデータ等を印刷する。
【００６９】
サーバ装置３０は、クライアント装置１０が出力データを送信する送信先のデバイスの一例である。サーバ装置３０は、例えば、クライアント装置１０から送信された電子ファイルや印刷データ等の出力データを蓄積し、蓄積した電子ファイルや印刷データ等を利用したサービスを提供する。
【００７０】
クラウドサービス６０１は、例えば、ＰＣ等の情報処理装置、又は複数の情報処理装置を含むシステムであり、クライアント装置１０が出力データを送信する送信先のデバイスの一例である。クラウドサービス６０１は、例えば、クライアント装置１０が出力する出力データをアップロードするインターネット上のサービスであり、情報処理システム１の外部に設けられているものであっても良い。
【００７１】
スマートデバイス６０２は、例えば、スマートフォン、タブレット端末、スマートロボット、スマートスピーカ、ウェアラブル端末等の情報端末であり、クライアント装置１０が出力データを送信する送信先のデバイスの一例である。
【００７２】
なお、クラウドサービス６０１、及びスマートデバイス６０２は、例えば、図２に示すような、一般的なコンピュータのハードウェア構成を有しているものとする。
【００７３】
＜機能構成＞
図７は、第１の実施形態に係るクライアント装置１０の機能構成の例を示す図である。
【００７４】
クライアント装置１０は、ＯＳ３０２、プリンタドライバ３０３、ストアデバイスアプリ３０４、ストアアプリ３１１、デスクトップアプリ３２１、アドレス帳編集アプリ７０１等のプログラムを実行する情報処理装置である。なお、図７に示すＯＳ３０２、プリンタドライバ３０３、ストアデバイスアプリ３０４、及びデスクトップアプリ３２１は、図４に示すＯＳ３０２、プリンタドライバ３０３、ストアデバイスアプリ３０４、及びデスクトップアプリ３２１に、それぞれ対応している。
【００７５】
アドレス帳編集アプリ７０１は、プリンタドライバ３０３の拡張設定部３１３から呼出しされるプログラム（デスクトップアプリ）である。例えば、ユーザが、デスクトップアプリ３２１から印刷設定画面を呼び出してアドレス帳の編集操作を行うと、拡張設定部３１３によりアドレス帳編集アプリ７０１が自動的に起動される。
【００７６】
ユーザは、このアドレス帳編集アプリ７０１を用いて、ローカルフォルダ（第１の記憶部）７０３に記憶したアドレス帳Ａ（第１のアドレス帳）の作成、編集、削除等を行うことができる。
【００７７】
通信部７０２は、プリンタドライバ３０３が、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、及びスマートデバイス６０２等の送信先のデバイスと通信を行うモジュールであり、例えば、ＯＳ３０２によって提供される。また、別の一例として、通信部７０２は、プリンタドライバ３０３の描画部３３３（又は拡張設定部３１３）等に含まれる。
【００７８】
ローカルフォルダ７０３は、拡張設定部（第１の設定部）３１３から編集可能な記憶領域（第１の記憶部）であり、アドレス帳Ａ６３０等を記憶する。ローカルフォルダ７０３は、図２のＨＤＤ１０８等のストレージデバイス上に作成されたフォルダであり、例えば、ＷｉｎｄｏｗｓＯＳのｃ：￥ｔｅｍｐの下等の所定のフォルダである。
【００７９】
ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ（第２の記憶部）４３０は、前述したように、ストアデバイスアプリ（第２の設定部）から編集可能な記憶領域（レジストリ等）であり、アドレス帳Ｂ（第２のアドレス帳）等を記憶する。
【００８０】
（プリンタドライバの機能構成）
プリンタドライバ３０３は、Ｖ４プリンタドライバ、又は同様のアーキテクチャを有するプリンタドライバである。ここでは、プリンタドライバ３０３が、Ｖ４プリンタドライバであるものとして、以下の説明を行う。
【００８１】
クライアント装置１０は、例えば、図２のＣＰＵ１０６でプリンタドライバ３０３を実行することにより、拡張設定部３１３、設定制御部３２３、及び描画部３３３等を実現している。
【００８２】
拡張設定部（第１の設定部）３１３は、前述したように、デスクトップアプリ３２１から印刷を行う際に、プリンタドライバ３０３に関する設定を行う印刷設定画面（第１の設定画面）を表示する。なお、拡張設定部３１３は、ローカルフォルダ７０３に記憶されたアドレス帳Ａ６３０を読み込むことができる。
【００８３】
設定制御部３２３は、前述したように、禁則スクリプトにより、プリンタドライバ３０３の印刷設定情報（例えば、ＰｒｉｎｔＴｉｃｋｅｔ）や、設定能力情報（例えば、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ等）を管理する。
【００８４】
描画部３３３は、例えば、前述したように、印刷対象となるデータから、画像形成装置２０で印刷可能な印刷データを生成する。本実施形態に係る描画部３３３は、例えば、アドレス帳管理部７１１、及び出力データ生成部７１２等を実現している。
【００８５】
出力データ生成部７１２は、例えば、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、及びスマートデバイス６０２等の出力先のデバイスに出力する出力対象となるデータから、所定の形式の出力データを生成する。例えば、出力データ生成部７１２は、印刷対象となるデータから、画像形成装置２０で印刷可能な印刷データを生成する。また、出力データ生成部７１２は、スマートデバイス６０２への出力対象となるデータから、スマートデバイス６０２で表示可能な表示データを生成する。更に、出力データ生成部７１２は、サーバ装置３０やクラウドサービス６０１への出力対象となるデータから、サーバ装置３０やクラウドサービス６０１等に蓄積する文書ファイル、画像データ、印刷データ等の出力データを生成する。
【００８６】
アドレス帳管理部７１１は、アドレス帳Ａ６３０及びアドレス帳Ｂ６４０を編集可能であり、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるように、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とをマージ（又は同期、更新）する。
【００８７】
好ましくは、アドレス帳管理部７１１は、出力データ生成部７１２が出力データを生成するときに、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるように、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とをマージする。
【００８８】
（ストアデバイスアプリの機能構成）
ストアデバイスアプリ（第２の設定部）３０４は、前述したように、ストアアプリ（ストアアプリケーション）３１１から印刷を行う際に、プリンタドライバ３０３に関する設定を行う印刷設定画面（第２の設定画面）を表示するプログラムである。
【００８９】
クライアント装置１０は、例えば、図２のＣＰＵ１０６でプリンタドライバ３０３を実行することにより、印刷設定部７２１、及びアドレス帳編集部７２２を実現している。
【００９０】
印刷設定部７２１は、ストアアプリ３１１から印刷を行う際に、プリンタドライバ３０３に関する設定を行う印刷設定画面（第２の設定画面）を、表示装置１０２等に表示させる。なお、印刷設定部７２１は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶されたアドレス帳Ｂ６４０を読み出すことができる。
【００９１】
アドレス帳編集部７２２は、印刷設定部７２１から呼び出され、ユーザの操作に応じて、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０の作成、編集、削除等を行う。
【００９２】
上記の構成により、ユーザは、デスクトップアプリ３２１からアドレス帳を編集するとき、拡張設定部３１３が表示させる第１の設定画面から、アドレス帳編集アプリ７０１を起動して、アドレス帳Ａ６３０を編集して、保存することができる。
【００９３】
また、ユーザは、デスクトップアプリ３２１から印刷を実行するとき、拡張設定部３１３が表示させる第１の設定画面からアドレス帳Ａ６３０を読み込んで宛先を指定し、印刷を実行することができる。このとき、描画部３３３のアドレス帳管理部７１１は、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とを読み出して、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるようにマージし、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とを更新する。
【００９４】
一方、ユーザは、ストアアプリ３１１からアドレス帳を編集するとき、ストアデバイスアプリ３０４が表示させる第２の設定画面から、アドレス帳Ｂ６４０を編集して、保存することができる。
【００９５】
また、ユーザは、ストアアプリ３１１から印刷を実行するとき、ストアデバイスアプリ３０４が表示させる第２の設定画面からアドレス帳Ｂ６４０を読み込んで宛先を指定し、印刷を実行することができる。このとき、描画部３３３のアドレス帳管理部７１１は、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とを読み出して、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるようにマージし、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とを更新する。
【００９６】
このように、ユーザが、ストアアプリ３１１から、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０を編集すると、その編集内容がローカルフォルダ７０３に記憶したアドレス帳Ａ６３０に反映される。
【００９７】
したがって、本実施形態によれば、Ｖ４プリンタドライバにおけるストアアプリ３１１用の設定画面から、クライアント装置１０内のローカルフォルダ７０３に記憶されたアドレス帳Ａ６３０を容易に編集することができるようになる。
【００９８】
＜処理の流れ＞
続いて、第１の実施形態に係る情報処理方法の処理の流れについて説明する。
【００９９】
（情報処理システムの処理１）
図８は、第１の実施形態に係る情報処理システムの処理の例を示すシーケンス図（１）である。この処理は、ユーザが、ストアアプリ３１１から、アドレス帳を用いて宛先を指定し、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、スマートデバイス６０２等の送信先のデバイス８００に出力データを送信する場合の印刷処理の例を示している。
【０１００】
なお、本実施形態に係る印刷処理には、画像形成装置２０を用いて印刷を行う処理に限られず、ユーザが印刷操作を行った出力の対象となるデータから所定の形式の出力データを生成し、送信先のデバイス８００に出力する様々な処理が含まれる。
【０１０１】
ステップＳ８０１において、ストアアプリ３１１から印刷操作を行うユーザが、ストアデバイスアプリ３０４が提供する印刷設定画面から、アドレス帳（アドレス帳Ｂ６４０）の編集操作（例えば、宛先の追加、送信先情報の変更等）を行う。
【０１０２】
ここで、ユーザが、アドレス帳を新たに作成する場合、ステップＳ８０２の処理が実行される。ステップＳ８０２において、ユーザは、アドレス帳の保存先のパス（例えば、Ｃ：￥ｔｅｍｐ￥ａｄｄｒｅｓｓ．ｃｓｖ等）の指定操作を行う。
【０１０３】
ステップＳ８０３において、ユーザは、アドレス帳（アドレス帳Ｂ６４０）の保存操作を行う。これにより、ステップＳ８０４において、ストアデバイスアプリ３０４のアドレス帳編集部７２２は、編集されたアドレス帳Ｂ６４０をＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に保存（記憶）する。
【０１０４】
ステップＳ８０５において、ユーザは、ストアデバイスアプリ３０４が提供する印刷設定画面から、保存したアドレス帳（アドレス帳Ｂ６４０）を用いて、送信先のデバイス８００を指定する送信先の指定操作を行う。
【０１０５】
ステップＳ８０６において、ユーザは、ストアアプリ３１１から印刷操作を行う。
【０１０６】
ステップＳ８０７、Ｓ８０８において、ストアアプリ３１１から、ＯＳ３０２を介して、プリンタドライバの描画部３３３に、印刷を要求する印刷要求が通知される。この印刷要求には、例えば、出力（印刷）の対象となるデータ、及びストアデバイスアプリ３０４で設定された送信先の情報等を含む印刷設定情報（ＰｒｉｎｔＴｉｃｋｅｔ）が含まれる。
【０１０７】
ステップＳ８０９において、描画部３３３の出力データ生成部７１２は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
【０１０８】
ステップＳ８１０において、描画部３３３の出力データ生成部７１２は、通信部７０２を用いて、印刷設定情報に設定された送信先のデバイス８００に、生成した出力データを送信する。なお、このとき、出力データ生成部７１２は、生成した出力データ（ファイル）をクライアント装置１０のＨＤＤ１０８、ＲＡＭ１０４等の記憶部に出力するものであっても良い。
【０１０９】
ステップＳ８１１において、描画部３３３のアドレス帳管理部７１１は、ローカルフォルダ７０３のアドレス帳Ａ６３０の保存先を参照する。
【０１１０】
アドレス帳Ａを新たに作成する場合、ステップＳ８１２の処理が実行される。ステップＳ８１２において、描画部３３３のアドレス帳管理部７１１は、ローカルフォルダ７０３にアドレス帳Ａ６３０を作成する。
【０１１１】
ステップＳ８１３において、描画部３３３のアドレス帳管理部７１１は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０と、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０とをマージする。なお、アドレス帳のマージについては、図１０、１１を用いて詳述する。
【０１１２】
（情報処理システムの処理２）
図９は、第１の実施形態に係る情報処理システムの処理の例を示すシーケンス図（２）である。この処理は、ユーザが、デスクトップアプリ３２１から、アドレス帳を用いて宛先を指定し、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、スマートデバイス６０２等の送信先のデバイス８００に出力データを送信する場合の印刷処理の例を示している。
【０１１３】
ステップＳ９０１において、デスクトップアプリ（デスクトップアプリケーション）３２１から印刷操作を行うユーザが、拡張設定部３１３が提供する印刷設定画面（第１の設定画面）から、アドレス帳編集アプリ７０１の起動操作を行う。例えば、ユーザは、拡張設定部３１３が提供する印刷設定画面に表示された、「アドレス編集」ボタン等を選択する。
【０１１４】
これにより、ステップＳ９０２において、拡張設定部３１３は、アドレス帳編集アプリ７０１を起動させる。
【０１１５】
ステップＳ９０３において、ユーザが、アドレス帳編集アプリ７０１が提供するアドレス帳の編集が画面等から、アドレス帳（アドレス帳Ａ６３０）の編集操作（例えば、宛先の追加、送信先情報の変更等）を行う。
【０１１６】
ここで、ユーザが、アドレス帳を新たに作成する場合、ステップＳ９０４の処理が実行される。ステップＳ９０４において、ユーザは、アドレス帳の保存先のパス（例えば、Ｃ：￥ｔｅｍｐ￥ａｄｄｒｅｓｓ．ｃｓｖ等）の指定操作を行う。
【０１１７】
ステップＳ９０５において、ユーザは、アドレス帳（アドレス帳Ａ６３０）の保存操作を行う。これにより、ステップＳ９０６において、アドレス帳編集アプリ７０１は、編集されたアドレス帳Ａ６３０をローカルフォルダ７０３に保存する。
【０１１８】
ステップＳ９０７において、ユーザは、アドレス帳編集アプリ７０１の終了操作を行う。例えば、ユーザは、アドレス帳編集アプリ７０１が表示する編集画面に表示された「終了」ボタン等を選択する。
【０１１９】
ステップＳ９０８において、ユーザは、拡張設定部３１３が表示する印刷設定画面から、保存したアドレス帳（アドレス帳Ａ６３０）を用いて、送信先のデバイス８００を指定する送信先の指定操作を行う。
【０１２０】
ステップＳ９０９において、ユーザは、デスクトップアプリ３２１から印刷操作を行う。
【０１２１】
ステップＳ９１０、Ｓ９１１において、デスクトップアプリ３２１から、ＯＳ３０２を介して、プリンタドライバの描画部３３３に、印刷を要求する印刷要求が通知される。この印刷要求には、例えば、出力（印刷）の対象となるデータ、及び拡張設定部３１３で設定された送信先の情報等を含む印刷設定情報（ＰｒｉｎｔＴｉｃｋｅｔ）が含まれる。
【０１２２】
ステップＳ９１２において、描画部３３３の出力データ生成部７１２は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
【０１２３】
ステップＳ９１３において、描画部３３３の出力データ生成部７１２は、通信部７０２を用いて、印刷設定情報に設定された送信先のデバイス８００に、生成した出力データを送信する。なお、このとき、出力データ生成部７１２は、生成した出力データ（ファイル）をクライアント装置１０のＨＤＤ１０８、ＲＡＭ１０４等の記憶部に出力するものであっても良い。
【０１２４】
ステップＳ９１４において、描画部３３３のアドレス帳管理部７１１は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に保存されたアドレス帳Ｂ６４０の保存先を参照する。
【０１２５】
アドレス帳Ｂ６４０を新規に作成する場合、ステップＳ９１５の処理が実行される。ステップＳ９１５において、描画部３３３のアドレス帳管理部７１１は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０にアドレス帳Ｂ６４０を作成する。
【０１２６】
ステップＳ９１６において、描画部３３３のアドレス帳管理部７１１は、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０と、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０とをマージする。
【０１２７】
（アドレス帳のマージ）
図１０、１１は、第１の実施形態に係るアドレス帳のマージについて説明するための図である。
【０１２８】
プリンタドライバ３０３の拡張設定部３１３から呼び出されるアドレス帳編集アプリ７０１と、ストアデバイスアプリ３０４のアドレス帳編集部７２２は、同時に起動することができるため、２つのアドレス帳が同じ内容になるように管理する必要がある。
【０１２９】
例えば、図１０に示す処理の開始時点において、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とに同じデータ内容の「データＡ」が記憶されているものとする。
【０１３０】
ステップＳ１００１、Ｓ１００２において、アドレス帳編集部７２２は、アドレス帳Ａ６３０から読み出した「データＡ」を編集して、内容が変更された「データＢ」をアドレス帳Ａ６３０に保存するものとする。
【０１３１】
ステップＳ１００３、Ｓ１００４において、アドレス帳編集アプリ７０１は、アドレス帳Ｂ６４０から読み出した「データＡ」を編集して、内容が変更された「データＣ」をアドレス帳Ｂ６４０に保存するものとする。
【０１３２】
この場合、アドレス帳Ａ６３０のデータ内容「データＢ」と、アドレス帳Ｂ６４０のデータ内容「データＣ」とが、異なる内容になる恐れがある。
【０１３３】
そこで、アドレス帳管理部７１１は、ステップＳ１００５、Ｓ１００６において、アドレス帳Ａ６３０のデータ内容「データＢ」と、アドレス帳Ｂ６４０のデータ内容「データＣ」とを読み込む。
【０１３４】
また、アドレス帳管理部７１１は、ステップＳ１００７において、読み込んだ「データＡ」と「データＢ」とを用いて、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるように更新した、「データＤ」を作成する。
【０１３５】
更に、アドレス帳管理部７１１は、ステップＳ１００８、Ｓ１００９において、作成した「データＤ」を、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とに保存する。これにより、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とが同じデータ内容となるように更新される。
【０１３６】
上記のステップＳ１００５〜Ｓ１００６の処理を、本実施形態ではマージ、又はマージ処理と呼ぶ。アドレス帳管理部７１１は、例えば、描画部３３３の出力データ生成部７１２が、出力データを作成したとき等に、マージ処理を実行する。
【０１３７】
なお、図１０のステップＳ１００８、Ｓ１００９に示す処理は、アドレス帳Ａ６３０のデータ内容と、アドレス帳Ｂ６４０のデータ内容とに差異がない場合、省略しても良い。また、ステップＳ１００７〜Ｓ１００９に示す処理は、アドレス帳Ａ６３０、及びアドレス帳Ｂ６４０が編集されていない場合、省略しても良い。
【０１３８】
ここで、図１１を用いて、マージ処理の具体的な一例について説明する。
【０１３９】
図１１（ａ）は、アドレス帳データＡ〜Ｄの一例のイメージを示している。図１１（ａ）の例では、アドレス帳データＡ〜Ｄには、「番号」、「名前」、「送信先情報」、「更新」等の情報が含まれる。
【０１４０】
「番号」は、例えば、各レコードを管理する管理番号（レコード番号）である。「名前」は、ユーザや送信先の名前を示す情報である。「送信先情報」は、例えば、ファックス番号、メールアドレス、ＵＲＬ（Uniform Resource Locator）等の送信先の宛先情報である。「更新」は、各レコードが更新されている否かを示す情報である。例えば、情報が更新されたレコードは、「更新」の値に「１」が設定され、情報が更新されていないレコードは、「更新」の値に「０」が設定されるものとする。
【０１４１】
また、アドレス帳データＡ〜Ｄには、それぞれ、データが保存された時刻を示す保存時刻が含まれているものとする。
【０１４２】
例えば、図１１（ａ）において、データＢは、アドレス帳編集部７２２によって、番号が「１」、「２」のレコードの「送信先情報」が更新され、保存時刻「１２：０２」にアドレス帳Ａ６３０に保存されたデータである。
【０１４３】
また、データＣは、アドレス帳編集アプリ７０１によって、番号「３」、「４」の送信先情報が更新され、保存時刻「１２：０４」にアドレス帳Ｂ６４０に保存されたデータである。
【０１４４】
この場合、アドレス帳管理部７１１は、アドレス帳Ａ６３０に含まれるデータの保存時刻と、アドレス帳Ｂ６４０に含まれるデータの保存時刻とを比較し、保存時刻が最新のデータを用いて、最新のアドレス帳データである「データＤ」を作成する。
【０１４５】
例えば、図１１（ａ）の例では、番号「１」のレコードは、データＢにおいて、保存時刻「１２：０２」に更新されており、データＣにおいて、更新が行われていない。したがって、データＢの送信先情報「１１１−１１１−１１１４」が、保存時刻が最新のデータとなり、データＤの番号「１」のレコードに保存される。
【０１４６】
また、番号「２」のレコードは、データＢにおいて、保存時刻「１２：０２」に更新されており、データＣにおいて、保存時刻「１２：０４」に更新されている。したがって、保存時刻がより新しいデータＣの送信先情報「２２２−２２２−２２２６」が、保存時刻が最新のデータとなり、データＤの番号「２」のレコードに保存される。
【０１４７】
更に、番号「３」のレコードは、データＢにおいて、更新が行われておらず、データＣにおいて、保存時刻「１２：０４」に更新されている。したがって、データＣの送信先情報「３３３−３３３−３３３７」が、保存時刻が最新のデータとなり、データＤの番号「３」のレコードに保存される。
【０１４８】
上記の処理により、アドレス帳Ａ６３０のデータ内容であるデータＡと、アドレス帳Ｂ６４０のデータ内容であるデータＢとがマージされ、最新のアドレス帳のデータ内容であるデータＤが作成される。
【０１４９】
図１１（ｂ）にアドレス帳データＡ〜Ｄの別の一例のイメージを示す。図１１（ｂ）の例では、アドレス帳データＡ〜Ｄには、図１１（ａ）の「更新」に代えて、「保存時刻」の情報が含まれている。
【０１５０】
「保存時刻」は、各レコードが更新された日時を示す情報であり、更新が行われていない場合、「−」が記録されている。例えば、図１１（ｂ）において、番号「１」のレコードは、保存時刻「１２：０１」に更新されたことが示されている。また、番号「３」のレコードは、更新が行われていないことが示されている。
【０１５１】
この場合も、アドレス帳管理部７１１は、アドレス帳Ａ６３０に含まれるデータの保存時刻と、アドレス帳Ｂ６４０に含まれるデータの保存時刻とを比較し、保存時刻が最新のデータを用いて、最新のアドレス帳データである「データＤ」を作成する。
【０１５２】
例えば、図１１（ｂ）の例では、番号「１」のレコードは、データＢにおいて、保存時刻「１２：０１」に更新されており、データＣにおいて、更新が行われていない。したがって、データＢの送信先情報「１１１−１１１−１１１４」が、保存時刻が最新のデータとなり、データＤの番号「１」のレコードに保存される。
【０１５３】
また、番号「２」のレコードは、データＢにおいて、保存時刻「１２：０２」に更新されており、データＣにおいて、保存時刻「１２：０３」に更新されている。したがって、保存時刻がより新しいデータＣの送信先情報「２２２−２２２−２２２６」が、保存時刻が最新のデータとなり、データＤの番号「２」のレコードに保存される。
【０１５４】
更に、番号「３」のレコードは、データＢにおいて、更新が行われておらず、データＣにおいて、保存時刻「１２：０４」に更新されている。したがって、データＣの送信先情報「３３３−３３３−３３３７」が、保存時刻が最新のデータとなり、データＤの番号「３」のレコードに保存される。
【０１５５】
上記の処理においても、アドレス帳Ａ６３０のデータ内容であるデータＡと、アドレス帳Ｂ６４０のデータ内容であるデータＢとがマージされ、最新のアドレス帳のデータ内容であるデータＤが作成される。
【０１５６】
なお、図１１（ａ）、（ｂ）に示すアドレス帳データＡ〜Ｄは説明用の一例であり、アドレス帳データＡ〜Ｄは任意の形式であって良い。例えば、図１１（ａ）、（ｂ）に示す「保存時刻」は、「保存日時」、「更新時刻」、「更新日時」等の情報であっても良い。また、「送信先情報」には、複数の送信先の情報が含まれていても良い。更に、「名前」の情報には、送信先のデバイスに対応する名前、識別情報、アカウント情報等が記憶されているものであっても良い。
【０１５７】
［変形例］
ここでは、図１１、１２を用いて、アドレス帳を、ストアデバイスアプリ３０４から利用可能な別の場所に保存した場合の例について説明する。
【０１５８】
（変形例１）
変形例１では、例えば、図１２（ａ）に示すように、アドレス帳１２０１をローカルフォルダ７０３に保存する。
【０１５９】
この場合、プリンタドライバ３０３の拡張設定部３１３は、第１の実施形態と同様に、アドレス帳１２０１を読込可能であり、また、アドレス帳編集アプリ７０１を起動して、アドレス帳１２０１を編集、保存することができる。
【０１６０】
一方、ストアデバイスアプリ３０４は、ＯＳ３０２の課す制約により、実行ファイル（ｅｘｅファイル）を起動することができないので、アドレス帳編集アプリ７０１を起動して、アドレス帳１２０１を編集、保存することができないという問題がある。
【０１６１】
（変形例２）
変形例２では、例えば、図１２（ｂ）に示すように、ローカルフォルダ７０３に保存したアドレス帳１２０１を、ストアデバイスアプリ３０４のアドレス帳編集部７２２から、読込、編集、保存する。
【０１６２】
この場合、ユーザ１２０２は、ローカルフォルダ７０３に保存したアドレス帳１２０１にアクセスする際に、毎回、ストアデバイスアプリ３０４に対して、アドレス帳１２０１のファイルパスを指定することになる。したがって、ユーザ１２０２にとって使い難いものになってしまうという問題がある。
【０１６３】
（変形例３）
変形例３では、例えば、図１３（ａ）に示すように、アドレス帳１３１１をＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に保存する。
【０１６４】
この場合、プリンタドライバ３０３の拡張設定部３１３は、第１の実施形態と同様に、アドレス帳１３１１を読込可能であり、また、アドレス帳編集アプリ７０１を起動して、アドレス帳１３１１を編集、保存することができる。
【０１６５】
また、ストアデバイスアプリ３０４も、アドレス帳編集部７２２を用いて、アドレス帳１３１１を読込、編集、保存することができる。
【０１６６】
しかし、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０は、プリンタドライバ３０３に対応する記憶領域なので、プリンタドライバ３０３をアンインストールすると、アドレス帳１３１１が削除されてしまうという問題がある。
【０１６７】
（変形例４）
変形例４では、例えば、図１３（ｂ）に示すように、アドレス帳１３２２を、ストアデバイスアプリ３０４のローカルキャッシュ１３２１に保存する。
【０１６８】
この場合、ストアデバイスアプリ３０４は、アドレス帳編集部７２２を用いて、アドレス帳１３２２を読込、編集、保存することができる。
【０１６９】
しかし、ストアデバイスアプリ３０４のローカルキャッシュ１３２１には、ストアデバイスアプリ３０４しかアクセスできないので、プリンタドライバ３０３の拡張設定部３１３は、アドレス帳１３２２にアクセスできないという問題がある。また、この場合、例えば、ストアデバイスアプリ３０４をアンインストールすると、アドレス帳１３２２が削除されてしまうという問題がある。
【０１７０】
（変形例５）
変形例５として、アドレス帳を、例えば、画像形成装置２０等の外部装置に記憶することも考えられる。ただし、この場合、プリンタドライバ３０３の拡張設定部３１３、及びストアデバイスアプリ３０４が、アドレス帳を取得するために時間を要するという問題がある。
【０１７１】
このように、Ｖ４プリンタドライバにおいて、ユーザが、ストアアプリ３１１、デスクトップアプリ３２１の双方から、アドレス帳を読込、編集、保存することには困難を伴う場合が多い。
【０１７２】
一方、第１の実施形態に係るクライアント装置１０によれば、ユーザが、ストアアプリ３１１、デスクトップアプリ３２１の双方から、アドレス帳を読込、編集、保存することが容易になる。例えば、本実施形態によれば、変形例１〜５に示した次のような問題は発生しない。
１）ユーザが、毎回アドレス帳のファイルのパスを指定しなければならない。
２）プリンタドライバ３０３やストアデバイスアプリ３０４をアンインストールしたときに、アドレス帳が削除されてしまう。
３）アドレス帳の読込に時間を要する。
【０１７３】
例えば、本実施形態では、クライアント装置１０のＨＤＤ１０８等のローカルフォルダ７０３にアドレス帳Ａ６３０を保存しているので、プリンタドライバ３０３やストアデバイスアプリ３０４が削除されても、アドレス帳Ａ６３０は削除されない。
【０１７４】
また、本実施形態では、ユーザが、ストアデバイスアプリ３０４が表示する印刷設定画面からアドレス帳を編集する場合、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０に対して編集が行われる。したがって、ユーザは、毎回アドレス帳のファイルのパスを指定しなくても良い。なお、アドレス帳Ｂ６４０に対して行われた編集内容は、アドレス帳管理部７１１によって、例えば、自動的に、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０に反映される。
【０１７５】
更に、本実施形態では、アドレス帳を、例えば、画像形成装置２０等の外部装置に記憶しないので、アドレス帳を取得するために時間を要するという問題も発生しない。
【０１７６】
以上、本実施形態によれば、Ｖ４プリンタドライバにおけるストアアプリ３１１用の設定画面から、クライアント装置１０内のローカルフォルダ（第１の記憶部）７０３に記憶されたアドレス帳Ａ６３０を容易に編集することができるようになる。
【０１７７】
［第２の実施形態］
図１４は、第２の実施形態に係るクライアント装置の機能構成の例を示す図である。
【０１７８】
図１４において、ローカルフォルダ７０３に保存されたアドレス帳Ａ６３０が、ユーザ毎のアドレス帳ではなく、複数のユーザが共用するアドレス帳である場合には、アドレス帳Ａ６３０に対する書込の競合が発生する可能性がある。
【０１７９】
第２の実施形態に係るクライアント装置１０は、このような書込の競合を回避するために、図１４に示すように、ファイル制御部１４０１を有している。
【０１８０】
ファイル制御部１４０１は、例えば、図２のＣＰＵ１０６で実行される常駐アプリケーションによって実現される。また、ファイル制御部１４０１は、１つのクライアント装置１０に対して１つ存在し、アドレス帳編集アプリ７０１、及びアドレス帳管理部７１１は、アドレス帳Ａ６３０を編集、保存する際には、ファイル制御部１４０１を介して、編集、保存する。
【０１８１】
また、ファイル制御部１４０１は、例えば、複数のユーザのアドレス帳管理部７１１から、アドレス帳Ａ６３０を編集、保存を要求された場合、要求を受け付けた順に、順次にアドレス帳Ａ６３０に対して書込を行う。
【０１８２】
＜処理の流れ＞
続いて、第２の実施形態に係る情報処理方法の処理の流れについて説明する。
【０１８３】
図５は、第２の実施形態に係る情報処理システムの処理の例を示すシーケンス図である。この処理は、ユーザが、ストアアプリ３１１から、アドレス帳を用いて宛先を指定し、画像形成装置２０、サーバ装置３０、クラウドサービス６０１、スマートデバイス６０２等の送信先のデバイス８００に出力データを送信する場合の印刷処理の例を示している。なお、基本的な処理は、図８に示す第１の実施形態に係る情報処理システムの処理１と同様なので、ここでは、第１の実施形態に係る処理との相違点を中心に説明を行う。
【０１８４】
ステップＳ１５０１において、例えば、図８のステップＳ８０１〜Ｓ８０４に示すような、アドレス帳Ｂ６４０の編集処理が行われるものとする。
【０１８５】
ステップＳ１５０２において、ユーザは、ストアデバイスアプリ３０４が提供する印刷設定画面から、保存したアドレス帳（アドレス帳Ｂ６４０）を用いて、送信先のデバイス８００を指定する送信先の指定操作を行う。
【０１８６】
ステップＳ１５０３において、ユーザは、ストアアプリ３１１から印刷操作を行う。
【０１８７】
ステップＳ１５０４、Ｓ１５０５において、ストアアプリ３１１から、ＯＳ３０２を介して、プリンタドライバの描画部３３３に、印刷を要求する印刷要求が通知される。
【０１８８】
ステップＳ１５０６において、描画部３３３の出力データ生成部７１２は、印刷要求に含まれる印刷設定情報に従って、出力の対象となるデータから所定の形式の出力データを生成する。
【０１８９】
また、出力データ生成部７１２は、印刷要求に含まれる送信先の情報に応じて、送信先のデバイス（外部装置）８００に出力データを送信する場合、ステップＳ１５０７において、出力データを送信先のデバイス８００に送信する。
【０１９０】
一方、出力データ生成部７１２は、印刷要求に含まれる送信先の情報に応じて、クライアント装置１０内にファイルを出力する場合、ステップＳ１５０８において、出力データをファイル出力する。
【０１９１】
ステップＳ１５０９において、描画部３３３のアドレス帳管理部７１１は、ローカルフォルダ７０３のアドレス帳Ａ６３０の保存先を、ファイル制御部１４０１に通知する。
【０１９２】
ステップＳ１５１０において、ファイル制御部１４０１は、描画部３３３から通知されたアドレス帳Ａ６３０の保存先を参照する。
【０１９３】
アドレス帳Ａ６３０を新規に作成する場合、ステップＳ１５１１の処理が実行される。ステップＳ１５１１において、ファイル制御部１４０１は、ローカルフォルダ７０３にアドレス帳Ａ６３０を作成する。
【０１９４】
ステップＳ１５１２において、ファイル制御部１４０１は、例えば、図１０、１１で説明したようにして、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０と、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０とをマージする。
【０１９５】
このように、第２の実施形態では、ファイル制御部１４０１が、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０と、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０とをマージするアドレス帳管理部として機能する。
【０１９６】
また、ファイル制御部１４０１は、複数の要求元から、アドレス帳Ａ６３０の編集や、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とのマージを要求する要求情報を受け付けた場合、要求情報を受け付けた順に順次に処理する。したがって、本実施形態によれば、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０への書込の競合を効果的に回避することができる。
【０１９７】
以上、上記の各実施形態によれば、Ｖ４プリンタドライバにおけるストアアプリ用の設定画面から、情報処理装置内の記憶部に記憶されたアドレス帳を容易に編集することができるようになる。
【０１９８】
なお、図６、１４に示すクライアント装置１０の機能構成は一例である。例えば、図６に示すアドレス帳管理部７１１は、拡張設定部３１３に含まれていても良い。拡張設定部３１３は、描画部３３３と同様に、ローカルフォルダ７０３に記憶したアドレス帳Ａ６３０と、ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ４３０に記憶したアドレス帳Ｂ６４０の双方にアクセス可能である。
【０１９９】
この場合、拡張設定部３１３に含まれるアドレス帳管理部７１１は、例えば、ユーザ（利用者）によってアドレス帳Ａ６３０、又はアドレス帳Ｂ６４０が開かれたときに、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とをマージするものであっても良い。
【０２００】
このとき、拡張設定部３１３は、印刷設定画面にマージ方法の選択画面を表示させて、ユーザによって選択されたマージ方法に従って、アドレス帳Ａ６３０とアドレス帳Ｂ６４０とをマージするものであっても良い。
【符号の説明】
【０２０１】
１          情報処理システム
１０        クライアント装置（情報処理装置）
２０        画像形成装置
３０        サーバ装置
３０１      アプリケーション
３０２      ＯＳ
３０３      プリンタドライバ
３０４      ストアデバイスアプリ（第２の設定部）
３０５      ＵＩ部
３１１      ストアアプリ（ストアアプリケーション）
３１３      拡張設定部（第１の設定部）
３２１      デスクトップアプリ（デスクトップアプリケーション）
３２３      設定制御部
３３３      描画部
４３０      ＵｓｅｒＰｒｏｐｅｒｔｙＢａｇ（第２の記憶部）
６３０      アドレス帳Ａ（第１のアドレス帳）
６４０      アドレス帳Ｂ（第２のアドレス帳）
７０３      ローカルフォルダ（第１の記憶部）
７１１      アドレス帳管理部
７１２      出力データ生成部
１４０１    ファイル制御部（アドレス帳管理部の別の一例）
【先行技術文献】
【特許文献】
【０２０２】
【特許文献１】特開２０１７−１７５２２９号公報
【図１】
2019160237.tif 000003
【図２】
2019160237.tif 000004
【図３】
2019160237.tif 000005
【図４】
2019160237.tif 000006
【図５】
2019160237.tif 000007
【図６】
2019160237.tif 000008
【図７】
2019160237.tif 000009
【図８】
2019160237.tif 000010
【図９】
2019160237.tif 000011
【図１０】
2019160237.tif 000012
【図１１】
2019160237.tif 000013
【図１２】
2019160237.tif 000014
【図１３】
2019160237.tif 000015
【図１４】
2019160237.tif 000016
【図１５】
2019160237.tif 000017