JP7056310B2 - アプリケーションプログラムのセットアップ方法およびダウンロードサーバ - Google Patents

アプリケーションプログラムのセットアップ方法およびダウンロードサーバ Download PDF

Info

Publication number
JP7056310B2
JP7056310B2 JP2018062043A JP2018062043A JP7056310B2 JP 7056310 B2 JP7056310 B2 JP 7056310B2 JP 2018062043 A JP2018062043 A JP 2018062043A JP 2018062043 A JP2018062043 A JP 2018062043A JP 7056310 B2 JP7056310 B2 JP 7056310B2
Authority
JP
Japan
Prior art keywords
information
download
request
download server
installer
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
JP2018062043A
Other languages
English (en)
Other versions
JP2019175100A (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 JP2018062043A priority Critical patent/JP7056310B2/ja
Priority to US16/362,767 priority patent/US10838704B2/en
Publication of JP2019175100A publication Critical patent/JP2019175100A/ja
Application granted granted Critical
Publication of JP7056310B2 publication Critical patent/JP7056310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Description

本明細書に開示される技術分野は、デバイスを制御するアプリケーションプログラムのセットアップ方法およびダウンロードサーバに関する。
プリンタやスキャナ等のデバイスを制御するアプリケーションプログラムがある。このようなアプリケーションプログラムに関する技術としては、例えば特許文献1がある。特許文献1には、印刷アプリケーションをインストールした後、その印刷アプリケーションがプリンタを検索し、検索されたプリンタの中から1つのプリンタを選択する構成が開示されている。
特開2016-177505号公報
アプリケーションプログラムでデバイスを制御するためには、アプリケーションプログラムが用意した画面を介して、ユーザの操作によってそのデバイスを選択する必要がある。このデバイスの選択操作はユーザにとって手間であり、改善の余地がある。
本明細書に開示される技術は、前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、デバイスを制御するアプリケーションプログラムのセットアップについて、ユーザの手間を軽減する技術を提供することにある。
この課題の解決を目的としてなされたセットアップ方法は、アプリケーションプログラムのセットアップ方法において、前記アプリケーションプログラムのダウンロードを要求するダウンロード要求であって、デバイスの種別を識別する第1情報を含む前記ダウンロード要求を、情報処理装置によって、前記アプリケーションプログラムのインストーラを記憶するダウンロードサーバに送信するダウンロード要求ステップと、前記ダウンロードサーバが前記ダウンロード要求を受信した場合に、前記ダウンロードサーバによって、受信した前記ダウンロード要求の送信元を示す第2情報と前記第1情報とを関連付けてメモリに記憶する記憶ステップと、前記ダウンロードサーバが前記ダウンロード要求を受信した場合に、前記ダウンロードサーバによって、前記インストーラを前記第2情報が示す前記情報処理装置に送信するインストーラ送信ステップと、前記情報処理装置が前記インストーラを受信した後、所定のタイミングで、前記メモリに記憶された前記第1情報の送信を要求する送信要求を、前記情報処理装置によって、前記ダウンロードサーバに送信するデバイス情報要求ステップと、前記ダウンロードサーバが前記送信要求を受信した場合に、前記ダウンロードサーバによって、受信した前記送信要求の送信元を示す第3情報と一致する前記第2情報を前記メモリから検索し、検索された前記第2情報に関連付けられた前記第1情報を前記メモリから読み出し、読み出した前記第1情報を、前記第3情報が示す前記情報処理装置に送信するデバイス情報送信ステップと、前記情報処理装置が前記ダウンロードサーバから前記第1情報を受信した後、前記情報処理装置によって、受信した前記第1情報に対応するデバイスを検索し、検索されたデバイスを前記アプリケーションプログラムで選択されるデバイスに決定する決定ステップと、を含むことを特徴としている。
本明細書に開示されるセットアップ方法では、情報処理装置から行うダウンロード要求にデバイスの種別を識別する第1情報が含まれ、ダウンロード要求を受信したダウンロードサーバは、ダウンロード要求の送信元を示す情報である第2情報と、第1情報とを関連付けて記憶する。その後、ダウンロード要求を送信した情報処理装置は、第1情報の送信を要求する送信要求をダウンロードサーバに送信する。ダウンロードサーバは、送信要求の送信元を示す情報である第3情報と一致する第2情報に関連付けて記憶されている第1情報を読み出し、情報処理装置に送信する。情報処理装置は、受信した第1情報に基づいて、アプリケーションプログラムで選択されるデバイスを自動的に決定する。従って、ユーザの操作によってデバイスを選択する手間が不要であり、ユーザの手間が軽減されている。
上記セットアップ方法にて実行されるアプリケーションプログラムが組み込まれた情報処理装置、アプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体、及びアプリケーションプログラムの機能を実現するための制御方法も、新規で有用である。
本明細書に開示される技術によれば、デバイスを制御するアプリケーションプログラムのセットアップについて、ユーザの手間を軽減する技術が実現される。
ダウンロードシステムの電気的構成を示すブロック図である。 セットアップの手順の例を示すシーケンス図である。 機種情報テーブルの例を示す説明図である。 セットアップの手順の例を示すシーケンス図である。 セットアップの手順の例を示すシーケンス図である。
以下、第1の実施の形態にかかるセットアップ方法について、添付図面を参照しつつ詳細に説明する。本形態は、アプリケーションプログラム(以下、「アプリ」とする)を、ダウンロードしてセットアップする方法を具体化した実施の形態を開示するものである。
本形態のセットアップ方法では、例えば、図1に示すように、インターネット100に接続可能なパーソナルコンピュータ(以下、「PC」とする)101は、インターネット100を介してダウンロードサーバ102にアクセスして、印刷アプリ42をダウンロードする。PC101は、情報処理装置の一例である。本方法にてセットアップされる印刷アプリ42は、プリンタ等のデバイスを制御するアプリである。
PC101は、各種のプログラムの実行が可能な装置である。PC101は、図1に示すように、CPU11と、ROM12と、RAM13と、不揮発性メモリ14と、を含むコントローラ10を備えている。さらに、操作部15と、ネットワークインターフェース(以下、「ネットワークIF」とする)16と、USBインターフェース(以下、「USB-IF」とする)17と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC101の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC101に存在する単一のハードウェアを表すとは限らない。
ROM12には、PC101を起動するための起動プログラム等が記憶されている。RAM13は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ14は、例えば、HDD、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。CPU11は、ROM12や不揮発性メモリ14から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。
操作部15は、例えば、ディスプレイ等の表示装置と、キーボード、マウス等の入力装置とを含み、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアである。操作部15は、タッチパネル等の入力機能と出力機能との両方を備えるユーザインターフェースであっても良い。
ネットワークIF16は、インターネット100を介して外部装置と通信を行うためのハードウェアを含む。ネットワークIF16の通信方式は、無線でも有線でもよく、LAN、Wi-Fi(登録商標)など、どのような規格の方式でもよい。本形態では、PC101は、ルータ103を介してインターネット100に接続される。ルータ103は、ネットワーク間を中継して接続する装置である。また、USB-IF17は、例えば、プリンタ等のデバイスとの通信を行うためのハードウェアを含む。なお、デバイスは、ネットワークIF16にて接続されても良い。
PC101の不揮発性メモリ14には、ブラウザ41を含む,各種のプログラムが記憶されている。ブラウザ41は、ウェブページを表示するプログラムである。また、PC101は、印刷アプリ42のインストーラをダウンロードした場合、ダウンロードしたインストーラを不揮発性メモリ14に記憶する。また、印刷アプリ42のセットアップが終了した後は、印刷アプリ42が不揮発性メモリ14に記憶される。
ダウンロードサーバ102は、図1に示すように、制御部21と、操作部22と、通信インターフェース(以下、「通信IF」とする)23と、メモリ24と、を含み、各種のプログラムの実行が可能な装置である。通信IF23は、インターネット100を介して外部装置と通信を行うためのハードウェアを含む。なお、ダウンロードサーバ102は、1台の装置で構成されているとは限らず、複数台の装置の協働によって動作するものであってもよい。例えば、メモリ24の少なくとも一部は、ダウンロードサーバ102からアクセス可能な他の装置に設けられていてもよい。その場合でも、以下では、「ダウンロードサーバ102のメモリ24」と記載する。
本形態のダウンロードサーバ102のメモリ24は、例えば、ROM、RAM、HDDを含み、各種のプログラムやデータが記憶されている。メモリ24には、例えば、ダウンロードプログラム(以下、「DLプログラム」とする)46と、印刷アプリ42のインストーラ47と、が記憶されている。なお、図1では、1つのインストーラ47のみを示しているが、ダウンロードサーバ102は、例えば、印刷アプリ42のインストーラ47を含む複数種のアプリやマニュアル等を記憶しており、ダウンロード要求されたプログラムやデータを選択してダウンロード要求を送信した装置に送信する。
続いて、印刷アプリ42をPC101にセットアップする動作について、図2~図3を参照して説明する。なお、以下の説明における処理および処理ステップは、基本的に、インストーラ47などのプログラムに記述された命令に従ったCPU11や制御部21の処理を示す。また、PC101やダウンロードサーバ102のOSによる処理を区別せずに記載する。
PC101のユーザは、例えば、プリンタを新規に購入した場合、購入したプリンタをPC101にて制御するための印刷アプリ42をダウンロードして入手する。PC101は、例えば、プリンタの製造メーカや印刷アプリ42の製造メーカによって提供されているウェブページ等を介して、印刷アプリ42のセットアップを指示するユーザ操作を受け付ける。PC101は、例えば、図2のシーケンス図に示すように、ダウンロードサーバ102と通信し、印刷アプリ42のセットアップを行う。
PC101は、ユーザ操作に基づいて、ブラウザ41を起動して(手順51)、ウェブページを表示し、URLの入力を受け付ける(手順52)。このURLは、製品のマニュアル等に記載されているものでよい。
URLには、ダウンロード要求先であるダウンロードサーバ102のDLプログラム46を動作させる情報に加え、クエリパラメータとして、プリンタの機種情報が含まれている。例えば、以下の(例1)のURLでは、「?」より右側の文字列が、「modelA」の機種情報を含むクエリパラメータである。クエリパラメータに含まれる機種情報は、デバイスの種別を識別する情報であって、第1情報の一例であり、クエリパラメータによって機種情報を含むURLは、第1情報をクエリ形式で含むURLの一例である。
http://www.xxxxx.co.jp/product/appName?printer=modelA …(例1)
そして、プリンタの機種ごとに、URLに含まれるクエリパラメータが異なる。例えば、上記の(例1)とは異なる機種である「modelB」では、ダウンロード要求用のURLは、例えば、以下の(例2)のURLである。
http://www.xxxxx.co.jp/product/appName?printer=modelB …(例2)
ダウンロード要求用のURLは、選択された機種が異なっていてもクエリパラメータ以外の部分は同一であり、ダウンロードサーバ102のDLプログラム46を動作させることを示している。ダウンロードサーバ102は、クエリパラメータを含むダウンロード要求を受信した場合、DLプログラム46を動作させ、クエリパラメータから機種情報を取得する。ダウンロード要求用のURLは、ダウンロード要求の一例であり、手順53は、ダウンロード要求ステップ及びダウンロード要求受信処理の一例である。
そして、ダウンロードサーバ102は、図2に示すように、受け付けたダウンロード要求を送信したIPアドレスであって、インストーラ47を送信する送信先を示すIPアドレスと、URLのクエリパラメータから取得した機種情報とを関連付けて記憶する(手順54)。ダウンロード要求を送信したPC101を示すIPアドレスは、第2情報の一例である。手順54は、記憶ステップ及び記憶処理の一例である。
ダウンロードサーバ102は、メモリ24に、例えば、図3に示すように、機種情報テーブル81を備える。機種情報テーブル81には、IPアドレス811と、機種情報812と、受信日時813と、が関連付けて記憶される。IPアドレス811は、ダウンロード要求を送信した装置を示すIPアドレスの情報である。なお、通常、PC101がルータ103に接続され、ルータ103を介してダウンロード要求が送信される。ルータ103を介してダウンロード要求が送信される場合のIPアドレス811は、ルータ103のIPアドレスである。ルータ103のIPアドレスも、PC101を示すIPアドレスの一例である。
機種情報812は、ダウンロード要求のクエリパラメータに含まれる機種情報である。なお、ダウンロード要求にクエリパラメータが含まれていない場合、ダウンロードサーバ102は、機種情報テーブル81への記憶を行わない。受信日時813は、ダウンロードサーバ102がこのダウンロード要求を受信した日時の情報である。
そして、ダウンロードサーバ102は、図2に示すように、ダウンロード要求を受け付けた印刷アプリ42のインストーラ47をPC101に送信する(手順55)。手順55は、インストーラ送信ステップ及びインストーラ送信処理の一例である。PC101は、ダウンロードサーバ102から送信されるインストーラ47を受信し、不揮発性メモリ14に記憶させる(手順56)。インストーラ47の受信が完了したら、PC101は、操作部15に、例えば、ダウンロードが終了した情報と、インストール開始の指示を受け付けるためのボタンと、を表示させる。
そして、PC101は、ユーザ操作によってインストール開始の指示を受け付けると(手順57)、インストーラ47を起動させ、印刷アプリ42のインストールを開始する(手順58)。PC101は、インストーラ47によるインストール開始からインストール終了までの期間中に、ダウンロードサーバ102へ機種情報の送信を要求する送信要求を送信する(手順59)。手順59は、デバイス情報要求ステップの一例である。そして、手順59の実行タイミングであって、インストーラ47の実行中のタイミングは、所定のタイミングの一例である。
ダウンロードサーバ102は、PC101から送信された送信要求を受信する(手順59)。つまり、手順59は、送信要求受信処理の一例でもある。そして、ダウンロードサーバ102は、機種情報テーブル81のIPアドレス811から、送信要求の送信元を示すIPアドレスと一致するものを検索する。送信要求を送信したPC101を示すIPアドレスは、第3情報の一例である。さらに、ダウンロードサーバ102は、一致するIPアドレス811が見つかったら、そのIPアドレス811に関連付けて記憶されている機種情報812を読み出す(手順60)。
機種情報テーブル81には、手順54にて、ダウンロード要求の送信元を示すIPアドレス811に関連付けて、ダウンロード要求に含まれる機種情報812が記憶されている。ダウンロード要求を送信した時と、送信要求を送信した時とで、PC101のIPアドレスが一致していれば、ダウンロードサーバ102は、機種情報テーブル81から該当する機種情報812を検索できる。なお、ダウンロード後、すぐにインストールを開始させるユーザが多いことから、IPアドレスは一致している可能性が高い。
そして、図2に示すように、ダウンロードサーバ102は、手順60にて読み出した機種情報812を、送信要求を送信したPC101に送信する(手順61)。手順61は、デバイス情報送信ステップ及び送信要求応答処理の一例である。さらに、ダウンロードサーバ102は、送信した機種情報812及び関連付けられているIPアドレス811を、機種情報テーブル81から削除する(手順62)。
PC101は、インストーラ47の実行中に、ダウンロードサーバ102から送信される機種情報812を受信する(手順61)。さらに、インストーラ47は、受信した機種情報812に基づいて、印刷アプリ42の印刷対象の機種に関する情報を、PC101の不揮発性メモリ14に記憶させる(手順63)。インストーラ47は、PC101に、例えば、印刷アプリ42が読み出し可能な所定の記憶場所にファイルを作成させ、受信した機種情報812に基づく情報を作成したファイルへ記憶させる。
なお、ダウンロードサーバ102は、送信要求の送信元を示すIPアドレスと一致するIPアドレス811が機種情報テーブル81に無かった場合、手順61にて、機種情報812が無いことを示す情報を送信し、手順62をスキップする。PC101は、インストーラ47の実行中に受信した情報が機種情報812が無いことを示す情報であった場合、手順63をスキップする。
そして、PC101は、ユーザ操作によって、印刷アプリ42の起動の指示を受け付ける(手順64)。PC101は、印刷アプリ42の実行中に、所定の記憶場所から機種情報812に基づく情報を読み出し、例えば、ブロードキャストまたはマルチキャストを行って、読み出した情報に対応するプリンタを検索する(手順65)。さらに、PC101は、検索されたプリンタを、印刷アプリ42での印刷対象の装置として、自動的に決定する(手順66)。手順66は、決定ステップの一例である。
機種情報812は、ダウンロード要求のプリンタの機種の情報であることから、印刷アプリ42の初期設定として、当該プリンタの機種が設定される。つまり、印刷アプリ42は、印刷アプリ42のインストーラ47のダウンロード要求時に含まれた機種のプリンタを、印刷対象の装置として自動的に決定する。例えば、機種ごとに印刷アプリ42にて選択できる機能や設定画面が異なっていれば、印刷アプリ42は、機種情報812に対応する印刷設定画面を表示させる。
なお、手順65にて、機種情報812に対応するプリンタが複数検索された場合には、PC101は、そのうちの1つに自動的に決定しても良いし、ユーザの選択を受け付けても良い。また、印刷アプリ42の起動後、所定の記憶場所に機種に関する情報が記憶されていない場合、PC101は、手順65と手順66に代えて、印刷アプリ42にて制御可能な全ての機種のプリンタを検索する。そして、PC101は、印刷アプリ42の初期設定として、検索されたプリンタのうちから、ユーザによる選択を受け付けるとよい。
そして、ダウンロードサーバ102は、例えば、定期的に、機種情報テーブル81に記憶されている受信日時813を確認し、受信から所定時間が経過した情報が含まれるか否かを判断する。そして、ダウンロードサーバ102は、図2に示すように、機種情報テーブル81に記憶してから所定時間が経過した情報であるIPアドレス811と機種情報812と受信日時813とを、機種情報テーブル81から削除する(手順67)。手順67は、削除処理の一例である。
なお、定期的とは、例えば、1時間に1回、1日に1回が該当する。また、確認のタイミングは、定期的に限らず、機種情報テーブル81の容量が所定量を超えた場合、または、ユーザの指示を受け付けた場合、としてもよい。また、所定時間としては、例えば、6時間、12時間、1日が該当する。適宜削除することにより、ダウンロードサーバ102のメモリ24に保存される機種情報テーブル81の容量が制限され、メモリ24の負荷が軽減される。
以上、詳細に説明したように、本形態のセットアップ方法によれば、ダウンロードサーバ102は、印刷アプリ42のインストーラ47のダウンロード要求時のIPアドレス811と、URLのクエリパラメータに含まれる機種情報812とを関連付けて機種情報テーブル81に記憶する。PC101は、インストーラ47によるインストールの実行中に、ダウンロードサーバ102に送信要求を送信する。ダウンロードサーバ102は、送信要求の送信元を示すIPアドレスを機種情報テーブル81のIPアドレス811から検索し、該当するIPアドレス811に関連付けて記憶されている機種情報812を送信する。PC101は、受信した機種情報812に対応するプリンタを検索し、検索されたプリンタを印刷アプリ42で選択されるプリンタに自動的に決定する。従って、印刷アプリ42で実際にデバイスを制御するために必要なデバイスの選択操作を省くことができる。
続いて、第2の実施の形態にかかるセットアップ方法について、添付図面を参照しつつ説明する。本形態では、PC101は、インストーラ47の実行中には、インストールのみを行い、印刷アプリ42の実行中に送信要求を送信する。この点、インストーラ47の実行中に送信要求を送信する第1の形態と異なる。本形態のセットアップ方法は、第1の形態のセットアップ方法と比較して、送信要求の送信タイミングが異なるのみであり、同じ手順については、同じ符号を付して説明を省略する。
本形態のセットアップ方法では、図4に示すように、PC101は、インストール開始の指示を受け付けたら(手順57)、インストーラ47による印刷アプリ42のインストールを行う(手順58)。その後、PC101は、ユーザ操作によって、印刷アプリ42の起動の指示を受け付ける(手順64)。
PC101は、印刷アプリ42の起動の指示を受け付けると、印刷アプリ42を起動させた後、ダウンロードサーバ102へ機種情報の送信を要求する送信要求を送信する(手順71)。手順71にて送信される要求は、第1の形態の手順59(図2参照)にて送信される要求と同じ情報を含む。本形態では、手順71は、デバイス情報要求ステップの一例である。そして、手順71の実行タイミングであって、印刷アプリ42の実行中のタイミングは、所定のタイミングの一例である。なお、手順71の実行タイミングは、印刷の実行前であれば良く、例えば、印刷アプリ42の初回の起動時のタイミングでもよいし、印刷実行の指示を受け付けた後であってもよい。また、PC101は、印刷アプリ42の起動時にプリンタが未選択になっている場合に、手順71を行うとしてもよい。
ダウンロードサーバ102は、手順71によってPC101から送信された送信要求を受信する。手順71は、送信要求受信処理の一例でもある。そして、ダウンロードサーバ102は、機種情報テーブル81のIPアドレス811から、送信要求の送信元を示すIPアドレスと一致するものを検索する。さらに、ダウンロードサーバ102は、一致するIPアドレス811が見つかったら、そのIPアドレス811に関連付けて記憶されている機種情報812を読み出す(手順72)。
そして、図4に示すように、ダウンロードサーバ102は、読み出した機種情報812を、送信要求を送信したPC101に送信する(手順73)。手順73は、デバイス情報送信ステップ及び送信要求応答処理の一例である。さらに、ダウンロードサーバ102は、送信した機種情報812及び関連付けられているIPアドレス811を、機種情報テーブル81から削除する(手順74)。
PC101は、例えば、ブロードキャストまたはマルチキャストを行って、受信した機種情報812に対応するプリンタを検索する(手順65)。さらに、PC101は、検索されたプリンタを、印刷アプリ42での印刷対象の装置として、自動的に決定する(手順66)。
以上、詳細に説明したように、本形態では、PC101は、送信要求の送信と、プリンタの決定とを、いずれも、印刷アプリ42の実行中に行う。本形態のセットアップ方法によっても、印刷アプリ42で選択されるデバイスが自動的に決定されることから、デバイスの選択操作を省くことができる。
本形態によれば、インストーラ47は、インストールを実行するのみであるので、第1の形態に比較してインストールが短時間で終了する可能性が高い。一方、インストール終了後、印刷アプリ42を起動する前に、PC101が終了またはリセットされることがあり、その場合、IPアドレスが変更される可能性がある。ダウンロード要求の送信時と送信要求の送信時とでIPアドレスが異なると、ダウンロードサーバ102は、機種情報テーブル81からIPアドレス811を見つけられないことになり、機種情報812を取得できない可能性がある。第1の形態では、インストーラ47が送信要求を行うので、そのような不具合を回避できる。
続いて、第3の実施の形態にかかるセットアップ方法について、添付図面を参照しつつ説明する。本形態では、PC101は、インストーラ47の実行中に、機種情報812の受信とプリンタの決定とを実行する。この点、インストーラ47は受信した機種情報812を記憶するのみである第1の形態とも、機種情報812の受信を印刷アプリ42の実行中に行う第2の形態とも異なる。本形態のセットアップ方法は、第1の形態のセットアップ方法と比較して、プリンタの決定タイミングが異なるのみであり、同じ手順については、同じ符号を付して説明を省略する。
本形態のセットアップ方法では、図5に示すように、PC101は、インストール開始の指示を受け付けたら(手順57)、インストーラ47による印刷アプリ42のインストールを開始する(手順58)。さらに、第1の形態と同様に、インストーラ47の実行中に、PC101は、ダウンロードサーバ102へ機種情報の送信を要求する送信要求を送信する(手順59)。手順59は、デバイス情報要求ステップの一例である。そして、手順59の実行タイミングであって、インストーラ47の実行中のタイミングは、所定のタイミングの一例である。
本形態では、PC101は、インストーラ47の実行中に、ダウンロードサーバ102から送信される機種情報812を受信し(手順61)、受信した機種情報812に対応するプリンタを検索する(手順75)。そして、PC101は、検索されたプリンタを、印刷アプリ42での印刷対象の装置として、自動的に決定する(手順76)。手順76は、決定ステップの一例である。そして、インストーラ47は、PC101に、例えば、印刷アプリ42が読み出し可能な所定の記憶場所に、決定したプリンタ情報を記憶させる(手順77)。
本形態によれば、インストーラ47の実行中にプリンタが決定されるので、印刷アプリ42の起動後にプリンタの検索を行う必要はなく、起動後の処理が簡便になる。一方、インストール時には対象のプリンタがPC101に接続されていない可能性があり、その場合、PC101は、ダウンロードサーバ102から受信した機種情報812に合致するプリンタが見つからないことから、デバイスの決定に失敗する可能性がある。第1の形態や第2の形態では、印刷アプリ42の起動後にデバイスの決定を行うので、そのような不具合を回避できる。
なお、本明細書に開示される各実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC101に接続されるデバイスは、プリンタに限らず、コピー機、複合機等、印刷アプリ42にて制御される装置であればよい。また、PC101に接続されるプリンタは、複数台でもよい。
また、例えば、実施の形態の方法によってセットアップされるアプリは、印刷アプリ42に限らず、スキャンのためのアプリであっても良い。その場合、デバイスは、スキャナ等の画像データを取得する装置が対象となる。
また、例えば、実施の形態では、ダウンロードの指示と、インストールの指示と、アプリ起動の指示と、をそれぞれユーザ操作によって受け付けるとしたが、これに限らない。例えば、PC101は、ダウンロードの指示を受け付けた場合、ダウンロードとインストールとを連続して行っても良い。また、PC101は、インストールの指示を受け付けた場合、インストールの終了後に、インストーラ47が自動的に印刷アプリ42を起動させても良い。
また、例えば、手順62による削除は行わなくても良い。つまり、ダウンロードサーバ102は、送信要求に応じて機種情報812を送信した後も、機種情報812を記憶していても良い。例えば、所定時間の経過を待って、手順67にて削除するのみでも良い。
また、ユーザによるURLの入力は、ウェブページからの入力に限らない。例えば、URLの情報を含むQRコード(登録商標)を用いてもよい。前述したクエリパラメータが付加されたインストーラ47のURLを含むQRコードを、プリンタのパッケージや説明書、プリンタの外装等に、印刷あるいは貼付しておいてもよい。例えば、スマートフォンやタブレットコンピュータでは、カメラを備えている場合が多い。これらの装置で印刷アプリ42を使用するユーザにとっては、カメラでQRコードを読み取り、QRコードを解析するアプリを利用してそのURLにアクセスするのみでよい。このようにすれば、ユーザにデバイスの選択操作を意識させることなく、ダウンロードサーバ102は、機種情報を取得できる。特に、パッケージや外装の場合、対象のプリンタの機種に対応する1種類のQRコードのみでよいことから、ユーザにデバイスの選択を意識させなくてよい。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
11 CPU
14 不揮発性メモリ
21 制御部
23 通信IF
24 メモリ
42 印刷アプリ
47 インストーラ
100 インターネット
101 PC
102 ダウンロードサーバ

Claims (10)

  1. アプリケーションプログラムのセットアップ方法において、
    前記アプリケーションプログラムのダウンロードを要求するダウンロード要求であって、デバイスの種別を識別する第1情報を含む前記ダウンロード要求を、情報処理装置によって、前記アプリケーションプログラムのインストーラを記憶するダウンロードサーバに送信するダウンロード要求ステップと、
    前記ダウンロードサーバが前記ダウンロード要求を受信した場合に、前記ダウンロードサーバによって、受信した前記ダウンロード要求の送信元を示す第2情報と前記第1情報とを関連付けてメモリに記憶する記憶ステップと、
    前記ダウンロードサーバが前記ダウンロード要求を受信した場合に、前記ダウンロードサーバによって、前記インストーラを前記第2情報が示す前記情報処理装置に送信するインストーラ送信ステップと、
    前記情報処理装置が前記インストーラを受信した後、所定のタイミングで、前記メモリに記憶された前記第1情報の送信を要求する送信要求を、前記情報処理装置によって、前記ダウンロードサーバに送信するデバイス情報要求ステップと、
    前記ダウンロードサーバが前記送信要求を受信した場合に、前記ダウンロードサーバによって、受信した前記送信要求の送信元を示す第3情報と一致する前記第2情報を前記メモリから検索し、検索された前記第2情報に関連付けられた前記第1情報を前記メモリから読み出し、読み出した前記第1情報を、前記第3情報が示す前記情報処理装置に送信するデバイス情報送信ステップと、
    前記情報処理装置が前記ダウンロードサーバから前記第1情報を受信した後、前記情報処理装置によって、受信した前記第1情報に対応するデバイスを検索し、検索されたデバイスを前記アプリケーションプログラムで選択されるデバイスに決定する決定ステップと、
    を含むことを特徴とするセットアップ方法。
  2. 請求項1に記載するセットアップ方法において、
    前記所定のタイミングは、前記インストーラの実行中のタイミングであり、
    前記デバイス情報要求ステップでは、
    前記インストーラの実行中に、前記送信要求を前記ダウンロードサーバに送信し、
    前記決定ステップでは、
    前記インストーラの実行中に、前記ダウンロードサーバから前記第1情報を受信し、前記アプリケーションプログラムで選択されるデバイスを決定する、
    ことを特徴とするセットアップ方法。
  3. 請求項1に記載するセットアップ方法において、
    前記所定のタイミングは前記アプリケーションプログラムの起動時のタイミングであり、
    前記デバイス情報要求ステップでは、
    前記アプリケーションプログラムの実行中に、前記送信要求を前記ダウンロードサーバに送信し、
    前記決定ステップでは、
    前記アプリケーションプログラムの実行中に、前記ダウンロードサーバから前記第1情報を受信し、前記アプリケーションプログラムで選択されるデバイスを決定する、
    ことを特徴とするセットアップ方法。
  4. 請求項1に記載するセットアップ方法において、
    前記所定のタイミングは、前記インストーラの実行中のタイミングであり、
    前記デバイス情報要求ステップでは、
    前記インストーラの実行中に、前記送信要求を前記ダウンロードサーバに送信し、前記ダウンロードサーバから前記第1情報を受信し、受信した前記第1情報を前記アプリケーションプログラムが読み出し可能なファイルに記憶し、
    前記決定ステップでは、
    前記アプリケーションプログラムの実行中に、前記ファイルに記憶された前記第1情報を読み出し、読み出した前記第1情報に対応するデバイスを検索し、検索されたデバイスを前記アプリケーションプログラムで選択されるデバイスに決定する、
    ことを特徴とするセットアップ方法。
  5. 請求項1から請求項4のいずれか1つに記載するセットアップ方法において、
    前記第2情報は、前記情報処理装置のIPアドレスである、
    ことを特徴とするセットアップ方法。
  6. 請求項1から請求項4のいずれか1つに記載するセットアップ方法において、
    前記第2情報は、前記情報処理装置と接続されたルータのIPアドレスである、
    ことを特徴とするセットアップ方法。
  7. 請求項1から請求項5のいずれか1つに記載するセットアップ方法において、
    前記ダウンロード要求は、前記第1情報をクエリ形式で含んだ前記ダウンロードサーバのURLにより構成されている、
    ことを特徴とするセットアップ方法。
  8. 通信インターフェースと、
    制御部と、
    を備えるダウンロードサーバであって、
    前記制御部は、
    デバイスを制御するアプリケーションプログラムであって、前記アプリケーションプログラムのインストーラを情報処理装置が受信した後の所定のタイミングで、デバイスの種別を識別する第1情報の送信を要求する送信要求を、前記情報処理装置に送信させ、前記送信要求に応じて前記情報処理装置が受信する前記第1情報に対応するデバイスを前記情報処理装置に検索させ、検索されたデバイスを制御対象のデバイスに決定する前記アプリケーションプログラムの、ダウンロードを要求するダウンロード要求を、前記通信インターフェースを介して受信するダウンロード要求受信処理であって、前記ダウンロード要求には前記第1情報が含まれる前記ダウンロード要求受信処理と、
    前記ダウンロード要求受信処理にて前記ダウンロード要求を受信した場合に、受信した前記ダウンロード要求の送信元を示す第2情報と前記第1情報とを関連付けてメモリに記憶する記憶処理と、
    前記ダウンロード要求受信処理にて前記ダウンロード要求を受信した場合に、前記アプリケーションプログラムのインストーラを、前記通信インターフェースを介して、前記第2情報が示す前記情報処理装置に送信するインストーラ送信処理と、
    前記通信インターフェースを介して、前記送信要求を前記情報処理装置から受信する送信要求受信処理と、
    前記送信要求受信処理にて前記送信要求を受信した場合に、受信した前記送信要求の送信元を示す第3情報と一致する前記第2情報を前記メモリから検索し、検索された前記第2情報に関連付けられた前記第1情報を前記メモリから読み出し、読み出した前記第1情報を、前記通信インターフェースを介して、前記第3情報が示す前記情報処理装置に送信する送信要求応答処理と、
    を実行することを特徴とするダウンロードサーバ。
  9. 請求項8に記載するダウンロードサーバにおいて、
    前記制御部は、
    前記記憶処理にて前記第2情報および前記第1情報を前記メモリに記憶したタイミングから所定時間が経過した場合、前記第2情報および前記第1情報を前記メモリから削除する削除処理を実行する、
    ことを特徴とするダウンロードサーバ。
  10. 請求項8または請求項9に記載するダウンロードサーバにおいて、
    前記ダウンロード要求は、前記第1情報をクエリ形式で含んだ前記ダウンロードサーバのURLにより構成されている、
    ことを特徴とするダウンロードサーバ。
JP2018062043A 2018-03-28 2018-03-28 アプリケーションプログラムのセットアップ方法およびダウンロードサーバ Active JP7056310B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018062043A JP7056310B2 (ja) 2018-03-28 2018-03-28 アプリケーションプログラムのセットアップ方法およびダウンロードサーバ
US16/362,767 US10838704B2 (en) 2018-03-28 2019-03-25 Application program setup method and download server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018062043A JP7056310B2 (ja) 2018-03-28 2018-03-28 アプリケーションプログラムのセットアップ方法およびダウンロードサーバ

Publications (2)

Publication Number Publication Date
JP2019175100A JP2019175100A (ja) 2019-10-10
JP7056310B2 true JP7056310B2 (ja) 2022-04-19

Family

ID=68056279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018062043A Active JP7056310B2 (ja) 2018-03-28 2018-03-28 アプリケーションプログラムのセットアップ方法およびダウンロードサーバ

Country Status (2)

Country Link
US (1) US10838704B2 (ja)
JP (1) JP7056310B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022086158A (ja) 2020-11-30 2022-06-09 ブラザー工業株式会社 セットアッププログラム、情報処理装置、およびシステム
JP2022086157A (ja) 2020-11-30 2022-06-09 ブラザー工業株式会社 セットアッププログラム、情報処理装置、およびシステム
JP2023023311A (ja) * 2021-08-05 2023-02-16 ブラザー工業株式会社 プリンタ

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052322A (ja) 2006-08-22 2008-03-06 Murata Mach Ltd プリンタドライバインストール方法およびプリンタインストールプログラム
JP2016177445A (ja) 2015-03-19 2016-10-06 株式会社リコー 情報処理装置、プログラムおよび情報処理システム
JP2016177505A (ja) 2015-03-19 2016-10-06 キヤノン株式会社 情報処理装置と、その制御方法、及びプログラム
JP2017134752A (ja) 2016-01-29 2017-08-03 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692111A (en) * 1994-10-05 1997-11-25 Microsoft Corporation Automatic installation of printers in a distributed environment
JP4240690B2 (ja) 1999-10-28 2009-03-18 キヤノン株式会社 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
JP3984895B2 (ja) * 2001-10-03 2007-10-03 キヤノン株式会社 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2003173246A (ja) 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
US7253915B2 (en) * 2002-03-07 2007-08-07 Canon Kabushiki Kaisha Creating a locally managed instance of a network printer
US7653212B2 (en) * 2006-05-19 2010-01-26 Universal Electronics Inc. System and method for using image data in connection with configuring a universal controlling device
US7903267B2 (en) * 2005-11-02 2011-03-08 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
US8836960B1 (en) * 2007-01-03 2014-09-16 Marvell International Ltd. Storing device drivers in imaging devices
US8261259B2 (en) * 2007-03-01 2012-09-04 Ricoh Company, Ltd. Dynamic printing system, apparatus and method
US20090059272A1 (en) * 2007-08-31 2009-03-05 Mitsugu Matsushita Printer auto installation
JP5562002B2 (ja) 2009-10-30 2014-07-30 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US8458118B1 (en) * 2010-03-16 2013-06-04 The Boeing Company Dynamic configuration for networked imaging devices
CN102736869A (zh) * 2011-01-21 2012-10-17 精工爱普生株式会社 印刷控制服务器、印刷控制方法及印刷控制程序
US10191697B2 (en) * 2017-03-17 2019-01-29 Ricoh Company Ltd. Information processing apparatus, information processing system, and information processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052322A (ja) 2006-08-22 2008-03-06 Murata Mach Ltd プリンタドライバインストール方法およびプリンタインストールプログラム
JP2016177445A (ja) 2015-03-19 2016-10-06 株式会社リコー 情報処理装置、プログラムおよび情報処理システム
JP2016177505A (ja) 2015-03-19 2016-10-06 キヤノン株式会社 情報処理装置と、その制御方法、及びプログラム
JP2017134752A (ja) 2016-01-29 2017-08-03 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Also Published As

Publication number Publication date
US20190303122A1 (en) 2019-10-03
JP2019175100A (ja) 2019-10-10
US10838704B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
US8429644B2 (en) Image forming apparatus, and web application installing method
JP7205522B2 (ja) 情報処理システム、情報処理装置およびプログラム
US8493577B2 (en) Control device, image forming apparatus, printing system, control method, and control program
JP6631342B2 (ja) 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
US10687187B2 (en) Information processing system configured to determine usability of an application, information processing apparatus, and information processing method
JP2003177989A (ja) 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP7056310B2 (ja) アプリケーションプログラムのセットアップ方法およびダウンロードサーバ
US10430130B2 (en) Information processing system, information processing method
JP7110702B2 (ja) プログラム
US11079980B2 (en) Storage medium storing image processing program and information processing apparatus to install driver associated with user and image processing device identifications
CN105812348B (zh) 图像形成设备和图像形成设备的控制方法
US9667721B2 (en) Relaying device, image processing device, and system comprising image processing device and relaying device
JP7131044B2 (ja) プログラム及び通信システム
JP5857589B2 (ja) 印刷装置及び印刷システム
US10795619B2 (en) Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device
JP7119738B2 (ja) アプリケーションプログラムおよびセットアップシステム
JP2017157114A (ja) 情報処理システム、情報処理装置、画像処理装置、制御方法および拡張プログラム
US9864556B2 (en) Image forming apparatus having web browser, method of controlling image forming apparatus, and storage medium
JP6439987B2 (ja) 電子機器システムおよびファームウェア更新管理プログラム
JP2016197334A (ja) 情報処理装置およびプログラム
JP4730055B2 (ja) 情報処理装置、設定変更方法、及び設定変更プログラム
JP2022086158A (ja) セットアッププログラム、情報処理装置、およびシステム
US11928368B2 (en) System, method for controlling server apparatus, and non-transitory storage medium
JP7209204B2 (ja) プログラム、および、情報処理装置
JP6962148B2 (ja) 情報処理装置、画像処理装置、情報処理装置の制御方法、画像処理装置の制御方法、プログラムおよび情報配信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220321

R150 Certificate of patent or registration of utility model

Ref document number: 7056310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150