JP7484387B2 - プログラムおよび情報処理装置 - Google Patents

プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP7484387B2
JP7484387B2 JP2020079127A JP2020079127A JP7484387B2 JP 7484387 B2 JP7484387 B2 JP 7484387B2 JP 2020079127 A JP2020079127 A JP 2020079127A JP 2020079127 A JP2020079127 A JP 2020079127A JP 7484387 B2 JP7484387 B2 JP 7484387B2
Authority
JP
Japan
Prior art keywords
specific
wireless communication
operating system
information
specific device
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
JP2020079127A
Other languages
English (en)
Other versions
JP2021174355A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020079127A priority Critical patent/JP7484387B2/ja
Priority to US17/238,531 priority patent/US11392332B2/en
Publication of JP2021174355A publication Critical patent/JP2021174355A/ja
Application granted granted Critical
Publication of JP7484387B2 publication Critical patent/JP7484387B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1236Connection management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本明細書に開示される技術分野は、情報処理装置にソフトウェアをセットアップする技術に関する。
従来、デバイスに接続される情報処理装置に、そのデバイスとの通信に必要なソフトウェアをセットアップする技術が知られている。例えば特許文献1には、プリンタドライバを情報処理装置にインストールするインストーラであって、あらかじめ指定した通信ポートに関する設定情報を、オペレーティングシステムが有するデータベースであるレジストリに書き込む構成が開示されている。
特開2013-105361号公報
例えばデバイスとの無線通信に必要なデバイスドライバを情報処理装置にセットアップする場合、そのデバイスとの間でペアリングを行った後、情報処理装置のオペレーティングシステムに用意された通信ポートにそのデバイスを割り当てる必要がある。しかしながら、ペアリングに成功したにもかかわらず、通信ポートにデバイスが割り当てられず、セットアップが完了しない場合がある。特許文献1には、このような課題に対する解決方法は開示されていない。
本明細書は、情報処理装置にデバイスとの通信に必要なソフトウェアをセットアップする場合に、セットアップを完了させる可能性を高める技術を開示する。
この課題の解決を目的としてなされたプログラムは、情報処理装置にソフトウェアをセットアップするプログラムであって、前記ソフトウェアは、特定のデバイスとの通信に用いられるプログラムであり、前記情報処理装置のコンピュータに、前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行させ、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、さらに前記コンピュータに、前記追加処理の後、前記ペアリングに成功した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行させ、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、さらに前記コンピュータに、前記有効処理の後、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行させ、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功しない、ことを特徴としている。
本明細書に開示されるプログラムによれば、コンピュータは、所定の無線通信プロトコルによる特定のデバイスとのペアリングが終了した場合に、その所定の無線通信プロトコルにおいて特定のデバイスが対応可能な特定プロファイルに基づく無線通信を有効にする。これにより、無線通信プロトコル用のドライバの不良等によって特定プロファイルの情報を取得できず、特定プロファイルに基づく無線通信をオペレーティングシステムが自動的に有効にしなかった場合でも、特定プロファイルでの特定のデバイスとの無線通信を行うためのセットアップを完了できる可能性が高まる。
上記プログラムによって実現される制御方法、当該プログラムを実行する情報処理装置、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本明細書に開示される技術によれば、情報処理装置にデバイスとの通信に必要なソフトウェアをセットアップする場合に、セットアップを完了させる可能性を高める技術が実現される。
実施の形態にかかるPCの概略構成図である。 インストーラの手順の概要を示すシーケンス図である。 BTデバイスDBに記憶されるデバイス情報の例を示す説明図である。 BTデバイスDBに記憶されるデバイス情報の例を示す説明図である。 通信ポートと印刷ポートとの例を示す説明図である。 プリントキューに記憶される情報の例を示す説明図である。 セットアップ処理の手順を示すフローチャートである。 デバイス追加処理の手順を示すフローチャートである。
以下、プログラムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)にて実行されるプログラムを開示するものである。
本形態のPC1は、画像を印刷する機能を有するデバイスであるプリンタ2と接続可能であって、プリンタ2に印刷等の機能を行わせるための各種のアプリケーションプログラム(以下、「アプリ」とする)を実行可能な装置である。PC1は、情報処理装置の一例である。PC1に代えて、例えば、スマートフォン、タブレットコンピュータであっても良い。
プリンタ2は、少なくとも印刷機能と通信機能とを有するデバイスである。プリンタ2は、特定のデバイスの一例である。本形態のプリンタ2は、通信機能として、少なくとも、Bluetooth(登録商標、以下、「BT」とする)方式の通信プロトコルによる通信を行うためのインタフェース(以下、「BT-IF」とする)21を有する。BT通信は、1対1で無線接続する通信規格である。BT通信は、所定の無線通信プロトコルの一例である。
BT通信には複数の通信プロファイルが用意されており、適切な通信のためには、通信を行う機器同士が同じ通信プロファイルに対応している必要がある。本形態のプリンタ2は、BT通信の通信プロファイルとして、少なくともSPP(Serial Port Profileの略)に対応しており、HCRP(Hardcopy Cable Replacement Profileの略)など、他の通信プロファイルにも対応するものであっても良い。SPPは、第1プロファイルの一例であり、HCRPは、第2プロファイルの一例である。プリンタ2が対応している通信プロファイルは、特定プロファイルの一例である。また、プリンタ2は、BT通信以外の通信方式、例えば、USB方式の通信機能をさらに有していても良い。
本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1等の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1等に存在する単一のハードウェアを表すとは限らない。
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12は、例えば、ROM、RAM、HDD、フラッシュメモリであり、PC1を起動するための起動プログラム等の各種のプログラムや、画像データ、文書データ、各種の設定情報等の各種のデータ、が記憶される記憶領域である。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。
メモリ12の一例は、PC1に内蔵されるHDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
ユーザIF13は、情報を画面に表示するハードウェアと、ユーザによる入力操作を受け付けるハードウェアと、を含む。ユーザIF13は、表示用のディスプレイと、キーボード、マウス等との組み合わせであっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。本形態のPC1は、通信IF14として、少なくとBT-IF141を有する。なお、通信IF14は、さらに他の方式の通信に対応するIF、例えば、イーサネット(登録商標)、Wi-Fi(登録商標)、USB、を含んでも良い。すなわち、通信IF14は、無線方式の他、有線方式のIFを含んでも良い。
PC1のメモリ12には、図1に示すように、オペレーティングシステム(以下、「OS」とする)41と、インストーラ42と、BTデバイス情報データベース(以下、「BTデバイスDB」とする)43と、通信ポートリスト44と、印刷ポートリスト45と、が組み込まれている。OS41は、例えば、Windows(登録商標)、macOS(登録商標)、iOS(登録商標)、Android(登録商標)、Linux(登録商標)である。OS41には、スプーラ411が含まれる。スプーラ411は、プリンタ2等の印刷機能を有する装置への印刷データの送信を管理する。
インストーラ42は、プリンタ2のモデルに対応するプリンタドライバ421を含み、PC1にプリンタドライバ421を組み込むためのプログラムである。インストーラ42は、プログラムの一例である。本形態のインストーラ42は、ユーザによる各種の選択を受け付ける処理を担当するUIモジュール422と、OS41にペアリングを実行させる処理を担当するペアリングモジュール423とを含む。UIモジュール422は、第2モジュールの一例であり、ペアリングモジュール423は、第1モジュールの一例である。なお、図1は、プリンタ2のセットアップが完了する前の状態を示す図であり、セットアップ完了後は、メモリ12にプリンタドライバ421が組み込まれる。また、セットアップ完了後には、インストーラ42は削除されても良い。
プリンタドライバ421は、OS41と協働して、例えば、プリンタ2に印刷を行わせるための印刷データの生成を行う。プリンタドライバ421は、デバイスドライバの一例であり、ソフトウェアの一例である。なお、インストーラ42は、プリンタ2のモデル用のプリンタドライバ421のみでなく、他のモデル用のプリンタドライバやスキャナドライバを含んでいても良い。
BTデバイスDB43には、BT通信を用いて利用されるデバイスとしてOS41に登録された各BTデバイスのデバイス情報が記憶される。BTデバイスDB43には、デバイス情報として、デバイスを識別する情報であるデバイスIDと、BT通信に用いるアドレス情報であるBTアドレスと、を含む情報が記憶される。
通信ポートリスト44は、通信IF14を使用してPC1が外部装置と通信するために使用される通信ポートが複数設定されているリストである。印刷ポートリスト45は、プリンタ2等の印刷機能を有するデバイスに印刷を実行させるために使用される通信ポートのリストである。
なお、BTデバイスDB43等のDBや各リストの情報は、HDD等の不揮発性のメモリに記憶される。インストーラ42は、これらの情報を利用する際には、HDD等からRAMに情報を読み出して使用する。以下の説明において、OS41やインストーラ42によるDBやリストへの登録は、HDD等の情報の更新を意味している。更新された情報は、OS41、スプーラ411、各種のアプリから参照される。
次に、本形態のインストーラ42による、プリンタドライバ421のインストール、および、プリンタドライバ421からプリンタ2へ印刷を指示するためのセットアップを行う手順の概要を、図2のシーケンス図を参照して説明する。インストーラ42は、プリンタ2のモデル名と、プリンタ2とPC1との接続に利用する通信IFの種類と、をユーザに選択させる(A1)。インストーラ42は、選択されたモデル名に対応するプリンタドライバ421をPC1にインストールする(A2)。以下では、通信IFの種類としてBT通信が選択されたものとして説明する。
インストーラ42は、OS41にPC1とプリンタ2とのペアリングを行わせる。具体的には、インストーラ42は、例えば、PC1のBT-IF141とプリンタ2のBT-IF21とをいずれも機能させ、BT通信可能な距離まで互いに近づけた状態とするようユーザに指示し、OS41にデバイスの追加を指示する(A3)。
OS41は、デバイスの追加指示を受けて、BT-IF141を用いてデバイスの検知を行う(A4)。OS41は、例えば、BT-IF141に検索信号を発信させる。PC1とのBT通信可能な距離範囲内にあり、検索信号を受信した各デバイスは、受信した検索信号に応じて、デバイスを識別する情報であるデバイスIDと、BT通信に用いるアドレス情報であるBTアドレスと、を含む情報をOS41に応答する(A5)。そして、OS41は、応答のあったデバイスである追加候補デバイスの一覧を含むデバイス選択画面をユーザIF13に表示させ(A6)、ユーザの選択(A7)に基づいて、追加するデバイスを決定する。なお、OS41は、各デバイスが発信するビーコンを検出することで、デバイスの検知を行っても良い。
OS41は、プリンタ2を追加するデバイスとして決定した場合、プリンタ2とさらに通信を行ってペアリングを実行する(A8)。インストーラ42は、プリンタ2が対応可能な通信プロファイルを有効にする指示をOS41に渡す(A9)。なお、インストーラ42は、例えば、OS41によって表示されたデバイス選択画面が閉じられたら、OS41によるペアリングの処理が終了したと判断する。通信プロファイルについては、後述する。
そして、OS41は、ペアリングが完了したプリンタ2を通信ポートリスト44に登録する(A10)。インストーラ42は、通信ポートリスト44に登録されている各通信ポートのポート名をOS41から取得し(A11)、一覧表示する(A12)。インストーラ42は、通信ポートの選択を、ユーザIF13を介して受け付ける(A13)。
さらに、インストーラ42は、選択された通信ポートに対応付けて、プリンタ2に対応するプリントキューの作成と、作成したプリントキューに関連付けてプリンタドライバ421の登録と、をOS41に指示する(A14)。プリントキューは、デバイスキューの一例である。OS41は、指示に基づいて、選択された通信ポートに対応するプリントキューを作成し、作成したプリントキューにプリンタドライバ421を関連付けて登録する(A15)。
なお、本形態のインストーラ42では、例えば、A1~A2,A12~A14をUIモジュール422が行い、A3~A11をペアリングモジュール423が行う。UIモジュール422は、A2のインストール終了後、ペアリングモジュール423を起動し、A1にて受け付けた情報をペアリングモジュール423に渡す。これらの処理を別モジュールとせずに1つのプログラムとしても良いが、ペアリングに関する処理を、プリンタドライバ421のインストールやセットアップの処理とは別モジュールとすることで、各処理の設計およびメンテナンスが容易になる。
OS41は、A8におけるペアリングの実行に際して、プリンタ2が対応可能な通信プロファイルの情報をプリンタ2から取得し、デバイス情報としてBTデバイスDB43に登録する。例えば、通信プロファイルの情報としてSPPの情報を取得できた場合、OS41は、SPPを有効に設定する。プリンタ2からさらに他の通信プロファイルの情報も取得できた場合には、OS41は、その通信プロファイルも有効にする。ペアリングが成功した場合、例えば図3に示すように、プリンタ2のデバイス情報として、プリンタ2のデバイスIDとBTアドレスと有効な通信プロファイルの種類とが、BTデバイスDB43に登録される。なお、図3中の「BTサービス」は、有効な通信プロファイルの情報を示している。
そして、OS41は、有効になった通信プロファイルに応じて使用する通信ポートを決定し、通信ポートリスト44に登録する。OS41は、例えば、SPPが有効となったデバイスにはシリアルポートであるCOMポートを割り当て、HCRPが有効となったデバイスにはHCRP用の通信ポートを割り当てる。
ペアリングを成功させるためには、OS41は、プリンタ2から対応可能な通信プロファイルの情報を受け取る必要がある。しかし、PC1のBT-IF141とプリンタ2のBT-IF21との相性などによって、通信プロファイルの情報を受け取るのに時間がかかる場合がある。その場合、ペアリング終了までのタイムアウト時間が設定されているOS41では、本来対応可能なはずの通信プロファイルを有効としないままで、タイムアウトによってペアリングを終了させてしまう可能性がある。ペアリングがタイムアウトによって終了した場合、プリンタ2の情報として、例えば、図4に示すように、通信プロファイルの情報が含まれないデバイス情報がBTデバイスDB43に登録されてしまう。
本形態のインストーラ42は、図2のA9にて、A1にて指定されたモデル名のプリンタが対応可能な通信プロファイルを有効にする指示をOS41に渡す。OS41は、BTデバイスDB43に記憶されているプリンタ2のデバイス情報のうち、有効な通信プロファイルの情報を書き換える。これにより、プリンタ2のデバイス情報は、ペアリングの終了時には図4のようになっていたとしても、例えば、図3に示したように、少なくとも1つの通信プロファイルが有効となる。本形態のプリンタ2は、少なくともSPPに対応していることから、OS41は、少なくともCOMポートの1つをプリンタ2との通信に用いる通信ポートして割り当てる。
なお、本形態のOS41では、図5(A)に示すように、COMポートが予め複数個用意されており、例えば、COM1ポート、COM2ポート等として通信ポートリスト44に登録されている。
さらに、本形態のOS41では、例えば、図5(B)に示すように、各COMポートに対応する同名の印刷ポートが予め設けられ、印刷ポートリスト45に登録されている。印刷ポートは、スプーラ411が認識できる通信ポートであり、印刷ポートリスト45は、印刷ポートのリストである。なお、各印刷ポートは、通信ポートの1つに対応付けられていれば良く、その対応付けはポートの名称によるものに限らない。例えば、各通信ポートに識別番号が与えられていれば、印刷ポートは、その識別番号によって対応付けられても良い。
例えば、図5(A)の例では、COM1ポート~COM4ポートの4つのポートが登録されている。このうち、COM1ポートとCOM2ポートとは、OS41が使用するためにOS41によって予約されている。OS41は、シリアルIFやUSB-IFに装着されたデバイスと通信するために、これらのポートを予約している。一方、COM3ポートとCOM4ポートとは、OS41による予約はされておらず、PC1の初期状態では、どのデバイスとも対応付けられていない。OS41は、BTデバイスとのペアリングを行うと、これらの予約も対応付けもされていないポートの1つにそのデバイスを対応付ける。
例えば、図5(A)の状態では、COM3ポートにはデバイス「ABC4567」が対応付けて登録されており、COM4ポートには、デバイスが対応付けられていない。この状態で別のデバイス「ABC5678」とのペアリングを実行すると、図5(C)に示すように、追加されたデバイスがCOM4ポートに対応付けて、BTデバイスDB43に登録される。
通信プロファイルが有効となり、BTデバイスDB43に登録されたデバイスは、通信ポートリスト44によって通信ポートと対応付けられる。デバイスが対応付けられた通信ポートが印刷ポートリスト45にも登録され、その通信ポートがプリントキューに対応付けられると、PC1にインストールされたアプリは、プリントキューを指定して印刷を指示することが可能となる。プリントキューには、例えば、図6に示すように、印刷ポート、プリンタドライバ、印刷設定等の情報が対応付けて記憶される。印刷を指示されたプリントキューに関連付けられたプリンタドライバは、プリントキューに対応付けられた通信ポートを介して、通信ポートに対応付けられたデバイスに印刷を実行させることができるようになる。
具体的には、アプリは、プリントキューを指定して画像データをOS41に渡すことで、OS41に印刷を指示する。印刷を指示されたOS41は、プリントキューに関連付けられたプリンタドライバ421を起動して、プリンタドライバ421に印刷対象の画像データを渡す。プリンタドライバ421は、OS41から受け取った画像データに基づいてプリンタ2に対応する印刷データを生成し、生成した印刷データをOS41に渡す。OS41は、受け取った印刷データをプリントキューに渡す。スプーラ411は、プリントキューに対応する印刷ポートを介して、すなわち、印刷ポートが対応付けられた通信IFを介して、プリンタ2に印刷データを送信する。これにより、プリンタ2にて画像データに基づく印刷物が作成される。
しかし、前述したように、通信プロファイルが有効とならないままでペアリングを終了した場合、OS41は、新たなデバイスを対応付ける通信ポートを決定できないことから、通信ポートリスト44への登録を行わない。図5の例では、「ABC5678」のSPPが有効とならなかった場合、通信ポートリスト44は、図5(C)の状態とはならず、図5(A)のままとなってしまう。当然、印刷ポートリスト45も更新されていないことから、インストーラ42は、プリントキューを印刷ポートに対応付けることができない。つまり、ペアリングがタイムアウトによって終了した場合、そのままでは、インストーラ42は、プリンタ2との通信に用いられる通信ポートを特定してセットアップを完了させることができないという問題点があった。
次に、インストーラ42によるセットアップの手順について、フローチャートを参照して説明する。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、PC1のOSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
以下、セットアップ処理の手順について、図7のフローチャートを参照して説明する。このセットアップ処理は、PC1にてインストーラ42が起動されたことを契機に、PC1のCPU11にて実行される。インストーラ42は、まず、UIモジュール422を起動する。つまり、図7に示すフローチャートの各処理は、UIモジュール422の処理として実行される。
セットアップ処理では、CPU11は、セットアップ対象のデバイスのモデル情報と通信方式との指定を、ユーザの操作によって受け付ける(S101、図2のA1)。S101は、取得処理の一例であり、選択処理の一例である。プリンタ2が、BT通信だけでなくUSB通信などの他の方式の通信にも対応している場合、ユーザは、それらのうちからプリンタ2との通信に使用する接続形態を選択できる。以下では、S101にて、プリンタ2のモデルに対応するモデル情報の指定とBT通信の指定と、を受け付けた場合について説明する。
CPU11は、S101にて指定された情報に基づいて、インストール対象となるプリンタドライバ421を決定し、プリンタドライバ421をインストールする(S102、図2のA2)。インストーラ42は、例えば、同シリーズの複数のモデルにそれぞれ対応するプリンタドライバ、複数種類の通信方式にそれぞれ対応するプリンタドライバを含み、複数のプリンタドライバからインストール対象のプリンタドライバを決定する。なお、インストーラ42に含まれるプリンタドライバが1種類のみであれば、S101をスキップしてもよい。また、インストール対象のプリンタドライバ421がPC1にインストール済みであれば、CPU11は、S102をスキップしても良い。
CPU11は、S101にて指定されたモデルのプリンタが対応する通信プロファイルの情報を取得する(S103)。モデルごとの対応可能な通信プロファイルの情報は、例えば、インストーラ42が有している。そして、プリンタ2とのBT通信に関する設定を行うために、CPU11は、デバイス追加処理を実行する(S104)。S104では、UIモジュール422は、ペアリングモジュール423を起動し、プリンタ2のモデル情報とプリンタ2が対応可能な通信プロファイルの情報とをペアリングモジュール423に渡す。そして、ペアリングモジュール423がデバイス追加処理を実行する。
デバイス追加処理は、デバイスとのペアリングを行って、デバイスの情報をBTデバイスDB43に登録する処理である。デバイス追加処理の手順について、図8のフローチャートを参照して説明する。デバイス追加処理では、CPU11は、BTデバイスDB43に登録済みのBTデバイスのデバイス情報をOS41から取得する(S201)。具体的には、CPU11は、BTデバイスのデバイス情報を要求するコマンドをOS41に渡し、登録済みの全てのBTデバイスのデバイスIDとBTアドレスの情報をOS41から受け取る。
CPU11は、受け取ったデバイス情報のうち、インストーラ42によるセットアップの対象である対象デバイスを抽出して、抽出したデバイスの情報をメモリ12に一旦記憶する(S202)。例えば、今回のセットアップの対象であるプリンタ2と同じシリーズのプリンタがすでにPC1に登録されている場合、BTデバイスDB43には、そのプリンタの情報が含まれる。
CPU11は、OS41にデバイスの追加を指示する(S203、図2のA3)。S106は、追加処理の一例である。OS41は、前述したように、例えば、BT通信による検索結果(図2のA4とA5)に基づいてデバイスの一覧を表示し(図2のA6)、ユーザの選択を受け付けて(図2のA7)、プリンタ2とのペアリングを実行する(図2のA8)。
OS41によるペアリングの処理が終了したら、CPU11は、BTデバイスDB43に登録済みのBTデバイスのデバイス情報を、OS41から再度取得する(S204)。S204は、S201と同様の処理である。CPU11は、S202と同様に、受け取ったデバイス情報から対象デバイスのデバイス情報を抽出する(S205)。S203の追加指示によってペアリングが行われたことで、S205にて抽出されるデバイス情報には、S202にて記憶したデバイス情報よりも多くのデバイスの情報が含まれる。
そして、CPU11は、追加されたデバイスを特定する(S206)。本形態では、プリンタ2が追加されることから、S206では、CPU11は、プリンタ2のデバイスIDとBTアドレスを取得する。CPU11は、追加されたデバイスの特定に成功したら、S202にて記憶したデバイスの情報を削除してもよい。なお、追加されたデバイスが無い場合、CPU11は、ペアリングをやり直すメッセージをユーザIF13に表示させてもよい。
CPU11は、UIモジュール422から渡されたモデル情報に基づいて、プリンタ2がHCRPに対応しているか否かを判断する(S210)。HCRPに対応していると判断した場合(S210:YES)、CPU11は、プリンタ2のデバイス情報の通信プロファイルとして、HCRPを有効にする指示をOS41に渡す(S211、図2のA9)。S211は、有効処理の一例である。OS41は、HCRPを有効にする指示を受け取ると、BTデバイスDB43に登録されているプリンタ2のデバイス情報を更新し、さらに、プリンタ2に対応付けてHCRP用の印刷ポートを設定する。HCRPが有効となることでPnP(Plug and Playの略)が発生し、OS41は、そのデバイスにHCRP用の印刷ポートを割り当てる。
S211の後、または、HCRPに対応していないと判断した場合(S210:NO)、CPU11は、プリンタ2がSPPに対応しているか否かを判断する(S212)。SPPに対応していると判断した場合(S212:YES)、CPU11は、プリンタ2のデバイス情報の通信プロファイルとして、SPPを有効にする指示をOS41に渡す(S213、図2のA9)。S213は、有効処理の一例である。OS41は、SPPを有効にする指示を受け取ると、BTデバイスDB43に登録されているプリンタ2のデバイス情報を更新し、プリンタ2のBTアドレスにシリアルポートを割り当てる。
なお、本形態のOS41は、デバイス情報として登録された通信プロファイルの情報を返す機能を有していない。つまり、CPU11は、通信プロファイルが有効となっているか否かを確認して、その結果に応じてS211やS213を実行する、という処理を実行できない。その一方で、すでに有効となっている通信プロファイルをさらに有効にする指示を受け取ったとしても、OS41は、デバイス情報や設定済みの通信ポートの情報に単に上書きするのみである。つまり、設定済みの通信ポートが変更されることはない。有効となっている通信プロファイルの情報を返す機能、または、指定した通信プロファイルについて有効か否かの情報を返す機能、を有しているOSを使用している場合には、CPU11は、それらの機能を使用して、S211やS213を実行するか否かを決定してもよい。
本形態のプリンタ2は、少なくともSPPに対応していることから、CPU11は、S212にてYESと判断し、SPPを有効にする。本形態のインストーラ42の対象であるすべてのモデルがSPPに対応している場合には、S212の判断は行わなくてもよい。具体的には、CPU11は、S211の後、または、S210にてNOと判断した後、S213に進むとすればよい。本形態では、プリンタ2がHCRPにも対応している場合には、CPU11は、HCRPも有効にするので、通信プロファイルに関してユーザの選択の幅が広がる。一方、プリンタ2がHCRPに対応していない場合には、CPU11は、HCRPを有効にしないので、無駄な処理を省くことができる。
なお、PC1は、通信ポートではなくBTアドレスを直接指定することで、プリンタ2との通信を行うことも可能である。ただし、BTアドレスによる通信で送信可能なデータサイズには制限があり、通信ポートを設定することで、送信可能なデータサイズが大きくなり、印刷データの送信が可能となる。
CPU11は、SPPを有効にした後、登録済みのシリアルポートの情報とそのポートに対応付けられているBTアドレスの情報とをOS41から取得する(S214)。S214にて取得される情報には、S213の指示によってOS41が設定したCOMポート、すなわち、プリンタ2に対応付けられているCOMポートの情報が含まれる。CPU11は、取得した情報に基づいて、追加デバイスであるプリンタ2のBTアドレスが紐付けられているCOMポートを特定し(S215)、特定したCOMポートの情報を、プリンタ2で用いる通信ポートとして、デバイスIDと関連付けてBTデバイスDB43に登録する。
CPU11は、有効にした通信プロファイルの情報と、各通信プロファイルにて使用する通信ポートの情報とを特定して(S220)、デバイス追加処理を終了し、セットアップ処理に戻る。つまり、ペアリングモジュール423は、通信プロファイルの情報と通信ポートの情報とをUIモジュール422に渡し、処理を終了する。なお、インストーラ42は、複数のデバイスのペアリングを連続して行っても良い。その場合、ペアリングモジュール423の処理をデバイスの台数分繰り返しても良い。
図7のセットアップ処理の説明に戻る。CPU11は、S104のデバイス追加処理の後、ペアリングモジュール423から受け取った通信プロファイルのうち、使用する通信プロファイルの指定をユーザの操作によって受け付ける(S110)。なお、CPU11は、S101にて通信プロファイルの指定をも受け付けても良い。
そして、CPU11は、SPPが選択されたか否かを判断する(S111)。なお、プリンタ2にて対応可能な通信プロファイルがSPPのみであれば、S110では、ユーザの操作を受け付ける必要はなく、CPU11は、使用する通信プロファイルをSPPに決定すればよい。
SPPが選択されたと判断した場合(S111:YES)、CPU11は、プリンタ2と対応付けられた通信ポートの選択をユーザの操作によって受け付ける(S112、図2のA13)。CPU11は、例えば、デバイス追加処理のS220にて特定された通信ポートが選択されやすいような形態で、デバイスが設定されているシリアルポートの一覧をユーザIF13に表示させ(図2のA12)、ユーザの選択を受け付ける。CPU11は、例えば、今回のペアリングによって新たにデバイスが登録された通信ポートを、一番上に表示、強調して表示、その通信ポートのみを表示等の表示態様にて表示させる。CPU11は、ユーザの操作を受け付けることなく、デバイス追加処理のS220にて特定された通信ポートに決定しても良い。
そして、CPU11は、選択された通信ポートに対応する印刷ポートが有るか否かを判断する(S113)。S113は、判断処理の一例である。印刷ポートは、特定ポートの一例である。
OS41によっては、予め用意されているCOMポートの全てにデバイスを対応付けた後に、さらにデバイスの追加指示を受け付けると、COMポートを追加して通信ポートリスト44に登録し、追加したCOMポートにそのデバイスを対応付ける場合がある。さらに、通信ポートリスト44に追加されたCOMポートは、印刷ポートリスト45には即座には反映されない場合がある。この場合、選択された通信ポートが追加されたCOMポートであると、対応する印刷ポートが存在しない可能性がある。
印刷ポートが有ると判断した場合(S113:YES)、CPU11は、その印刷ポートに対応するプリントキューの作成と、作成したプリントキューに対応付けて、インストール済みのプリンタドライバ421の登録と、をOS41に指示する(S114、図2のA14)。S114は、セットアップ処理の一例である。これにより、SPPに基づくBT通信用のプリントキューが生成され(図2のA15)、プリンタドライバ421がプリントキューを介して印刷ポートと関連付けられるので、プリンタドライバ421とプリンタ2との通信が可能になる。
印刷ポートが無いと判断した場合(S113:NO)、CPU11は、OS41の再起動を促す通知を行う(S115)。シリアルポートを追加した後、OS41またはスプーラ411を再起動すれば、スプーラ411は、その起動時に通信ポートリスト44に基づいて、印刷ポートリスト45を再構成する。そして、追加された通信ポートに対応する印刷ポートが、印刷ポートリスト45に設けられることから、プリントキューの作成とプリンタドライバ421の登録とが可能になる。再起動を報知することで、セットアップを完了できる可能性が高まる。
一方、通信プロファイルとしてHCRPが選択されたと判断した場合(S111:NO)、CPU11は、HCRPに対応する処理を実行する(S116)。HCRPの場合には、通信ポートの設定のための処理の多くはOS41によって行われる。S114またはS116の後、CPU11は、セットアップ処理を終了する。
以上、詳細に説明したように、本形態のインストーラ42は、BT通信によるペアリングに成功した場合に、そのBT通信において、プリンタ2が対応可能な通信プロファイルを有効にする。BT通信用のドライバの不良等によって、OS41が、通信プロファイルを有効にしなかった場合であっても、インストーラ42が有効にすることで、プリンタドライバ421がBT通信によってプリンタ2との無線通信を行うためのセットアップを完了できる可能性が高まる。
さらに、本形態のインストーラ42は、プリンタ2のモデル情報を取得し、モデル情報に基づいて、プリンタ2にて対応可能な通信プロファイルを有効にするので、対応不可能な通信プロファイルを有効とすることはなく、無駄な処理を省くことができる。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、デバイスは、プリンタドライバ421等のプログラムを用いてPC1と通信する装置であれば良く、プリンタに限らず、例えば、複合機、FAX装置、スキャナであっても良い。また、PCやデバイスの数は、図示の例に限らない。
また、本形態では、BT通信とその通信プロファイルについて説明したが、OS41によるペアリングが必要な通信規格であれば、BT通信に限らない。また、有効にする通信プロファイルは、SPPとHCRPのみに限らず、プリンタ2にて対応可能な全ての通信プロファイルを有効にしても良い。一方、プリンタ2が複数の通信プロファイルに対応可能であっても、SPPのみを有効にしても良い。少なくともSPPを有効にすることで、プリンタドライバ421はプリンタ2に印刷データを送信できる。
また、本形態では、デバイスにて対応可能な通信プロファイルの情報は、各モデル情報に対応してインストーラ42が有しているとしたが、これに限らない。例えば、インストーラ42は、通信プロファイルの情報を有するファイルやサーバから必要な情報を取得しても良い。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 プリンタ
11 CPU
13 ユーザIF
14 通信IF
41 OS
42 インストーラ

