JP6613927B2 - 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP6613927B2
JP6613927B2 JP2016015987A JP2016015987A JP6613927B2 JP 6613927 B2 JP6613927 B2 JP 6613927B2 JP 2016015987 A JP2016015987 A JP 2016015987A JP 2016015987 A JP2016015987 A JP 2016015987A JP 6613927 B2 JP6613927 B2 JP 6613927B2
Authority
JP
Japan
Prior art keywords
information
attribute information
pdl
program
programs
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
JP2016015987A
Other languages
English (en)
Other versions
JP2017134752A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016015987A priority Critical patent/JP6613927B2/ja
Priority to EP17151299.9A priority patent/EP3200064A1/en
Priority to US15/414,541 priority patent/US10564906B2/en
Priority to CN201710054337.4A priority patent/CN107025081B/zh
Publication of JP2017134752A publication Critical patent/JP2017134752A/ja
Application granted granted Critical
Publication of JP6613927B2 publication Critical patent/JP6613927B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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/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; 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
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1285Remote printer device, e.g. being remote from client or server
    • 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/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00206Transmitting or receiving computer data via an image communication device, e.g. a facsimile transceiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理方法および情報処理プログラムに関する。
プリンタの機種を特定してネットワーク上のサーバと通信を行い、その機種が対応しているPDL(Page Description Language)をキーとしてサーバからドライバプログラムを検索してダウンロードし、ダウンロードしたドライバプログラムをコンピュータにインストールするインストーラが知られている。プリンタを製造および販売するメーカは、製造および販売するプリンタに適したPDLに対応するドライバプログラムと、このドライバプログラムに対応するインストーラとをユーザに提供するのが一般的である。
また、特許文献1には、サーバに管理者がドライバプログラムをアップロードしてそのドライバプログラムをユーザに通知し、そのドライバプログラムのダウンロード数に基づき画面を自動生成するようにした技術が記載されている。特許文献1によれば、ユーザは、利用頻度が高いドライバプログラムを容易に取得可能となる。
ところで、同じ機種に対して、それぞれ異なるPDLに対応する複数のドライバプログラムが存在するのが一般的である。このとき、機種毎の複数のドライバプログラムそれぞれが対応しているPDLが、機種によって異なる場合がある。そのため、従来では、複数の機種に共通して推奨できる1つのPDLを決定することが困難であった。一例として、メーカが、OEM(Original Equipment Manufacturer)のような、他メーカから調達したプリンタを販売する場合が挙げられる。
OEM製のプリンタは、適したPDLが自メーカ開発のプリンタに適したPDLとは異なる場合が有り得る。従来のインストーラは、ドライバプログラムを取得する際に、複数のPDLから適切なPDLを自動的に選択することができず、自メーカ製からOEM製までのプリンタを対応可能とすることが困難であった。
したがって、ユーザは、必要なPDLを明示的に選択してドライバプログラムを取得する必要があるという問題点があった。また、上述した特許文献1においても、ユーザがドライバプログラムを明示的に選択する必要がある点は、解消できていない。
本発明は、上記に鑑みてなされたものであって、機種に対して適切なドライバプログラムを容易に取得可能とすることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、機種を識別する識別情報を取得する識別情報取得部と、識別情報に基づき機種に適用可能な複数のプログラムそれぞれの属性を示す属性情報を取得する属性情報取得部と、属性情報に対して予め定められた優先順位に基づき複数のプログラムからインストール対象とするプログラムを選択する選択部とを備え、属性情報は、少なくとも、属性情報が対応するプログラムの機種に対する命令の種類を示す命令種類情報を含み、選択部は、複数のプログラムから、識別情報および命令種類情報に対して予め定められた優先順位に基づきプログラムを選択する
本発明によれば、機種に対して適切なドライバプログラムを容易に取得可能となるという効果を奏する。
図1は、各実施形態に適用可能な情報処理システムの一例の構成を示す図である。 図2は、各実施形態に適用可能な、PCによるドライバプログラムの取得処理を概略的に示す図である。 図3は、各実施形態に適用可能なPCのハードウェア構成の例を示すブロック図である。 図4は、各実施形態に適用可能なサーバのハードウェア構成の例を示すブロック図である。 図5は、各実施形態に適用可能なプリンタのハードウェア構成の例を示すブロック図である。 図6は、第1の実施形態に係るPCの機能を説明するための一例の機能ブロック図である。 図7は、第1の実施形態に係るインストーラの機能を説明するための一例の機能ブロック図である。 図8は、第1の実施形態に適用可能なプリンタの機能を説明するための一例の機能ブロック図である。 図9は、第1の実施形態に適用可能なサーバの機能を説明するための一例の機能ブロック図である。 図10は、第1の実施形態に係るドライバプログラムのPCへの導入処理の流れを示す一例のシーケンス図である。 図11は、第1の実施形態に適用可能な、制御部からサーバに送信される検索要求の例を示す図である。 図12は、第1の実施形態に適用可能な、サーバから送信される検索結果の例を示す図である。 図13は、第1の実施形態に係る、アーキテクチャ判定部による判定処理の例を示すフローチャートである。 図14は、第1の実施形態に係る、表示言語判定部による判定処理の例を示すフローチャートである。 図15は、第1の実施形態に係る、PDL判定部による判定処理の例を示すフローチャートである。 図16は、第2の実施形態に係るインストーラの機能を説明するための一例の機能ブロック図である。 図17は、第2の実施形態に係るドライバプログラムのPCへの導入処理の流れを示す一例のシーケンス図である。 図18は、第2の実施形態に係る、PDL判定部による判定処理の例を示すフローチャートである。 図19は、第1の実施形態に係る選択肢一覧画面の例を示す図である。
以下に添付図面を参照して、情報処理装置、情報処理システム、情報処理方法および情報処理プログラムの実施形態を詳細に説明する。
(各実施形態に適用可能な構成)
図1は、各実施形態に適用可能な情報処理システムの一例の構成を示す。図1において、情報処理システムは、パーソナルコンピュータ(PC)10と、プリンタ20aおよび20bと、サーバ30とを含む。なお、図1において、プリンタ20aおよび20bは、プリンタ#Aおよびプリンタ#Bとも示している。図1の例では、PC10、プリンタ20aおよびサーバ30がLAN(Local Area Network)などによるネットワーク40に、互いに通信可能に接続されている。また、図1の例では、プリンタ20bは、PC10に対して例えばUSB(Universal Serial Bus)などにより直接的に接続されている。
このような構成において、PC10は、例えばプリンタ20aやプリンタ20bに対応するドライバプログラムをインストールすることで、プリンタ20aやプリンタ20bに対して印刷処理を実行させることができる。ここで、PC10は、プリンタ20aやプリンタ20bに対応するドライバプログラムを、ネットワーク40を介して、例えばサーバ30から取得することができる。
なお、上述では、PC10と、プリンタ20aと、サーバ30とがLANであるネットワーク40を介して接続されているように説明したが、これはこの例に限定されない。例えば、PC10、プリンタ20aおよびサーバ30のうち1以上を、インターネットを介して接続するようにしてもよい。また、ネットワーク40は、有線通信および無線通信の何れを用いてもよいし、有線通信および無線通信を混在させてもよい。
さらに、図1の例では、PC10が利用可能な機器がプリンタ20aおよび20bであるように示されているが、これはこの例に限定されない。PC10が利用可能な機器は、スキャナであってもよいし、プリンタ機能、スキャナ機能、複写機能など複数の機能を1の筐体で実現させたMFP(Multi Function Printer)であってもよい。
なお、プリンタ20aおよび20bは、PC10に対する接続方法が異なる以外は、同等に扱うことができるため、以下では、特に記載の無い限り、プリンタ20aおよび20bを、プリンタ20aで代表させて説明を行う。
図2は、各実施形態に適用可能な、PC10によるドライバプログラムの取得処理を、概略的に示す。PC10は、プリンタ20aを利用するためのドライバプログラムを取得する場合、先ず、プリンタ20aから、当該プリンタ20aを識別するための識別情報を取得する(ステップS1、ステップS2)。プリンタ20aを識別するための識別情報としては、例えばPnP(プラグアンドプレイ)デバイスIDを適用することができる。
PC10は、プリンタ20aの識別情報を取得すると、サーバ30に対して、取得した識別情報と、プリンタ20aに対応するドライバプログラムの要求とを送信する(ステップS3)。ここで、サーバ30は、プリンタのドライバプログラムの属性情報を、プリンタの複数の機種に関連付けてそれぞれ記憶する。ドライバプログラムの属性情報は、少なくとも、対応するドライバプログラムを取得するための取得情報を含む。取得情報は、例えば、ドライバプログラムのネットワーク40上、または、ネットワーク40を介して接続されるインターネット上での位置を示すURL(Uniform Resource Locator)を含む。サーバ30がドライバプログラムを記憶している場合は、取得情報は、サーバ30におけるドライバプログラムの記憶領域の、ネットワーク40上での位置を示すURLを用いることができる。
サーバ30は、PC10から送信された要求および識別情報に従い、識別情報に対応するドライバプログラムの属性情報を、記憶している属性情報から検索し、検索された1以上の属性情報をPC10に送信する(ステップS4)。PC10は、サーバ30から送信された1以上の属性情報に基づき、インストールを行いたいドライバプログラムを選択する(ステップS5)。PC10は、選択されたドライバプログラムに対応する属性情報に含まれる取得情報に従い、ドライバプログラムのダウンロード(DL)を要求する(ステップS6)。
図2の例では、説明のため、サーバ30がドライバプログラムを記憶しているように示しているが、これはこの例に限定されない。例えば、ドライバプログラムは、ネットワーク40上の他のサーバや、ネットワーク40を介して接続されるインターネット上のサーバが記憶していてもよい。
PC10は、ステップS6のダウンロード要求に応じてダウンロードされたドライバプログラムを取得する(ステップS7)。PC10は、取得したドライバプログラムを自身にインストールする(ステップS8)。これにより、PC10からのプリンタ20aの利用が可能になる。
図3は、各実施形態に適用可能なPC10のハードウェア構成の例を示す。図3において、PC10は、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、ストレージ1005と、グラフィクスI/F1003と、入出力I/F1006と、通信I/F1008とがバス1010を介して互いに通信可能に接続されている。
CPU1000は、ROM1001やストレージ1005に予め記憶されるプログラムに従い、RAM1002をワークメモリとして用いて、このPC10の全体の動作を制御する。ストレージ1005は、ハードディスクドライブや不揮発性の半導体メモリ(フラッシュメモリ)からなり、CPU1000が動作するためのプログラムや、各種データが格納される。
グラフィクスI/F1003は、CPU1000によりプログラムに従い生成された表示制御信号を、ディスプレイ1004で表示可能な表示信号に変換してディスプレイ1004に供給する。ディスプレイ1004は、例えばLCD(Liquid Crystal Display)を表示デバイスとして用い、グラフィクスI/F1003から供給された表示信号に従った画面を表示デバイスに表示させる。
入出力I/F1006は、外部機器との間で通信を行うインタフェースである。図3の例では、入出力I/F1006に対して、外部機器としてキーボードやポインティングデバイス(マウスなど)を含む操作部1007が接続されている。入出力I/F1006は、これに限らず、CD(Compact Disk)やDVD(Digital Versatile Disk)といったディスク記憶媒体からのデータの読み出しなどを行うドライブ装置や、不揮発性の半導体メモリなどのストレージを接続してもよい。入出力I/F1006としては、例えばUSBを用いることができる。
通信I/F1008は、CPU1000の制御に従い、TCP/IP(Transmission Control Protocol/Internet Protocol)など所定のプロトコルを用いて、ネットワーク40を介した通信を行う。
図4は、各実施形態に適用可能なサーバ30のハードウェア構成の例を示す。図4において、サーバ30は、CPU3000と、ROM3001と、RAM3002と、ストレージ3003と、通信I/F3004とを含み、これら各部がバス3010により互いに通信可能に接続されている。
ストレージ3003は、例えばハードディスクドライブや、フラッシュメモリといった不揮発性の半導体メモリであって、CPU3000上で動作するプログラムや各種データが格納されると共に、後述する、ドライバプログラムの属性情報が格納される。なお、ストレージ3003は、サーバ30に内蔵されている構成に限らず、サーバ30に対して外部接続されるものであってもよい。
CPU3000は、ROM3001やストレージ3003から読み出したプログラムに従い、RAM3002をワークメモリとして用いて、サーバ30の全体の動作を制御する。通信I/F3004は、CPU3000の制御に従い、例えばTCP/IPをプロトコルとして用いて、ネットワーク40を介した通信を行う。
サーバ30の構成は、図4の例に限られず、例えば一般的なコンピュータと同様に、CPU3000により生成された画面情報に従った画面をディスプレイに表示させる表示制御部や、外部機器との間でのデータの入出力を行うデータI/F、ユーザ入力を受け付ける入力デバイスをさらに含んでいてもよい。
図5は、各実施形態に適用可能なプリンタ20aのハードウェア構成の例を示す。図5において、プリンタ20aは、CPU2000と、ROM2001と、RAM2002と、NVRAM(不揮発性RAM)2003と、ストレージ2006と、データI/F2007と、通信I/F2008と、機能部I/F2004とを含み、これら各部がバス2010により互いに通信可能に接続される。
ストレージ2006は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、CPU2000を動作させるためのプログラムや、各種のデータが記憶される。ROM2001は、例えばプリンタ20aを起動させるために用いるプログラムおよびデータや、このプリンタ20aの機種を識別する識別情報(例えばPnPデバイスID)が予め記憶される。NVRAM2003は、プリンタ20aに対して設定された設定値などが記憶される。CPU2000は、ストレージ2006およびROM2001に記憶されるプログラムと、ストレージ2006およびNVRAM2003に記憶される各データとに従い、RAM2002をワークメモリとして用いて、このプリンタ20aの全体の動作を制御する。
データI/F2007は、外部機器に対するインタフェースであって、例えばUSBを適用できる。通信I/F2008は、CPU2000の制御に従い、例えばTCP/IPをプロトコルとして用いて、ネットワーク40を介した通信を行う。
機能部I/F2004は、プリンタ20aにおけるプリンタ機能を実現するためのプリンタエンジン2005に対するインタフェースである。機能部I/F2004は、プリンタエンジン2005とCPU2000との間のデータの調停処理や、制御情報の送受信などを行う。
なお、スキャナの場合、プリンタエンジン2005の代わりに、スキャナ機能を実現するためのスキャナエンジンが接続される。また、MFPの場合、MFPが実行可能な複数の機能、例えばスキャナ機能、プリンタ機能およびFAX機能をそれぞれ実現するためのスキャナエンジン、プリンタエンジンおよびFAXユニットが機能部I/F2004に接続される。
(第1の実施形態)
次に、第1の実施形態について説明する。第1の実施形態では、サーバ30が記憶する各ドライバプログラムについて、同一機種に適用可能な複数のドライバプログラムそれぞれの属性情報に対して、予め優先順位を定める。そして、上述した図2におけるステップS5の、ドライバプログラムの選択処理において、この優先順位に従いPC10に適合したドライバプログラムが選択されるようにした。
図6は、第1の実施形態に係るPC10の機能を説明するための一例の機能ブロック図である。PC10は、制御部100と、通信部101と、インストーラ102と、表示部103と、入力部104とを含む。これら制御部100、通信部101、インストーラ102、表示部103および入力部104は、CPU1000上で動作するプログラムにより実現される。これに限らず、これら制御部100、通信部101、インストーラ102、表示部103および入力部104の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
制御部100は、プログラムに従い各種の判定処理などを行い、このPC10の全体の動作を制御する。通信部101は、入出力I/F1006や通信I/F1008による通信を制御する。インストーラ102は、PC10に対するドライバプログラムのインストール処理を実行する。表示部103は、グラフィクスI/F1003を制御してディスプレイ1004に対して画像を表示させる。入力部104は、操作部1007に対してなされた入力を受け付ける。
図7は、第1の実施形態に係るインストーラ102の機能を説明するための一例の機能ブロック図である。インストーラ102は、インストール部120と、選択部121とを含み、選択部121は、PDL判定部1210と、表示言語判定部1211と、アーキテクチャ判定部1212とを含む。
インストール部120は、ドライバプログラムのPC10へのインストール処理を実行する。選択部121は、各属性情報に対して予め定められた優先順位に基づき、サーバ30から取得した属性情報の順位を判定し、判定結果に従いインストールすべきドライバプログラムを選択する。
より具体的には、選択部121は、PDL判定部1210と、表示言語判定部1211と、アーキテクチャ判定部1212とを含む。PDL判定部1210は、PDL(Page Description Language)の種類に対して予め定められた優先順位を示す情報を有し、この優先順位に基づいた判定処理を行う。優先順位を示す情報は、例えば、PDL判定部1210が含まれるインストーラ102を実現するプログラム中に埋め込んでおいてもよいし、独立したデータとしてインストーラ102と共に提供され、ストレージ1005などに記憶しておいてもよい。
表示言語判定部1211は、PC10のOS(Operating System)が現在表示している表示言語に従い、インストールすべきドライバプログラムの表示言語を判定する。アーキテクチャ判定部1212は、PC10のOSの情報に基づき、インストールすべきドライバプログラムのアーキテクチャを判定する。
PC10において第1の実施形態に係る各機能を実現するための情報処理プログラムは、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、情報処理プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
情報処理プログラムは、上述した各部(制御部100、通信部101、インストーラ102、表示部103および入力部104)を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がストレージ1005などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、制御部100、通信部101、インストーラ102、表示部103および入力部104が主記憶装置上に生成されるようになっている。
図8は、第1の実施形態に適用可能なプリンタ20aの機能を説明するための一例の機能ブロック図である。プリンタ20aは、通信部200と、機器情報記憶部201と、プリンタ機能部202とを含む。これら通信部200、機器情報記憶部201およびプリンタ機能部202は、CPU2000で動作するプログラムにより実現される。これに限らず、これら通信部200、機器情報記憶部201およびプリンタ機能部202の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
通信部200は、データI/F2007や通信I/F2008による通信を制御する。機器情報記憶部201は、通信I/F2008が備えるレジスタやROM2001などに予め記憶された、プリンタ20aの識別情報(例えばPnPデバイスID)や、プリンタ20aの仕向け先を示す情報の読み出しを制御する。なお、仕向け先は、当該プリンタ20aの出荷先に設定された地域であり、例えば「国内」および「海外」である。仕向け先は、当該プリンタ20aで用いられるデフォルトの言語に関連する。プリンタ機能部202は、プリンタ20aにおける印刷機能を制御する。
図9は、第1の実施形態に適用可能なサーバ30の機能を説明するための一例の機能ブロック図である。サーバ30は、通信部300と、配信部301と、ドライバ属性情報記憶部302とを含む。これら通信部300、配信部301およびドライバ属性情報記憶部302は、CPU3000上で動作するプログラムにより実現される。これに限らず、これら通信部300、配信部301およびドライバ属性情報記憶部302の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
通信部300は、通信I/F3004による通信を制御する。ドライバ属性情報記憶部302は、例えばストレージ3003に記憶される複数のドライバプログラムの属性情報の読み出しなどを制御する。配信部301は、通信部300により受信された要求に従い、ドライバ属性情報記憶部302に対してドライバプログラムの属性情報を要求し、ドライバ属性情報記憶部302から渡された属性情報を通信部300から送信する。また、ストレージ3003にドライバプログラムの本体が記憶されている場合、配信部301は、通信部300により受信された要求に従いドライバ属性情報記憶部302に対してドライバプログラムを要求し、ドライバ属性情報記憶部302から渡されたドライバプログラムを通信部300から送信する。
表1は、サーバ30の例えばストレージ3003に記憶される、ドライバプログラムの属性情報の例を示す。表1において、1行に、1つのドライバプログラムの属性情報が記述されている。属性情報は、「識別情報」、「ドライバアーキテクチャ」、「PDL」、「表示言語」、「バージョン」および「取得情報」の各項目を含む。各属性情報は、これら各項目の組み合わせにより区別される。すなわち、各項目について同一の内容の複数の属性情報が存在する。
Figure 0006613927
表1において、項目「識別情報」は、その行の属性情報のドライバプログラムが対応する機器の機種を識別するための識別情報であって、例えばPnPデバイスIDが用いられる。表1の例では、項目「識別情報」の値として、プリンタの機種「プリンタ#A」、「プリンタ#B」および「プリンタ#C」が例示されている。
項目「ドライバアーキテクチャ」は、当該ドライバプログラムに適用されているアーキテクチャを示す。ドライバプログラムのアーキテクチャは、そのドライバプログラムの仕組みを示す。表1の例では、項目「ドライバアーキテクチャ」は、ドライバアーキテクチャとして、そのドライバプログラムが32ビットOSおよび64ビットOSの何れで動作可能であるかを示す値と、ドライバアーキテクチャの機能を示す値(高機能、中機能)とを含んでいる。
これら高機能および中機能のドライバアーキテクチャによるドライバプログラム(それぞれ高機能ドライバ、中機能ドライバと呼ぶ)をPC10に適用可能か否かは、例えば、当該PC10のOSのバージョンに依存する。一例として、高機能のドライバアーキテクチャによるドライバプログラムは、所定以上のバージョンのOSが対応可能である。
機能を示す値は、例えば、ドライバアーキテクチャ自身のバージョン情報を用いることができる。ドライバプログラムが対応するOSがWindows(登録商標)であれば、例えば、ドライバアーキテクチャのVersion 4(V4)、Version 3(V3)を適用することができる。V4は、V3に対して、より高機能のドライバプログラムを提供可能である。この例では、V4は、Windows8(登録商標)以降のバージョンのOSが対応可能であり、V3は、Windows2000(登録商標)以降のバージョンのOSが対応可能である。
項目「PDL」は、そのドライバプログラムが対応するPDLの種類を示す。表1の例では、項目「PDL」の値として、PDLの種類「PDL#1」、「PDL#2」および「PDL#3」が例示されている。
PDLは、ページ記述言語であって、例えば、コンピュータなどで作成された画像情報や文字情報などを、プリンタが印刷可能に解釈できる形式に変換した言語である。換言すれば、PDLは、プリンタに対する命令種類、命令形式、あるいは、命令セットであるといえる。このPDLの概念は、コンピュータが制御する、プリンタ以外の外部機器に対する命令言語、命令種類、命令形式、命令セットなどにも拡張可能である。代表的なPDLの種類の例としては、RPCS(Refined Printing Command Stream)、PCL6(Printer Command Language 6)、PS(PostScript(登録商標))が挙げられる。
ここで、機種「プリンタ#A」のプリンタは、PDL種類「PDL#1」、「PDL#2」および「PDL#3」のうちPDL種類「PDL#1」に対応するプリンタドライバを用いた場合に、最も高い機能あるいは多くの機能を実現でき、PDL種類「PDL#2」、「PDL#3」の順に機能が制限されるものとする。同様に、機種「プリンタ#B」のプリンタは、PDL種類「PDL#2」に対応するプリンタドライバを用いた場合に最も高い機能あるいは多くの機能を実現でき、PDL種類「PDL#3」では機能が制限され、PDL種類「PDL#1」には対応していないものとする。また、機種「プリンタ#C」のプリンタは、PDL種類「PDL#1」、「PDL#2」および「PDL#3」のうちPDL種類「PDL#1」に対応し、他のPDL種類には対応していないものとする。
項目「表示言語」は、そのドライバプログラムが対応する、OSの表示言語を示す。表1の例では、項目「表示言語」の値として「日本語」および「英語」が含まれている。項目「バージョン」は、そのドライバプログラムのバージョン情報を示す値が含まれる。
項目「取得情報」は、そのドライバプログラムを取得するための情報を示す。項目「取得情報」は、ドライバプログラムを取得するための情報として、例えば、上述した、そのドライバプログラムが置かれるインターネット上、ネットワーク40上、ネットワーク40に接続されるサーバ30上の位置を示すURLを用いることができる。
次に、第1の実施形態に係るドライバプログラムのPC10に対する導入処理について、より具体的に説明する。図10は、第1の実施形態に係るドライバプログラムのPC10への導入処理の流れを示す一例のシーケンス図である。なお、図10において、上述した図6〜図9と対応する部分には同一の符号を付して、詳細な説明を省略する。
例えば、PC10に対するユーザ操作によりドライバプログラムのインストールが指示される(ステップS100)。ユーザ操作は、PC10において入力部104に受け付けられ、制御部100に渡される。制御部100は、渡された指示に従い、通信部101を介して、プリンタ20aに対して識別情報と、プリンタ20aの仕向け先を示す仕向け情報とを要求する問い合わせを行う(ステップS101、ステップS102)。この問い合わせは、プリンタ20aにおいて通信部200に受信され、機器情報記憶部201に渡される(ステップS103)。
なお、プリンタ20aに対する識別情報の問い合わせは、ネットワーク40経由の場合、SNMP(Simple Network Management Protocol)におけるMIB(Management Information Base)のOID(Object IDentifier)から取得することができる。また、プリンタ20bのように、PC10にUSBにより接続される場合には、PJL(Printer Job Language)コマンドをPC10からプリンタ20aに送信し、その応答に基づき識別情報を取得する技術が知られている。
機器情報記憶部201は、例えば通信I/F2008のレジスタやROM2001から、予め記憶される識別情報および仕向け情報を読み出す。機器情報記憶部201に読み出された識別情報および仕向け情報は、通信部200を介してPC10に送信される(ステップS104、ステップS105)。プリンタ20aから送信された識別情報および仕向け情報は、PC10において通信部101に受信され、制御部100に渡される(ステップS106)。すなわち、制御部100は、プリンタ20aの機種を識別する識別情報を取得する識別情報取得部としても機能する。
制御部100は、ステップS107で、PC10のOSの情報(以下、OS情報)を取得する。ここで取得されるOS情報は、少なくとも、OSのバージョンを示すOSバージョン情報と、OSが32ビットOSおよび64ビットOSの何れであるかといったアーキテクチャを示す情報とを含む。
次に、制御部100は、ステップS106で取得したプリンタ20aの識別情報と、ステップS107で取得したOS情報とに基づき、識別情報およびOS情報に対応するドライバプログラムの属性情報の検索を要求する検索要求を、通信部101を介してサーバ30に送信する(ステップS108、ステップS109)。
図11は、第1の実施形態に適用可能な、ステップS108、ステップS109で制御部100からサーバ30に送信される検索要求の例を示す。図11に例示されるように、検索要求は、例えば、サーバ30の検索先のURLおよび検索要求コマンド("https://1.example.com/Sreach/Web?Query")に対して、検索コマンドにおける検索条件である識別情報("PrinterA")とOS情報("32bit")とが引数として付加されて構成される。なお、OS情報は、OSバージョン情報やOS名を明示的に示していてもよい。また、適用可能なOSが予め制限されている場合は、図11の例のように、OSのアーキテクチャを示す情報("32bit")のみを指定することで、OSを特定することが可能である。
ステップS109でPC10から送信された検索要求は、サーバ30において通信部300により受信される。通信部300は、例えば、受信した検索要求を配信部301に渡す。配信部301は、通信部300から渡された検索要求に含まれる検索コマンドに従い、検索条件をドライバ属性情報記憶部302に渡し、ドライバ属性情報記憶部302に対して検索条件に適合するドライバプログラムの属性情報の検索を要求する。ドライバ属性情報記憶部302は、この要求に応じて、配信部301から渡された検索条件(この例では、識別情報およびOS情報)に適合するドライバプログラムの属性情報を記憶している属性情報から検索し、検索結果として得られた属性情報を一覧として配信部301に渡す。
配信部301は、ドライバ属性情報記憶部302から渡された属性情報一覧を、検索要求に応じた検索結果として、通信部300を介してPC10に送信する(ステップS110)。サーバ30から送信された検索結果は、PC10において、通信部101に受信されて制御部100に渡される(ステップS111)。すなわち、制御部100は、プリンタ20aの機種およびPC10のOS情報に対応するドライバプログラムの属性情報を取得する属性情報取得部としても機能する。
図12は、第1の実施形態に適用可能な、サーバ30から送信される検索結果の例を示す。なお、図12において、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン(:)でデータ本体を示すコードと区別されている。また、図12に例示されるコードは、タグを用いてデータの意味や構造を定義して記述するマークアップ言語の一種であるXML(Extensible Markup Language)を用いて記述される。これは一例であって、検索結果の記述方式は、特に限定されない。例えば、検索結果は、JSON(JavaScript(登録商標) Object Notation)により記述してもよいし、バイナリ形式で記述してもよい。
図12において、第1行目でこのデータが記述されるXMLのバージョンと、エンコード方式とが定義され、第2行目の開始タグ「<Software>」と、4行目の終了タグ「</Software>」との間(第3行目)に、検索結果が記述される。検索結果は、1つのドライバプログラムに対応する属性情報が、1対の文字「<」および文字「>」により挟んで記述される。図12の例では、第3行目において、表1で説明した属性情報の各項目「識別情報」、「ドライバアーキテクチャ」、「PDL」、「表示言語」、「バージョン」および「取得情報」にそれぞれ対応する各値が、文字「<」に続けて「Driver name」、「DriverArchitecture」、「PDL」、「language」、「version」および「DownloadURL」として記述され、文字「>」で終了されている。
この1対の文字「<」および文字「>」で挟んだ属性情報の記述を、開始タグ「<Software>」および終了タグ「</Software>」の間に複数記述することで、複数の属性情報を含む検索結果を構成できる。
制御部100は、ステップS111で通信部101から渡された検索結果(属性情報一覧)に基づき、以下のステップS112〜ステップS118の処理により、PC10にインストールすべきドライバプログラムを特定する。
先ず、制御部100は、ステップS112およびステップS113で、ドライバプログラムのアーキテクチャによる絞り込みを行う。制御部100は、ステップS112で、ステップS111で取得した検索結果をインストーラ102に渡し、アーキテクチャによる絞り込みを行うよう、インストーラ102に指示する。インストーラ102において、アーキテクチャ判定部1212は、この指示に従い、渡された検索結果における項目「ドライバアーキテクチャ」に示される情報と、ステップS107で制御部100が取得したPC10のOS情報とに基づき、検索結果に含まれる各属性情報から、インストール候補のドライバプログラムに対応する属性情報を抽出する。
図13は、第1の実施形態に係る、アーキテクチャ判定部1212による判定処理の例を示すフローチャートである。ステップS10で、アーキテクチャ判定部1212は、OS情報に基づき、PC10のOSが高機能ドライバに対応しているか否かを判定する。一例として、高機能ドライバは、特定のバージョンのOS(例えば高機能ドライバが開発された時点での最新のバージョンのOS)が対応しているものとし、アーキテクチャ判定部1212は、OS情報に示されるOSバージョン情報が、この特定のバージョンを示しているか否かを判定する。アーキテクチャ判定部1212は、対応していると判定した場合(ステップS10、「Yes」)、処理をステップS11に移行させる。
ステップS11で、アーキテクチャ判定部1212は、検索結果である属性情報一覧における各属性情報の項目「ドライバアーキテクチャ」に、高機能ドライバを示す値が含まれるか否かを判定する。アーキテクチャ判定部1212は、含まれると判定した場合(ステップS11、「Yes」)、処理をステップS12に移行させる。
ステップS12で、アーキテクチャ判定部1212は、インストール対象のドライバプログラムを、高機能ドライバに絞り込む。より具体的には、アーキテクチャ判定部1212は、ステップS112で取得した属性情報一覧に含まれる各属性情報のうち、項目「ドライバアーキテクチャ」の値が「高機能」である各属性情報を抽出する。アーキテクチャ判定部1212は、抽出した各属性情報を検索結果として制御部100に渡し(図10のステップS113)、図13のフローチャートによる一連の処理を終了させる。
アーキテクチャ判定部1212は、上述したステップS10においてPC10のOSが高機能ドライバに対応していないと判定した場合(ステップS10、「No」)、または、ステップS11で検索結果が高機能ドライバを含まないと判定した場合(ステップS11、「No」)、処理をステップS13に移行させる。ステップS13で、アーキテクチャ判定部1212は、ステップS112で取得した属性情報一覧に含まれる各属性情報のうち、項目「ドライバアーキテクチャ」の値が「中機能」である各属性情報を抽出する。
アーキテクチャ判定部1212は、抽出した各属性情報を検索結果として制御部100に渡し(図10のステップS113)、図13のフローチャートによる一連の処理を終了させる。
なお、アーキテクチャ判定部1212は、図13のフローチャートの処理において、OS情報に基づき、OSが32ビットOSおよび64ビットOSの何れであるかを示す情報をさらに用いて各判定を行うことができる。一例として、高機能ドライバが64ビットOSに対応し、32ビットOSに対応しておらず、OS情報が32ビットOSを示している場合、ステップS10の判定において、高機能ドライバが対応していないOSであると判定される(ステップS10、「No」)。また、ステップS13において、インストール対象のドライバを中機能ドライバに絞り込む際に、この32ビットOSおよび64ビットOSを示すOS情報に基づき、中機能ドライバに対してさらに絞りこみを行う。
図10の説明に戻り、次に、制御部100は、ステップS114〜ステップS116で、表示言語による絞り込みを行う。制御部100は、ステップS114で、上述した図13のフローチャートの処理に従いステップS113で渡された検索結果と、ステップS106で取得した仕向け情報とをインストーラ102に渡し、表示言語による絞り込みを行うよう、インストーラ102に指示する。インストーラ102において、表示言語判定部1211は、この指示に応じて、PC10のOSから、現在設定されている表示言語(日本語、英語、など)を取得する(ステップS115)。表示言語判定部1211は、渡された検索結果における項目「表示言語」に示される情報と、ステップS115で制御部100が取得した表示言語とに基づき、検索結果に含まれる各属性情報から、インストール候補のドライバプログラムに対応する属性情報を抽出する。
図14は、第1の実施形態に係る、表示言語判定部1211による判定処理の例を示すフローチャートである。ステップS20で、表示言語判定部1211は、PC10のOSにおいて現在設定されている表示言語を取得する(図10のステップS115)。例えば、OSがWindows(登録商標)であれば、OSの表示言語は、Windows(登録商標) API(Application Programming Interface)に装備される関数「GetUserDefaultUILanguage()」を用いて取得することができる。
次のステップS21で、表示言語判定部1211は、制御部100から渡された検索結果に含まれる各属性情報から、項目「表示言語」の値が、ステップS20で取得した表示言語と一致する属性情報を検索する。次のステップS22で、表示言語判定部1211は、検索の結果、該当する属性情報が見つかったか否かを判定する。表示言語判定部1211は、該当する属性情報が見つかったと判定した場合(ステップS22、「Yes」)、処理をステップS23に移行させる。
ステップS23で、表示言語判定部1211は、ステップS21の検索結果に基づきインストール対象のドライバプログラムを絞り込む。より具体的には、表示言語判定部1211は、ステップS114で取得した検索結果としての属性情報一覧に含まれる各属性情報のうち、項目「表示言語」の値として、ステップS20で取得された表示言語が含まれる各属性情報を検索結果として制御部100に渡し(図10のステップS116)、図14のフローチャートによる一連の処理を終了させる。
表示言語判定部1211は、上述したステップS22において、該当する属性情報が見つからなかったと判定した場合(ステップS22、「No」)、処理をステップS24に移行させる。ステップS24で、表示言語判定部1211は、インストーラ102から、図10のステップS106において制御部100に取得された仕向け情報を取得する。そして、表示言語判定部1211は、ステップS114で取得した検索結果に含まれる各属性情報のうち、項目「表示言語」の値が仕向け情報に対応する各属性情報を、検索結果として制御部100に渡し(図10のステップS116)、図14のフローチャートによる一連の処理を終了させる。
なお、上述したように、仕向け情報は、プリンタ20aの出荷先に設定された、「国内」および「海外」といった地域を示す情報である。例えば、表示言語判定部1211は、仕向け情報に示される地域を示す情報と、当該地域に対して設定されるプリンタ20aのデフォルト言語との対応関係を示すテーブルを予め持っているものとする。このテーブルにおいて、デフォルト言語を示す値として、例えば仕向け情報の値「国内」には日本語を示す値「ja」が対応付けられ、仕向け情報の値「海外」には英語を示す値「en」が対応付けられる。
表示言語判定部1211は、検索結果に含まれる各属性情報のうち、項目「表示言語」の値が、プリンタ20aの仕向け情報を示す値に対応付けられるデフォルト言語を示す値に示される言語と一致または対応する各属性情報を、検索結果として制御部100に渡す。
図10の説明に戻り、次に、制御部100は、ステップS117およびステップS118で、PDLによる絞り込みを行う。制御部100は、ステップS117で、図14のフローチャートの処理に従いステップS116で渡された検索結果をインストーラ102に渡し、PDLによる絞り込みを行うよう、インストーラ102に指示する。インストーラ102において、PDL判定部1210は、この指示に応じて、検索結果に含まれる各属性情報における項目「PDL」の値に対して、優先順位に従った判定を行う。
上述したように、PDL判定部1210は、PDLの種類に対して予め定められた優先順位を示す情報を有している。ここでは、上述した表1に示した項目「PDL」に示される各PDL種類「PDL#1」、「PDL#2」および「PDL#3」に対し、優先順位が「PDL#1」>「PDL#2」>「PDL#3」とされ、PDL種類「PDL#1」が最も優先順位が高く、PDL種類「PDL#3」が最も優先順位が低く設定されているものとする。
なお、各PDL種類に対して設定される優先順位は、例えば、第1の実施形態に係る情報処理プログラムの提供元が策定した最も高機能なPDL種類を、最も高い優先順位に設定する。一例として、プリンタ20aの製造元であるメーカが提供する当該情報処理プログラムにおいて、プリンタ20aにおいて最も高機能、多機能を実現可能なPDL種類の優先順位を、最も高く設定する。例えば、プリンタ20aは、当該プリンタ20aの製造元により開発されたPDLを適用することで、最も高機能、多機能を実現可能である。
他のPDL種類については、例えばプリンタ20aに適用した場合にこの最高優先順位のPDL種類に対して機能が低くなる順に、順次低い優先順位を設定する。この、他のPDL種類については、例えば、当該プリンタ20aと、当該プリンタ20aの製造元とは異なる、他メーカにより提供されるプリンタとに共通して対応可能な、標準的なPDL種類であってもよい。
一例として、上述したRPCS、PCL6およびPSの各PDL種類において、プリンタ20aがPDL種類「RPCS」に対応したドライバプログラムを適用した場合に最も高機能、多機能を実現可能である場合について考える。この場合、プリンタ20aの機種に対して、PDL種類「PRCS」の優先順位を最も高く設定し、他のPDL種類「PCL6」、「PS」の優先順位をPDL種類「PRCS」の優先順位よりも低く設定することが考えられる。
なお、各PDL種類に対する優先順位の設定ルールは、この例に限定されない。
図15は、第1の実施形態に係る、PDL判定部1210による判定処理の例を示すフローチャートである。なお、以下では、上述したPDL種類「PDL#1」、「PDL#2」および「PDL#3」を、適宜、優先順位の高い方からそれぞれPDL種類「第1のPDL」、「第2のPDL」および「第3のPDL」として説明する。
図15において、ステップS30で、PDL判定部1210は、検索結果の各属性情報のうち少なくとも1つが、最も優先順位が高く設定されたPDL種類「第1のPDL」に対応しているか否かを判定する。より具体的には、PDL判定部1210は、検索結果の各属性情報のうち、項目「PDL」の値がPDL種類「第1のPDL」を示す属性情報が存在するか否かを判定する。
PDL判定部1210は、PDL種類「第1のPDL」に対応する属性情報が存在すると判定した場合(ステップS30、「Yes」)、処理をステップS31に移行させる。ステップS31で、PDL判定部1210は、ステップS30の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第1のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択する。PDL判定部1210は、選択したドライバプログラムの属性情報を、検索結果として制御部100に渡す(図10のステップS118)。そして、図15のフローチャートによる一連の処理を終了させる。
なお、この段階では、上述した図13および図14のフローチャートの各処理により、識別情報に対応する各属性情報が、項目「ドライバアーキテクチャ」および「表示言語」の値で絞り込まれているので、1つのドライバプログラムがインストール対象として選択されることになる。
PDL判定部1210は、ステップS30において、PDL種類「第1のPDL」に対応する属性情報が存在しないと判定した場合(ステップS30、「No」)、処理をステップS32に移行させる。ステップS32で、PDL判定部1210は、検索結果の各属性情報のうち少なくとも1つが、PDL種類「第1のPDL」の次に優先順位が高く設定されたPDL種類「第2のPDL」に対応しているか否かを判定する。
PDL判定部1210は、PDL種類「第2のPDL」に対応する属性情報が存在すると判定した場合(ステップS32、「Yes」)、処理をステップS33に移行する。ステップS33で、PDL判定部1210は、ステップS32の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第2のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択する。PDL判定部1210は、選択したドライバプログラムの属性情報を、検索結果として制御部100に渡す(図10のステップS118)。そして、図15のフローチャートによる一連の処理を終了させる。
PDL判定部1210は、ステップS32において、PDL種類「第2のPDL」に対応する属性情報が存在しないと判定した場合(ステップS32、「No」)、処理をステップS34に移行させる。ステップS34で、PDL判定部1210は、検索結果の各属性情報のうち少なくとも1つが、PDL種類「第2のPDL」の次に優先順位が高く設定されたPDL種類「第3のPDL」に対応しているか否かを判定する。
PDL判定部1210は、PDL種類「第3のPDL」に対応する属性情報が存在すると判定した場合(ステップS34、「Yes」)、処理をステップS35に移行する。ステップS35で、PDL判定部1210は、ステップS34の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第3のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択する。PDL判定部1210は、選択したドライバプログラムの属性情報を、検索結果として制御部100に渡す(図10のステップS118)。そして、図15のフローチャートによる一連の処理を終了させる。
PDL判定部1210は、ステップS34において、PDL種類「第3のPDL」に対応する属性情報が存在しないと判定した場合(ステップS34、「No」)、処理をステップS36に移行させる。ステップS36で、PDL判定部1210は、図10のステップS105、ステップS106で取得した識別情報に対応するドライバプログラムが存在しないと判定し、図15のフローチャートによる一連の処理を終了させる。この場合、PDL判定部1210は、例えば制御部100に対して、対応するドライバプログラムが存在しない旨を通知することができる。
なお、図15では、判定対象のPDL種類を3種類とし、ステップS30、ステップS32およびステップS34の3段階でPDLの判定を行っているが、これはこの例に限定されない。すなわち、図15のフローチャートにおいて、属性情報が優先順位に応じたPDL種類に対応するか否かの判定処理(例えばステップS30)と、PDL種類に対応する属性情報に対応するドライバプログラムをインストール対象として選択する処理(例えばステップS31)との組を、判定対象のPDL種類の数に応じて繰り返すことができる。これにより、4種類以上のPDL種類、あるいは、2種類以下のPDL種類についても、同様に判定処理を実行できる。
説明は、図10に戻り、制御部100は、ステップS118でPDL判定部1210から取得した検索結果に基づき、インストール対象のドライバプログラムを特定する(ステップS119)。制御部100は、PDL判定部1210から取得した検索結果である属性情報から、項目「取得情報」の値(URL)を抽出し、抽出したURLを宛先として、ドライバプログラムのダウンロード(DL)を要求する(ステップS120、ステップS121)。図10の例では、サーバ30がドライバプログラムを記憶し、当該URLがサーバ30内にドライバプログラムが記憶される位置を示しているものとする。
サーバ30は、PC10からの、制御部100によるダウンロード要求に応じて、当該URLに記憶されるドライバプログラムをPC10に送信する(ステップS122)。PC10において、通信部101は、サーバ30から送信されダウンロードされたドライバプログラムを受信し、受信したドライバプログラムを制御部100に渡す(ステップS123)。すなわち、制御部100は、取得情報に基づきドライバプログラムを取得するプログラム取得部としても機能する。
制御部100は、インストール部120に対して、ダウンロードされたドライバプログラムのPC10へのインストール処理を指示する(ステップS124)。インストール部120は、この指示に従い、ドライバプログラムをPC10にインストールする(ステップS125)。
ここで、上述したステップS112〜ステップS118によるドライバプログラムの絞り込み処理について、表1を参照して、より具体的に説明する。なお、ここでは、プリンタ20aに対応するドライバプログラムをインストールする場合において、ステップS106で制御部100が取得した識別情報が機種「プリンタ#A」を示し、且つ、プリンタ20aの仕向け先が「日本」であるものとする。また、PC10において、OSは、表示言語が「日本語」とされ、32ビットOSであり、且つ、バージョンが、高機能ドライバに対応する特定バージョンとは異なるバージョンであるものとする。
先ず、ステップS101〜ステップS111により、制御部100は、プリンタ20aから識別情報および仕向け情報を取得し、識別情報に基づき、サーバ30から識別情報が対応する属性情報を取得する。表1の例では、項目「識別情報」の値が「プリンタ#A」である、第1行目〜第7行目(項目名行を除く。以下同様)の7の属性情報が取得される。
制御部100は、ステップS112〜ステップS113において、アーキテクチャ判定部1212により、図13のフローチャートによる処理に従い、取得した各属性情報に対してドライバアーキテクチャによる絞り込みを行う。この例では、PC10のOSが、高機能ドライバには対応しておらず、且つ、アーキテクチャが32ビットOSであるため、表1において第3行目、第5行目および第7行目の属性情報が検索結果として取得される。
次に、制御部100は、ステップS114〜ステップS116において、表示言語判定部1211により、図14のフローチャートによる処理に従い、ステップS112〜ステップS113の検索結果として取得された各属性情報に対して、OSの表示言語による絞り込みを行う。この例では、OSの現在の表示言語が「日本語」であるため、上述のステップS112〜ステップS113で絞り込まれた各属性情報、すなわち、表1の第3行目、第5行目および第7行目の属性情報がそのまま、検索結果として取得される。
次に、制御部100は、ステップS117〜ステップS118において、PDL判定部1210により、図15のフローチャートによる処理に従い、ステップS114〜ステップS116の検索結果として取得された各属性情報に対して、項目「PDL」に対する優先順位判定を行う。この例では、優先順位がPDL情報「PDL#1」>「PDL#2」>「PDL#3」となっている。そのため、上述のステップS114〜ステップS116で絞り込まれた各属性情報、すなわち、表1の第3行目、第5行目および第7行目の属性情報のうち、項目「PDL」の値が最も高い優先順位を示す値「PDL#1」である、第3行目の属性情報が検索結果として取得される。
制御部100は、この、検索結果として取得された、表1における第3行目の属性情報の項目「取得情報」に示されるURLに従い、ドライバプログラムのダウンロードを行う。
このように、第1の実施形態では、例えばプリンタ20aをPC10から利用するためのドライバプログラムを、プリンタ20aから取得した情報と、PC10のOS情報とに基づき選択している。そのため、ユーザがドライバプログラムを明示的に指定すること無く、プリンタ20aおよびPC10に適合したドライバプログラムを自動的に取得することができる。
また、このとき、PDL種類に予め優先順位を設定し、ドライバプログラムを、優先順位が高く設定されたPDL種類から順に選択するようにしている。そのため、ユーザがドライバプログラムを明示的に指定すること無く、プリンタ20aの機能を適切に利用可能なドライバプログラムを自動的に取得することができる。
さらに、ドライバプログラムの提供側においては、各機種に対応する複数のドライバプログラムそれぞれが機種毎に異なるPDLに対応する場合であっても、優先的にインストールさせたいPDLを機種毎に指定する必要が無い。すなわち、各機種に対して適切なPDLに対応するドライバプログラムを、共通のインストーラによりインストールさせることが可能である。
なお、上述において、第1の実施形態では、図10のステップS112〜ステップS118に示したように、ドライバアーキテクチャによる絞り込みを行い(ステップS112〜ステップS113)、次にOSの表示現語による絞り込みを行い(ステップS114〜ステップS116)、最後にPDL種類による絞り込みを行っている(ステップS117〜ステップS118)が、これはこの例に限定されない。例えば、ステップS112〜ステップS113におけるドライバアーキテクチャによる絞り込みと、ステップS114〜ステップS116におけるOSの表示現語による絞り込みとのうち、何れか一方または両方を省略してもよい。
なお、上述では、ドライバプログラムがプリンタを制御するためのプリンタドライバプログラムであるとして説明したが、これはこの例に限定されない。例えば、第1の実施形態に対して、スキャナを制御するためのスキャナドライバプログラムを適用することも可能である。例えば、Windows(登録商標)がOSである場合、適用可能なスキャナドライバプログラムとして代表的なものに、TWAINおよびWIA(Windows(登録商標) Image Acquisition)がある。これらのドライバプログラムの属性情報において共通する項目の情報に優先順位を設定することで、上述したような、プリンタドライバと同様にして、適切なドライバプログラムを選択してインストールすることが可能である。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、図10のステップS100によるドライバプログラムのインストール指示後の処理が、制御部100により全て自動で進行するようにしていた。これに対して、第2の実施形態は、インストールするドライバプログラムをユーザ操作により選択するためのUI(User Interface)を設けている。
図16は、第2の実施形態に係るインストーラ102’の機能を説明するための一例の機能ブロック図である。なお、図16において、上述した図7と共通する部分には同一の符号を付して、詳細な説明を省略する。図16において、インストーラ102’は、図7に示したインストーラ102に対してUI部122が追加されている。UI部122は、制御部100の指示に従いユーザに情報を提示し、ユーザ操作を促すための表示画面を生成し、表示部103により表示させる。また、UI部122は、生成した表示画面に応じてなされたユーザ操作を、入力部104を介して受け取り、制御部100に渡す。
また、インストーラ102’において、PDL判定部1210’は、検索結果に含まれる各属性情報における項目「PDL」の値に対して、優先順位に従った判定を行い、インストール対象の候補のドライバプログラムを抽出する。
第2の実施形態において、プリンタ20aおよびサーバ30の機能は、図8および図9を用いて説明した機能と同一であるので、ここでの説明を省略する。
次に、第2の実施形態に係るドライバプログラムのPC10に対する導入処理について、より具体的に説明する。図17は、第2の実施形態に係るドライバプログラムのPC10への導入処理の流れを示す一例のシーケンス図である。なお、図17において、上述した図10および図16と対応する部分には同一の符号を付して、詳細な説明を省略する。
図17において、ステップS100〜ステップS116の処理は、上述した図10におけるステップS100〜ステップS116の処理と同一であるので、ここでの説明を省略する。
制御部100は、ステップS116までの処理によりドライバアーキテクチャおよびOSの表示言語により絞り込まれた検索結果に対して、ステップS200およびステップS201で、PDL種類に基づきインストール対象の候補のドライバプログラムの一覧を作成する。制御部100は、ステップS200で、図14のフローチャートの処理に従いステップS116で渡された検索結果をインストーラ102’に渡し、PDLによる判定を行ってインストール対象の候補となる属性情報を抽出するよう、インストーラ102’に指示する。
図18は、第2の実施形態に係る、PDL判定部1210’による判定処理の例を示すフローチャートである。各PDL情報の優先順位は、図15で説明した優先順位と同一であるものとする。図18において、ステップS40で、PDL判定部1210’は、検索結果の各属性情報のうち少なくとも1つが、最も優先順位が高く設定されたPDL種類「第1のPDL」に対応しているか否かを判定する。
PDL判定部1210’は、PDL種類「第1のPDL」に対応する属性情報が存在すると判定した場合(ステップS40、「Yes」)、処理をステップS41に移行させる。ステップS41で、PDL判定部1210’は、ステップS40の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第1のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択し、選択したドライバプログラムを、インストール候補のドライバプログラム一覧に追加する。そして、PDL判定部1210’は、処理をステップS42に移行させる。
一方、PDL判定部1210’は、ステップS40において、PDL種類「第1のPDL」に対応する属性情報が存在しないと判定した場合(ステップS40、「No」)、処理をステップS42に移行させる。
ステップS42で、PDL判定部1210’は、検索結果の各属性情報のうち少なくとも1つがPDL種類「第2のPDL」に対応しているか否かを判定する。
PDL判定部1210’は、PDL種類「第2のPDL」に対応する属性情報が存在すると判定した場合(ステップS42、「Yes」)、処理をステップS43に移行する。ステップS43で、PDL判定部1210’は、ステップS42の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第2のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択し、上述した、インストール候補のドライバプログラム一覧に追加する。そして、PDL判定部1210’は、処理をステップS44に移行させる。
一方、PDL判定部1210’は、ステップS42において、PDL種類「第2のPDL」に対応する属性情報が存在しないと判定した場合(ステップS42、「No」)、処理をステップS44に移行させる。
ステップS44で、PDL判定部1210’は、検索結果の各属性情報のうち少なくとも1つがPDL種類「第3のPDL」に対応しているか否かを判定する。
PDL判定部1210’は、PDL種類「第3のPDL」に対応する属性情報が存在すると判定した場合(ステップS44、「Yes」)、処理をステップS45に移行する。ステップS45で、PDL判定部1210’は、ステップS44の判定結果に従い、検索結果の各属性情報のうち、PDL種類「第3のPDL」に対応する属性情報に対応するドライバプログラムを、インストール対象として選択し、上述した、インストール候補のドライバプログラム一覧に追加する。そして、PDL判定部1210’は、処理をステップS46に移行させる。
一方、PDL判定部1210’は、ステップS44において、PDL種類「第3のPDL」に対応する属性情報が存在しないと判定した場合(ステップS44、「No」)、処理をステップS46に移行させる。
ステップS46で、PDL判定部1210’は、ステップS41、ステップS43およびステップS45においてインストール候補のドライバプログラムが追加されたドライバプログラム一覧を出力し、制御部100に渡す(図17のステップS201)。
制御部100は、PDL判定部1210’から渡されたインストール候補のドライバプログラム一覧に基づき、インストールを行うドライバプログラムを選択するための選択肢一覧を作成する。表2は、表1の各属性情報に基づき作成された選択肢一覧の例を、プリンタの識別情報毎に示す。
Figure 0006613927
表2に例示されるように、例えば、PC10から利用するために選択されたプリンタが、識別情報「プリンタ#A」の機種である場合、インストール候補のドライバプログラムは、PDL種類「PDL#1」、「PDL#2」および「PDL#3」にそれぞれ対応するドライバプログラムとなる。制御部100は、これらPDL種類「PDL#1」、「PDL#2」および「PDL#3」にそれぞれ対応するドライバプログラムを含めて選択肢一覧を作成する。
このとき、制御部100は、PDL種類「PDL#1」、「PDL#2」および「PDL#3」にそれぞれ対応するドライバプログラムを示すドライバ名「PDL#1ドライバ」、「PDL#2ドライバ」および「PDL#3ドライバ」を、それぞれ対応するPDL種類「PDL#1」、「PDL#2」および「PDL#3」の優先順位に従った順番で並べて、選択肢一覧を作成する。表2の例では、最も優先順位の高いPDL種類「PDL#1」に対応するドライバプログラムのドライバ名「PDL#1ドライバ」が選択肢一覧の先頭に配置される。また、最も優先順位の低いPDL種類「PDL#3」に対応するドライバプログラムのドライバ名「PDL#3ドライバ」が選択肢一覧の末尾に配置される。
選択されたプリンタが識別情報「プリンタ#B」や「プリンタ#C」の場合も、同様にして、各ドライバプログラムが、対応するPDL種類の優先順位に従った順番で並べられて、選択肢一覧が作成される。
図17の説明に戻り、制御部100は、作成した選択肢一覧をUI部122に渡し、選択肢一覧からインストールを行うドライバプログラムを選択するための選択肢一覧画面を作成するようにUI部122に指示する(ステップS202)。UI部122は、制御部100から渡された選択肢一覧に基づき選択肢一覧画面を作成し、表示部103によりPC10のディスプレイ1004に表示させる。
図19は、第1の実施形態に係る、UI部122により作成された選択肢一覧画面400の例を示す。図19において、選択肢一覧画面400は、メッセージ表示部401と、選択部402と、拡張ボタン403と、「OK」ボタン404と、「キャンセル」ボタン405とを含む。メッセージ表示部401は、例えばドライバプログラムの選択を促すメッセージが表示される。選択部402は、選択肢一覧における各ドライバプログラムのドライバ名「PDL#1ドライバ」、「PDL#2ドライバ」および「PDL#3ドライバ」が、対応するPDL種類の優先順位に従った順番で表示される。
拡張ボタン403は、選択部402の表示領域を拡張する。例えば、選択部402は、デフォルトの状態では、選択肢一覧に含まれる各ドライバプログラムのうち、対応するPDL種類の優先順位が最も高いドライバプログラムのみが表示される。この状態で拡張ボタン403を操作することで、選択部402に対して、選択肢一覧に含まれる全てのドライバプログラムの情報が表示されるようになる。図19の例は、拡張ボタン403が操作され選択肢一覧に含まれる全てのドライバプログラムの情報が表示されている状態を示している。
「OK」ボタン404は、操作することで、選択部402で指定されたドライバプログラムがインストール対象として選択される。図19の例では、選択部402に表示されるドライバ名「PDL#1ドライバ」、「PDL#2ドライバ」および「PDL#3ドライバ」のうちドライバ名「PDL#2ドライバ」が指定されている。この状態で「OK」ボタン404を操作することで、指定されたドライバ名「PDL#2ドライバ」のドライバプログラムが、インストールを行うドライバプログラムとして選択される。
「キャンセル」ボタン405は、この選択肢一覧画面400に係る処理をキャンセルする。例えば、「キャンセル」ボタン405を操作することで、例えばPC10に対するドライバプログラムのインストール処理が中止される。
説明は図17に戻り、UI部122は、選択肢一覧画面400に対して、選択部402でドライバプログラムが指定され、「OK」ボタン404が操作されるユーザ入力がなされると(ステップS203)、ドライバプログラムの選択結果を制御部100に渡す(ステップS204)。
制御部100は、ステップS204でUI部122から渡されたドライバプログラムの選択結果に基づき、インストール対象のドライバプログラムを特定する(ステップS119)。以降、ステップS120〜ステップS125の処理は、図10で説明した処理と同様であるので、ここでの説明を省略する。
このように、第2の実施形態においては、インストールを行うドライバプログラムを、選択肢一覧画面400に表示されたインストール候補の各ドライバプログラムから、ユーザ操作に応じて選択することができる。そのため、ユーザは、例えば最も高機能ではなくても用途に適したドライバプログラムをインストールすることが可能である。また、選択肢一覧画面400は、各ドライバプログラムが優先順位に従った順序で表示されるため、より高機能なドライバプログラムを選択することも容易である。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
10 PC
20a,20b プリンタ
30 サーバ
40 ネットワーク
100 制御部
101,200,300 通信部
102,102’ インストーラ
103 表示部
104 入力部
120 インストール部
121 選択部
122 UI部
201 機器情報記憶部
301 配信部
302 ドライバ属性情報記憶部
400 選択肢一覧画面
402 選択部
1210,1210’ PDL判定部
1211 表示言語判定部
1212 アーキテクチャ判定部
特開2012−252526号公報

