(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】情報処理装置、その制御方法、並びにプログラム
(51)【国際特許分類】
G06F 8/61 20180101AFI20240520BHJP
G06F 9/54 20060101ALI20240520BHJP
H04W 84/12 20090101ALI20240520BHJP
H04W 84/10 20090101ALI20240520BHJP
H04W 88/02 20090101ALI20240520BHJP
H04W 92/08 20090101ALI20240520BHJP
【FI】
G06F8/61
G06F9/54 A
H04W84/12
H04W84/10 110
H04W88/02 131
H04W92/08 110
(21)【出願番号】P 2020103340
(22)【出願日】2020-06-15
【審査請求日】2023-06-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】大▲高▼ 聡
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2017-219961(JP,A)
【文献】特開2012-113390(JP,A)
【文献】特開2019-054535(JP,A)
【文献】特開2016-167679(JP,A)
【文献】特開2020-009030(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
G06F 8/60-8/77
G06F 9/44-9/445
G06F 9/451
H04W 84/12
H04W 84/10
H04W 88/02
H04W 92/08
(57)【特許請求の範囲】
【請求項1】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムであって、
情報処理装置のコンピュータに、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムをインストールするようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を実行させることを特徴とするプログラム。
【請求項2】
前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のアプリケーションプログラムによって通信する装置として前記所定のアプリケーションプログラムに登録する処理であることを特徴とする請求項1に記載のプログラム。
【請求項3】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムであって、
情報処理装置のコンピュータに、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムによって前記通信装置を登録した後、前記所定のアプリケーションプログラムを起動するようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を実行させ、
前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のアプリケーションプログラムによって通信する装置として前記所定のアプリケーションプログラムに登録する処理であり、
前記所定の情報に対応する前記通信装置が、前記他のアプリケーションプログラムによって通信する装置として前記他のアプリケーションプログラムに登録される場合、前記所定の情報が保存されることを特徴とするプログラム。
【請求項4】
前記所定のアプリケーションプログラムは、前記所定の方法とは異なる他の方法によって、前記所定の情報を取得可能であることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記他の方法は、前記情報処理装置が属しているネットワーク上の1又は複数の通信装置を検索する検索処理を含み、
前記検索処理によって発見された前記1又は複数の通信装置のうち1又は複数の通信装置から、前記所定の情報が取得されることを特徴とする請求項4に記載のプログラム。
【請求項6】
前記検索処理によって発見された前記1又は複数の通信装置を含む画面を表示する画面表示ステップをさらに実行させ、
前記画面において、前記所定の領域が表示されることを特徴とする請求項5に記載のプログラム。
【請求項7】
前記他の方法には、前記情報処理装置が接続している外部アクセスポイントに接続している前記通信装置から、前記外部アクセスポイントを介して前記所定の情報を取得する方法が含まれることを特徴とする請求項4乃至6のいずれか1項に記載のプログラム。
【請求項8】
前記所定の方法には、前記情報処理装置と前記通信装置との間の接続を介して外部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記外部アクセスポイントに関する情報に基づいて前記外部アクセスポイントと前記通信装置との間の接続が確立された後に、前記外部アクセスポイントを介して前記所定の情報を取得する方法が含まれることを特徴とする請求項1乃至7のいずれか1項に記載のプログラム。
【請求項9】
前記所定の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記情報処理装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第1の接続が確立された後に、前記第1の接続を介して前記所定の情報を取得する方法が含まれ、
前記第1の接続は、前記所定の情報が取得された後も維持されることを特徴とする請求項1乃至8のいずれか1項に記載のプログラム。
【請求項10】
前記他のアプリケーションプログラムは、前記所定の方法及び前記他の方法と異なる特定の方法によって前記所定の情報を取得可能であり、
前記所定のアプリケーションプログラムは、所定の領域に保存されている前記所定の情報を取得可能であり、
前記他のアプリケーションプログラムは、前記所定の方法で前記所定の情報を取得した場合、前記所定の領域に前記所定の情報を保存し、前記特定の方法で前記所定の情報を取得した場合、前記所定の領域に前記所定の情報を保存しないことを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
【請求項11】
前記特定の方法には、前記情報処理装置がWi-Fi Direct(登録商標)によって接続している前記通信装置から、前記所定の情報を取得する方法が含まれることを特徴とする請求項10に記載のプログラム。
【請求項12】
前記特定の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第2の接続が確立された後に、前記第2の接続を介して前記所定の情報を取得する方法が含まれ、
前記第2の接続は、前記所定の情報が取得された後に切断され、
前記第2の接続は、前記
所定のアプリケーションプログラムにおいて前記通信装置との通信が指示された場合に再度確立されることを特徴とする請求項10又は11に記載のプログラム。
【請求項13】
前記内部アクセスポイントに関する情報の通信は、Bluetooth(登録商標)による通信であることを特徴とする請求項12に記載のプログラム。
【請求項14】
前記内部アクセスポイントに関する情報の通信は、Bluetooth(登録商標) Low Enegryによる通信であることを特徴とする請求項13に記載のプログラム。
【請求項15】
前記特定の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第3の接続が確立された後に、前記内部アクセスポイントと前記情報処理装置との間の接続を介して前記所定の情報を取得する方法が含まれ、
前記第3の接続を介して、前記所定の情報と異なる他の情報の通信がさらに実行され、
前記第3の接続は、前記所定の情報が取得され、且つ前記他の情報の通信が実行された後に切断されることを特徴とする請求項10乃至14のいずれか1項に記載のプログラム。
【請求項16】
前記内部アクセスポイントに関する情報の通信は、Near Field Communication又はBluetooth(登録商標)による通信であることを特徴とする請求項15に記載のプログラム。
【請求項17】
前記他のアプリケーションプログラムが前記情報処理装置にインストールされていない場合、前記所定の領域が表示され、前記他のアプリケーションプログラムが前記情報処理装置にインストールされている場合、前記所定の領域が表示されないように制御されることを特徴とする請求項1乃至16のいずれか1項に記載のプログラム。
【請求項18】
前記所定のアプリケーションプログラムは、所定の領域に保存されている前記所定の情報を取得可能であり、
前記所定の領域に前記所定の情報が保存されていない場合、前記所定の領域が表示され、前記所定の領域に前記所定の情報が保存されている場合、前記所定の領域が表示されないように制御されることを特徴とする請求項1乃至17のいずれか1項に記載のプログラム。
【請求項19】
前記所定の領域は、前記所定の領域に対応するメッセージを含む画面を表示するためのリンクであることを特徴とする請求項1乃至18のいずれか1項に記載のプログラム。
【請求項20】
前記リンクが操作された場合、前記所定の領域に対応するメッセージを含む画面が、Webブラウザによって表示されることを特徴とする請求項19に記載のプログラム。
【請求項21】
前記所定の領域は、前記他のアプリケーションプログラムをインストールするための画面をストアアプリケーションによって表示するための領域であることを特徴とする請求項1乃至20のいずれか1項に記載のプログラム。
【請求項22】
前記所定の領域は、前記所定の方法を説明するための領域であることを特徴とする請求項1乃至21のいずれか1項に記載のプログラム。
【請求項23】
前記所定のアプリケーションプログラムが前記情報処理装置にインストールされている場合、前記他のアプリケーションプログラムが表示する所定の画面に対して所定の操作が行われたことに基づいて、前記所定のアプリケーションプログラムが起動されることを特徴とする請求項1乃至22のいずれか1項に記載のプログラム。
【請求項24】
前記所定のアプリケーションプログラム及び前記他のアプリケーションプログラムは、前記所定の情報に対応する前記通信装置に印刷を実行させるための印刷ジョブを生成するプログラムであることを特徴とする請求項1乃至23のいずれか1項に記載のプログラム。
【請求項25】
前記所定の情報は、MACアドレス、Bonjour名、IPアドレス、前記通信装置のモデル名、前記通信装置の能力情報、前記所定の情報が取得された日時に関する情報
のうち、少なくとも1つを含むことを特徴とする請求項1乃至24のいずれか1項に記載のプログラム。
【請求項26】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムを有する情報処理装置の制御方法であって、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムをインストールするようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を有することを特徴とする制御方法。
【請求項27】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムを有する情報処理装置の制御方法であって、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムによって前記通信装置を登録した後、前記所定のアプリケーションプログラムを起動するようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を有し、
前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のアプリケーションプログラムによって通信する装置として前記所定のアプリケーションプログラムに登録する処理であり、
前記所定の情報に対応する前記通信装置が、前記他のアプリケーションプログラムによって通信する装置として前記他のアプリケーションプログラムに登録される場合、前記所定の情報が保存されることを特徴とする制御方法。
【請求項28】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムを有する情報処理装置であって、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得手段と、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行手段と、
前記他のアプリケーションプログラムをインストールするようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示手段と、
を有することを特徴とする情報処理装置。
【請求項29】
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムを有する情報処理装置であって、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得手段と、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行手段と、
前記他のアプリケーションプログラムによって前記通信装置を登録した後、前記所定のアプリケーションプログラムを起動するようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示手段と、
を有し、
前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のアプリケーションプログラムによって通信する装置として前記所定のアプリケーションプログラムに登録する処理であり、
前記所定の情報に対応する前記通信装置が、前記他のアプリケーションプログラムによって通信する装置として前記他のアプリケーションプログラムに登録される場合、前記所定の情報が保存されることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、その制御方法、並びにプログラムに関する。
【背景技術】
【0002】
携帯端末やスマートフォン等の情報処理装置が知られている。上記のような情報処理装置では、情報処理装置にインストールされているアプリケーション等のプログラムが、各プログラム間で連携して動作するプログラム連携という技術が一般に使用されている。具体的には、プログラム連携は、例えば、所定のプログラムにおいて取得された情報に基づく処理を、当該所定のプログラムとは異なるプログラムにおいて実行可能とする技術である。
【0003】
特許文献1には、第1のアプリケーション(以下、アプリという。)が情報共有領域に第1のアプリと第2のアプリで共有したい情報を保存し、第2のアプリケーションは情報共有領域から共有情報を取得することで、第1のアプリと第2のアプリで情報を共有する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、プログラム連携が普及するにあたり、プログラム連携を実行可能なプログラムの利便性を向上することが求められている。
【0006】
本発明は、上述の課題を鑑みてなされたものであり、プログラム連携を実行可能なプログラムの利便性を向上することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するために、本発明のプログラムは、
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムであって、
情報処理装置のコンピュータに、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムをインストールするようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を実行させることを特徴とする。
【0008】
また、本発明のプログラムは、
通信装置に関する所定の情報を所定の方法では取得できない所定のアプリケーションプログラムであって、
情報処理装置のコンピュータに、
前記所定のアプリケーションプログラムと異なり、且つ前記所定の情報を前記所定の方法で取得可能な他のアプリケーションプログラムによって前記所定の情報が保存されている場合、前記他のアプリケーションプログラムによって保存された前記所定の情報を前記所定のアプリケーションプログラムによって取得する取得ステップと、
前記他のアプリケーションプログラムによって保存された前記所定の情報が取得された場合、前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理を前記所定のアプリケーションプログラムによって実行する実行ステップと、
前記他のアプリケーションプログラムによって前記通信装置を登録した後、前記所定のアプリケーションプログラムを起動するようユーザを促すための所定の領域を前記所定のアプリケーションプログラムによって表示する表示ステップと、
を実行させ、
前記他のアプリケーションプログラムによって保存された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のアプリケーションプログラムによって通信する装置として前記所定のアプリケーションプログラムに登録する処理であり、
前記所定の情報に対応する前記通信装置が、前記他のアプリケーションプログラムによって通信する装置として前記他のアプリケーションプログラムに登録される場合、前記所定の情報が保存されることを特徴とする。
【発明の効果】
【0009】
本発明によれば、プログラム連携を実行可能なプログラムの利便性を向上することができる。
【図面の簡単な説明】
【0010】
【
図2】アプリB110を連携起動するユースケースを示す図である。
【
図3】携帯端末100が、アプリA109を用いて実行する処理を示すフローチャートである。
【
図4】携帯端末100が、アプリB110を用いて実行する処理の流れを示すフローチャートである。
【
図5】ストアアプリ108によって表示される画面の一例である。
【
図6】アプリA109が表示する画面の一例である。
【
図7】携帯端末100が、アプリB110を用いて実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明に係る情報処理装置について図面を参照して詳細に説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
(第1実施形態)
本発明を適用する情報処理装置について説明する。本実施形態では、情報処理装置として携帯端末を例示しているが、これに限定されない。例えば、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ、音楽再生デバイス、テレビ等、プログラムをインストール可能な種々の装置を情報処理装置として適用可能である。また、本実施形態では、携帯端末の一例としてスマートフォンを例示している。スマートフォンとは、携帯電話機能のほかにカメラ機能やインターネットブラウザ機能、メール機能などを搭載した多機能型の携帯電話のことである。
【0013】
図1は、本実施形態の情報処理装置である携帯端末100の構成を示す図である。
図1(a)は、携帯端末100のハードウェア構成を示し、
図1(b)は、携帯端末100のソフトウェア構成を示す。
【0014】
携帯端末100は、CPU101、操作部102、ネットワークインタフェース103、メモリ104、表示部105、記憶装置106を備え、それぞれがシステムバスを介して接続されている。
【0015】
CPU101は、携帯端末100の全体制御を行う。操作部102は、携帯端末100にユーザが指示を与えるための操作部であり、例えば、ボタンやタッチパネル等を有する。
【0016】
メモリ104は、CPU101の作業領域としてのランダムアクセスメモリ(RAM)であり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶したりする。
【0017】
記憶装置106は、例えば、フラッシュメモリ等であり、アプリケーション、オペレーティングシステム(以下、OSという。)等の各種制御プログラムを格納する。
【0018】
ネットワークインタフェース103は、ネットワークと接続するためのインターフェイスである。携帯端末100は、ネットワークインタフェース103を介してネットワークに接続可能であり、ネットワークを介してプリンタなどの外部機器やインターネットと接続可能に構成されている。本実施形態では、ネットワークインタフェース103は、IEE802.11シリーズに準拠した通信(Wi―Fi(登録商標)による通信)を実行可能である。なおこの通信に限定されず、Bluetooth(登録商標)等、他の方式による通信がネットワークインタフェース103により実行されても良い。また携帯端末100は、複数のネットワークインタフェースを有していても良い。例えば携帯端末100は、ネットワークインタフェース103のほかに、Bluetooth(登録商標) Low Enegry(BLE)による通信を実行可能なネットワークインタフェースを有していても良い。また例えば、携帯端末100は、Near Field Communication(NFC)による通信を実行可能なネットワークインタフェースを有していても良い。
【0019】
表示部105は、各種情報を表示するユニットであり、液晶パネル等からなる。操作部102は、ユーザから操作を受け付けるためのユニットである。なお、本実施形態では、操作部102と表示部105は同一の構成であり、1つの構成で、ユーザによる操作の受け付け及び各種情報の表示どちらも行うことができるような形態であるものとする。すなわち、操作部102と表示部105はタッチディスプレイで構成されるものとする。ユーザは、タッチディスプレイを指等でなぞる、タップする等することで、携帯端末100に各種指示を行い、携帯端末100を操作することができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどの静電式タッチパネル用ペンでタッチディスプレイを操作することによっても、携帯端末100に対して各種指示を与えることができる。なお、操作部102と表示部105は同一の構成でなくとも良く、例えば、操作部102は、物理キーを備える物理キーボード等であっても良い。
【0020】
図1(b)に示すように、本実施形態において携帯端末100は、OS107、ストアアプリケーションプログラム108と、3つ以上のアプリケーションプログラムを利用可能である。なお携帯端末100は、3つ以上のアプリケーションプログラムとして、アプリケーションプログラムA109、アプリケーションプログラムB110、アプリケーションプログラムC111を利用可能である。以下、アプリケーションプログラムを、アプリという。なお以下の説明においてアプリが実行する処理は、実際には、CPU101がアプリをメモリ104に読み出して実行することによって実現される。
【0021】
ストアアプリ108は、アプリA109やアプリB110、アプリC111等の他のアプリを携帯端末100にダウンロード及びインストールするためのアプリである。ユーザは、ストアアプリ108で所望のアプリを選択し、ダウンロードのための所定の操作(ダウンロードボタンのタップ、パスワード認証等)を行うことで、携帯端末100に、選択したアプリのダウンロード及びインストールをすることができる。また、ユーザは、ストアアプリ108によって表示される画面に所定の操作(「開く」ボタンのタップ等)を行うことで、携帯端末100にインストール済みのアプリを、ストアアプリ108を介して起動することもできる。
図5は、ストアアプリ108によって表示される画面の一例を示す図である。
図5は、アプリB110が携帯端末100に既にインストールされている状態における、アプリB110を起動するための画面である。上述したように、「開く」ボタンがタップされることで、アプリB110が起動される。アプリC111についてもアプリB110と同様に、ストアアプリ108からダウンロードやインストール、起動が可能である。
【0022】
アプリA109や、アプリB110、アプリC111は、ストアアプリ108によって、ネットワーク等を介して携帯端末100にダウンロードされるアプリである。なお、アプリA109や、アプリB110、アプリC111は、ストアアプリ108を介してダウンロードされるのではなく、例えば、各アプリが格納された記憶媒体等からダウンロードされても良い。また例えば、Webブラウザ等を介してダウンロードされても良い。ダウンロードされたアプリは、携帯端末100にインストールされ、携帯端末100において利用可能となる。また、アプリA109は、着荷時に携帯端末100に予め保持されていても良い。なお、本実施形態においては、アプリA109や、アプリB110、アプリC111は、印刷機能を有するプリンタに印刷ジョブを送信し、送信した印刷ジョブに基づいた印刷を実行させるためのアプリであるものとする。なお、アプリA109や、アプリB110、アプリC111は、プリンタに印刷を実行させる機能だけでなく、他の機能を備えていても良い。例えば、プリンタにスキャンジョブを送信し、送信したスキャンジョブに基づいたスキャンを実行させる機能を有していても良い。
【0023】
ストアアプリ108や、アプリA109、アプリB110、アプリC111は、OS107を介して動作する。これらのソフトウェアは、記憶装置106に格納されており、メモリ104に展開されてCPU101によって実行される。
【0024】
本実施形態では、アプリA109とアプリB110及びアプリA109とアプリC111は、連携して動作する。具体的には、アプリA109によって用いられる情報を利用してアプリB110が動作する。また、アプリA109によって用いられる情報を利用してアプリC111が動作する。以下、各プログラムが連携して動作することをプログラム連携といい、特に、各アプリが連携して動作することをアプリ連携という。なお具体的には、アプリ連携は、例えば、アプリA109において利用される情報(後述の共有情報)に基づく処理を、アプリA109から起動可能である他のプログラム(例えばアプリB110)において実行可能とする技術である。
【0025】
本実施形態では、アプリの起動方法として、単独起動と連携起動とがある。単独起動とは、あるアプリが、例えばOSが表示するホーム画面におけるアプリアイコンがタップされたことによって起動されたり、ストアアプリ108が表示する画面に対する操作によって起動されたりすることをいう。本実施形態では、ストアアプリ108と、アプリA109、アプリB110、アプリC111のいずれもが、単独起動することが可能である。連携起動とは、あるアプリが、当該アプリが利用する情報(後述の共有情報)の共有元となる他のアプリが表示する画面に対する操作から起動されることをいう。本実施形態では、少なくともアプリB110とアプリC111は、アプリA109が表示する画面に対する操作から連携起動されることが可能である。アプリB110やとアプリC111が連携起動された場合、連携起動の元となったアプリ(アプリA109)の情報が通知される。そのため、CPU101は、アプリB110やとアプリC111の起動方法が連携起動であるのか単独起動であるのかを把握することができる。
【0026】
図6は、アプリA109が表示する画面の一例である。アイコン601は、アプリA109に登録されているプリンタを示す。プリンタの登録については後述する。なお、プリンタがアプリA109に登録されていない状態においては、アイコン601は表示されない。このときアイコン601の代わりに、プリンタの登録を促すためのメッセージやアイコンを含む領域が表示されても良い。アイコン602、アイコン603は、アプリA109に登録されているプリンタに印刷ジョブを送信し、携帯端末100が保存している写真や文書を印刷させるためのボタンである。アイコン604は、アプリA109に登録されているプリンタにスキャンジョブを送信し、スキャンを実行させるためのボタンである。アイコン605は、外部サーバに格納されている画像データをプリンタに印刷させるクラウド印刷機能を実行するためのボタンである。アイコン606は、アプリA109に登録されているプリンタにコピージョブを送信し、原稿のコピーを作成させるためのボタンである、アイコン607は、プリンタに印刷ジョブを送信し、ディスクメディアに対する印刷を実行させるためのボタンである。例えば、ディスクメディアに対する印刷を実行させるためには、アプリA109でない他のアプリ(ディスクメディア印刷用アプリ)が必要な場合がある。このような場合は、CPU101は、ディスクメディア印刷用アプリが携帯端末100にインストールされている状態で、アイコン607に対する操作を受け付けた場合、ディスクメディア印刷用アプリを連携起動する。アイコン608は、アプリA109の操作方法等を示すWebページを立ち上げるためのボタンである。アイコン609は、アプリB110を連携起動するためのボタンである。CPU101は、アプリB110が携帯端末100にインストールされている状態で、アイコン609に対する操作を受け付けた場合、アプリB110を連携起動する。なお、例えば、CPU101は、アプリB110に対応していないプリンタがアプリA109に登録されている場合は、アイコン609をグレーアウトさせたり、非表示にさせたりして、アイコン609に対する操作を受け付けないようにしても良い。アイコン610は、アプリC111を連携起動するためのボタンである。CPU101は、アプリC111が携帯端末100にインストールされている状態で、アイコン610に対する操作を受け付けた場合、アプリC111を連携起動する。なお、例えば、CPU101は、アプリC111に対応していないプリンタがアプリA109に登録されている場合は、アイコン610をグレーアウトさせたり、非表示にさせたりして、アイコン610に対する操作を受け付けないようにしても良い。
【0027】
なお、アプリA109は、携帯端末100によって撮影された画像データや、携帯端末100によってダウンロードされた画像データのうち、ユーザによって選択された画像データに基づく印刷をプリンタに実行させるためのアプリである。一方アプリB110は例えば、アプリB110が予め保持している画像データに基づく印刷をプリンタに実行させるためのアプリである。またアプリB110は例えば、アプリB110が、アプリB110に対応する外部サーバからネットワークを介して取得される画像データに基づく印刷をプリンタに実行させるためのアプリである。またアプリB110は例えば、ディスクメディア印刷用アプリや、年賀状の印刷をプリンタに実行させるためのアプリであっても良い。アプリC111も、アプリB110の例と同様に、種々の機能を有するアプリであって良い。
【0028】
図2(a)を用いて、アプリA109及びアプリB110が既に携帯端末100にインストールされている状態でアプリA109を介してアプリB110を連携起動するユースケースについて説明する。まず、CPU101は、プリンタの登録処理によりプリンタが登録された(プリンタの登録情報が生成された)ことを特定すると、生成された登録情報を共有情報202として情報共有領域201に保存する。ここで、共有情報202は、アプリA109の動作においてCPU101が利用可能な情報である。また、情報共有領域201は、共有情報202が格納される記憶領域である。情報共有領域201は、例えばアプリA109の動作時とアプリB110の動作時どちらにおいてもアクセス可能な共通フォルダであっても良いし、OSが管理しているクリップボードやペーストボードのようなものでも良い。また、共通フォルダとは、例えば記憶装置106等、携帯端末100内のメモリに含まれる領域であっても良いし、SDカードやHDDのような外部記憶媒体に含まれる領域であっても良いし、ネットワークサーバー上の領域であっても良い。アプリA109の動作とアプリB110の動作どちらにおいても利用可能な情報を格納できるような形態であれば、その形態には制限はない。
【0029】
続いて、CPU101は、アイコン609に対する操作の受け付け等により、アプリB110を連携起動することを特定すると、CPU101は、アプリB110を連携起動する。そしてCPU101は、アプリB110を連携起動すると、アプリB110によって、情報共有領域201を参照して共有情報202を取得する。そしてCPU101は、取得された共有情報202がアプリB110によって利用可能な情報かどうか(共有情報202がアプリB110に対応した情報かどうか)を判定する。以下、本判定を、利用可否判定という。CPU101は、共有情報202がアプリB110によって利用可能な情報であると判定した場合、共有情報202に基づく処理を実行する。また、共有情報202がアプリB110によって利用可能な情報でないと判定した場合、CPU101は、共有情報202に基づく処理は実行しない。
【0030】
なお利用可否判定は取得した共有情報202に含まれる情報を用いて実行される。例えば、共有情報202にプリンタのモデル名が含まれているものとする。その場合利用可否判定として、CPU101は、アプリB110に対応しているプリンタのモデル名リストに、共有情報202に含まれるモデル名が含まれるか否かを判定する。CPU101は、モデル名リストに、共有情報202に含まれるモデル名が含まれる場合、取得された共有情報202がアプリB110によって利用可能な情報であると判定する。そして、モデル名リストに、共有情報202に含まれるモデル名が含まれない場合、取得された共有情報202がアプリB110によって利用可能な情報でないと判定する。ここで、モデル名リストは必ずしもアプリB110が保持している必要はなく、ネットワークサーバー上の領域やSDカードやHDDのような外部記憶媒体に含まれていても良い。
【0031】
また例えば、共有情報202に、共有情報202に対応しているアプリ名リストが含まれているものとする。その場合利用可否判定として、CPU101は、共有情報202に対応しているアプリ名リストに、アプリB110が含まれるか否かを判定する。CPU101は、アプリ名リストに、アプリB110が含まれる場合、取得された共有情報202がアプリB110によって利用可能な情報であると判定する。そして、アプリ名リストに、アプリB110が含まれない場合、取得された共有情報202がアプリB110によって利用可能な情報でないと判定する。
【0032】
次に
図2(b)を用いて、アプリA109及びアプリB110が既に携帯端末100にインストールされている状態でアプリA109を介さずアプリB110を単独起動する場合の、CPU101の挙動を説明する。
【0033】
図2(a)と同様に、CPU101は、例えば、プリンタの登録処理等によりプリンタの登録情報が生成されたことを特定すると、生成された登録情報を共有情報202として情報共有領域201に保存する。そして、本実施形態では、CPU101は、アプリB110が単独起動された場合にも、情報共有領域201を参照する。そして共有情報202が情報共有領域201に保存されている場合は、共有情報202を取得する。そしてCPU101は、利用可否判定を実行する。CPU101は、共有情報202がアプリB110によって利用可能な情報であると判定した場合、共有情報202に基づく処理を実行する。また、共有情報202がアプリB110によって利用可能な情報でないと判定した場合、CPU101は、共有情報202に基づく処理は実行しない。
【0034】
このように、本実施形態では、アプリA109は、プリンタが登録された(プリンタの登録情報が生成された)タイミングで共有情報202を情報共有領域201に保存する。そしてアプリB110は、共有情報202を、連携起動か単独起動かにかかわらず取得し、共有情報202を取得した時に、取得した共有情報202が利用可能かどうか判定する。このような形態とすることで、CPU101は、アプリB110が単独起動された場合にも、連携起動された場合にも、適切にアプリA109とアプリB110との間のアプリ連携を実行できる。
【0035】
次に
図2(c)を用いて、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合の、CPU101の挙動を説明する。
【0036】
図2(a)と同様に、CPU101は、例えば、プリンタの登録処理等によりプリンタの登録情報が生成されたことを特定すると、生成された登録情報を共有情報202として情報共有領域201に保存する。
【0037】
アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われても、アプリB110が携帯端末100にインストールされていない場合、CPU101は、当然、アプリB110を起動することができない。また、アプリB110を携帯端末100にインストールするためには、一般にストアアプリ108を用いる必要がある。そのため、CPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合は、以下の処理を実行する。
【0038】
まず、CPU101は、ストアアプリ108を起動する。なお、CPU101は、ダウンロード対象のアプリ(以下、対象アプリ)を特定可能な情報(以下、アプリ特定情報203)を用いてストアアプリ108を起動することで、対象アプリをダウンロードするための画面を、表示部105に表示することができる。そこで、この時CPU101は、対象アプリをアプリB110としたアプリ特定情報203を用いて、ストアアプリ108を起動する。これにより、アプリB110をダウンロードするための画面が表示部105に表示されるため、CPU101は、ユーザからの操作を受け付けて、アプリB110をダウンロード及びインストールする。なお、この時、CPU101は、ユーザからの操作を受け付けることなく、自動でアプリB110をダウンロードしても良い。その後、CPU101は、ホーム画面におけるアプリB110に対応するアプリアイコンに対する操作や、ストアアプリ108が表示する画面に対する操作(
図5の開くボタンへの操作)を受け付ける。そして、CPU101は、それらの操作に応じてアプリB110を起動し、
図2(b)に示した処理と同様の処理を実行する。すなわち、CPU101は、アプリB110が単独起動した場合の処理を実行する。
【0039】
このようにCPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合、ストアアプリ108によりアプリB110をダウンロードする。本実施形態では、
図2(b)に示したように、単独起動時にも情報共有領域201を参照し、共有情報202がアプリB110で利用可能かどうか判断する。そのため、ストアアプリ108を経由したことによりアプリB110が単独起動となった場合でも、アプリA109のプリンタ登録情報を共有情報202として適切にアプリB110と連携させることができる。
【0040】
なお、上述では、アプリB110が連携起動した場合にも単独起動した場合にも必ず情報共有領域201を参照する例を示したが、この形態に限定されない。例えば、本実施形態では、アプリA109及びアプリB110は、それぞれ別々にプリンタを登録することも可能である。そのためユーザは、あえてアプリA109及びアプリB110においてそれぞれ別のプリンタを登録している場合がある。このような場合にアプリA109とアプリB110を連携させ、アプリA109に登録されているプリンタをアプリB110に登録すると、アプリB110にユーザが意図しないプリンタが上書きで登録されてしまうおそれがある。また、アプリA109とアプリB110に同じプリンタが既に登録されていることもある。このような場合に、再度アプリA109に登録されているプリンタをアプリB110に登録すると、アプリBは起動されるたびに共有情報202に基づく処理を実行することになり、起動時の処理の負荷が高くなってしまうおそれがある。
【0041】
そのため、CPU101は、アプリB110を起動した場合には、アプリB110に既にプリンタが登録されているか否かを判定し、アプリB110に既にプリンタが登録されている場合、アプリ連携を実行しない。すなわち、アプリB110に登録済みのプリンタを変更しない。
【0042】
なお、アプリB110に既にプリンタが登録されている場合でも、現在保存されている共有情報202が以前アプリ連携に利用された共有情報202から更新・変更されている場合、再度アプリ連携を実行しても良い。例えば、共有情報202には、当該共有情報202の更新日時の情報が含まれるとする。そして、アプリB110は、以前共有情報202をアプリ連携に利用したときの更新日時の情報を保存しておくとする。アプリB110は、新たに取得した共有情報202に含まれる更新日時の情報と、以前共有情報202をアプリ連携に利用したときの更新日時の情報とを比較することで、新たに取得した共有情報202を用いたアプリ連携を実行するか否かを判定する。なおこのとき、新たに取得した共有情報202に含まれる更新日時情報の比較対象は、他の情報であっても良い。例えば、直近で行われたアプリB110に対するプリンタの登録の日時の情報であっても良い。
【0043】
また、アプリB110に既に登録されているプリンタが、共有情報202によって登録されるプリンタと異なっている場合、アプリ連携を実行するか否かをユーザに選択させるためのダイアログを表示しても良い。具体的には例えば、アプリB110でプリンタが登録済みでない場合、CPU101は、共有情報202がアプリB110によって利用可能な情報であると利用可否判定により判定された後に、アプリA109に登録されているプリンタをアプリB110に登録する。上述したように、アプリA109に登録されているプリンタをアプリB110に登録する処理とはすなわち、アプリ連携である。これは、アプリB110にプリンタが登録済みでなければ、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまう問題が生じないためである。一方、アプリB110でプリンタが登録済みである場合、CPU101は、共有情報202がアプリB110によって利用可能な情報であると利用可否判定により判定された後に、アプリ連携を実行するか否かをユーザに選択させるためのダイアログを表示する。当該ダイアログは、言い換えれば、共有情報202を利用するか否かや、アプリA109に登録されているプリンタをアプリB110に登録するか否かをユーザに選択させるためのダイアログである。CPU101は、アプリ連携を実行することを示す入力がユーザによって選択された場合、アプリ連携を実行する。またCPU101は、アプリ連携を実行しないことを示す入力がユーザによって選択された場合、アプリ連携を実行しない。すなわち、アプリB110に登録済みのプリンタを変更しない。これにより、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまうことを抑制できる。なお、ダイアログが表示され、且つアプリ連携を実行することを示す入力がユーザによって選択された後に、利用可否判定が実行されても良い。
【0044】
なお、共有情報202は、アプリB110によって取得されたとしても、情報共有領域201から削除されない。すなわち、共有情報202は、アプリB110によって取得された後にも、アプリB110とは異なるアプリ(例えばアプリC111)によるアプリ連携において利用されることが可能である。このような形態とすることで、アプリB110が共有情報202を取得してアプリ連携を実行した後、アプリA109において共有情報202の更新が行われることなく、アプリC111が起動した場合にも、アプリC111もアプリ連携を実行できる。このような形態とすることで、複数のアプリがアプリ連携を実行できる形態における利便性が向上する。なお、共有情報202は、例えば、アプリA109が携帯端末100から削除(アンインストール)されること等に応じて削除される。
【0045】
上述したように本実施形態では、アプリA109とアプリB110、アプリC111は、携帯端末100が通信可能なプリンタに画像を印刷させる印刷機能を有する。アプリA109とアプリB110、アプリC111は、印刷を実行させる装置を登録することで、印刷機能を実行できる。なお、アプリに対して装置を登録する処理(登録処理)とは、言い換えれば、登録対象の装置を当該アプリによって通信する装置として設定・登録する処理(設定処理)である。この形態では、例えば、アプリA109において登録されたプリンタに関する情報(以降、登録情報という。)を、共有情報202として適用可能である。登録情報とは、具体的には、例えば、MACアドレスやBonjour名、IPアドレス、及びプリンタのモデル名等の機種情報や利用可能な設定値等の能力情報、登録日時に関する情報等である。なお登録日時は、例えば、登録情報が取得された日時である。アプリA109にプリンタが登録された場合、アプリA109が表示する画面において、アイコン601が表示され、アプリA109に登録されたプリンタがどのようなプリンタであるかがユーザに提示される。そのためアイコン601には、アプリA109に登録されたプリンタの名前や型番、アプリA109に登録されたプリンタが保持しているインクの状態、アプリA109に登録されたプリンタのエラー状態等を示す情報が含まれていて良い。
【0046】
そして、CPU101は、例えば、プリンタがアプリA109において登録されたことに応じて、プリンタの登録情報を共有情報202として情報共有領域201に保存する。これにより、CPU101はアプリB110の起動時における共有情報202に基づく処理として、アプリA109において登録されたプリンタをアプリB110に登録する処理をアプリB110によって実行することができる。このような形態にすることで、CPU101は、例えば、プリンタを検索する処理をアプリB110によって実行することなく、アプリB110にプリンタを登録することができる。なお、情報共有領域201に、プリンタを登録するために必要な情報の全てが収まらない場合は、プリンタを登録するために必要な情報のうち少なくとも一部を共有情報202として適用しても良い。このような形態でも、例えば、プリンタを検索する処理にかかる時間を抑制する等の効果を奏することができる。なお上述のような、共有情報202を用いたプリンタの登録は、アプリC111においても実行可能である。
【0047】
なお、プリンタの登録方法として、複数の方法が用意されていても良い。なお登録方法とは言い換えれば、プリンタの登録情報の取得方法である。アプリA109が実行可能な第1の登録方法について説明する。第1の登録方法においてアプリA109は、携帯端末100が属するWi-Fiネットワーク上において、アプリA109に対応するプリンタを検索する。携帯端末100が属するWi-Fiネットワークとは例えば、携帯端末100がWi-Fiによって接続している無線LANルータ(外部アクセスポイント)によって構成されるネットワークである。そしてアプリA109は、この検索処理によって見つかったプリンタのうち、ユーザによって選択されたプリンタから登録情報を、Wi-Fiネットワークを介して取得することで、ユーザによって選択されたプリンタをアプリA109に登録する。この検索によって見つかるプリンタとは具体的には例えば、携帯端末100がWi-Fiによって接続している無線LANルータにWi-Fiによって接続しているプリンタである。なおこのとき、アプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動で登録を行ってよい。またアプリA109は、検索において複数のプリンタを発見した場合、発見された複数のプリンタを登録しても良い。そして本実施形態では、このようにしてプリンタが登録されたことに基づいて、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存する。
【0048】
なお、携帯端末100が属するWi-Fiネットワークが、Wi-Fi Direct規格によってプリンタと携帯端末100との間に形成されているネットワークである場合もある。すなわち、携帯端末100がWi-Fi Direct規格によってプリンタと、無線LANルータを介さずに無線接続(P2P接続)している場合がある。その場合も、携帯端末100が属するWi-Fiネットワーク上でプリンタの検索が行われるが、当然、プリンタは1台しか発見されない。アプリA109は、この検索によって見つかったプリンタから登録情報を、Wi-Fi Direct規格のネットワークを介して取得することで、プリンタをアプリA109に登録する。しかしながら本実施形態では、Wi-Fi Direct規格によって携帯端末100が接続しているプリンタが登録されたことに基づいては、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存しない。これはアプリによっては、Wi-Fi Direct規格による通信を実行できないためである。例えば本実施形態では、アプリB110は、Wi-Fi Direct規格による通信を実行できないものとする。
【0049】
アプリA109が実行可能な第2の登録方法について説明する。アプリA109は、携帯端末100の周囲に存在しており、且つ所定のアクセスポイントを有効化しているプリンタをWi-Fiによって検索する。なおプリンタは、Wi-Fiセットアップを行うための所定の操作をユーザから受け付けた場合や、開梱後の初期セットアップが行われる場合に、所定のアクセスポイントを有効化する。そしてアプリA109は、この検索により見つかったプリンタのうち、ユーザによって選択されたプリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。なおこのとき、アプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動でプリンタとP2P接続してよい。そしてアプリA109は、携帯端末100とWi-Fiによって無線接続しているプリンタのWi-Fiセットアップを行う。
【0050】
Wi-FiセットアップとしてアプリA109は、例えば、無線LANルータと接続するための接続情報をP2P接続を介してプリンタに送信することで、プリンタと無線LANルータとをWi-Fi接続させる。その後、当該無線LANルータによって構成されるWi-Fiネットワーク上に携帯端末100も属している場合は、携帯端末100は、当該無線LANルータを介してプリンタとWi-Fi通信が可能となる。そのため、アプリA109は、プリンタと無線LANルータとをWi-Fi接続させた後、登録情報を、当該無線LANルータを介してプリンタから取得することで、プリンタをアプリA109に登録する。このとき当該無線LANルータと携帯端末100との間のWi-Fi接続は、アプリA109によっては切断されずに維持される。これによりアプリA109は、当該無線LANルータを介してプリンタに印刷ジョブを送信可能となる。そして本実施形態では、このようにしてプリンタが登録されたことに基づいて、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存する。
【0051】
またWi-FiセットアップとしてアプリA109は、例えば、所定のアクセスポイントと異なり、且つプリンタ内で有効化される他のアクセスポイント(プリンタの内部アクセスポイント)と接続するための接続情報を、プリンタから受信する。プリンタは、アプリA109に当該接続情報を送信した後は、当該他のアクセスポイントを有効化する。そしてアプリA109は、受信した接続情報を用いて、当該他のアクセスポイントを有効化しているプリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。そしてアプリA109は、プリンタから、登録情報を、P2P接続を介して取得することで、プリンタをアプリA109に登録する。このP2P接続は、アプリA109によっては切断されずに維持される。そのためこれによりアプリA109は、当該P2P接続を介してプリンタに印刷ジョブを送信可能となる。そして本実施形態では、このようにしてプリンタが登録されたことに基づいて、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存する。
【0052】
なお上述では、携帯端末100とプリンタとをWi-Fiによって接続させることでWi-Fiセットアップを実行する形態について説明したが、この形態に限定されない。例えば、携帯端末100とプリンタとをBLEによって接続させることでWi-Fiセットアップを実行する形態であっても良い。その場合例えば、アプリA109は、携帯端末100の周囲に存在しており、且つBLE通信機能を有効化しているプリンタをWi-Fiによって検索する。BLE通信機能を有効化しているプリンタとは具体的には例えば、BLE規格におけるアドバタイザとして動作しているプリンタである。そしてアプリA109は、この検索により見つかったプリンタのうち、ユーザによって選択されたプリンタと携帯端末100とを、BLEによって無線接続(BLE接続)させる。なおこのとき、アプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動でプリンタとBLE接続してよい。そしてアプリA109は、携帯端末100とBLEによって無線接続しているプリンタのWi-Fiセットアップを行う。なおアプリA109は、Wi-Fi接続によってWi-Fiセットアップを実行する機能と、BLE接続によってWi-Fiセットアップを実行する機能の両方を有していても良い。
【0053】
アプリA109が実行可能な第3の登録方法について説明する。アプリA109は、携帯端末100の周囲に存在しており、且つBLE規格におけるアドバタイザとして動作しているプリンタをBLEによって検索する。そして、この検索により見つかったプリンタのうち、ユーザによって選択されたプリンタと携帯端末100とを、BLEによって無線接続させる。そしてアプリA109は、携帯端末100とBLE接続しているプリンタから、プリンタとのWi-FiによるP2P接続を確立するための接続情報を取得する。接続情報とは具体的には、プリンタ内において有効化されるアクセスポイントのSSIDや、当該アクセスポイントと接続するためのパスワードである。その後アプリA109は、取得した接続情報を用いて、当該アクセスポイントを有効化しているプリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。そしてアプリA109は、携帯端末100と無線接続しているプリンタから、登録情報を、P2P接続を介して取得することで、プリンタをアプリA109に登録する。なおアプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動でプリンタとBLE接続し、自動でプリンタを登録してよい。なお登録が終わったら、アプリA109は、プリンタと携帯端末100との間のP2P接続を切断する。その後アプリA109は、ユーザによって印刷が指示された場合に、接続情報を再度用いて、プリンタと携帯端末100との間のP2P接続を再度確立し、印刷ジョブを送信する。なお第3の登録方法は例えば、第1の登録方法におけるプリンタ検索においてプリンタが1つも発見されなかったことに基づいて実行されても良い。また本実施形態では、第3の登録方法によってプリンタが登録されたことに基づいては、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存しない。これは、第3の登録方法によってプリンタが登録された後、当該プリンタと携帯端末100との間のP2P接続が切断されるため、アプリA109以外のアプリによっては、当該プリンタを簡便に利用することができないためである。
【0054】
アプリA109が実行可能な第4の登録方法について説明する。アプリA109は、携帯端末100の周囲に存在しており、且つWi-Fi Direct規格におけるP2P Device又はGroup Ownerとして動作しているプリンタを検索する。なおWi-Fi Direct規格におけるP2P Deviceとは、Group Owner Negotiationを実行しておらず、Group OwnerでもClientでもない状態の装置である。この際、アプリA109は、Wi-Fi Direct規格における公知のディスカバリプロセスによって、プリンタを検索する。そして、この検索により見つかったプリンタのうち、ユーザによって選択されたプリンタと携帯端末100とを、Wi-Fi Direct規格によって無線LANルータを介さずに無線接続させる。なおこのとき、アプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動でプリンタとWi-Fi Direct規格によって無線接続しても良い。そしてアプリA109は、携帯端末100とWi-Fi Direct規格によって無線接続しているプリンタから、登録情報を、当該無線接続を介して取得することで、プリンタをアプリA109に登録する。なお登録後も、プリンタと携帯端末100との間のWi-Fi Direct規格による無線接続は維持される。なお本実施形態では、第4の登録方法によってプリンタが登録されたことに基づいては、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存しない。これはアプリによっては、Wi-Fi Direct規格による通信を実行できないためである。
【0055】
アプリA109が実行可能な第5の登録方法について説明する。アプリA109は、NFCによる通信を実行可能であるものとする。アプリA109において画像データが選択された状態で携帯端末100がプリンタに近接すると、アプリA109は、NFC通信によって、プリンタから、Wi-Fiによるプリンタとの接続を確立するための接続情報を取得する。接続情報とは具体的には、プリンタ内において有効化されるアクセスポイントのSSIDや、当該アクセスポイントと接続するためのパスワードである。その後アプリA109は、取得した接続情報を用いて、プリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。なお無線接続の前に、アプリA109は、プリンタ内のアクセスポイントを有効化させるための指示を、NFC通信により実行しても良い。そしてアプリA109は、プリンタから、登録情報を、当該P2P接続を介して取得することで、プリンタをアプリA109に登録する。そして、アプリA109は、選択済みの画像データを印刷させるための印刷ジョブを当該P2P接続を介してプリンタに送信する。印刷ジョブの送信が完了したら、アプリA109は、プリンタと携帯端末100との間のP2P接続を切断する。なお本実施形態では、第5の登録方法によってプリンタが登録されたことに基づいては、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存しない。これは、第5の登録方法によってプリンタが登録された後、当該プリンタと携帯端末100との間のP2P接続が切断されるため、アプリA109以外のアプリによっては、当該プリンタを簡便に利用することができないためである。なお第5の登録方法においてNFCによって実行される通信は、NFCの代わりに、Classic BluetoothやBLE等によって実行されても良い。
【0056】
上述したように、本実施形態では、プリンタがアプリA109に登録された場合、登録方法に応じて、プリンタの登録情報が共有情報202として保存されたりされなかったりする。このような形態とすることで、アプリ連携において利用されるべき適切なプリンタの登録情報のみが、共有情報202として他のアプリに利用されるようにすることができる。
【0057】
なお上述では、プリンタがアプリA109に登録されたとしても、プリンタの登録情報が共有情報202として保存されないパターンを説明したが、これらのパターンのなかにプリンタの登録情報が共有情報202として保存されるパターンが含まれていても良い。言い換えれば、上述したパターンのうち少なくとも1つのパターンにおいて、プリンタの登録情報が、共有情報202として情報共有領域201に保存されなければ良い。そのため例えば、第3の登録方法や第4の登録方法によってプリンタが登録されたことに基づいて、プリンタの登録情報が、共有情報202として情報共有領域201に保存されても良い。
【0058】
また本実施形態では、共有情報202が既に情報共有領域201に保存されている状態で、アプリA109に新たにプリンタが登録される度に、共有情報202が更新されるものとする。もちろん、共有情報202が保存されないパターンであれば、共有情報202は更新されない。また既に登録されているプリンタと同じプリンタが新たに登録された場合も、共有情報202は更新されなくとも良い。
【0059】
また、複数のプリンタに対して登録処理が行われることで、1つのアプリに対して、複数のプリンタが登録されても良い。その場合、アプリA109は、登録されている複数のプリンタのうち、選択装置として選択されているプリンタに対して印刷ジョブを送信することとなる。なお、ユーザは、アプリA109が表示する画面において、登録されている複数のプリンタのなかから選択装置を適宜選択・変更可能である。また、既にあるプリンタが選択装置として選択されている状態で、新たに別のプリンタが登録された場合は、登録方法に関らず、新たに登録されたプリンタが選択装置として選択される。なお
図6の画面においては、選択装置として選択されているプリンタに対応するアイコン601が表示され、選択装置として選択されていない登録済みプリンタに対応するアイコン601は表示されない。
【0060】
1つのアプリに対して、複数のプリンタが登録可能な形態である場合、登録された複数のプリンタに関する登録情報が、共有情報202として情報共有領域201に保存されても良い。一方、登録された複数のプリンタのうち1つのプリンタ(例えば選択装置として選択されているプリンタ)に関する登録情報のみが、共有情報202として情報共有領域201に保存されても良い。例えば、第2の登録方法によってプリンタAが登録され、プリンタAに関する登録情報が共有情報202として情報共有領域201に保存されている状態で、第2の登録方法によってプリンタBが新たに登録されるとする。その場合、プリンタAとプリンタBの両方がアプリA109に登録されるが、情報共有領域201に保存される共有情報202は、新たに登録されたプリンタBに関する登録情報に更新される。また、その後、プリンタAが選択装置としてユーザによって選択されたとする。その場合、情報共有領域201に保存される共有情報202は、プリンタAに関する登録情報に更新される。また例えば、第2の登録方法によってプリンタAが登録され、プリンタAに関する登録情報が共有情報202として情報共有領域201に保存されている状態で、共有情報202の保存が行われないパターンによってプリンタBが新たに登録されるとする。共有情報202の保存が行われないパターンとは上述したように例えば、第3の登録方法や第4の登録方法によってプリンタBが登録されるパターンである。その場合、プリンタAとプリンタBの両方がアプリA109に登録されるが、情報共有領域201に保存される共有情報202は、プリンタBに関する登録情報に更新されず、プリンタAに関する登録情報のまま維持される。
【0061】
また、本実施形態では、アプリA109は、複数の登録方法それぞれによる登録が可能であるのに対して、アプリB110やアプリC111においては、第1の登録方法による登録のみ可能であるものとする。すなわち、アプリA109は、アプリB110やアプリC111と比べて、より高性能な登録機能を有しているものとする。なおアプリB110やアプリC111においても第1の登録方法以外の登録方法による登録が可能であっても良い。
【0062】
上述のようにして保存された共有情報202は、共有情報202を保存したアプリA109以外のアプリ(例えばアプリB110)が起動された際に、当該アプリによって取得される。そして、当該アプリによって共有情報202が使用されることでアプリA109とアプリA109以外のアプリとの間で、情報を共有することが可能である。また、アプリB110やアプリC111が実行できる登録方法によっては登録できないプリンタも、アプリB110やアプリC111に対して登録することが可能となる。
【0063】
図3は、携帯端末100が、アプリA109を用いて実行する処理を示すフローチャートである。なお、本フローチャートが示す処理は、例えば、CPU101が、記憶装置106等に格納されたアプリA109に対応するプログラムをメモリ104に読み出して実行することにより実現される。また、本フローチャートが示す処理は、アプリA109の機能を実行するための画面が、アプリA109によって表示部105に表示されている状態で開始されるものとする。
【0064】
まず、S301では、CPU101は、アプリA109において、プリンタの登録処理を実行する。上述したように、このとき実行される登録処理において用いられる登録方法としては、第1~第5の登録方法がある。
【0065】
続いて、S302では、CPU101は、S301で取得されたプリンタの登録情報を共有情報202として情報共有領域201に保存するか否かを判定する。具体的にはCPU101はまず、S301で実行された登録処理において用いられた登録方法を特定する。そして、第3の登録方法、第4の登録方法、第5の登録方法のうちいずれかが特定された場合、プリンタの登録情報を共有情報202として情報共有領域201に保存しないと判定される。また、第1の登録方法が特定されたとしても、登録されたプリンタが、携帯端末100がWi-Fi Direct規格によって接続しているプリンタである場合は、プリンタの登録情報を共有情報202として情報共有領域201に保存しないと判定される。一方、第2の登録方法が特定された場合、プリンタの登録情報を共有情報202として情報共有領域201に保存すると判定される。また第1の登録方法が特定され、且つ登録されたプリンタが、無線LANルータにWi-Fiによって接続しているプリンタである場合は、プリンタの登録情報を共有情報202として情報共有領域201に保存すると判定される。CPU101は、本判定の結果がYESである場合、S303に進み、本判定の結果がNOである場合、プリンタの登録情報を共有情報202として情報共有領域201に保存することなく、S304に進む。
【0066】
S303では、CPU101は、S301で取得されたプリンタの登録情報を共有情報202として情報共有領域201に保存する。
【0067】
S304では、CPU101は、アプリB110の連携起動操作を受け付ける。具体的には、例えば、CPU101は、アイコン609への操作をユーザから受け付ける。
【0068】
なお、S304は、必ずしもS303やS302に対して連続して実行される必要はない。例えば、S302で共有情報202が保存された後、アイコン602が操作され、アプリA109で印刷ジョブの送信等が実行されてから、S303の処理が実行されても良い。また例えば、一度アプリA109の起動が終了され、その後アプリA109が再度起動されたあとに、S303の処理が実行されても良い。
【0069】
S305では、CPU101は、アプリB110が携帯端末100にインストールされているか否かを判定する。アプリB110が携帯端末100にインストールされていると判定された場合、S306でCPU101は、URLスキームを用いた公知の方法により、アプリB110を起動するための指示を発行する。これにより、アプリB110が連携起動される。その後、CPU101は、アプリB110によって後述する
図4に示す処理を実行する。一方、アプリB110が携帯端末100にインストールされていないと判定された場合、S307でCPU101は、例えば、URLスキームを用いた公知の方法により、ストアアプリ108を起動するための指示を発行する。この際、URLスキームにストアアプリ108がアプリB110を特定するためのアプリ特定情報203を付加して、指示を発行する。これにより、ストアアプリ108の起動とともに、アプリB110をダウンロードするための画面が表示される。この状態で、アプリB110をダウンロードするための操作をユーザから受け付けることで、CPU101は、アプリB110のダウンロード及びインストールを実行することができる。アプリB110がインストールされた後は、ストアアプリ108に、アプリB110を起動するための領域が表示される。そして、アプリB110を起動するための領域がユーザによって操作されることで、アプリB110が起動される。このようにしてアプリB110が起動されたら、CPU101は、アプリB110によって後述する
図4に示す処理を実行する。
【0070】
上述のような形態とすることで、プリンタの登録情報を共有情報として保存するか否かを、プリンタの登録方法に応じて適切に制御することができる。言い換えれば、アプリA109が取得した情報を他のアプリにおいても取得・利用させる(アプリ連携を実行させる)か否かを、アプリA109が保持している情報の取得方法に応じて適切に制御することができる。
【0071】
ここで本発明の課題について説明する。上述したように、アプリB110やアプリC111は、アプリA109が取得した情報を共有情報202として取得することが可能である。しかしながら、当然、アプリA109が携帯端末100にインストールされていない場合には、共有情報202が情報共有領域201に保存されないため、アプリB110やアプリC111は、共有情報202を取得することができない。この場合は、アプリB110やアプリC111が実行できない登録方法によってしか登録できない環境にある装置を、アプリB110やアプリC111が登録することができないという課題がある。また例えば、アプリB110やアプリC111が、共有情報202の取得によってしか装置の登録ができないアプリである場合には、装置の登録を実行できないという課題がある。すなわち、アプリB110やアプリC111をユーザが利用する場合は、アプリA109が携帯端末100にインストールされていることが望ましい。
【0072】
そこで本実施形態では、共有情報202の保存を行うアプリであるアプリA109が携帯端末100にインストールされていない場合、アプリB110やアプリC111によって通知を行う形態について説明する。
【0073】
図4は、携帯端末100が、アプリB110を用いて実行する処理を示すフローチャートである。なお、本フローチャートは、例えば、CPU101が、記憶装置106等に格納されたアプリB110に対応するプログラムをメモリ104に読み出して実行することにより実現される。
【0074】
まず、S401では、CPU101は、アプリB110を起動する。なお、S401の処理は、例えば、アプリA109を介したアプリB110の連携起動操作の受け付けや、ストアアプリ108を介したアプリB110の起動指示の受け付け、ホーム画面を介したアプリB110の起動指示の受け付け等をトリガーに実行される。
【0075】
S402では、CPU101は、情報共有領域201に共有情報202が存在するか否かを判定する。CPU101は、情報共有領域201に共有情報202が存在すると判定した場合は、S403に進み、共有情報202を取得する。なお本実施形態では、CPU101は、アプリB110により共有情報202を取得した場合も、共有情報202を情報共有領域201から削除しない。一方、CPU101は、情報共有領域201に共有情報202が存在しないと判定した場合は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。なお、共有情報202が情報共有領域201に保存されていない状況とは、例えば、情報共有領域201が外部サーバ等であり、通信エラーや認証エラー等により、携帯端末100がアプリA109により当該外部サーバにアクセスできない状況である。また例えば、アプリA109においてプリンタの登録処理がまだ実行されていない状況である。
【0076】
S404で、CPU101は、利用可否判定を実行する。取得された共有情報202がアプリB110によって利用可能な情報であると判定された場合、CPU101は、S405に進む。一方、取得された共有情報202がアプリB110によって利用可能な情報でないと判定された場合、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
【0077】
S405では、CPU101は、アプリB110にプリンタが登録済みか否か(アプリB110によって通信する装置が設定されているか否か)を判定する。アプリB110にプリンタが登録済みでないと判定された場合、CPU101は、S410に進む。一方CPU101は、アプリB110でプリンタが登録済みであると判定された場合、S406に進む。
【0078】
S406では、CPU101は、共有情報202に対応するプリンタとアプリB110に登録済みのプリンタが同じプリンタであるか否かを判定する。本判定は言い換えれば、共有情報202と、アプリB110に登録されているプリンタの登録情報が同じか否かを判定する処理である。CPU101は、同じプリンタであると判定された場合、S407に進み、同じプリンタでないと判定された場合、S408に進む。なおアプリB110に、複数のプリンタが登録されている場合がある。その場合CPU101は、共有情報202に対応するプリンタが、複数のプリンタのうちいずれかと同じであれば、S407に進み、共有情報202に対応するプリンタが、複数のプリンタ全てと異なるのであれば、S408に進む。
【0079】
S407では、CPU101は、アプリ連携を実行するか否かを判定する。本判定において例えばCPU101は、新たに取得した共有情報202に含まれる更新日時の情報と、以前共有情報202をアプリ連携に利用したときの更新日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。また本判定において例えばCPU101は、新たに取得した共有情報202に含まれる更新日時の情報と、直近で行われたアプリB110に対するプリンタの登録の日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。CPU101は、アプリ連携を実行すると判定した場合、S410に進み、アプリ連携を実行しないと判定した場合、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
【0080】
なおS407が実行されることなく、S406―YESのケースにおいては必ずS410に進む形態であっても良い。
【0081】
S408では、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録するか(アプリ連携を実行するか)否かをユーザに選択させるためのダイアログを表示する。
【0082】
S409では、S408で表示したダイアログにおいて、アプリ連携を実行することがユーザによって選択されたか否かを判定する。アプリ連携を実行することがユーザによって選択された場合、CPU101は、S410に進む。アプリ連携を実行しないことがユーザによって選択された場合、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
【0083】
なおS408及びS409が実行されることなく、S407―NOのケースにおいては必ず、アプリA109に登録されているプリンタをアプリB110に登録する処理が実行されずに(アプリ連携が実行されずに)処理が終了される形態であっても良い。
【0084】
S410において、共有情報202を使用することで、アプリA109に登録されているプリンタをアプリB110に登録する。なお本実施形態では、アプリA109に登録されているプリンタがアプリB110に登録された場合でも、情報共有領域201から共有情報202が削除されない。
【0085】
図4では、アプリB110によって実行される処理を説明したが、アプリC111によっても、同様の処理が実行される。
【0086】
上述のような形態とすることにより、アプリB110もアプリC111も、起動タイミングにかかわらず、共有情報202を取得し、アプリA109とのアプリ連携を実行することが可能となる。
【0087】
アプリB110が起動されて、
図4に示す処理が実行された後は、アプリB110のホーム画面が表示される。アプリB110の起動時に共有情報202が情報共有領域201に保存されていたことにより、アプリ連携が実行された場合には、アプリ連携によりアプリB110に登録されたプリンタに関する情報が、ホーム画面に表示される。一方、アプリB110の起動時に共有情報202が情報共有領域201に保存されておらず、アプリ連携が実行されなかった場合には、プリンタの登録を促す領域がホーム画面に表示される。またホーム画面には、プリンタの登録を実行するための領域も含まれる。当該領域が操作された場合、アプリB110は、第1の登録方法による処理を開始する。具体的にはまず、アプリB110は、携帯端末100が属するWi-Fiネットワーク上において、アプリB110に対応するプリンタを検索する。そしてアプリB110は、検索によって発見されたプリンタを表示する。なおこのとき、携帯端末100が属するWi-Fiネットワーク上において、アプリB110に対応するプリンタが存在しない場合、アプリB110は、いずれのプリンタの情報も表示することができない。結果として、アプリ連携が実行できず、且つ第1の登録方法でプリンタが発見されなかった場合は、アプリB110によってプリンタを登録することができない。
【0088】
なおアプリB110が実行できるプリンタがなくとも、アプリB110は実行できないがアプリA109は実行できる登録方法によって発見可能なプリンタは存在する可能性がある。そのため、アプリ連携が実行できず、且つ第1の登録方法でプリンタが発見されなかった場合は、アプリA109によってプリンタを登録し、その後アプリ連携によってアプリB110にプリンタを登録することが望ましい。言い換えれば、アプリA109のインストールをユーザに促したり、アプリ連携によってプリンタを登録することを促したり、アプリB110は実行できない登録方法をユーザに通知したりすることが望ましい。
【0089】
上述の課題を鑑みて本実施形態では、アプリB110は、適切な通知処理を実行する。
【0090】
具体的には、アプリBは、第1の登録方法による検索によって発見されたプリンタを表示する画面(リスト画面)において、通知領域を表示する。当該通知領域は、アプリA109のインストールをユーザに促したり、アプリ連携によってプリンタを登録することを促したり、アプリB110は実行できない登録方法をユーザに通知したりするための領域である。通知領域801を含む画面800を、
図8に示す。
図8は、第1の登録方法による検索によってプリンタが発見された状態の画面を示しているが、第1の登録方法による検索によってプリンタが1つも発見されなかった場合も、当然通知領域801は表示される。本実施形態では、通知領域801は、リンクとして機能し、通知領域801が操作された場合に、アプリBは、Webブラウザを起動してマニュアルを表示する。当該マニュアルが表示された画面900を、
図9に示す。当該マニュアルに、アプリA109のインストールをユーザに促すメッセージや、アプリ連携によってプリンタを登録することを促すメッセージが含まれる。アプリ連携によってプリンタを登録することを促すメッセージとは具体的には例えば、アプリA109によってプリンタを登録した後、アプリB110を起動するよう促すメッセージである。また、アプリB110は実行できない登録方法をユーザに通知したり、当該登録方法の詳細を説明するためのメッセージが含まれる。
【0091】
なお、通知領域801が操作された場合に表示されるマニュアルは、Webブラウザでなく、アプリB110上で表示されても良い。また、通知領域801のようなリンクを介さず、アプリB110がマニュアルをリスト画面等において直接表示しても良い。またマニュアルには、ストアアプリを起動することで、アプリA109をインストールするための画面を表示するための領域が含まれても良い。
【0092】
このような形態とすることで、複数の登録方法のうち実行できない登録方法があるアプリにおけるユーザビリティを向上させることができる。
【0093】
(その他の実施形態)
上述した実施形態では、通知領域をリスト画面において表示していたが、この形態に限定されない。例えばアプリB110のホーム画面等、他の画面において通知領域が表示されても良い。
【0094】
上述した実施形態では、共有情報202が情報共有領域201に保存されているか否かにかかわらず、通知領域が表示されていたが、この形態に限定されない。アプリB110の起動時や、プリンタの登録を実行するための領域が操作された時に、共有情報202が情報共有領域201に保存されている場合には、通知領域が表示されない形態であっても良い。そして、アプリB110の起動時や、プリンタの登録を実行するための領域が操作された時に、共有情報202が情報共有領域201に保存されていないことに基づいて、通知領域が表示される形態であっても良い。すなわち例えば、S402の判定結果に基づいて、通知領域が表示されるか否かが制御されても良い。
【0095】
また、共有情報202が情報共有領域201に保存されていないケースとして、アプリA109がインストールされていないケースと、アプリA109がインストールされているが、アプリA109によって登録処理が実行されていないケースとがある。そこでS402等で、共有情報202が情報共有領域201に保存されていないと判定された場合にさらに、アプリA109がインストールされているか否かが判定されても良い。そして、アプリA109がインストールされていると判定された場合には、アプリA109によって登録処理を実行するようユーザを促すための通知処理が実行される形態であっても良い。また、アプリA109がインストールされていないと判定された場合には、アプリA109をインストールするようユーザを促すための通知処理が実行される形態であっても良い。
【0096】
また、S402の判定の代わりに、アプリA109がインストールされているか否かが判定されても良い。そして、アプリA109がインストールされていると判定された場合、通知領域が表示されず、アプリA109がインストールされていないと判定された場合、通知領域が表示されるよう制御されても良い。
【0097】
また、携帯端末100が、アプリA109をインストールできない環境にある場合がある。アプリA109をインストールできない環境とは例えば、インターネット通信が可能でない環境である。そのため、アプリA109をインストールするようユーザを促すための通知処理が実行される前に、アプリA109をインストールできない環境にあるか否かが判定されても良い。そして、アプリA109をインストールできない環境にあると判定された場合は、アプリB110が実行可能な登録方法をユーザに通知する処理が実行される形態であっても良い。また、アプリA109をインストールできる環境にあると判定された場合は、アプリA109をインストールするようユーザを促すための通知処理が実行される形態であっても良い。
【0098】
上述した実施形態では、アプリB110のダウンロードをストアアプリ108によって実行する形態を説明したが、この形態に限定されない。例えば、CPU101は、WebページからアプリB110をダウンロードしても良い。この場合、上述の形態において、ストアアプリ108を起動する処理は、Webページを表示するためのプログラムを起動する処理となる。Webページを表示するためのプログラムを起動する際も、対象アプリに関する情報を用いることで、対象アプリをダウンロードするためのWebページを直接表示することができる。また、CPU101は、ストアアプリ108によってアプリB110のダウンロードを行った後、アプリB110のインストールはインストーラーによって行われても良い。また、CPU101は、アプリB110のダウンロードやインストールを、パーソナルコンピュータから実施しても構わない。
【0099】
また、上述した実施形態では、CPU101は、アプリB110が単独起動した場合にも連携起動した場合にも、情報共有領域201を参照し、共有情報202を取得する形態を説明した。しかし、この形態に限定されず、例えば、アプリB110が連携起動した場合には、URLスキームに付加された情報を共有情報202として用いてアプリ連携しても良い。そのため、この場合、CPU101は、アプリB110に対する連携起動操作があった場合には、URLスキームへの情報の付加も行う。
【0100】
また、上述した実施形態では、アプリA109とアプリB110、アプリC111として印刷アプリを例に挙げており、共有情報202として登録情報を例に挙げているが、この形態に限定されない。すなわち、アプリA109とアプリB110は、互いに情報を共有できるアプリであればよく、その機能は限定されない。例えば、各アプリに登録される装置は、プリンタ以外の装置であっても良い。また、共有情報202の内容も限定されない。例えば、各アプリが、カメラを遠隔操作するためのアプリであり、各アプリにはカメラが登録される形態であっても良い。また例えば、各アプリが、スマートスピーカを制御するためのアプリであり、各アプリにはスマートスピーカが登録される形態であっても良い。また例えばアプリA109がカメラアプリであり、アプリB110がフォトアルバム作成アプリであっても良い。その場合、例えば、共有情報202は、フォトアルバムに配置可能な画像データ等であっても良い。また、その場合、アプリ連携における具体的な処理は、共有情報202(画像データ)をサムネイル化して表示する処理や、共有情報202を、アプリB110が参照可能な領域に格納する処理等となる。
【0101】
また、上述した実施形態では、アプリA109やアプリB110、アプリC111の間の連携について説明したが、アプリA109がハンドリングする共有情報202をアプリB110や、アプリC111だけでなく、他のアプリで利用することもできる。すなわち、他のアプリにおいてもアプリB110やアプリC111を起動した時と同様の処理を実行することにより、複数のアプリでアプリA109がハンドリングする共有情報202を利用することができる。
【0102】
また、上述した実施形態では、登録方法に応じて、情報共有領域201に登録情報を保存するか否かを制御する形態について説明したが、この形態に限定されない。例えば、いずれの登録方法であっても、情報共有領域201に登録情報を保存するが、登録方法に応じて、アプリB110やアプリC111によって登録情報の取得を行うか否かを制御する形態であっても良い。この形態では例えば、アプリA109は、登録情報とともに、登録情報の取得に用いた登録方法や、通信経路、通信方式に関する情報を情報共有領域201に保存する。そして、アプリB110やアプリC111は、登録情報を取得する前に、登録情報の取得に用いた登録方法や、通信経路、通信方式に関する情報を取得し、当該情報によって特定される事柄に基づいて、登録情報を取得するか否かを判定する。上述の実施形態において情報共有領域201に登録情報を保存する場合の登録方法(例えば第2の登録方法)で登録情報の取得が行われていたことが特定された場合は、アプリB110やアプリC111は、登録情報を取得しアプリ連携を実行する。一方、上述の実施形態において情報共有領域201に登録情報を保存しない場合の登録方法(例えば第3の登録方法)で登録情報の取得が行われていたことが特定された場合は、アプリB110やアプリC111は、登録情報を取得せずアプリ連携を実行しない。このような形態によっても、アプリ連携を適切実行することができる。
【0103】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に共有し、そのシステムあるいは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
【符号の説明】
【0104】
100 携帯端末
101 CPU