Claims (10)

  1. 情報処理装置にソフトウェアをセットアップするプログラムであって、前記ソフトウェアは、特定のデバイスとの通信に用いられるプログラムであり、
    前記情報処理装置のコンピュータに、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行させ、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータに、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行させ、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータに、
    前記有効処理の後、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行させ、前記セットアップ処理は、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのデバイスキューを作成する処理であり、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、作成された前記デバイスキューは、前記オペレーティングシステムのスプーラによって管理され、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるデバイスドライバである、
    ことを特徴とするプログラム。
  2. 請求項1に記載するプログラムにおいて、
    第1モジュールと、前記第1モジュールとは異なる第2モジュールと、を有し、
    前記コンピュータに、
    前記追加処理および前記有効処理を、前記第1モジュールによって実行させ、
    前記セットアップ処理を、前記第2モジュールによって実行させる、
    ことを特徴とするプログラム。
  3. 情報処理装置にソフトウェアをセットアップするプログラムであって、前記ソフトウェアは、特定のデバイスとの通信に用いられるプログラムであり、
    前記情報処理装置のコンピュータに、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行させ、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータに、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行させ、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータに、
    前記有効処理の後、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行させ、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータに、
    前記特定のデバイスと対応付けられた通信ポートである特定ポートがあるか否かを判断する判断処理を実行させ、前記情報処理装置は、通信インタフェースを備え、前記オペレーティングシステムには、前記通信インタフェースを介してデバイスと通信するための通信ポートが複数設定されており、通信ポートごとにデバイスを対応付けることが可能であり、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信が有効である場合、設定された通信ポートの1つを前記特定のデバイスと対応付け、
    さらに前記コンピュータに、
    前記有効処理の後、前記判断処理にて前記特定ポートがあると判断した場合に、前記セットアップ処理を実行させ、前記判断処理にて前記特定ポートがないと判断した場合に、前記セットアップ処理を実行させない、
    ことを特徴とするプログラム。
  4. 請求項3に記載するプログラムにおいて、
    前記コンピュータに、前記ソフトウェアを前記情報処理装置にインストールした後に、前記セットアップ処理を実行させ、
    前記セットアップ処理は、
    前記ソフトウェアが前記特定のデバイスと通信するためのデバイスキューを作成する処理であり、作成された前記デバイスキューは、前記特定のデバイスと対応付けられた通信ポートと対応付けられ、前記オペレーティングシステムのスプーラによって管理され、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるデバイスドライバである、
    ことを特徴とするプログラム。
  5. 情報処理装置にソフトウェアをセットアップするプログラムであって、前記ソフトウェアは、特定のデバイスとの通信に用いられるプログラムであり、
    前記情報処理装置のコンピュータに、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行させ、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータに、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行させ、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータに、
    前記有効処理の後、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行させ、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータに、
    前記特定のデバイスのモデルを取得する取得処理を実行させ、前記特定のデバイスは、前記所定の無線通信プロトコルで対応可能なプロファイルがモデルごとに異なり、
    さらに前記コンピュータに、
    前記追加処理の後でかつ前記ペアリングが終了した場合に、前記取得処理にて取得したモデルが前記特定プロファイルに対応している場合に、前記有効処理を実行させ、前記取得処理にて取得したモデルが前記特定プロファイルに対応していない場合に、前記有効処理を実行させない、
    ことを特徴とするプログラム。
  6. 情報処理装置にソフトウェアをセットアップするプログラムであって、前記ソフトウェアは、特定のデバイスとの通信に用いられるプログラムであり、
    前記情報処理装置のコンピュータに、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行させ、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータに、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行させ、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータに、
    前記有効処理の後、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行させ、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータに、
    前記特定のデバイスと通信する接続形態を、前記情報処理装置のユーザインタフェースを介して選択させる選択処理を実行させ、
    さらに前記コンピュータに、
    前記選択処理にて前記所定の無線通信プロトコルが選択された場合に、前記追加処理を実行させ、前記所定の無線通信プロトコルは、1対1で無線接続する接続形態である、
    ことを特徴とするプログラム。
  7. 通信インタフェースと、
    コンピュータと、
    を備える情報処理装置であって、
    前記コンピュータは、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行し、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記通信インタフェースを介して接続可能な特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータは、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行し、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータは、
    前記有効処理の後、ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行し、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるプログラムであり、前記セットアップ処理は、前記ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのデバイスキューを作成する処理であり、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、作成された前記デバイスキューは、前記オペレーティングシステムのスプーラによって管理され、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるデバイスドライバである、
    ことを特徴とする情報処理装置。
  8. 通信インタフェースと、
    コンピュータと、
    を備える情報処理装置であって、
    前記コンピュータは、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行し、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記通信インタフェースを介して接続可能な特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータは、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行し、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータは、
    前記有効処理の後、ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行し、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるプログラムであり、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータは、
    前記特定のデバイスと対応付けられた通信ポートである特定ポートがあるか否かを判断する判断処理を実行し、前記情報処理装置は、通信インタフェースを備え、前記オペレーティングシステムには、前記通信インタフェースを介してデバイスと通信するための通信ポートが複数設定されており、通信ポートごとにデバイスを対応付けることが可能であり、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信が有効である場合、設定された通信ポートの1つを前記特定のデバイスと対応付け、
    さらに前記コンピュータは、
    前記有効処理の後、前記判断処理にて前記特定ポートがあると判断した場合に、前記セットアップ処理を実行し、前記判断処理にて前記特定ポートがないと判断した場合に、前記セットアップ処理を実行しない、
    ことを特徴とする情報処理装置。
  9. 通信インタフェースと、
    コンピュータと、
    を備える情報処理装置であって、
    前記コンピュータは、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行し、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記通信インタフェースを介して接続可能な特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータは、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行し、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータは、
    前記有効処理の後、ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行し、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるプログラムであり、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータは、
    前記特定のデバイスのモデルを取得する取得処理を実行し、前記特定のデバイスは、前記所定の無線通信プロトコルで対応可能なプロファイルがモデルごとに異なり、
    さらに前記コンピュータは、
    前記追加処理の後でかつ前記ペアリングが終了した場合に、前記取得処理にて取得したモデルが前記特定プロファイルに対応している場合に、前記有効処理を実行し、前記取得処理にて取得したモデルが前記特定プロファイルに対応していない場合に、前記有効処理を実行しない、
    ことを特徴とする情報処理装置。
  10. 通信インタフェースと、
    コンピュータと、
    を備える情報処理装置であって、
    前記コンピュータは、
    前記情報処理装置のオペレーティングシステムに対して、デバイスを追加する指示を行う追加処理を実行し、前記オペレーティングシステムは、デバイスを追加する指示を受け付けた場合、前記通信インタフェースを介して接続可能な特定のデバイスとの間で所定の無線通信プロトコルに基づくペアリングを行い、前記特定のデバイスの情報を登録し、
    さらに前記コンピュータは、
    前記追加処理の後、前記ペアリングが終了した場合に、前記オペレーティングシステムに対して、前記特定のデバイスが前記所定の無線通信プロトコルにおいて対応可能なプロファイルの1つである特定プロファイルに基づく無線通信を有効にする指示を行う有効処理を実行し、前記オペレーティングシステムは、前記特定プロファイルに基づく無線通信を有効にする指示を受け付けた場合、前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることを書き込み、
    さらに前記コンピュータは、
    前記有効処理の後、ソフトウェアが前記特定のデバイスと前記特定プロファイルに基づく無線通信を行うためのセットアップ処理を実行し、前記ソフトウェアは、前記特定のデバイスとの通信に用いられるプログラムであり、前記セットアップ処理は、前記オペレーティングシステムに登録された前記特定のデバイスの情報に、前記特定プロファイルに基づく無線通信が有効であることが書き込まれていないと成功せず、
    さらに前記コンピュータは、
    前記特定のデバイスと通信する接続形態を、前記情報処理装置のユーザインタフェースを介して選択させる選択処理を実行し、
    さらに前記コンピュータは、
    前記選択処理にて前記所定の無線通信プロトコルが選択された場合に、前記追加処理を実行し、前記所定の無線通信プロトコルは、1対1で無線接続する接続形態である、
    ことを特徴とする情報処理装置。