Claims (10)

  1. 機種を識別する識別情報を取得する識別情報取得部と、
    前記識別情報に基づき前記機種に適用可能な複数のプログラムそれぞれの属性を示す属性情報を取得する属性情報取得部と、
    前記属性情報に対して予め定められた優先順位に基づき前記複数のプログラムからインストール対象とするプログラムを選択する選択部と
    を備え
    前記属性情報は、少なくとも、該属性情報が対応するプログラムの前記機種に対する命令の種類を示す命令種類情報を含み、
    前記選択部は、
    前記複数のプログラムから、前記識別情報および前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムを選択する
    情報処理装置。
  2. 前記選択部は、
    前記識別情報に対応する前記複数のプログラムのうち前記優先順位が最も高い前記属性情報に対応するプログラムを選択する
    請求項1に記載情報処理装置。
  3. 前記属性情報取得部により取得された前記属性情報を、前記優先順位に従い一覧で表示する表示部をさらに備え、
    前記選択部は、
    前記複数のプログラムのうち前記一覧の表示に応じて指定された前記属性情報に対応するプログラムを選択する
    請求項1に記載の情報処理装置。
  4. 前記属性情報は、該属性情報が対応するプログラムが対応するオペレーティングシステムを示すシステム情報をさらに含み、
    前記選択部は、
    前記複数のプログラムから、前記システム情報に基づきプログラムを選択し、選択されたプログラムのうち、前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムをさらに選択する
    請求項1乃至請求項3の何れか1項に記載の情報処理装置。
  5. 前記属性情報は、該属性情報が対応するプログラムが対応する表示言語を示す言語情報をさらに含み、
    前記選択部は、
    前記複数のプログラムのうち、前記属性情報に含まれる言語情報が示す表示言語と、当該情報処理装置に搭載されるオペレーティングシステムにおいて選択されている表示言語とが一致するプログラムを選択し、選択されたプログラムのうち、前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムをさらに選択する
    請求項1乃至請求項4の何れか1項に記載の情報処理装置。
  6. 前記属性情報は、該属性情報に対応するプログラムの取得方法を示す取得情報をさらに含み、
    前記複数のプログラムのうち前記選択部で選択されたプログラムを前記取得情報に基づき取得するプログラム取得部をさらに備える
    請求項乃至請求項の何れか1項に記載の情報処理装置。
  7. 前記プログラム取得部により取得されたプログラムを当該情報処理装置にインストールするインストール部をさらに備える
    請求項に記載の情報処理装置。
  8. 機種を識別する識別情報と該機種に適用可能な複数のプログラムそれぞれの属性を示す属性情報とを関連付けて記憶する記憶部と、
    機器から該機器の機種を識別する識別情報を取得する識別情報取得部と、
    前記記憶部から、前記識別情報取得部により取得された前記識別情報に関連付けられた前記属性情報を取得する属性情報取得部と、
    前記属性情報に対して予め定められた優先順位に基づき、前記識別情報に対応する前記複数のプログラムのうち該優先順位が最も高い前記属性情報に対応するプログラムを選択する選択部と
    を備え
    前記属性情報は、少なくとも、該属性情報が対応するプログラムの前記機種に対する命令の種類を示す命令種類情報を含み、
    前記選択部は、
    前記複数のプログラムから、前記識別情報および前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムを選択する
    情報処理システム。
  9. 機種を識別する識別情報を取得する識別情報取得ステップと、
    前記識別情報に基づき前記機種に適用可能な複数のプログラムそれぞれの属性を示す属性情報を取得する属性情報取得ステップと、
    前記属性情報に対して予め定められた優先順位に基づき、前記識別情報に対応する前記複数のプログラムのうち該優先順位が最も高い前記属性情報に対応するプログラムを選択する選択ステップと
    を有し、
    前記属性情報は、少なくとも、該属性情報が対応するプログラムの前記機種に対する命令の種類を示す命令種類情報を含み、
    前記選択ステップでは、
    前記複数のプログラムから、前記識別情報および前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムを選択する
    情報処理方法。
  10. 機種を識別する識別情報を取得する識別情報取得ステップと、
    前記識別情報に基づき前記機種に適用可能な複数のプログラムそれぞれの属性を示す属性情報を取得する属性情報取得ステップと、
    前記属性情報に対して予め定められた優先順位に基づき、前記識別情報に対応する前記複数のプログラムのうち該優先順位が最も高い前記属性情報に対応するプログラムを選択する選択ステップと
    をコンピュータに実行させ
    前記属性情報は、少なくとも、該属性情報が対応するプログラムの前記機種に対する命令の種類を示す命令種類情報を含み、
    前記選択ステップでは、
    前記複数のプログラムから、前記識別情報および前記命令種類情報に対して予め定められた前記優先順位に基づきプログラムを選択するための情報処理プログラム。

