JP7455613B2 - 情報処理装置、その制御方法、並びにプログラム - Google Patents

情報処理装置、その制御方法、並びにプログラム Download PDF

Info

Publication number
JP7455613B2
JP7455613B2 JP2020033879A JP2020033879A JP7455613B2 JP 7455613 B2 JP7455613 B2 JP 7455613B2 JP 2020033879 A JP2020033879 A JP 2020033879A JP 2020033879 A JP2020033879 A JP 2020033879A JP 7455613 B2 JP7455613 B2 JP 7455613B2
Authority
JP
Japan
Prior art keywords
program
information
application
predetermined
predetermined information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020033879A
Other languages
English (en)
Other versions
JP2021136670A (ja
Inventor
遼也 川合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020033879A priority Critical patent/JP7455613B2/ja
Priority to US17/185,753 priority patent/US11528762B2/en
Publication of JP2021136670A publication Critical patent/JP2021136670A/ja
Priority to JP2024034863A priority patent/JP2024056049A/ja
Application granted granted Critical
Publication of JP7455613B2 publication Critical patent/JP7455613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、情報処理装置、その制御方法、並びにプログラムに関する。
携帯端末やスマートフォン等の情報処理装置が知られている。上記のような情報処理装置では、情報処理装置にインストールされているアプリケーション等のプログラムが、各プログラム間で連携して動作するプログラム連携という技術が一般に使用されている。具体的には、プログラム連携は、例えば、所定のプログラムにおいて取得された情報に基づく処理を、当該所定のプログラムとは異なるプログラムにおいて実行可能とする技術である。
特許文献1には、第1のアプリケーション(以下、アプリという。)が情報共有領域に第1のアプリと第2のアプリで共有したい情報を保存し、第2のアプリケーションは情報共有領域から共有情報を取得することで、第1のアプリと第2のアプリで情報を共有する技術が記載されている。
特開2017-219961号公報
ところで、プログラム連携が普及するにあたり、プログラム連携をより適切に実行することが求められている。
本発明は、上述の課題を鑑みてなされたものであり、プログラム連携をより適切に実行することを目的とする。
上述の課題を解決するために、本発明の制御方法は、情報処理装置の制御方法であって、第1のプログラムによって、通信装置に関する所定の情報を取得する取得ステップと、前記第1のプログラムによって取得された前記所定の情報に基づく処理を、前記第1のプログラムと異なる第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行する実行ステップと、を有し、前記第1のプログラムによって第1の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行されるよう制御され、前記第1のプログラムによって、前記第1の方法と異なる第2の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたとしても、前記第2のプログラムによって実行されないように制御され、前記第2のプログラムによって実行される、前記第1のプログラムによって取得された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記第2のプログラムによって通信する装置として前記第2のプログラムに登録する処理であることを特徴とする。
本発明によれば、プログラム連携をより適切に実行することができる。
携帯端末100の構成を示す図である。 アプリB110を連携起動するユースケースを示す図である。 携帯端末100が、アプリA109を用いて実行する処理を示すフローチャートである。 携帯端末100が、アプリB110を用いて実行する処理の流れを示すフローチャートである。 ストアアプリ108によって表示される画面の一例である。 アプリA109が表示する画面の一例である。 携帯端末100が、アプリB110を用いて実行する処理を示すフローチャートである。
以下、本発明に係る情報処理装置について図面を参照して詳細に説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(第1実施形態)
本発明を適用する情報処理装置について説明する。本実施形態では、情報処理装置として携帯端末を例示しているが、これに限定されない。例えば、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ、音楽再生デバイス、テレビ等、プログラムをインストール可能な種々の装置を情報処理装置として適用可能である。また、本実施形態では、携帯端末の一例としてスマートフォンを例示している。スマートフォンとは、携帯電話機能のほかにカメラ機能やインターネットブラウザ機能、メール機能などを搭載した多機能型の携帯電話のことである。
図1は、本実施形態の情報処理装置である携帯端末100の構成を示す図である。図1(a)は、携帯端末100のハードウェア構成を示し、図1(b)は、携帯端末100のソフトウェア構成を示す。
携帯端末100は、CPU101、操作部102、ネットワークインタフェース103、メモリ104、表示部105、記憶装置106を備え、それぞれがシステムバスを介して接続されている。
CPU101は、携帯端末100の全体制御を行う。操作部102は、携帯端末100にユーザが指示を与えるための操作部であり、例えば、ボタンやタッチパネル等を有する。
メモリ104は、CPU101の作業領域としてのランダムアクセスメモリ(RAM)であり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶したりする。
記憶装置106は、例えば、フラッシュメモリ等であり、アプリケーション、オペレーティングシステム(以下、OSという。)等の各種制御プログラムを格納する。
ネットワークインターフェイス103は、ネットワークと接続するためのインターフェイスである。携帯端末100は、ネットワークフェイス103を介してネットワークに接続可能であり、ネットワークを介してプリンタなどの外部機器やインターネットと接続可能に構成されている。本実施形態では、ネットワークインターフェイス103は、IEE802.11シリーズに準拠した通信(Wi―Fi(登録商標)による通信)を実行可能である。なおこの通信に限定されず、Bluetooth(登録商標)等、他の方式による通信がネットワークインターフェイス103により実行されても良い。また携帯端末100は、複数のネットワークインターフェイスを有していても良い。例えば携帯端末100は、ネットワークインターフェイス103のほかに、Bluetooth(登録商標) Low Enegry(BLE)による通信を実行可能なネットワークインターフェイスを有していても良い。また例えば、携帯端末100は、Near Field Communication(NFC)による通信を実行可能なネットワークインターフェイスを有していても良い。
表示部105は、各種情報を表示するユニットであり、液晶パネル等からなる。操作部102は、ユーザから操作を受け付けるためのユニットである。なお、本実施形態では、操作部102と表示部105は同一の構成であり、1つの構成で、ユーザによる操作の受け付け及び各種情報の表示どちらも行うことができるような形態であるものとする。すなわち、操作部102と表示部105はタッチディスプレイで構成されるものとする。ユーザは、タッチディスプレイを指等でなぞる、タップする等することで、携帯端末100に各種指示を行い、携帯端末100を操作することができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどの静電式タッチパネル用ペンでタッチディスプレイを操作することによっても、携帯端末100に対して各種指示を与えることができる。なお、操作部102と表示部105は同一の構成でなくとも良く、例えば、操作部102は、物理キーを備える物理キーボード等であっても良い。
図1(b)に示すように、本実施形態において携帯端末100は、OS107、ストアアプリケーションプログラム108と、3つ以上のアプリケーションプログラムを利用可能である。なお携帯端末100は、3つ以上のアプリケーションプログラムとして、アプリケーションプログラムA109、アプリケーションプログラムB110、アプリケーションプログラムC111を利用可能である。以下、アプリケーションプログラムを、アプリという。なお以下の説明においてアプリが実行する処理は、実際には、CPU101がアプリをメモリ104に読み出して実行することによって実現される。
ストアアプリ108は、アプリA109やアプリB110、アプリC111等の他のアプリを携帯端末100にダウンロード及びインストールするためのアプリである。ユーザは、ストアアプリ108で所望のアプリを選択し、ダウンロードのための所定の操作(ダウンロードボタンのタップ、パスワード認証等)を行うことで、携帯端末100に、選択したアプリのダウンロード及びインストールをすることができる。また、ユーザは、ストアアプリ108によって表示される画面に所定の操作(「開く」ボタンのタップ等)を行うことで、携帯端末100にインストール済みのアプリを、ストアアプリ108を介して起動することもできる。図5は、ストアアプリ108によって表示される画面の一例を示す図である。図5は、アプリB110が携帯端末100に既にインストールされている状態における、アプリB110を起動するための画面である。上述したように、「開く」ボタンがタップされることで、アプリB110が起動される。アプリC111についてもアプリB110と同様に、ストアアプリ108からダウンロードやインストール、起動が可能である。
アプリA109や、アプリB110、アプリC111は、ストアアプリ108によって、ネットワーク等を介して携帯端末100にダウンロードされるアプリである。なお、アプリA109や、アプリB110、アプリC111は、ストアアプリ108を介してダウンロードされるのではなく、例えば、各アプリが格納された記憶媒体等からダウンロードされても良い。また例えば、Webブラウザ等を介してダウンロードされても良い。ダウンロードされたアプリは、携帯端末100にインストールされ、携帯端末100において利用可能となる。また、アプリA109は、着荷時に携帯端末100に予め保持されていても良い。なお、本実施形態においては、アプリA109や、アプリB110、アプリC111は、印刷機能を有するプリンタに印刷ジョブを送信し、送信した印刷ジョブに基づいた印刷を実行させるためのアプリであるものとする。なお、アプリA109や、アプリB110、アプリC111は、プリンタに印刷を実行させる機能だけでなく、他の機能を備えていても良い。例えば、プリンタにスキャンジョブを送信し、送信したスキャンジョブに基づいたスキャンを実行させる機能を有していても良い。
ストアアプリ108や、アプリA109、アプリB110、アプリC111は、OS107を介して動作する。これらのソフトウェアは、記憶装置106に格納されており、メモリ104に展開されてCPU101によって実行される。
本実施形態では、アプリA109とアプリB110及びアプリA109とアプリC111は、連携して動作する。具体的には、アプリA109によって用いられる情報を利用してアプリB110が動作する。また、アプリA109によって用いられる情報を利用してアプリC111が動作する。以下、各プログラムが連携して動作することをプログラム連携といい、特に、各アプリが連携して動作することをアプリ連携という。なお具体的には、アプリ連携は、例えば、アプリA109において利用される情報(後述の共有情報)に基づく処理を、アプリA109から起動可能である他のプログラム(例えばアプリB110)において実行可能とする技術である。
本実施形態では、アプリの起動方法として、単独起動と連携起動とがある。単独起動とは、あるアプリが、例えばOSが表示するホーム画面におけるアプリアイコンがタップされたことによって起動されたり、ストアアプリ108が表示する画面に対する操作によって起動されたりすることをいう。本実施形態では、ストアアプリ108と、アプリA109、アプリB110、アプリC111のいずれもが、単独起動することが可能である。連携起動とは、あるアプリが、当該アプリが利用する情報(後述の共有情報)の共有元となる他のアプリが表示する画面に対する操作から起動されることをいう。本実施形態では、少なくともアプリB110とアプリC111は、アプリA109が表示する画面に対する操作から連携起動されることが可能である。アプリB110やとアプリC111が連携起動された場合、連携起動の元となったアプリ(アプリA109)の情報が通知される。そのため、CPU101は、アプリB110やとアプリC111の起動方法が連携起動であるのか単独起動であるのかを把握することができる。
図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に対する操作を受け付けないようにしても良い。
なお、アプリA109は、携帯端末100によって撮影された画像データや、携帯端末100によってダウンロードされた画像データのうち、ユーザによって選択された画像データに基づく印刷をプリンタに実行させるためのアプリである。一方アプリB110は例えば、アプリB110が予め保持している画像データに基づく印刷をプリンタに実行させるためのアプリである。またアプリB110は例えば、アプリB110が、アプリB110に対応する外部サーバからネットワークを介して取得される画像データに基づく印刷をプリンタに実行させるためのアプリである。またアプリB110は例えば、ディスクメディア印刷用アプリや、年賀状の印刷をプリンタに実行させるためのアプリであっても良い。アプリC111も、アプリB110の例と同様に、種々の機能を有するアプリであって良い。
上述したように本実施形態では、アプリA109とアプリB110、アプリC111は、携帯端末100が通信可能なプリンタに画像を印刷させる印刷機能を有する。アプリA109とアプリB110、アプリC111は、携帯端末100の周囲のプリンタを検索し、検索した装置のうち、印刷を実行させる装置を登録することで、印刷機能を実行できる。なお、アプリに対して装置を登録する処理(登録処理)とは、言い換えれば、登録対象の装置を当該アプリによって通信する装置として設定・登録する処理(設定処理)である。この形態では、例えば、アプリA109において登録されたプリンタに関する情報(以降、登録情報という。)を、共有情報202として適用可能である。登録情報とは、具体的には、例えば、MACアドレスやBonjour名、IPアドレス、及びプリンタのモデル名等の機種情報や利用可能な設定値等の能力情報、登録日時に関する情報等である。なお登録日時は、例えば、登録情報が取得された日時である。アプリA109にプリンタが登録された場合、アプリA109が表示する画面において、アイコン601が表示され、アプリA109に登録されたプリンタがどのようなプリンタであるかがユーザに提示される。そのためアイコン601には、アプリA109に登録されたプリンタの名前や型番、アプリA109に登録されたプリンタが保持しているインクの状態、アプリA109に登録されたプリンタのエラー状態等を示す情報が含まれていて良い。
そして、CPU101は、例えば、プリンタがアプリA109において登録されたことに応じて、プリンタの登録情報を共有情報202として情報共有領域201に保存する。これにより、CPU101はアプリB110の起動時における共有情報202に基づく処理として、アプリA109において登録されたプリンタをアプリB110に登録する処理をアプリB110によって実行することができる。このような形態にすることで、CPU101は、例えば、プリンタを検索する処理をアプリB110によって実行することなく、アプリB110にプリンタを登録することができる。なお、情報共有領域201に、プリンタを登録するために必要な情報の全てが収まらない場合は、プリンタを登録するために必要な情報のうち少なくとも一部を共有情報202として適用しても良い。このような形態でも、例えば、プリンタを検索する処理にかかる時間を抑制する等の効果を奏することができる。なお上述のような、共有情報202を用いたプリンタの登録は、アプリC111においても実行可能である。
なお、プリンタの登録方法として、複数の方法が用意されていても良い。なお登録方法とは言い換えれば、プリンタの登録情報の取得方法である。アプリ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に保存する。
なお、携帯端末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規格による通信を実行できないものとする。
アプリA109が実行可能な第2の登録方法について説明する。アプリA109は、携帯端末100の周囲に存在しており、且つ所定のアクセスポイントを有効化しているプリンタをWi-Fiによって検索する。なおプリンタは、Wi-Fiセットアップを行うための所定の操作をユーザから受け付けた場合や、開梱後の初期セットアップが行われる場合に、所定のアクセスポイントを有効化する。そしてアプリA109は、この検索により見つかったプリンタのうち、ユーザによって選択されたプリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。なおこのとき、アプリA109は、検索において1つのプリンタしか発見しなかった場合、ユーザに対して問い合わせをすることなく自動でプリンタとP2P接続してよい。そしてアプリA109は、携帯端末100とWi-Fiによって無線接続しているプリンタのWi-Fiセットアップを行う。
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に保存する。
またWi-FiセットアップとしてアプリA109は、例えば、所定のアクセスポイントと異なり、且つプリンタ内で有効化される他のアクセスポイント(プリンタの内部アクセスポイント)と接続するための接続情報を、プリンタから受信する。プリンタは、アプリA109に当該接続情報を送信した後は、当該他のアクセスポイントを有効化する。そしてアプリA109は、受信した接続情報を用いて、当該他のアクセスポイントを有効化しているプリンタと携帯端末100とを、Wi-Fiによって無線LANルータを介さずに無線接続(P2P接続)させる。そしてアプリA109は、プリンタから、登録情報を、P2P接続を介して取得することで、プリンタをアプリA109に登録する。このP2P接続は、アプリA109によっては切断されずに維持される。そのためこれによりアプリA109は、当該P2P接続を介してプリンタに印刷ジョブを送信可能となる。そして本実施形態では、このようにしてプリンタが登録されたことに基づいて、アプリA109は、プリンタの登録情報を、共有情報202として情報共有領域201に保存する。
なお上述では、携帯端末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セットアップを実行する機能の両方を有していても良い。
アプリ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以外のアプリによっては、当該プリンタを簡便に利用することができないためである。
アプリ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規格による通信を実行できないためである。
アプリ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等によって実行されても良い。
上述したように、本実施形態では、プリンタがアプリA109に登録された場合、登録方法に応じて、プリンタの登録情報が共有情報202として保存されたりされなかったりする。このような形態とすることで、アプリ連携において利用されるべき適切なプリンタの登録情報のみが、共有情報202として他のアプリに利用されるようにすることができる。
なお上述では、プリンタがアプリA109に登録されたとしても、プリンタの登録情報が共有情報202として保存されないパターンを説明したが、これらのパターンのなかで、プリンタの登録情報が共有情報202として保存されるパターンが含まれていても良い。言い換えれば、上述したパターンのうち少なくとも1つのパターンにおいて、プリンタの登録情報が、共有情報202として情報共有領域201に保存されなければ良い。そのため例えば、第3の登録方法や第4の登録方法によってプリンタが登録されたことに基づいて、プリンタの登録情報が、共有情報202として情報共有領域201に保存されても良い。
また本実施形態では、共有情報202が既に情報共有領域201に保存されている状態で、アプリA109に新たにプリンタが登録される度に、共有情報202が更新されるものとする。もちろん、共有情報202が保存されないパターンであれば、共有情報202は更新されない。また既に登録されているプリンタと同じプリンタが新たに登録された場合も、共有情報202は更新されなくとも良い。
また、複数のプリンタに対して登録処理が行われることで、1つのアプリに対して、複数のプリンタが登録されても良い。その場合、アプリA109は、登録されている複数のプリンタのうち、選択装置として選択されているプリンタに対して印刷ジョブを送信することとなる。なお、ユーザは、アプリA109が表示する画面において、登録されている複数のプリンタのなかから選択装置を適宜選択・変更可能である。また、既にあるプリンタが選択装置として選択されている状態で、新たに別のプリンタが登録された場合は、登録方法に関らず、新たに登録されたプリンタが選択装置として選択される。なお図6の画面においては、選択装置として選択されているプリンタに対応するアイコン601が表示され、選択装置として選択されていない登録済みプリンタに対応するアイコン601は表示されない。
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に関する登録情報のまま維持される。
また、本実施形態では、アプリA109は、複数の登録方法それぞれによる登録が可能であるのに対して、アプリB110やアプリC111においては、第1の登録方法による登録のみ可能であるものとする。すなわち、アプリA109は、アプリB110やアプリC111と比べて、より高性能な登録機能を有しているものとする。なおアプリB110やアプリC111においても第1の登録方法以外の登録方法による登録が可能であっても良い。
上述のようにして保存された共有情報202は、共有情報202を保存したアプリA109以外のアプリ(例えばアプリB110)が起動された際に、当該アプリによって取得される。そして、当該アプリによって共有情報202が使用されることでアプリA109とアプリA109以外のアプリとの間で、情報を共有することが可能である。また、アプリB110やアプリC111が実行できる登録方法によっては登録できないプリンタも、アプリB110やアプリC111に対して登録することが可能となる。
ところで例えば、アプリB110が共有情報202を取得した後、アプリB110が情報共有領域201から共有情報202を削除する形態であるとする。その形態では、例えば、アプリB110が共有情報202を取得した後、アプリA109からアプリC111が連携起動した場合は、アプリC111は共有情報202を取得できないことがある。そこで本実施形態では、アプリB110が共有情報202を取得した後、アプリA109からアプリC111が連携起動した場合であっても、アプリC111が共有情報202を取得可能な形態について説明する。
図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の動作どちらにおいても利用可能な情報を格納できるような形態であれば、その形態には制限はない。
続いて、CPU101は、アイコン609に対する操作の受け付け等により、アプリB110を連携起動することを特定すると、CPU101は、アプリB110を連携起動する。そしてCPU101は、アプリB110を連携起動すると、アプリB110によって、情報共有領域201を参照して共有情報202を取得する。そしてCPU101は、取得された共有情報202がアプリB110によって利用可能な情報かどうか(共有情報202がアプリB110に対応した情報かどうか)を判定する。以下、本判定を、利用可否判定という。CPU101は、共有情報202がアプリB110によって利用可能な情報であると判定した場合、共有情報202に基づく処理を実行する。また、共有情報202がアプリB110によって利用可能な情報でないと判定した場合、CPU101は、共有情報202に基づく処理は実行しない。
なお利用可否判定は取得した共有情報202に含まれる情報を用いて実行される。例えば、共有情報202にプリンタのモデル名が含まれているものとする。その場合利用可否判定として、CPU101は、アプリB110に対応しているプリンタのモデル名リストに、共有情報202に含まれるモデル名が含まれるか否かを判定する。CPU101は、モデル名リストに、共有情報202に含まれるモデル名が含まれる場合、取得された共有情報202がアプリB110によって利用可能な情報であると判定する。そして、モデル名リストに、共有情報202に含まれるモデル名が含まれない場合、取得された共有情報202がアプリB110によって利用可能な情報でないと判定する。ここで、モデル名リストは必ずしもアプリB110が保持している必要はなく、ネットワークサーバー上の領域やSDカードやHDDのような外部記憶媒体に含まれていても良い。
また例えば、共有情報202に、共有情報202に対応しているアプリ名リストが含まれているものとする。その場合利用可否判定として、CPU101は、共有情報202に対応しているアプリ名リストに、アプリB110が含まれるか否かを判定する。CPU101は、アプリ名リストに、アプリB110が含まれる場合、取得された共有情報202がアプリB110によって利用可能な情報であると判定する。そして、アプリ名リストに、アプリB110が含まれない場合、取得された共有情報202がアプリB110によって利用可能な情報でないと判定する。
次に図2(b)を用いて、アプリA109及びアプリB110が既に携帯端末100にインストールされている状態でアプリA109を介さずアプリB110を単独起動する場合の、CPU101の挙動を説明する。
図2(a)と同様に、CPU101は、例えば、プリンタの登録処理等によりプリンタの登録情報が生成されたことを特定すると、生成された登録情報を共有情報202として情報共有領域201に保存する。そして、本実施形態では、CPU101は、アプリB110が単独起動された場合にも、情報共有領域201を参照する。そして共有情報202が情報共有領域201に保存されている場合は、共有情報202を取得する。そしてCPU101は、利用可否判定を実行する。CPU101は、共有情報202がアプリB110によって利用可能な情報であると判定した場合、共有情報202に基づく処理を実行する。また、共有情報202がアプリB110によって利用可能な情報でないと判定した場合、CPU101は、共有情報202に基づく処理は実行しない。
このように、本実施形態では、アプリA109は、プリンタが登録された(プリンタの登録情報が生成された)タイミングで共有情報202を情報共有領域201に保存する。そしてアプリB110は、共有情報202を、連携軌道か単独起動かにかかわらず取得し、共有情報202を取得した時に、取得した共有情報202が利用可能かどうか判定する。このような形態とすることで、CPU101は、アプリB110が単独起動された場合にも、連携起動された場合にも、適切にアプリA109とアプリB110との間のアプリ連携を実行できる。
次に図2(c)を用いて、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合の、CPU101の挙動を説明する。
図2(a)と同様に、CPU101は、例えば、プリンタの登録処理等によりプリンタの登録情報が生成されたことを特定すると、生成された登録情報を共有情報202として情報共有領域201に保存する。
アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われても、アプリB110が携帯端末100にインストールされていない場合、CPU101は、当然、アプリB110を起動することができない。また、アプリB110を携帯端末100にインストールするためには、一般にストアアプリ108を用いる必要がある。そのため、CPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合は、以下の処理を実行する。
まず、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が単独起動した場合の処理を実行する。
このようにCPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合、ストアアプリ108によりアプリB110をダウンロードする。本実施形態では、図2(b)に示したように、単独起動時にも情報共有領域201を参照し、共有情報202がアプリB110で利用可能かどうか判断する。そのため、ストアアプリ108を経由したことによりアプリB110が単独起動となった場合でも、アプリA109のプリンタ登録情報を共有情報202として適切にアプリB110と連携させることができる。
なお、上述では、アプリB110が連携起動した場合にも単独起動した場合にも必ず情報共有領域201を参照する例を示したが、この形態に限定されない。例えば、本実施形態では、アプリA109及びアプリB110は、それぞれ別々にプリンタを登録することも可能である。そのためユーザは、あえてアプリA109及びアプリB110においてそれぞれ別のプリンタを登録している場合がある。このような場合にアプリA109とアプリB110を連携させ、アプリA109に登録されているプリンタをアプリB110に登録すると、アプリB110にユーザが意図しないプリンタが上書きで登録されてしまうおそれがある。また、アプリA109とアプリB110に同じプリンタが既に登録されていることもある。このような場合に、再度アプリA109に登録されているプリンタをアプリB110に登録すると、アプリBは起動されるたびに共有情報202に基づく処理を実行することになり、起動時の処理の負荷が高くなってしまうおそれがある。
そのため、CPU101は、アプリB110を起動した場合には、アプリB110に既にプリンタが登録されているか否かを判定し、アプリB110に既にプリンタが登録されている場合、アプリ連携を実行しない。すなわち、アプリB110に登録済みのプリンタを変更しない。
なお、アプリB110に既にプリンタが登録されている場合でも、現在保存されている共有情報202が以前アプリ連携に利用された共有情報202から更新・変更されている場合、再度アプリ連携を実行しても良い。例えば、共有情報202には、当該共有情報202の更新日時の情報が含まれるとする。そして、アプリB110は、以前共有情報202をアプリ連携に利用したときの更新日時の情報を保存しておくとする。アプリB110は、新たに取得した共有情報202に含まれる更新日時の情報と、以前共有情報202をアプリ連携に利用したときの更新日時の情報とを比較することで、新たに取得した共有情報202を用いたアプリ連携を実行するか否かを判定する。なおこのとき、新たに取得した共有情報202に含まれる更新日時情報の比較対象は、他の情報であっても良い。例えば、直近で行われたアプリB110に対するプリンタの登録の日時の情報であっても良い。
また、アプリB110に既に登録されているプリンタが、共有情報202によって登録されるプリンタと異なっている場合、アプリ連携を実行するか否かをユーザに選択させるためのダイアログを表示しても良い。具体的には例えば、アプリB110でプリンタが登録済みでない場合、CPU101は、共有情報202がアプリB110によって利用可能な情報であると利用可否判定により判定された後に、アプリA109に登録されているプリンタをアプリB110に登録する。上述したように、アプリA109に登録されているプリンタをアプリB110に登録する処理とはすなわち、アプリ連携である。これは、アプリB110にプリンタが登録済みでなければ、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまう問題が生じないためである。一方、アプリB110でプリンタが登録済みである場合、CPU101は、共有情報202がアプリB110によって利用可能な情報であると利用可否判定により判定された後に、アプリ連携を実行するか否かをユーザに選択させるためのダイアログを表示する。当該ダイアログは、言い換えれば、共有情報202を利用するか否かや、アプリA109に登録されているプリンタをアプリB110に登録するか否かをユーザに選択させるためのダイアログである。CPU101は、アプリ連携を実行することを示す入力がユーザによって選択された場合、アプリ連携を実行する。またCPU101は、アプリ連携を実行しないことを示す入力がユーザによって選択された場合、アプリ連携を実行しない。すなわち、アプリB110に登録済みのプリンタを変更しない。これにより、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまうことを抑制できる。なお、ダイアログが表示され、且つアプリ連携を実行することを示す入力がユーザによって選択された後に、利用可否判定が実行されても良い。
なお、共有情報202は、アプリB110によって取得されたとしても、情報共有領域201から削除されない。すなわち、共有情報202は、アプリB110によって取得された後にも、アプリB110とは異なるアプリ(例えばアプリC111)によるアプリ連携において利用されることが可能である。このような形態とすることで、アプリB110が共有情報202を取得してアプリ連携を実行した後、アプリA109において共有情報202の更新が行われることなく、アプリC111が起動した場合にも、アプリC111もアプリ連携を実行できる。このような形態とすることで、複数のアプリがアプリ連携を実行できる形態における利便性が向上する。なお、共有情報202は、例えば、アプリA109が携帯端末100から削除(アンインストール)されること等に応じて削除される。
図3は、携帯端末100が、アプリA109を用いて実行する処理を示すフローチャートである。なお、本フローチャートが示す処理は、例えば、CPU101が、記憶装置106等に格納されたアプリA109に対応するプログラムをメモリ104に読み出して実行することにより実現される。また、本フローチャートが示す処理は、アプリA109の機能を実行するための画面が、アプリA109によって表示部105に表示されている状態で開始されるものとする。
まず、S301では、CPU101は、アプリA109において、プリンタの登録処理を実行する。上述したように、このとき実行される登録処理において用いられる登録方法としては、第1~第5の登録方法がある。
続いて、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に進む。
S303では、CPU101は、S301で取得されたプリンタの登録情報を共有情報202として情報共有領域201に保存する。
S304では、CPU101は、アプリB110の連携起動操作を受け付ける。具体的には、例えば、CPU101は、アイコン609への操作をユーザから受け付ける。
なお、S304は、必ずしもS303やS302に対して連続して実行される必要はない。例えば、S302で共有情報202が保存された後、アイコン602が操作され、アプリA109で印刷ジョブの送信等が実行されてから、S303の処理が実行されても良い。また例えば、一度アプリA109の起動が終了され、その後アプリA109が再度起動されたあとに、S303の処理が実行されても良い。
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に示す処理を実行する。
上述のような形態とすることで、プリンタの登録情報を共有情報として保存するか否かを、プリンタの登録方法に応じて適切に制御することができる。言い換えれば、アプリA109が取得した情報を他のアプリにおいても取得・利用させる(アプリ連携を実行させる)か否かを、アプリA109が保持している情報の取得方法に応じて適切に制御することができる。
図4は、携帯端末100が、アプリB110を用いて実行する処理を示すフローチャートである。なお、本フローチャートは、例えば、CPU101が、記憶装置106等に格納されたアプリB110に対応するプログラムをメモリ104に読み出して実行することにより実現される。
まず、S401では、CPU101は、アプリB110を起動する。なお、S401の処理は、例えば、アプリA109を介したアプリB110の連携起動操作の受け付けや、ストアアプリ108を介したアプリB110の起動指示の受け付け、ホーム画面を介したアプリB110の起動指示の受け付け等をトリガーに実行される。
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においてプリンタの登録処理がまだ実行されていない状況である。
S404で、CPU101は、利用可否判定を実行する。取得された共有情報202がアプリB110によって利用可能な情報であると判定された場合、CPU101は、S405に進む。一方、取得された共有情報202がアプリB110によって利用可能な情報でないと判定された場合、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
S405では、CPU101は、アプリB110にプリンタが登録済みか否か(アプリB110によって通信する装置が設定されているか否か)を判定する。アプリB110にプリンタが登録済みでないと判定された場合、CPU101は、S410に進む。一方CPU101は、アプリB110でプリンタが登録済みであると判定された場合、S406に進む。
S406では、CPU101は、共有情報202に対応するプリンタとアプリB110に登録済みのプリンタが同じプリンタであるか否かを判定する。本判定は言い換えれば、共有情報202と、アプリB110に登録されているプリンタの登録情報が同じか否かを判定する処理である。CPU101は、同じプリンタであると判定された場合、S407に進み、同じプリンタでないと判定された場合、S408に進む。なおアプリB110に、複数のプリンタが登録されている場合がある。その場合CPU101は、共有情報202に対応するプリンタが、複数のプリンタのうちいずれかと同じであれば、S407に進み、共有情報202に対応するプリンタが、複数のプリンタ全てと異なるのであれば、S408に進む。
S407では、CPU101は、アプリ連携を実行するか否かを判定する。本判定において例えばCPU101は、新たに取得した共有情報202に含まれる更新日時の情報と、以前共有情報202をアプリ連携に利用したときの更新日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。また本判定において例えばCPU101は、新たに取得した共有情報202に含まれる更新日時の情報と、直近で行われたアプリB110に対するプリンタの登録の日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。CPU101は、アプリ連携を実行すると判定した場合、S410に進み、アプリ連携を実行しないと判定した場合、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
なおS407が実行されることなく、S406―YESのケースにおいては必ずS410に進む形態であっても良い。
S408では、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録するか(アプリ連携を実行するか)否かをユーザに選択させるためのダイアログを表示する。
S409では、S408で表示したダイアログにおいて、アプリ連携を実行することがユーザによって選択されたか否かを判定する。アプリ連携を実行することがユーザによって選択された場合、CPU101は、S410に進む。アプリ連携を実行しないことがユーザによって選択された場合、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
なおS408及びS409が実行されることなく、S407―NOのケースにおいては必ず、アプリA109に登録されているプリンタをアプリB110に登録する処理が実行されずに(アプリ連携が実行されずに)処理が終了される形態であっても良い。
S410において、共有情報202を使用することで、アプリA109に登録されているプリンタをアプリB110に登録する。なお本実施形態では、アプリA109に登録されているプリンタがアプリB110に登録された場合でも、情報共有領域201から共有情報202が削除されない。
図4では、アプリB110によって実行される処理を説明したが、アプリC111によっても、同様の処理が実行される。
上述のような形態とすることにより、アプリB110もアプリC111も、起動タイミングにかかわらず、共有情報202を取得し、アプリA109とのアプリ連携を実行することが可能となる。
またアプリB110が単独起動するケースにおいても、アプリA109と同一のプリンタがアプリB110でも利用される可能性が高いので、アプリ連携が実行されることが望ましい。本実施形態では、CPU101は、アプリB110が連携起動か単独起動によらず、図4に示した処理を実行するため、共有情報202を適切に利用することができる。
(第2実施形態)
アプリA109に複数のプリンタが登録されていて、複数の登録情報が共有情報202として情報共有領域201に保存される形態について説明する。なお本実施形態における各装置の形態は、特記しない限り、第1実施形態と同様であるものとする。
図7は、携帯端末100が、アプリB110を用いて実行する処理を示すフローチャートである。なお、本フローチャートは、例えば、CPU101が、記憶装置106等に格納されたアプリB110に対応するプログラムをメモリ104に読み出して実行することにより実現される。
まず、S701では、CPU101は、アプリB110を起動する。本処理は、S401と同様である。
S702では、CPU101は、情報共有領域201に共有情報202が存在するか否かを判定する。本処理は、S401と同様である。CPU101は、情報共有領域201に共有情報202が存在すると判定した場合は、S703に進み、共有情報202を取得する。一方、CPU101は、情報共有領域201に共有情報202が存在しないと判定した場合は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
S704で、CPU101は、共有情報202に含まれる登録情報のリストの中から、アプリB110で利用可能なプリンタの登録情報を抽出する。なお本抽出は、リストに含まれる各登録情報に対して、第1実施形態で説明したような利用可否判定が実行されることで行われる。
S705で、CPU101は、S704で抽出された登録情報があるか否かを判定する。CPU101は、S704で抽出された登録情報があると判定した場合は、S706に進む。一方CPU101は、S704で抽出された登録情報がないと判定した場合は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
S706で、CPU101は、抽出した登録情報それぞれの更新日時の情報を取得する。そしてS707で、CPU101は、更新日時の情報が最新の登録情報を特定する。ここで特定された登録情報に対応するプリンタが、アプリB110に登録されるプリンタの候補となる。
なおS706における登録情報の特定方法は、上述の形態に限定されない。例えば、共有情報202に含まれる登録情報のリストから一番最初に抽出された登録情報が特定されても良い。また例えば、共有情報202に含まれる登録情報のリストを表示し、当該リストからいずれかをユーザに選択させることで、ユーザによって選択された登録情報が特定されても良い。
S708では、CPU101は、アプリB110にプリンタが登録済みか否か(アプリB110によって通信する装置が設定されているか否か)を判定する。本処理は、S405と同様である。アプリB110にプリンタが登録済みでないと判定された場合、CPU101は、S713に進む。一方CPU101は、アプリB110でプリンタが登録済みであると判定された場合、S709に進む。
S709では、CPU101は、S707で特定された登録情報に対応するプリンタとアプリB110に登録済みのプリンタが同じプリンタであるか否かを判定する。CPU101は、同じプリンタであると判定された場合、S710に進み、同じプリンタでないと判定された場合、S711に進む。なおアプリB110に、複数のプリンタが登録されている場合がある。その場合CPU101は、S707で特定された登録情報に対応するプリンタが、複数のプリンタのうちいずれかと同じであれば、S710に進み、S707で特定された登録情報に対応するプリンタが、複数のプリンタ全てと異なるのであれば、S711に進む。
S710では、CPU101は、アプリ連携を実行するか否かを判定する。本判定において例えばCPU101は、S707で特定された登録情報に対応する更新日時の情報と、以前共有情報202をアプリ連携に利用したときの更新日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。また本判定において例えばCPU101は、S707で特定された登録情報に対応する更新日時の情報と、直近で行われたアプリB110に対するプリンタの登録の日時の情報とを比較する。そしてCPU101は、前者の日時が後者の日時より後であれば、アプリ連携を実行すると判定し、前者の日時が後者の日時より前であれば、アプリ連携を実行しないと判定する。CPU101は、アプリ連携を実行すると判定した場合、S713に進み、アプリ連携を実行しないと判定した場合、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
なおS710が実行されることなく、S709―YESのケースにおいては必ずS713に進む形態であっても良い。
S711では、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録するか(アプリ連携を実行するか)否かをユーザに選択させるためのダイアログを表示する。本処理は、S408と同様である。
S712では、S711で表示したダイアログにおいて、アプリ連携を実行することがユーザによって選択されたか否かを判定する。本処理は、S409と同様である。アプリ連携を実行することがユーザによって選択された場合、CPU101は、S713に進む。アプリ連携を実行しないことがユーザによって選択された場合、CPU101は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに(アプリ連携を実行せずに)処理を終了する。
なおS711及びS712が実行されることなく、S709―NOのケースにおいては必ず、アプリA109に登録されているプリンタをアプリB110に登録する処理が実行されずに(アプリ連携が実行されずに)処理を終了される形態であっても良い。
S713において、共有情報202を使用することで、アプリA109に登録されているプリンタをアプリB110に登録する。本処理は、S410と同様である。
図7では、アプリB110によって実行される処理を説明したが、アプリC111によっても、同様の処理が実行される。
上述のような形態とすることにより、共有情報202として、アプリA109に登録されている複数のプリンタの登録情報が保存される形態であっても、適切にアプリ連携を実行することができる。
(その他の実施形態)
上述した実施形態では、アプリB110のダウンロードをストアアプリ108によって実行する形態を説明したが、この形態に限定されない。例えば、CPU101は、WebページからアプリB110をダウンロードしても良い。この場合、上述の形態において、ストアアプリ108を起動する処理は、Webページを表示するためのプログラムを起動する処理となる。Webページを表示するためのプログラムを起動する際も、対象アプリに関する情報を用いることで、対象アプリをダウンロードするためのWebページを直接表示することができる。また、CPU101は、ストアアプリ108によってアプリB110のダウンロードを行った後、アプリB110のインストールはインストーラーによって行われても良い。また、CPU101は、アプリB110のダウンロードやインストールを、パーソナルコンピュータから実施しても構わない。
また、上述した実施形態では、CPU101は、アプリB110が単独起動した場合にも連携起動した場合にも、情報共有領域201を参照し、共有情報202を取得する形態を説明した。しかし、この形態に限定されず、例えば、アプリB110が連携起動した場合には、URLスキームに付加された情報を共有情報202として用いてアプリ連携しても良い。そのため、この場合、CPU101は、アプリB110に対する連携起動操作があった場合には、URLスキームへの情報の付加も行う。
また、上述した実施形態では、アプリA109とアプリB110、アプリC111として印刷アプリを例に挙げており、共有情報202として登録情報を例に挙げているが、この形態に限定されない。すなわち、アプリA109とアプリB110は、互いに情報を共有できるアプリであればよく、その機能は限定されない。例えば、各アプリに登録される装置は、プリンタ以外の装置であっても良い。また、共有情報202の内容も限定されない。例えば、各アプリが、カメラを遠隔操作するためのアプリであり、各アプリにはカメラが登録される形態であっても良い。また例えば、各アプリが、スマートスピーカを制御するためのアプリであり、各アプリにはスマートスピーカが登録される形態であっても良い。また例えばアプリA109がカメラアプリであり、アプリB110がフォトアルバム作成アプリであっても良い。その場合、例えば、共有情報202は、フォトアルバムに配置可能な画像データ等であっても良い。また、その場合、アプリ連携における具体的な処理は、共有情報202(画像データ)をサムネイル化して表示する処理や、共有情報202を、アプリB110が参照可能な領域に格納する処理等となる。
また、上述した実施形態では、アプリA109やアプリB110、アプリC111の間の連携について説明したが、アプリA109がハンドリングする共有情報202をアプリB110や、アプリC111だけでなく、他のアプリで利用することもできる。すなわち、他のアプリにおいてもアプリB110やアプリC111を起動した時と同様の処理を実行することにより、複数のアプリでアプリA109がハンドリングする共有情報202を利用することができる。
また、上述した実施形態では、登録方法に応じて、情報共有領域201に登録情報を保存するか否かを制御する形態について説明したが、この形態に限定されない。例えば、いずれの登録方法であっても、情報共有領域201に登録情報を保存するが、登録方法に応じて、アプリB110やアプリC111によって登録情報の取得を行うか否かを制御する形態であっても良い。この形態では例えば、アプリA109は、登録情報とともに、登録情報の取得に用いた登録方法や、通信経路、通信方式に関する情報を情報共有領域201に保存する。そして、アプリB110やアプリC111は、登録情報を取得する前に、登録情報の取得に用いた登録方法や、通信経路、通信方式に関する情報を取得し、当該情報によって特定される事柄に基づいて、登録情報を取得するか否かを判定する。上述の実施形態において情報共有領域201に登録情報を保存する場合の登録方法(例えば第2の登録方法)で登録情報の取得が行われていたことが特定された場合は、アプリB110やアプリC111は、登録情報を取得しアプリ連携を実行する。一方、上述の実施形態において情報共有領域201に登録情報を保存しない場合の登録方法(例えば第3の登録方法)で登録情報の取得が行われていたことが特定された場合は、アプリB110やアプリC111は、登録情報を取得せずアプリ連携を実行しない。このような形態によっても、アプリ連携を適切実行することができる。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に共有し、そのシステムあるいは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
100 携帯端末
101 CPU

Claims (27)

  1. 情報処理装置の制御方法であって、
    第1のプログラムによって、通信装置に関する所定の情報を取得する取得ステップと、
    前記第1のプログラムによって取得された前記所定の情報に基づく処理を、前記第1のプログラムと異なる第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行する実行ステップと、
    を有し、
    前記第1のプログラムによって第1の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行されるよう制御され、
    前記第1のプログラムによって、前記第1の方法と異なる第2の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたとしても、前記第2のプログラムによって実行されないように制御され
    前記第2のプログラムによって実行される、前記第1のプログラムによって取得された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記第2のプログラムによって通信する装置として前記第2のプログラムに登録する処理であることを特徴とする制御方法。
  2. 前記第1の方法には、前記情報処理装置が接続している外部アクセスポイントに接続している前記通信装置から、前記外部アクセスポイントを介して前記所定の情報を取得する方法が含まれることを特徴とする請求項1に記載の制御方法。
  3. 前記第1の方法には、前記情報処理装置と前記通信装置との間の接続を介して外部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記外部アクセスポイントに関する情報に基づいて前記外部アクセスポイントと前記通信装置との間の接続が確立された後に、前記外部アクセスポイントを介して前記所定の情報を取得する方法が含まれることを特徴とする請求項1又は2に記載の制御方法。
  4. 前記第1の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記情報処理装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第1の接続が確立された後に、前記第1の接続を介して前記所定の情報を取得する方法が含まれ、
    前記第1の接続は、前記所定の情報が取得された後も維持されることを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  5. 前記第2の方法には、前記情報処理装置がWi-Fi Direct(登録商標)によって接続している前記通信装置から、前記所定の情報を取得する方法が含まれることを特徴とする請求項1乃至4のいずれか1項に記載の制御方法。
  6. 前記第2の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第2の接続が確立された後に、前記第2の接続を介して前記所定の情報を取得する方法が含まれ、
    前記第2の接続は、前記所定の情報が取得された後に切断され、
    前記第2の接続は、前記第1のプログラムにおいて前記通信装置との通信が指示された場合に再度確立されることを特徴とする請求項1乃至5のいずれか1項に記載の制御方法。
  7. 前記内部アクセスポイントに関する情報の通信は、Bluetooth(登録商標)による通信であることを特徴とする請求項6に記載の制御方法。
  8. 前記内部アクセスポイントに関する情報の通信は、Bluetooth(登録商標) Low Enegryによる通信であることを特徴とする請求項7に記載の制御方法。
  9. 前記第2の方法には、前記情報処理装置と前記通信装置との間の接続を介して前記通信装置の内部アクセスポイントに関する情報が前記通信装置に送信され、且つ前記送信された前記内部アクセスポイントに関する情報に基づいて前記内部アクセスポイントと前記情報処理装置との間の第3の接続が確立された後に、前記内部アクセスポイントと前記情報処理装置との間の接続を介して前記所定の情報を取得する方法が含まれ、
    前記第3の接続を介して、前記所定の情報と異なる他の情報の通信がさらに実行され、
    前記第3の接続は、前記所定の情報が取得され、且つ前記他の情報の通信が実行された後に切断されることを特徴とする請求項1乃至8のいずれか1項に記載の制御方法。
  10. 前記内部アクセスポイントに関する情報の通信は、Near Field Communication又はBluetooth(登録商標)による通信であることを特徴とする請求項9に記載の制御方法。
  11. 記所定の情報に対応する前記通信装置、前記第のプログラムによって通信する装置として前記第のプログラムに登録されている装置であることを特徴とする請求項1乃至10のいずれか1項に記載の制御方法。
  12. 前記第1のプログラムは、前記所定の情報を取得した場合、所定の記憶領域に前記所定の情報を保存し、
    前記所定の記憶領域に保存された前記所定の情報が、前記第2のプログラムによって取得された場合、前記所定の情報に基づく処理が実行されることを特徴とする請求項1乃至11のいずれか1項に記載の制御方法。
  13. 前記第1のプログラムは、前記所定の情報を取得したことに基づいて、前記所定の記憶領域に前記所定の情報を保存することを特徴とする請求項12に記載の制御方法。
  14. 前記第2のプログラムが前記情報処理装置にインストールされている場合、前記第1のプログラムが表示する所定の画面に対して所定の操作が行われたことに基づいて、前記第2のプログラムが起動されることを特徴とする請求項12に記載の制御方法。
  15. 前記第1のプログラムによって前記第1の方法で前記所定の情報が取得された場合、前記所定の記憶領域に前記所定の情報が保存されよう制御され、前記第1のプログラムによって前記第2の方法で前記所定の情報が取得された場合、前記所定の記憶領域に前記所定の情報が保存されないよう制御されることを特徴とする請求項12乃至14のいずれか1項に記載の制御方法。
  16. 前記第1のプログラムによって前記第1の方法で前記所定の情報が取得された場合、前記所定の記憶領域に保存された前記所定の情報が、前記第2のプログラムによって取得されるよう制御され、前記第1のプログラムによって前記第2の方法で前記所定の情報が取得された場合、前記所定の記憶領域に保存された前記所定の情報が、前記第2のプログラムによって取得されないよう制御されることを特徴とする請求項12乃至14のいずれか1項に記載の制御方法。
  17. 前記第2のプログラムによって前記所定の情報が取得されたとしても、前記所定の記憶領域から前記所定の情報が削除されず、
    前記第1のプログラム及び前記第2のプログラムと異なる第3のプログラムが、前記第2のプログラムによって前記所定の情報が取得された後に起動されたことに基づいて、前記第1のプログラムによって取得された前記所定の情報に基づく処理が、前記第3のプログラムによって実行されることを特徴とする請求項12乃至16のいずれか1項に記載の制御方法。
  18. 前記第2のプログラムによって前記所定の情報に基づく処理が既に実行されている状態で前記第2のプログラムが起動され、且つ、既に実行された処理に対応する前記所定の情報と、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって新たに実行され、
    前記第2のプログラムによって前記所定の情報に基づく処理が既に実行されている状態で前記第2のプログラムが起動され、且つ、既に実行された処理に対応する前記所定の情報と、前記第1のプログラムによって前記第1の方法で取得された前記所定の情報とが同じである場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたとしても、前記第2のプログラムによって新たに実行されないことを特徴とする請求項1乃至17のいずれか1項に記載の制御方法。
  19. 前記第1のプログラムによって前記第1の方法で取得された前記所定の情報に対応する前記通信装置が、前記第2のプログラムによって利用可能な通信装置である場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって新たに実行され、
    前記第1のプログラムによって前記第1の方法で取得された前記所定の情報に対応する前記通信装置が、前記第2のプログラムによって利用可能な通信装置でない場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたとしても、前記第2のプログラムによって新たに実行されないことを特徴とする請求項1乃至18のいずれか1項に記載の制御方法。
  20. 前記第1のプログラム及び前記第2のプログラムは、アプリケーションプログラムであることを特徴とする請求項1乃至19のいずれか1項に記載の制御方法。
  21. 前記第1のプログラム及び前記第2のプログラムは、前記所定の情報に対応する前記通信装置に印刷を実行させるための印刷ジョブを生成するプログラムであることを特徴とする請求項1乃至20のいずれか1項に記載の制御方法。
  22. 前記所定の情報は、MACアドレス、Bonjour名、IPアドレス、前記通信装置のモデル名、前記通信装置の能力情報、前記所定の情報が取得された日時に関する情報おうち、少なくとも1つを含むことを特徴とする請求項1乃至21のいずれか1項に記載の制御方法。
  23. 情報処理装置であって、
    第1のプログラムによって、通信装置に関する所定の情報を取得する取得手段と、
    前記第1のプログラムによって取得された前記所定の情報に基づく処理を、前記第1のプログラムと異なる第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行する実行手段と、
    を有し、
    前記第1のプログラムによって第1の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたことに基づいて、前記第2のプログラムによって実行されるよう制御され、
    前記第1のプログラムによって、前記第1の方法と異なる第2の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記第2のプログラムが起動されたとしても、前記第2のプログラムによって実行されないように制御され
    前記第2のプログラムによって実行される、前記第1のプログラムによって取得された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記第2のプログラムによって通信する装置として前記第2のプログラムに登録する処理であることを特徴とする情報処理装置。
  24. 所定のプログラムであって、
    情報処理装置に、
    通信装置に関する所定の情報を取得する取得ステップ
    記所定のプログラムによって第1の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記所定のプログラムと異なる他のプログラムが起動されたことに基づいて、前記他のプログラムによって実行されるよう制御し、前記所定のプログラムによって、前記第1の方法と異なる第2の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記他のプログラムが起動されたとしても、前記他のプログラムによって実行されないように制御する制御ステップと、
    を実行させ、
    前記他のプログラムによって実行される、前記所定のプログラムによって取得された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記他のプログラムによって通信する装置として前記他のプログラムに登録する処理であることを特徴とするプログラム。
  25. 前記所定のプログラムは、前記所定の情報を取得した場合、所定の記憶領域に前記所定の情報を保存し、
    前記所定の記憶領域に保存された前記所定の情報が、前記他のプログラムによって取得された場合、前記所定の情報に基づく処理が実行され、
    前記所定のプログラムによって前記第1の方法で前記所定の情報が取得された場合、前記制御ステップでは、前記所定の記憶領域に前記所定の情報が保存されるよう前記所定のプログラムによって制御されることで、前記所定の情報に基づく処理が、前記他のプログラムが起動されたことに基づいて、前記他のプログラムによって実行されるよう制御され、
    前記所定のプログラムによって前記第2の方法で前記所定の情報が取得された場合、前記制御ステップでは、前記所定の記憶領域に前記所定の情報が保存されないよう前記所定のプログラムによって制御されることで、前記所定の情報に基づく処理が、前記他のプログラムが起動されたとしても、前記他のプログラムによって実行されないように制御されることを特徴とする請求項24に記載のプログラム
  26. 所定のプログラムであって、
    情報処理装置に、
    前記所定のプログラムと異なる他のプログラムによって取得された、通信装置に関する所定の情報に基づく処理を、前記所定のプログラムが起動されたことに基づいて、前記所定のプログラムによって実行する実行ステップ
    前記他のプログラムによって第1の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記所定のプログラムが起動されたことに基づいて、前記所定のプログラムによって実行されるよう制御し、前記他のプログラムによって、前記第1の方法と異なる第2の方法で前記所定の情報が取得された場合、前記所定の情報に基づく処理が、前記所定のプログラムが起動されたとしても、前記所定のプログラムによって実行されないように制御ステップと、
    を実行させ、
    前記所定のプログラムによって実行される、前記他のプログラムによって取得された前記所定の情報に基づく処理は、前記所定の情報に対応する前記通信装置を、前記所定のプログラムによって通信する装置として前記所定のプログラムに登録する処理であることを特徴とするプログラム。
  27. 前記他のプログラムによって前記第1の方法で前記所定の情報が取得された場合、前記制御ステップでは、前記他のプログラムから前記所定のプログラムによって前記所定の情報が取得されるよう制御されることで、前記所定の情報に基づく処理が、前記所定のプログラムが起動されたことに基づいて、前記所定のプログラムによって実行されるよう制御され、
    前記他のプログラムによって前記第2の方法で前記所定の情報が取得された場合、前記制御ステップでは、前記他のプログラムから前記所定のプログラムによって前記所定の情報が取得されないよう制御されることで、前記所定の情報に基づく処理が、前記所定のプログラムが起動されたとしても、前記所定のプログラムによって実行されないよう制御されることを特徴とする請求項26に記載のプログラム
JP2020033879A 2020-02-28 2020-02-28 情報処理装置、その制御方法、並びにプログラム Active JP7455613B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020033879A JP7455613B2 (ja) 2020-02-28 2020-02-28 情報処理装置、その制御方法、並びにプログラム
US17/185,753 US11528762B2 (en) 2020-02-28 2021-02-25 Information processing apparatus and control method of the same
JP2024034863A JP2024056049A (ja) 2020-02-28 2024-03-07 情報処理装置、その制御方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020033879A JP7455613B2 (ja) 2020-02-28 2020-02-28 情報処理装置、その制御方法、並びにプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024034863A Division JP2024056049A (ja) 2020-02-28 2024-03-07 情報処理装置、その制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2021136670A JP2021136670A (ja) 2021-09-13
JP7455613B2 true JP7455613B2 (ja) 2024-03-26

Family

ID=77463924

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020033879A Active JP7455613B2 (ja) 2020-02-28 2020-02-28 情報処理装置、その制御方法、並びにプログラム
JP2024034863A Pending JP2024056049A (ja) 2020-02-28 2024-03-07 情報処理装置、その制御方法、並びにプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024034863A Pending JP2024056049A (ja) 2020-02-28 2024-03-07 情報処理装置、その制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US11528762B2 (ja)
JP (2) JP7455613B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145504A (zh) * 2021-03-31 2022-10-04 兄弟工业株式会社 存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130057908A1 (en) 2011-09-02 2013-03-07 Samsung Electronics Co., Ltd. Image forming apparatus supporting peer-to-peer connection and method of managing address book thereof
US20170277485A1 (en) 2016-03-28 2017-09-28 Kyocera Document Solutions Inc. Multi-worker approach for printer data collection in timely situations
JP2018099817A (ja) 2016-12-20 2018-06-28 株式会社リコー 情報処理装置、画像処理装置及びプログラム
JP2018160271A (ja) 2018-06-21 2018-10-11 ブラザー工業株式会社 情報処理プログラム、情報処理装置および情報処理装置の制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6214177B2 (ja) * 2013-03-14 2017-10-18 キヤノン株式会社 通信装置、通信装置の制御方法、及びプログラム
JP6039602B2 (ja) * 2014-04-04 2016-12-07 キヤノン株式会社 プリンタ登録装置、表示装置、プリンタ登録方法、コンピュータプログラム
JP6800620B2 (ja) 2016-06-06 2020-12-16 キヤノン株式会社 情報処理装置、制御方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130057908A1 (en) 2011-09-02 2013-03-07 Samsung Electronics Co., Ltd. Image forming apparatus supporting peer-to-peer connection and method of managing address book thereof
US20170277485A1 (en) 2016-03-28 2017-09-28 Kyocera Document Solutions Inc. Multi-worker approach for printer data collection in timely situations
JP2018099817A (ja) 2016-12-20 2018-06-28 株式会社リコー 情報処理装置、画像処理装置及びプログラム
JP2018160271A (ja) 2018-06-21 2018-10-11 ブラザー工業株式会社 情報処理プログラム、情報処理装置および情報処理装置の制御方法

Also Published As

Publication number Publication date
US20210274577A1 (en) 2021-09-02
JP2021136670A (ja) 2021-09-13
JP2024056049A (ja) 2024-04-19
US11528762B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
JP6800620B2 (ja) 情報処理装置、制御方法、及びプログラム
US20140240762A1 (en) Communication terminal device, communication control method, and non-transitory computer-readable medium storing communication control program
JP6487737B2 (ja) 情報処理装置と、その制御方法、及びプログラム
JP5032643B2 (ja) 通信装置、および管理方法
JP6039603B2 (ja) プリンタリスト生成装置、モバイル端末、プリンタリスト生成方法、およびコンピュータプログラム
CN105291613A (zh) 信息处理设备及信息处理设备的控制方法
JP6098588B2 (ja) 印刷システム、携帯端末装置及び印刷制御プログラム
JP2024056049A (ja) 情報処理装置、その制御方法、並びにプログラム
US20110246903A1 (en) Terminal apparatus, control system, and control method for controlling collaboration among a plurality of devices
JP2017107307A (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6182919B2 (ja) 通信プログラムおよび通信装置
JP2014174679A (ja) 情報処理装置及びその方法
JP2017157114A (ja) 情報処理システム、情報処理装置、画像処理装置、制御方法および拡張プログラム
JP6803647B2 (ja) 端末装置、プリンタ制御方法、およびコンピュータプログラム
JP7490463B2 (ja) 情報処理装置、その制御方法、並びにプログラム
US20180263078A1 (en) Non-transitory computer-readable storage medium storing computer-readable program for the terminal, terminal and method
US20170134596A1 (en) Information processing apparatus, information processing method and non-transitory computer readable medium
US9430226B2 (en) Mobile information terminal has replacement portion performing replacement processing for moving temporary setting data to storage device
JP2024024435A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP6696609B2 (ja) 携帯端末及び出力プログラム
JP6711438B2 (ja) 携帯端末及び出力プログラム
US10966272B2 (en) Wireless LAN connection device and non-transitory computer readable medium storing program
JP6752303B2 (ja) プログラム
JP6972884B2 (ja) 印刷指示装置
JP2020187780A (ja) ファイル交換システム、方法、モバイル機器及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20200324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240313

R151 Written notification of patent or utility model registration

Ref document number: 7455613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151