JP2020079127A 2020-04-28 2020-04-28 プログラムおよび情報処理装置 Active JP7484387B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020079127A JP7484387B2 (ja) 2020-04-28 2020-04-28 プログラムおよび情報処理装置
US17/238,531 US11392332B2 (en) 2020-04-28 2021-04-23 Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020079127A JP7484387B2 (ja) 2020-04-28 2020-04-28 プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2021174355A JP2021174355A (ja) 2021-11-01
JP7484387B2 true JP7484387B2 (ja) 2024-05-16

Family

ID=78222194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020079127A Active JP7484387B2 (ja) 2020-04-28 2020-04-28 プログラムおよび情報処理装置

Country Status (2)

Country Link
US (1) US11392332B2 (ja)
JP (1) JP7484387B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003209782A (ja) 2002-01-15 2003-07-25 Sony Corp 画像送信装置、画像送信方法、画像送受信システム及び画像送信制御プログラム
JP2004185388A (ja) 2002-12-04 2004-07-02 Canon Inc 情報処理装置
JP2007048211A (ja) 2005-08-12 2007-02-22 Canon Inc 情報処理装置、方法、周辺装置、制御プログラム
JP2011076225A (ja) 2009-09-29 2011-04-14 Canon Inc 画像形成装置、該装置の制御方法、制御プログラム
JP2014179932A (ja) 2013-03-15 2014-09-25 Alpine Electronics Inc ハンズフリー通話装置及びコンピュータプログラム
JP2015144402A (ja) 2013-12-24 2015-08-06 クラリオン株式会社 車載装置及び車載装置の制御方法
JP2018124778A (ja) 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105361A (ja) 2011-11-15 2013-05-30 Seiko Epson Corp プリンタードライバー、プリンタードライバーのインストーラー、および印刷データの処理方法
US9100828B2 (en) * 2012-09-30 2015-08-04 Apple Inc. Transferring data over Bluetooth using intermediary bridge
US11055045B2 (en) * 2018-03-28 2021-07-06 Brother Kogyo Kabushiki Kaisha Computer-readable medium, image forming apparatus, and system for communicating different types of data
JP7484386B2 (ja) * 2020-04-28 2024-05-16 ブラザー工業株式会社 プログラムおよび情報処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003209782A (ja) 2002-01-15 2003-07-25 Sony Corp 画像送信装置、画像送信方法、画像送受信システム及び画像送信制御プログラム
JP2004185388A (ja) 2002-12-04 2004-07-02 Canon Inc 情報処理装置
JP2007048211A (ja) 2005-08-12 2007-02-22 Canon Inc 情報処理装置、方法、周辺装置、制御プログラム
JP2011076225A (ja) 2009-09-29 2011-04-14 Canon Inc 画像形成装置、該装置の制御方法、制御プログラム
JP2014179932A (ja) 2013-03-15 2014-09-25 Alpine Electronics Inc ハンズフリー通話装置及びコンピュータプログラム
JP2015144402A (ja) 2013-12-24 2015-08-06 クラリオン株式会社 車載装置及び車載装置の制御方法
JP2018124778A (ja) 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Also Published As