JP2016015987A 2016-01-29 2016-01-29 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム Active JP6613927B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016015987A JP6613927B2 (ja) 2016-01-29 2016-01-29 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
EP17151299.9A EP3200064A1 (en) 2016-01-29 2017-01-13 Information processing device, information processing system, and information processing method
US15/414,541 US10564906B2 (en) 2016-01-29 2017-01-24 Information processing device, information processing system, and information processing method for prioritizing an installation of print drivers on information processing device
CN201710054337.4A CN107025081B (zh) 2016-01-29 2017-01-24 信息处理设备、信息处理系统和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016015987A JP6613927B2 (ja) 2016-01-29 2016-01-29 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2017134752A JP2017134752A (ja) 2017-08-03
JP6613927B2 true JP6613927B2 (ja) 2019-12-04

Family

ID=57850899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016015987A Active JP6613927B2 (ja) 2016-01-29 2016-01-29 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム

Country Status (4)

Country Link
US (1) US10564906B2 (ja)
EP (1) EP3200064A1 (ja)
JP (1) JP6613927B2 (ja)
CN (1) CN107025081B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106101A (ja) * 2017-12-14 2019-06-27 コニカミノルタ株式会社 システム、デバイス、方法およびプログラム
JP7013862B2 (ja) * 2017-12-27 2022-02-01 株式会社リコー 情報処理装置
JP7056310B2 (ja) * 2018-03-28 2022-04-19 ブラザー工業株式会社 アプリケーションプログラムのセットアップ方法およびダウンロードサーバ
JP7286273B2 (ja) * 2018-06-28 2023-06-05 キヤノン株式会社 プリンタドライバをインストールするためのプログラム、方法、及び情報処理装置
CN111200534B (zh) * 2018-11-16 2022-01-18 中国电信股份有限公司 终端信息的确定方法和装置
KR20210098343A (ko) * 2020-01-31 2021-08-10 캐논 가부시끼가이샤 정보 처리 장치, 제어 방법 및 그 프로그램, 및 정보 처리 장치와 통신할 수 있는 서버 시스템
CN113934473B (zh) * 2021-12-17 2022-03-11 机科发展科技股份有限公司 一种工业电动车辆驱动器应用程序下载系统及方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3926060B2 (ja) 1999-05-20 2007-06-06 株式会社リコー ネットワークプリンタシステム
JP3728655B2 (ja) 2000-09-11 2005-12-21 シャープ株式会社 携帯端末装置およびプリンタ/スキャナシステム
JP2004038686A (ja) * 2002-07-04 2004-02-05 Seiko Epson Corp デバイス制御ソフトウェアの格納場所を通知するデバイス
US8488143B2 (en) * 2002-08-07 2013-07-16 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting printer internet protocol addresses
JP4273024B2 (ja) * 2004-03-10 2009-06-03 キヤノン株式会社 情報処理装置、画像形成装置、該装置における方法、システム
JP4863450B2 (ja) * 2005-03-29 2012-01-25 キヤノン株式会社 デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
JP2007086969A (ja) * 2005-09-21 2007-04-05 Oki Data Corp 印刷装置
JP4756988B2 (ja) * 2005-10-18 2011-08-24 キヤノン株式会社 プログラム、機能情報提供装置、および機能情報提供方法
JP4912093B2 (ja) * 2006-08-31 2012-04-04 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
KR101352851B1 (ko) * 2007-08-01 2014-01-20 삼성전자주식회사 유니버셜 프린터 드라이버를 이용하는 인쇄 환경에서화상형성장치의 프린터 드라이버를 설치하는 방법 및 장치
US8726370B2 (en) 2007-08-02 2014-05-13 Ricoh Company, Ltd. Controlling image forming function
JP4945479B2 (ja) 2008-02-25 2012-06-06 株式会社リコー 印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体
JP2010232737A (ja) 2009-03-25 2010-10-14 Fuji Xerox Co Ltd 画像処理装置、画像形成装置およびプログラム
JP2011186969A (ja) * 2010-03-11 2011-09-22 Canon Inc 情報処理装置、情報処理装置の制御方法、インストール方法及びコンピュータプログラム
JP5528196B2 (ja) * 2010-05-06 2014-06-25 キヤノン株式会社 印刷制御装置、印刷制御方法およびプログラム
JP2012252526A (ja) 2011-06-03 2012-12-20 Canon Inc 画像処理装置管理システム、情報処理装置、及びその方法
JP6080593B2 (ja) * 2013-02-19 2017-02-15 キヤノン株式会社 情報処理装置及びその方法
JP2015026215A (ja) * 2013-07-25 2015-02-05 キヤノン株式会社 印刷システムおよびその制御方法、情報処理装置およびその制御方法、印刷装置およびその制御方法、並びにプログラム
JP6390708B2 (ja) * 2014-09-01 2018-09-19 株式会社リコー システムおよび情報処理方法
US9891878B2 (en) 2015-03-20 2018-02-13 Ricoh Company, Ltd. Information processing system, information processing apparatus, and computer-readable recording medium
US9880792B2 (en) 2015-03-20 2018-01-30 Ricoh Company, Ltd. Management system, information processing device, and management method
JP2016177704A (ja) 2015-03-20 2016-10-06 株式会社リコー 情報処理装置、情報処理プログラム、情報処理システムおよび画像処理装置

Also Published As

Publication number Publication date
CN107025081B (zh) 2020-04-10
EP3200064A1 (en) 2017-08-02
CN107025081A (zh) 2017-08-08
US20170220304A1 (en) 2017-08-03
US10564906B2 (en) 2020-02-18
JP2017134752A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6613927B2 (ja) 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
US10223042B2 (en) System, information processing method, and storage medium
US9395976B2 (en) Information processing apparatus, firmware renewing method, and computer program
JP4874859B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
JP2011081741A (ja) 情報処理装置、印刷システム、印刷方法、プログラム
US10430130B2 (en) Information processing system, information processing method
JP2013088992A (ja) 印刷システム
JP2011076171A (ja) インターネットに接続される端末装置
JP2007086969A (ja) 印刷装置
JP2016177704A (ja) 情報処理装置、情報処理プログラム、情報処理システムおよび画像処理装置
US10455101B2 (en) Server, image processing unit, and non-transitory recording medium for displaying error screen
JP6759897B2 (ja) 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
US20130159837A1 (en) Information processing apparatus, method therefor, and computer-readable storage medium
EP3716033A2 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium
JP2005301608A (ja) インストールプログラム、インストール装置および周辺機器ドライバのインストール方法
US11625205B2 (en) Information processing apparatus, server apparatus, control method, and storage medium
JP6455478B2 (ja) 情報処理装置、プログラム及びソフトウェアモジュール
CN111258510B (zh) 信息处理设备、控制方法和存储介质
US11327693B2 (en) Computer-readable medium, information processing device, and Method for installing appropriate program
JP5353997B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
US20240069830A1 (en) Information processing apparatus, method, and storage medium for storing program
CN113168296B (zh) 信息处理装置、服务器装置、控制方法、以及控制程序
US20210149616A1 (en) Information presenting method, image forming apparatus, and information processing apparatus
JP6958171B2 (ja) 画像形成システム、情報処理装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191021

R151 Written notification of patent or utility model registration

Ref document number: 6613927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151