Publication number Publication date
US11392332B2 (en) 2022-07-19
JP2021174355A (ja) 2021-11-01
US20210334051A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US7600226B2 (en) Device driver updating method and program, information processing apparatus and server apparatus using the same, and storage for storing device driver updating program
US8427661B2 (en) Apparatus and method for efficiently controlling printers associated with different networks based upon acquired printer or network information, and nontransitory computer readable recording medium for causing computer to function as the same
US20070097400A1 (en) Automatic installation system for printer driver, and program recording medium
JP2011204239A (ja) 印刷制御端末装置及びこれを利用した画像形成装置のファームウェアアップグレード方法
JP2018128790A (ja) 情報処理装置、プログラム、インストール方法
KR20170019226A (ko) 클라우드 프린트 서비스를 이용하는 방법 및 이를 수행하기 위한 장치
CN104583932B (zh) 信息处理装置及安装方法
JP2003084984A (ja) 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体
JP2004265061A (ja) プログラムインストール方法、装置、及びシステム
EP3271811A1 (en) Information processing device, computer-readable recording medium, and information processing system
US20200310701A1 (en) Image processing system including image processing apparatus and information processing apparatus configured to inform user that specific image processing program for image processing apparatus is available
US10205852B2 (en) System, apparatus, and method for allowing a program to cache user information
JP7484387B2 (ja) プログラムおよび情報処理装置
JP7484391B2 (ja) プログラム、プログラムセット、および情報処理装置
JP7484386B2 (ja) プログラムおよび情報処理装置
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP7472253B2 (ja) 情報処理装置、方法、及びプログラム
JP7427970B2 (ja) 画像処理システムおよびデバイス利用プログラムのインストーラ
US11327693B2 (en) Computer-readable medium, information processing device, and Method for installing appropriate program
JP7247644B2 (ja) プログラム、情報処理装置、及びセットアップ方法
JP2025012262A (ja) セットアッププログラムおよびセットアップ方法
US10101952B2 (en) Driver installation system
JP2021068012A (ja) インストールプログラム、情報処理装置、および通信システム
WO2016147666A1 (en) Information processing device, computer-readable recording medium, and information processing system
JP2010050779A (ja) 複合システム、および、スキャナ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240222

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: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240415

R150 Certificate of patent or registration of utility model

Ref document number: 7484387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150