JP2023071159A - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents

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

Info

Publication number
JP2023071159A
JP2023071159A JP2022142195A JP2022142195A JP2023071159A JP 2023071159 A JP2023071159 A JP 2023071159A JP 2022142195 A JP2022142195 A JP 2022142195A JP 2022142195 A JP2022142195 A JP 2022142195A JP 2023071159 A JP2023071159 A JP 2023071159A
Authority
JP
Japan
Prior art keywords
printer
information processing
network
address
processing apparatus
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.)
Pending
Application number
JP2022142195A
Other languages
English (en)
Inventor
洋史 菊地
Yoji Kikuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to EP22204045.3A priority Critical patent/EP4180940A1/en
Priority to US18/053,117 priority patent/US20230145977A1/en
Priority to CN202211389426.1A priority patent/CN116107523A/zh
Publication of JP2023071159A publication Critical patent/JP2023071159A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】例えば会社のPCを自宅に持って帰って使用する等のユースケースにおいて、誤って会社のプリンタなどの意図しないプリンタを選択してしまうリスクを抑え、ユーザが印刷に使用するプリンタをプリンタ一覧から選択する際のユーザビリティを向上すること。【解決手段】自宅ネットワーク5000に接続されるコンピュータ1000では、プリンタがコンピュータ1000と同じネットワークに属するか否かを判定する判定し(S1314)、同じネットワークに属しているプリンタを、ユーザが印刷に使用するプリンタを選択するためのプリンタ一覧として表示する(S1315~S1316)。【選択図】図8

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
近年、テレワークの拡大に伴い自宅で業務を行ういわゆる在宅業務と呼ばれる業務形態が増加している。在宅業務の一形態として、会社で使用しているノートPCなどのコンピュータ(以下「PC」)を自宅に持ち帰り、自宅のネットワークにそのPCを接続して業務を行う形態がある。この場合、会社のネットワークと自宅のネットワークをVPN(Virtual Private Network)で接続することで、自宅からでも安全に会社のネットワークにアクセスすることができる。
また、在宅業務において印刷を行う場合、自宅のネットワークに接続されているプリンタに対応するプリンタドライバをPCにインストールすることで自宅のプリンタで印刷を行うことができる。この時、会社から持ち帰ったPCからは会社のプリンタと自宅のプリンタと両方のプリンタに対して印刷が可能となる。このような状況において、自宅での業務中に誤って会社のプリンタを選択して印刷を行ってしまうと、VPN非接続時にはエラーとなり、VPN接続時には会社のプリンタから出力されてしまうため取りに行けず、情報漏洩リスクが発生する。
特許文献1には、印刷指示を受け付けた後に、対象プリンタまでに経由する中継機のアドレスを取得して検証することにより、ユーザが意図しないプリンタへの印刷指示を防ぐ技術が開示されている。
特開2017-84016号公報
しかし、特許文献1の技術では、意図しないプリンタを選択してしまった場合に、再度、使用するプリンタを選択しなおす必要があり、ユーザにとって利便性が良いものではなかった。
会社のPCを自宅に持って帰って使用するユースケースにおいて、会社のプリンタと自宅のプリンタが区別なくリストされてしまうため、目的の自宅のプリンタを探すのに手間がかかる。さらに、誤って会社のプリンタを選択してしまうと、エラーや情報漏洩のリスクを生じてしまう。このように、会社のPCを自宅に持って帰って使用する等のユースケースにおいては、ユーザが印刷に使用するプリンタをプリンタ一覧から選択する際のユーザビリティが低かった。
本発明は、上記の課題を解決するためになされたものである。本発明は、例えば会社のPCを自宅に持って帰って使用する等のユースケースにおいて、ユーザが印刷に使用するプリンタをプリンタ一覧から選択する際のユーザビリティを向上する仕組みを提供することを目的とする。
本発明は、プリンタ一覧を表示する表示手段を有する情報処理装置であって、プリンタが当該情報処理装置と同じネットワークに属するか否かを判定する判定手段と、当該情報処理装置と同じネットワークに属していると判定されたプリンタを、前記プリンタ一覧として表示するように制御する制御手段と、を有することを特徴とする。
本発明によれば、ユーザが印刷に使用するプリンタをプリンタ一覧から選択する際のユーザビリティを向上することができる。
第1実施形態を示す情報処理装置を含むネットワーク構成を示す図。 コンピュータのハードウェア構成を示すブロック図。 プリンタのハードウェア構成を示すブロック図。 コンピュータのソフトウェア構成を示すブロック図。 ユーザが印刷に使用するプリンタを選択するためのUI画面を示す図。 意図しないプリンタを選択肢から除外する設定を行うためのUIを示す図。 コンピュータやプリンタの各ネットワーク上のIPアドレスを示す図。 第1実施形態においてプリンタの選択肢を決定する処理のフローチャート。 第2実施形態においてプリンタの選択肢を決定する処理のフローチャート。 第3実施形態においてプリンタの選択肢を決定する処理のフローチャート。 第4実施形態においてプリンタの選択肢を決定する処理のフローチャート。 第5実施形態においてプリンタの選択肢を決定する処理のフローチャート。 「ipconfig」コマンドの実行結果の例を示す図。 「ping」コマンドの実行の例を示す図。 「route print」コマンドで取得したルーティングテーブルを示す図。 第6実施形態においてプリンタの選択肢を決定する処理のフローチャート。 第7実施形態のネットワーク構成の一例を示す図である。 第7実施形態においてプリンタの選択肢を決定する処理のフローチャート。 意図しないプリンタを選択肢から除外するための設定画面を示す図。 VPN接続を行うための設定画面を示す図。
以下、本発明を実施するための形態について図面を用いて説明する。
〔第1実施形態〕
図1は、本発明の第1実施形態を示す情報処理装置を含むネットワーク構成の一例を示す図である。
自宅には、コンピュータ1000とプリンタA2000が存在し、それぞれ自宅ネットワーク5000で接続されている。自宅ネットワーク5000は、不図示のルータを介して外部のインターネットに接続されているものとする。
一方、会社には、プリンタB3000が存在し、会社ネットワーク6000に接続されている。会社ネットワーク6000は、不図示のルータおよびVPNサーバを介して外部のインターネットに接続されているものとする。
さらに、コンピュータ1000は、仮想プライベートネットワーク(VPN)7000を介して、仮想的に会社のネットワーク6000に接続されている。これにより、コンピュータ1000は、不図示のインターネットを経由しながら安全に会社ネットワーク6000のデータにアクセスすることができる。
なお、コンピュータ1000は、ユーザの指定により仮想プライベートネットワーク7000への接続のON/OFFを切り替えることが可能である。なお、自宅ネットワーク5000や会社ネットワーク6000は有線で接続されていても無線で接続されていてもよい。
図2は、コンピュータ1000のハードウェア構成の一例を示すブロック図である。
コンピュータ1000では、CPU1041とメモリ1042を有する制御部1040が全体を制御している。表示部1010は、ディスプレイなどの出力装置を示す。操作部1020は、マウスやキーボードなどの入力装置を示す。
記憶部1030は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置であり、コンピュータ1000が動作する際に必要な各種ソフトウェアが保存されている。それらのソフトウェアは、必要に応じてメモリ1042にロードされ、CPU1041によって実行されることで実現される。
ネットワーク通信部1050は、外部のネットワークに接続して外部装置とのデータの入出力を行う。
本実施形態における処理は、記憶部1030に記憶されたソフトウェアを制御部1040におけるメモリ1042にロードしてCPU1041が実行することによって実現される。なお、CPUはCentral Processing Unitの略である。
図3は、プリンタA2000およびプリンタB3000のハードウェア構成を示すブロック図である。
プリンタA2000では、CPU2041とメモリ2042を含む制御部2040が全体を制御している。表示部2010は、液晶パネルなどの出力装置を示す。また、操作部2020はタッチパネルや各種ボタンによる入力装置を示す。
記憶部2030は、HDDやSSDなどの記憶装置であり、プリンタA2000が動作する際に必要な各種ソフトウェアが保存されている。これらのソフトウェアは必要に応じてメモリ2042にロードされ、CPU2041によって実行されることで実現される。ネットワーク通信部2050は外部のネットワークに接続して外部装置とのデータの入出力を行う。
印刷部2060は、制御部2040の指示に従って記憶部2030やメモリ2042に格納されたデジタルデータを画像化して物理用紙に印刷する。印刷の方式はインク方式、トナー方式、その他の方式を用いることができる。
なお、プリンタA2000とプリンタB3000の構成は同じであるため、プリンタB3000の構成についての説明は割愛する。
図4は、コンピュータ1000のソフトウェア構成のうち印刷に関連するモジュールの一例を示すブロック図である。
アプリケーション1100は、文書作成ソフトや表計算ソフトなどの任意のソフトウェアを指しており、印刷機能を有するものとする。ユーザは、アプリケーション1100が持つ印刷機能を実行することで、現在コンピュータ1000の表示部1010に表示されている情報などをプリンタA2000やプリンタB3000で印刷することができる。アプリケーション1100の持つ印刷機能は、後述のGDI1210が持つインターフェイスを呼び出すことで実現される。
OS1200はOperating Systemの略であり、コンピュータ1000の基本動作をつかさどるソフトウェアである。アプリケーション1100やプリンタドライバ1221、1222などは、いずれもOS1300によって管理されており、OS1200に対してインストールされることで使用可能となる。
GDI1210はGraphics Device Interfaceの略であり、印刷などの描画に関するインターフェイスを外部に提供するOS1200内部のコンポーネントである。
プリンタA用プリンタドライバ1221は、プリンタA2000で印刷を行うための印刷設定をUI表示したり、印刷時にはプリンタA2000が解釈可能な描画データ(PDL:Page Description Language)を生成したりする。プリンタB用プリンタドライバ1222の役割も同様である。
スプーラ1230は、上記で生成されたPDLをプリンタA2000やプリンタB3000に向けて送信する処理を行う。
図5は、ユーザが印刷に使用するプリンタを選択するためのUI画面の一例を示す図である。図5に示すユーザインターフェース(UI)は、アプリケーション1100から印刷を行う際に表示される。
図5(a)は、コンピュータ1000に登録された全てのプリンタから印刷に用いるプリンタを選択可能とする場合のUIを示している。
図5(b)は、一部のプリンタを選択肢から除外した場合のUIを示している。
図5(a)において、コンボボックス1510はプリンタ選択のためのUIであり、アローボタン(下三角形のボタン)1511を押下することで、1512から1514に示すプリンタの選択肢が表示される。プリンタAの選択肢1512は、自宅のプリンタA2000に対して印刷するための選択肢である。プリンタBの選択肢1513は、会社のプリンタB3000に対して印刷するための選択肢である。一方、Print to PDFの選択肢1514は、PDFファイルを生成するための選択肢である。このPrint to PDFの選択肢1514は、実際のプリンタへの出力は行わないことから仮想プリンタと呼ばれている。
また、プリンタAの選択肢1512は、プリンタA用プリンタドライバ1221に関連付けられている。プリンタBの選択肢1513は、プリンタB用プリンタドライバ1222に関連付けられている。Print to PDFの選択肢1514は、不図示のPDF生成用の特殊なプリンタドライバに関連付けられている。
上部の印刷ボタン1500は、印刷を指示するためのボタンである。ユーザはコンボボックス1510から所望のプリンタを選択してから印刷ボタン1500を押下することで、選択したプリンタに対して実際の印刷処理を指示することができる。アプリケーション1100は、印刷ボタン1500が押下されるとコンボボックス1510で指定されたプリンタに対応するプリンタドライバを呼び出して印刷指示を行う。
図5(b)は、プリンタ選択のためのコンボボックス1520における選択肢から一部のプリンタを除外した場合のUIを示している。図5(b)の例は、自宅のコンピュータ1000から意図せず会社のプリンタB3000に対して印刷を行うことを防ぐために、プリンタBの選択肢1513を除外した場合の例である。
自宅のプリンタA2000に印刷を行うためのプリンタAの選択肢1512と、PDFファイルを生成するためのPrint to PDFの選択肢1514は除外せずに選択可能となっている。プリンタ選択のためのコンボボックスに表示するプリンタを決定する手順についてはフローチャートを用いて後述する。
図6は、ユーザが意図しないプリンタをプリンタ一覧の選択肢から除外する設定を行うためのUIの一例を示す図である。なお、この設定は、現在の場所(コンピュータ1000のある場所)にないプリンタを使用しないための設定ということもできる。
ユーザは、チェックボックス1700にチェックすることで本設定を有効にすることができる。本設定が有効になっている時は、印刷時のプリンタ選択(コンボボックス1510、1520)において現在の場所(コンピュータ1000のある場所)にないプリンタを除外する。一方、本設定が有効になっていない時は、コンピュータ1000に登録された全てのプリンタを選択可能に表示する。
本設定は、コンピュータ1000におけるOS1200の設定として設けてもよいし、個別のアプリケーション1100の設定として設けてもよい。OS1200の設定として設けた場合は、全てのアプリケーション1100からの印刷時に本設定は有効となる。個別のアプリケーション1100の設定として設けた場合は該当するアプリケーション1100からの印刷時にのみ本設定は有効となる。
図20は、コンピュータ1000上のOS1200から仮想プライベートネットワーク(VPN)7000への接続を行うためのOS1200の持つ設定画面である。
ユーザは、あらかじめOS1200に対してVPN接続のための設定を行っておき、接続時にはそのVPN接続を有効(ON)にすることで指定されたVPN接続を開始することができる。
以下、VPN接続を行うための設定画面の各設定項目について説明する。
接続名2001は、ここで設定するVPN接続につける任意の名称を入力する領域である。サーバ名またはアドレス2002は、VPN接続を行いたいVPNサーバのグローバルアドレスを入力する領域である。なお、VPNサーバ(不図示)は、会社ネットワーク6000内に配置され、外部から会社ネットワーク6000に接続するために用意されている専用のサーバである。VPNの種類2003は、接続先のVPNサーバとやり取りを行うためのVPNのプロトコルを指定する領域である。VPNのためのプロトコルには、Point to Pointトンネルプロトコル(PPTP)や事前共有キーを使用するL2TP/IPsecなどがあり、ここではVPNサーバ側でサポートされている通信プロトコルを指定する。事前共有キー2004は、あらかじめVPNサーバとの接続を行うために提供されている共有キーを入力する領域である。ユーザ名2004とパスワード2005は、VPNサーバに接続するための認証情報を入力する領域である。
保存ボタン2007が押下されると、OS1200は上記設定画面で入力されたVPN接続に関わる設定を保存する。ここで保存された設定は、後述するネットワークアダプタとして接続名2001に入力された名称でOS1200に登録される。ユーザは、登録されたVPN接続を任意のタイミングで有効にしたり無効にしたりすることが可能である。なお、本実施形態では、VPNの登録と共に会社ネットワークに接続するためのルーティングテーブルが適切に設定されているものとする。ルーティングテーブルについては図15を用いて後述する。
図7は、本実施形態におけるコンピュータ1000、プリンタA2000、プリンタB3000の各ネットワーク上のIPアドレスとサブネットマスクを示した図である。
ネットワーク1801は、対象のネットワークの名称を示す。IPアドレス1802は、対象機器の前記各ネットワークにおけるIPアドレスを示す。サブネットマスク1803は、ネットワークの範囲を指定するサブネットマスクを示す。
本実施形態におけるコンピュータ1000は、自宅ネットワーク5000と仮想プライベートネットワーク(VPN)7000の両方に接続されていることから、それぞれのネットワークに対するIPアドレスを有する。
自宅ネットワーク5000上のIPアドレスおよびサブネットマスクが1811に示されており、「192.168.1.50」および「255.255.255.0」である。
一方、仮想プライベートネットワーク(VPN)7000上のIPアドレスおよびサブネットマスクが1812に示されており、「10.152.51.20」および「255.255.255.255」である。ここでは、ルーティングにより会社ネットワークに接続する例を示しており、仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスとして、会社ネットワークとは異なるセグメントのアドレスが割り当てられている。なお、仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスとして、会社ネットワークと同じセグメントのアドレスが割り当てられる場合については後述する第6実施形態で説明する。
プリンタA2000は、自宅ネットワーク5000にのみ接続されている。IPアドレスおよびサブネットマスクは1813に示されており、「192.168.1.46」および「255.255.255.0」である。
プリンタB3000は、会社ネットワーク6000にのみ接続されている。IPアドレスおよびサブネットマスクは1814に示されており、「172.26.178.127」および「255.255.248.0」である。
次に図8のフローチャートを用いて図5のプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図8は、第1実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。この処理は、アプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まずコンピュータ1000のIPアドレスとサブネットマスクを取得する(S1311)。これらの値は図7に例示したものに対応し、具体的にはOS1200が提供する「ipconfig」などのコマンドで取得することが可能である。
図13は、「ipconfig」コマンドの実行結果の一例(抜粋)を示す図である。
ここで示す例では、一つのコンピュータ1000に対して、ネットワークアダプタが複数登録されており、それぞれのネットワークに対してIPアドレスとサブネットマスクが表示されている。なお、ネットワークアダプタとは、一般的にはネットワークに接続するためのハードウェアであるネットワークカード(NIC=Network Interface Cardとも呼ばれる)を指している。ネットワークアダプタには有線でネットワークに接続するためのものや無線(Wi-Fiなど)でネットワークに接続するためのものなどがそれぞれ存在する。近年ではソフトウェアで疑似的にネットワークカードを再現した仮想NICと呼ばれるネットワークアダプタも使用されており、仮想プライベートネットワーク(VPN)への接続ではこの仮想NICが用いられている。図20の設定画面で設定されたVPN接続も接続名2001で登録された名称で仮想NICとしてOS1200に登録される。
本実施形態では、仮想プライベートネットワーク(VPN)7000がネットワークアダプタA1851で接続されているものとする。そのため、仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスがネットワークアダプタA1851に関連付けられて取得できる。同様に自宅ネットワーク5000がネットワークアダプタB1852で接続されているものとする。同様に自宅ネットワーク5000におけるコンピュータ1000のIPアドレスがネットワークアダプタB1852に関連付けられて取得できる。このように一つのコンピュータ1000において複数のネットワークアダプタが有効になっている時には、そのコンピュータは複数のIPアドレスを持っている状態となる。複数のIPアドレスを持つコンピュータがネットワークに接続する際に、どのIPアドレスを使用して情報のやり取りを行うかについては、図15のルーティングテーブルを用いて後述する。
次に、アプリケーション1100は、使用可能なプリンタのリストを取得する(S1312)。この情報は、具体的にはOS1200が提供する「EnumPrinters」などのAPIで取得することが可能である。これによりアプリケーション1100は、OS1200で使用可能な全てのプリンタ(仮想プリンタを含む)のリストを取得する。本実施形態では、「プリンタA」、「プリンタB」、「Print to PDF」の3つのプリンタを取得するものとする。
次に、アプリケーション1100は、一つ目のプリンタであるプリンタA2000を対象にして、プリンタのポート情報から対象プリンタのIPアドレスを取得する(S1313)。ポート情報とは該当のプリンタが接続されているポートの持つ情報を示しており、ネットワーク接続であればTCP/IPプロトコルにおけるIPアドレスの情報が含まれる。なお、ネットワーク接続の場合、WSDポートやIPPポートと呼ばれる専用のポートが使用されることもある。それらのポートが使用されている場合でも、それぞれのポートが持つ情報を用いてIPアドレスを特定するものとする。なお、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーション1100は、後述するS1315にて該当のプリンタを表示リストに追加するものとする。
次に、アプリケーション1100は、コンピュータ1000と対象プリンタが同一ネットワーク上にあるかどうかを確認する(S1314)。同一ネットワークであるかどうかはS1311で取得したIPアドレスとサブネットマスクの情報を用いて判断する。具体的には、それぞれのIPアドレスとサブネットマスクのANDを取って算出したネットワークアドレスが同一であれば同一ネットワークに存在すると判断する。すなわち、コンピュータ1000のIPアドレスから特定されるネットワークセグメントと、対象プリンタのIPアドレスから特定されるネットワークセグメントが一致する場合には、対象プリンタがコンピュータ1000と同じネットワークに属しているとする。一方、一致しない場合に対象プリンタとコンピュータ1000が同じネットワークに属していないとする。
もし同一ネットワーク上にあることが確認出来たら(S1314でYesの場合)、アプリケーション1100は、対象プリンタを表示リストに追加し(S1315)、S1317に処理を進める。
一方、同一ネットワーク上にないことが確認出来たら(S1314でNoの場合)、アプリケーション1100は、対象プリンタを表示リストに追加せず(S1316)、S1317に処理を進める。
例えば、プリンタA2000の場合、自宅ネットワーク5000内のネットワークアドレス「192.168.1.0」にコンピュータ1000もプリンタA2000も含まれていることから同一ネットワーク上にある(S1314でYes)と判断される。このため、アプリケーション1100は、「プリンタA」を表示リストに追加する(S1315)。なお、自宅のネットワーク5000のIPアドレスはOSが管理するIPアドレスのうち、VPNとして登録されたIPアドレスと異なるIPアドレスである。
一方、プリンタB3000が属するネットワークは「172.26.176.0」、コンピュータ1000が属するネットワークは「192.168.1.0」及び「10.152.51.20」である。よって、プリンタB3000はコンピュータ1000と同一ネットワーク上にない(S1314でNo)と判断される。このため、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1316)。
なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーション1100は、前述のとおり表示リストに追加する(S1315)。
S1317において、アプリケーション1100は、全てのプリンタについて同一ネットワーク上にあるかの確認(S1313~S1316)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S1317でNoの場合)、アプリケーション1100は、未確認のプリンタを対象として、S1313~S1316の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S1317でYesの場合)、アプリケーション1100は、S1318に処理を進める。
S1318において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
以上のように、プリンタがコンピュータ1000と同じネットワークに属するか否かを判定し、同じネットワークに属していると判定されたプリンタを、ユーザが印刷に使用するプリンタを選択するためのプリンタ一覧として表示するように制御する。これにより、印刷を行いたいタイミングで同一ネットワークにあるプリンタのみがリストされることになる。具体的には、自宅での印刷時に図6のチェックボックス1700がOFFになっている時は図5(a)のUIが表示される。一方、図6のチェックボックス1700がONになっている時は図5(b)のUIが表示される。よって、自宅での印刷時に会社のプリンタを選択してしまったり、会社での印刷時に自宅のプリンタを選択してしまったりするリスクを回避することができる。この結果、自宅での業務中に誤って会社のプリンタを選択して印刷を行ってしまい、エラー(VPN非接続時)、会社のプリンタから出力され(VPN接続時)情報漏洩リスクとなる等の発生を抑えることができ、ユーザビリティが向上する。
〔第2実施形態〕
第2実施形態では、印刷を行うプリンタの選択肢のリストを生成する別の方法について例示する。本実施形態においても構成図やUIの例については第1実施形態と全く同等であるため説明は割愛する。ここではプリンタの選択肢のリストを生成するフローについてのみ差分として説明する。
以下、図9のフローチャートを用いて、本実施形態において図5で示したプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図9は、第2実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。第1実施形態と同様に、この処理はアプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まず使用可能なプリンタのリストを取得する(S1321)。この処理は第1実施形態のステップS1312の処理と同等である。
次に、アプリケーション1100は、一つ目のプリンタであるプリンタA2000を対象として、プリンタのポート情報から対象プリンタのIPアドレスを取得する(S1322)。この処理は第1実施形態のステップS1313の処理と同等である。ここでも、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーション1100は後述するS1325にて該当のプリンタを表示リストに追加するものとする。
次に、アプリケーション1100は、対象プリンタのIPアドレスに対して接続確認を実施する(S1323)。接続確認とは、具体的には例えばOS1200が提供する「ping」などのコマンドで実施することが可能である。第2実施形態における「ping」コマンドの実行の例を図14(a)に示す。指定されたIPアドレスに対して「ping」コマンドを実行することで、ネットワーク上接続されているかを確認することができる。具体的には、「ping」コマンドの結果として宛先のIPアドレスから応答が届いた場合にはアプリケーション1100は接続できたと判断する。一方、「ping」コマンドの結果として要求がタイムアウトした場合や宛先ネットワークや宛先ホストに到達できなかった旨の結果が返ってきた場合にはアプリケーション1100は接続できなかったと判断する。
次に、アプリケーション1100は、上記S1323での接続確認によって接続できたか否かを判定する(S1324)。接続できていれば(S1325でYesの場合)、アプリケーション1100は、対象プリンタを表示リストに追加し(S1325)、S1327に処理を進める。
一方、接続できていなければ(S1325でNoの場合)、アプリケーション1100は、対象プリンタを表示リストに追加することなく(S1326)、S1327に処理を進める。
例えば、プリンタA2000の場合、本実施形態の環境では、自宅にコンピュータ1000があるため、通常は問題なく接続ができる(S1324でYesとなる)。このため、アプリケーション1100は、「プリンタA」を表示リストに追加する(S1325)。
また、プリンタB3000の場合、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていれば、プリンタB3000に対しても接続ができる(S1324でYesとなる)。この場合、アプリケーション1100は、「プリンタB」を表示リストに追加する(S1325)。一方、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていない時は、プリンタB3000に対しても接続ができない(S1324でNoとなる)。この場合、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1325)。
なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーション1100は、前述のとおり表示リストに追加する(S1325)。
S1327において、アプリケーション1100は、全てのプリンタについて接続の確認(S1322~S1326)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S1327でNoの場合)、アプリケーション1100は、未確認のプリンタを対象として、S1322~S1326の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S1327でYesの場合)、アプリケーション1100は、S1328に処理を進める。
S1328において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
上記の処理を行うことで、印刷を行いたいタイミングで接続確認ができたプリンタのみがリストされることになる。具体的には、自宅での印刷時に図6のチェックボックス1700がOFFになっている時は図5(a)のUIが表示される。一方、図6のチェックボックス1700がONになっている時はコンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されているかどうかで表示が変わることになる。コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていれば図5(a)のようなUIが表示され、接続されていなければ図5(b)のようなUIが表示される。これにより、自宅での印刷時にコンピュータ1000と接続されていないプリンタを選択してしまうリスクを回避できる。よって、ユーザのプリンタ再選択の手間を省き、ユーザの利便性を高めることができ、ユーザビリティが向上する。
〔第3実施形態〕
第3実施形態では、印刷を行うプリンタの選択肢のリストを生成するさらに別の方法について例示する。本実施形態においても構成図やUIの例については第1実施形態と全く同等であるため説明は割愛する。ここでもプリンタの選択肢のリストを生成するフローについてのみ差分として説明する。
以下、図10のフローチャートを用いて、本実施形態において図5で示したプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図10は、第3実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。第1実施形態と同様に、この処理はアプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まずコンピュータ1000が使用可能なネットワークのうち、仮想プライベートネットワークでないもの(非VPN)を特定する(S1331)。具体的には、アプリケーション1100はそれぞれのネットワークで使用されるネットワークアダプタの属性をOS1200から取得してVPN接続用かどうかを判断する。図20で示す方法で登録されたネットワークアダプタとしてOS1200が管理しているネットワークアダプタであれば、VPN接続用と判断することができる。また、そのネットワークアダプタの使用するプロトコルをアプリケーション1100が取得し、Point to Pointトンネルプロトコル(PPTP)やL2TP/IPsecなどのVPNで使用されるプロトコルが使用されていればVPN接続であると判断してもよい。本実施形態の構成では自宅ネットワーク5000のみが非VPNのネットワークとして該当する。
次に、アプリケーション1100は、上記S1331で特定した非VPNネットワークにおけるコンピュータ1000のIPアドレスを取得する(S1332)。ここで用いるコマンドは、第1実施形態のステップS1311の処理で用いたコマンドと同等であるが、ネットワークアダプタが複数登録されているため非VPNのネットワークに関連付けられたネットワークアダプタに対応するIPアドレスのみを取得する。アプリケーション1100は、例えばOS1200が管理しているVPNネットワークの情報を用いて、非VPNのネットワークに関連付けられたネットワークアダプタを特定する。また、ネットワークアダプタの情報やネットワークプロファイル等からVPNネットワーク、非VPNネットワークを判断する構成でもよい。
本実施形態では、S1332で取得するIPアドレスは自宅ネットワーク5000における「192.168.1.50」となる。
次に、アプリケーション1100は、使用可能なプリンタのリストを取得する(S1333)。この処理は第1実施形態のステップS1312の処理と同等である。
次に、アプリケーション1100は、一つ目のプリンタであるプリンタA2000を対象として、プリンタのポート情報から対象プリンタのIPアドレスを取得する(S1334)。この処理は第1実施形態のステップS1313の処理と同等である。ここでも、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーション1100は後述するS1337にて該当のプリンタを表示リストに追加するものとする。
次にアプリケーション1100は、非VPNにおけるコンピュータ1000のIPアドレスから対象プリンタのIPアドレスに対して接続確認を実施する(S1335)。ここでの接続確認も第2実施形態のステップS1323と同様にOS1200が提供する「ping」などのコマンドで実施することが可能である。第3実施形態における「ping」コマンドの実行の例を図14(b)に示す。ここで、「ping /S 192.168.1.50」のように「/S」オプションによって接続元のIPアドレスも指定している点が第2実施形態の図14(a)と異なる。本実施形態においては、接続元のIPアドレスとして非VPNのネットワークにおけるコンピュータ1000のIPアドレスである「192.168.1.50」を指定している。この方法を取ることで、接続先のプリンタが自宅ネットワーク5000経由で接続されている時のみ接続確認に成功し、接続先のプリンタが仮想プライベートネットワーク(VPN)7000経由で接続されている場合は接続確認に失敗する。
次に、アプリケーション1100は、上記S1335での接続確認によって接続できたか否かを判定する(S1336)。接続できていれば(S1336でYesの場合)、アプリケーション1100は、対象プリンタを表示リストに追加し(S1337)、S1339に処理を進める。
一方、接続できていなければ(S1336でNoの場合)、アプリケーション1100は、対象プリンタを表示リストに追加することなく(S1338)、S1339に処理を進める。
例えば、プリンタA2000の場合、非VPNのネットワークにおけるコンピュータ1000のIPアドレスを接続元として接続確認しているため、通常の場合、接続に成功する(S1336でYesとなる)。このため、アプリケーション1100は、「プリンタA」を表示リストに追加する(S1337)。
また、プリンタB3000の場合、非VPNのネットワークにおけるコンピュータ1000のIPアドレスを接続元として接続確認しているため接続に失敗する(S1336でNoとなる)。この場合、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1338)。
なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーション1100は、前述のとおり表示リストに追加する(S1337)。
S1339において、アプリケーション1100は、全てのプリンタについて接続の確認(S1334~S1338)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S1339でNoの場合)、アプリケーション1100は、未確認のプリンタを対象として、S1334~S1338の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S1339でYesの場合)、アプリケーション1100は、S1340に処理を進める。
S1340において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
以上の処理は、非VPNネットワークにおけるコンピュータ1000のIPアドレスから対象プリンタのIPアドレスへの接続確認を行う。そして接続が確認できたことに応じて対象プリンタがコンピュータ1000と同じネットワークに属していると判定し、対象プリンタを表示リストに追加する。一方、接続が確認できなかったことに応じて対象プリンタがコンピュータ1000と同じネットワークに属していないと判定し、対象プリンタを表示リストに追加しない処理に対応する。このような処理を行うことで、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されているかどうかに関わらず、図5(b)のUIが表示される。これにより、自宅での印刷時に誤って会社のプリンタB3000を選択してしまうリスクを回避することができ、ユーザビリティが向上する。
〔第4実施形態〕
第4実施形態でも印刷を行うプリンタの選択肢のリストを生成するさらに別の方法について例示する。本実施形態においても構成図やUIの例については第1実施形態と全く同等であるため説明は割愛する。ここでもプリンタの選択肢のリストを生成するフローについてのみ差分として説明する。
以下、図11のフローチャートを用いて、本実施形態において図5で示したプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図11は、第4実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。第1実施形態と同様に、この処理はアプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まずコンピュータ1000が使用可能なネットワークのうち、仮想プライベートネットワーク(VPN)であるものを特定する(S1351)。本実施形態の構成では仮想プライベートネットワーク(VPN)7000のみが該当する。
次に、アプリケーション1100は、上記S1351で特定した仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスを取得する(S1352)。ここで用いるコマンドは第3実施形態のステップS1332の処理で用いたコマンドと同等であり、ここでは仮想プライベートネットワーク(VPN)のネットワークに関連付けられたネットワークアダプタに対応するIPアドレスのみを取得する。本実施形態では、S1352で取得するIPアドレスは仮想プライベートネットワーク(VPN)7000における「10.152.51.20」となる。
次に、アプリケーション1100は、使用可能なプリンタのリストを取得する(S1353)。この処理は第1実施形態のステップS1312の処理と同等である。
次に、アプリケーション1100は、一つ目のプリンタであるプリンタA2000を対象として、プリンタのポート情報から対象プリンタのIPアドレスを取得する(S1354)。この処理は第1実施形態のステップS1313の処理と同等である。ここでも、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーション1100は後述するS1357にて該当のプリンタを表示リストに追加するものとする。
次にアプリケーション1100は、仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスから対象プリンタのIPアドレスに対して接続確認を実施する(S1355)。ここでの接続確認もOS1200が提供する「ping」などのコマンドで実施することが可能である。第4実施形態における「ping」コマンドの実行の例を図14(c)に示す。ここで、「ping /S 10.152.51.20」のように「/S」オプションによって接続元のIPアドレスとして仮想プライベートネットワーク(VPN)におけるコンピュータ1000のIPアドレスである「10.152.51.20」を指定する。この方法を取ることで、接続先のプリンタが仮想プライベートネットワーク(VPN)7000経由で接続されている時のみ接続確認に成功し、接続先のプリンタが自宅ネットワーク5000経由で接続されている場合は接続確認に失敗する。
次に、アプリケーション1100は、上記S1355での接続確認によって接続できたか否かを判定する(S1356)。接続できていなければ(S1356でNoの場合)、アプリケーション1100は、対象プリンタを表示リストに追加し(S1357)、S1359に処理を進める。
一方、接続できていれば(S1356でYesの場合)、アプリケーション1100は、対象プリンタを表示リストに追加することなく(S1358)、S1359に処理を進める。
例えば、プリンタA2000の場合、仮想プライベートネットワーク(VPN)7000のIPアドレスを接続元として接続確認しているため接続に失敗する(S1356でNoとなる)。このため、アプリケーション1100は、「プリンタA」を表示リストに追加する(S1357)。
また、プリンタB3000の場合、仮想プライベートネットワーク(VPN)7000のIPアドレスを接続元として接続確認しているため接続に成功する(S1356でYesとなる)。この場合、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1358)。
なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーション1100は、前述のとおり表示リストに追加する(S1357)。
S1359において、アプリケーション1100は、全てのプリンタについて接続の確認(S1354~S1358)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S1359でNoの場合)、アプリケーション1100は、未確認のプリンタを対象として、S1354~S1358の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S1359でYesの場合)、アプリケーション1100は、S1360に処理を進める。
S1360において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
以上の処理は、VPNネットワークにおけるコンピュータ1000のIPアドレスから対象プリンタのIPアドレスへの接続確認を行う。そして接続が確認できなかったことに応じて対象プリンタがコンピュータ1000と同じネットワークに属していると判定し、対象プリンタを表示リストに追加する。一方、接続が確認できたことに応じて対象プリンタがコンピュータ1000と同じネットワークに属していないと判定し、対象プリンタを表示リストに追加しない処理に対応する。このような処理を行うことで、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていて且つそのネットワーク経由で接続可能なプリンタのみが表示リストから除外されることになる。すなわちコンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていれば図5(b)のUIが表示され、接続されていなければ図5(a)のUIが表示される。この方法でも自宅での印刷時に誤って会社のプリンタから出力してしまうというリスクを回避することができ、ユーザビリティが向上する。
〔第5実施形態〕
第5実施形態でも印刷を行うプリンタの選択肢のリストを生成するさらに別の方法について例示する。本実施形態においても構成図やUIの例については第1実施形態と全く同等であるため説明は割愛する。ここでもプリンタの選択肢のリストを生成するフローについてのみ差分として説明する。
以下、図12のフローチャートを用いて、本実施形態において図5で示したプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図12は、第5実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。第1実施形態と同様に、この処理はアプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まずコンピュータ1000が使用可能なネットワークのうち、仮想プライベートネットワーク(VPN)であるものを特定する(S1371)。この処理は第4実施形態のステップS1351の処理と同等である。本実施形態の構成では仮想プライベートネットワーク(VPN)7000のみが該当する。
次に、アプリケーション1100は、上記S1371で特定した仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスを取得する(S1372)。この処理は第4実施形態のステップS1352の処理と同等である。本実施形態では、S1372で取得するIPアドレスは仮想プライベートネットワーク(VPN)7000における「10.152.51.20」となる。
次に、アプリケーション1100は、コンピュータ1000のルーティングテーブルを取得する(S1373)。ルーティングテーブルとは、コンピュータ1000から個々のネットワークの宛先に接続する際に参照される経路の一覧が記述されたテーブルである。コンピュータ1000のルーティングテーブルはOS1200が提供する「route print」などのコマンドで取得することが可能である。「route print」コマンドで取得したルーティングテーブルの例を図15に示す。
次に、アプリケーション1100は、使用可能なプリンタのリストを取得する(S1374)。この処理は第1実施形態のステップS1312の処理と同等である。
次に、アプリケーション1100は、一つ目のプリンタであるプリンタA2000を対象として、プリンタのポート情報から対象プリンタのIPアドレスを取得する(S1375)。この処理は第1実施形態のステップS1313の処理と同等である。ここでも、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーション1100は後述するS1378にて該当のプリンタを表示リストに追加するものとする。
次にアプリケーション1100は、上記取得したルーティングテーブルを参照し、対象プリンタへのインターフェイスが仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレス経由かどうかを確認する(S1376)。
以下、S1376について図15を用いて説明する。
特定の宛先に接続する際に経由するインターフェイスは、ネットワーク宛先1911とネットマスク1912の情報から導き出すことができる。具体的には、宛先となる対象プリンタのIPアドレスとネットマスク1912とでANDを取ってネットワーク宛先1911と一致するものがあれば、その行のインターフェイス1913が、その宛先に接続する際に経由するインターフェイスとなる。なお、複数行と一致する場合はロンゲストマッチの原則により、最も長く一致した行が選択される。
例えば、プリンタA2000を宛先とした場合について説明する。この場合、宛先となるプリンタA2000のIPアドレスである「192.168.1.46」とルーティングテーブル上の各行のネットマスク1912とでANDを取り、ネットワーク宛先1911と一致するものを探す。その結果、ルーティングテーブルの1902行と1903行が一致する。このうち最も長く一致するのはルーティングテーブルの1903行である。これにより、プリンタA2000を宛先とした場合に経由するインターフェイスは「192.168.1.50」であることがわかる。これはS1372で取得した仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレス「10.152.51.20」とは異なる。よって、プリンタA2000への接続は、仮想プライベートネットワーク(VPN)7000を経由した接続ではないことがわかる。
また、プリンタB3000を宛先とした場合とした場合について説明する。この場合、宛先となるプリンタB3000のIPアドレスである「172.26.178.127」とルーティングテーブル上の各行のネットマスク1912とでANDを取り、ネットワーク宛先1911と一致するものを探す。その結果、ルーティングテーブルの1901行のみが一致する。これにより、プリンタB3000を宛先とした場合に経由するインターフェイスは「10.152.51.20」であることがわかる。これはS1372で取得した仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレス「10.152.51.20」と一致する。よって、プリンタB3000への接続は、仮想プライベートネットワーク(VPN)7000を経由した接続であることがわかる。
次に、アプリケーション1100は、上記S1376の確認で仮想プライベートネットワーク(VPN)7000を経由した接続だったかどうかを判定する(S1377)。そして仮想プライベートネットワーク(VPN)7000経由でなければ(S1377でNoの場合)、アプリケーション1100は、対象のプリンタを表示リストに追加し(S1378)、S1380に処理を進める。
一方、仮想プライベートネットワーク(VPN)7000経由であれば(S1377でYesの場合)、アプリケーション1100は、対象のプリンタを表示リストに追加することなく(S1379)、S1380に処理を進める。
例えば、プリンタA2000の場合、仮想プライベートネットワーク(VPN)7000を経由した接続ではないため(S1377でNo)、アプリケーション1100は、「プリンタA」を表示リストに追加する(S1378)。
また、プリンタB3000の場合、仮想プライベートネットワーク(VPN)7000を経由した接続であるため(S1377でYes)、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1379)。
なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーション1100は、前述のとおり表示リストに追加する(S1378)。
S1380において、アプリケーション1100は、全てのプリンタについてVPN経由の確認(S1375~S1379)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S1380でNoの場合)、アプリケーション1100は、未確認のプリンタを対象として、S1375~S1379の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S1380でYesの場合)、アプリケーション1100は、S1381に処理を進める。
S1381において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
以上の処理は、対象プリンタへ接続するルートがVPNネットワークにおけるコンピュータ1000のIPアドレス経由か確認する。そして、VPNネットワークにおけるコンピュータ1000のIPアドレス経由していることが確認できなかったことに応じて、対象プリンタがコンピュータ1000と同じネットワークに属していると判定し、対象プリンタを表示リストに追加する。一方、VPNネットワークにおけるコンピュータ1000のIPアドレス経由していることが確認できたことに応じて、対象プリンタがコンピュータ1000と同じネットワークに属していないと判定し、対象プリンタを表示リストに追加しない処理に対応する。このような処理を行うことで、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていて且つそのネットワーク経由で接続されるプリンタのみが表示リストから除外されることになる。すなわち、コンピュータ1000が仮想プライベートネットワーク(VPN)7000に接続されていれば図5(b)のUIが表示され、接続されていなければ図5(a)のUIが表示される。この方法でも自宅での印刷時に誤って会社のプリンタから出力してしまうというリスクを回避する効果を得ることができ、実際の接続確認が不要であるため第4実施形態の方法より高速に処理を行うことができ、ユーザビリティが向上する。
〔第6実施形態〕
第6実施形態は、第1実施形態において図8に示したプリンタの選択肢のリストを生成するフローの一部を変更した実施形態を説明する。本実施形態においても構成図やUIの例については第1実施形態と全く同等であるため説明は割愛する。ここでは、図8に示したプリンタの選択肢のリストを生成するフローとの差分のみ説明する。
第1実施形態の処理フローでは、コンピュータ1000が接続される全てのネットワーク(上述の例では、自宅ネットワーク5000と仮想プライベートネットワーク(VPN)7000)におけるIPアドレスを取得した。そして、これらのIPアドレスを用いて各プリンタが同一ネットワークにあるか確認し、表示リストに追加するプリンタを決定した。これに対して、第6実施形態では、第3実施形態のように、コンピュータ1000が接続されるネットワークのうち、非VPNネットワークを特定し、非VPNネットワークにおけるIPアドレスのみを取得する。そして、非VPNネットワークにおけるIPアドレスを用いて各プリンタが同一ネットワークにあるか確認し、表示リストに追加するプリンタを決定する。
以下、図16のフローチャートを用いて、本実施形態において図5で示したプリンタ選択コンボボックス1510、1520に表示するプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図16は、第6実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。第1実施形態と同様に、この処理はアプリケーション1100が行ってもOS1200が行ってもよいが、ここではアプリケーション1100が行うものとして説明する。また、ここでは図6のチェックボックス1700がONとしてチェックされている場合のフローについて説明する。ここで説明する処理は、全て記憶部1030に保存されたアプリケーション1100がメモリ1042にロードされてCPU1041によって実行されることで実現される。
アプリケーション1100は、まずコンピュータ1000が使用可能なネットワークのうち、仮想プライベートネットワークでないもの(非VPN)を特定する(S1601)。この処理は第3実施形態のステップS1331の処理と同等である。本実施形態の構成では自宅ネットワーク5000のみが該当する。
次に、アプリケーション1100は、上記S1601で特定した非VPNネットワークにおけるコンピュータ1000のIPアドレスを取得する(S1602)。この処理は第3実施形態のステップS1332の処理と同等である。本実施形態では、S1332で取得するIPアドレスは自宅ネットワーク5000における「192.168.1.50」となる。
以下、S1603~S1609の処理は、図3のS1312~S1318の処理と同等であるので説明を割愛する。
以上より、仮想プライベートネットワーク(VPN)7000におけるコンピュータ1000のIPアドレスとして、会社ネットワークと同じセグメントのアドレスが割り当てられる場合でも、ユーザのいる場所にあるプリンタのみをリストすることができる。
例えば自宅から会社ネットワーク6000にブリッジ接続する場合、仮想プライベートネットワーク7000におけるコンピュータ1000のIPアドレスとして、会社ネットワークと同じセグメント(172.26.176.0)のアドレスが割り当てられる。この場合、第1実施形態の方法では、コンピュータ1000が属するネットワークは「192.168.1.0」及び「172.26.176.0」となる。このため、プリンタB3000(172.26.178.127/21)はコンピュータ1000と同一ネットワーク上にあると判断されてしまう。しかし、第6実施形態の方法では、コンピュータ1000が属するネットワークは「192.168.1.0」のみとなる。このため、プリンタB3000(172.26.178.127/21)はコンピュータ1000と同一ネットワーク上にないと判断される(S1605でNo)。よって、アプリケーション1100は、「プリンタB」を表示リストに追加しない(S1607)。
以上により、自宅から会社ネットワークに接続する場合でも、仮想プライベートネットワークにおける自宅コンピュータのIPアドレスとして、会社ネットワークと同じセグメントのアドレスが割り当てられる場合でも、自宅にあるプリンタのみがリストされる。なお、自宅での印刷時に図6のチェックボックス1700がOFFになっている時は図5(a)のUIが表示される。一方、図6のチェックボックス1700がONになっている時は図5(b)のUIが表示される。これにより、会社ネットワークにブリッジ接続等する場合でも、自宅での印刷時に会社のプリンタを選択してしまったり、会社での印刷時に自宅のプリンタを選択してしまったりするリスクを回避することができる。この結果、自宅での業務中に誤って会社のプリンタを選択して印刷を行ってしまい、エラー(VPN非接続時)、会社のプリンタから出力され(VPN接続時)情報漏洩リスクとなる等の発生を抑えることができ、ユーザビリティが向上する。
〔第7実施形態〕
在宅業務の一形態として、自宅のコンピュータからVPNを介して会社のコンピュータに接続し、自宅のコンピュータから会社のコンピュータを遠隔操作して業務を行う形態がある。例えば、自宅のコンピュータからWindows(登録商標)のリモートデスクトップ(Remote Desktop)等を使用し、VPNを介して会社のコンピュータに接続する場合などがこれに該当する。このような状況において、自宅での業務中に誤って会社のプリンタを選択して印刷を行ってしまうと、会社のプリンタから出力されてしまうため取りに行けず、情報漏洩リスクが発生する。すなわち上述した実施形態の場合と同様の課題がある。
図17は、本発明の第6実施形態を示す情報処理装置を含むネットワーク構成の一例を示す図である。なお、図1と同一のものには同一の符号を付してある。
会社には、コンピュータC4000が存在し、会社ネットワーク6000に接続されている。コンピュータC4000のハードウェア構成は、図2に示したコンピュータ1000の構成と同等とする。コンピュータC4000のソフトウェア構成は、図3に示したコンピュータ1000のソフトウェア構成に加え、リモートホスト機能を有する。リモートホスト機能は、ネットワークを介して通信可能な他の装置に対して自身の操作環境(デスクトップ環境)を提供して前記他の装置からのリモート操作を可能にする機能であり、例えばWindowsのRemote Desktopホスト機能に対応する。
一方、自宅のコンピュータ1000は、ネットワークを介して上記リモートホスト機能に接続するためのリモートクライアント機能(例えばWindowsのRemote Desktopクライアント機能)を有する。
次に図18のフローチャートを用いてプリンタのリスト(プリンタ一覧)を決定する手順について説明する。
図18は、第7実施形態においてプリンタの選択肢を決定する処理の一例を示すフローチャートである。この処理は、コンピュータC4000のアプリケーションが行ってもOSが行ってもよいが、ここではアプリケーションが行うものとして説明する。ここで説明する処理は、全てコンピュータC4000の記憶部に保存されたアプリケーションがメモリにロードされてCPUによって実行されることで実現される。
コンピュータC4000のアプリケーション(以下単に「アプリケーション」)は、まずコンピュータC4000のIPアドレスとサブネットマスクを取得する(S2801)。この処理は第1実施形態のステップS1311の処理と同等である。
次に、アプリケーションは、使用可能なプリンタのリストを取得する(S2802)。この処理は第1実施形態のステップS1312の処理と同等である。
次に、アプリケーションは、コンピュータC4000と異なるネットワークに属する装置から、コンピュータC4000のリモートホスト機能に対して接続がされているか否かを確認する(S2803)。リモートホスト機能への接続がされていない場合(S2803でNoの場合)、アプリケーションは、上記S2802で取得した全てのプリンタを表示リストに追加し(S2810)、S2809に処理を進める。
一方、リモートホスト機能への接続がされている場合(S2803でYesの場合)、アプリケーションは、S2804に処理を進める。
S2804において、アプリケーションは、一つ目のプリンタであるプリンタA2000を対象にして、プリンタのポート情報から対象プリンタのIPアドレスを取得する。この処理は第1実施形態のステップS1313の処理と同等である。なお、フローチャートには記載されていないが、該当のプリンタが「Print to PDF」のようにネットワーク接続でない場合、アプリケーションは、後述するS2806にて該当のプリンタを表示リストに追加するものとする。
次に、アプリケーションは、コンピュータ1000と対象プリンタが同一ネットワーク上にあるかどうかを確認する(S2805)。この処理は第1実施形態のステップS1314の処理と同等である。もし同一ネットワーク上にあることが確認出来たら(S2805でYesの場合)、アプリケーションは、対象プリンタを表示リストに追加することなく(S2807)、S2808に処理を進める。
一方、同一ネットワーク上にないことが確認出来たら(S2805でNoの場合)、アプリケーションは、対象プリンタを表示リストに追加し(S2806)、S2808に処理を進める。
例えば、プリンタB3000が属するネットワークは「172.26.176.0」、コンピュータC4000が属するネットワークも「172.26.176.0」であることから、同一ネットワーク上にある(S2805でYes)と判断される。このため、アプリケーションは、「プリンタB」を表示リストに追加しない(S2807)。なお、「Print to PDF」についてはネットワーク接続でないため、アプリケーションは、前述のとおり表示リストに追加する(S2806)。
S2808において、アプリケーションは、全てのプリンタについて同一ネットワーク上にあるかの確認(S2804~S2807)を行ったか否かを判定する。まだ確認していないプリンタが残っている場合(S2808でNoの場合)、アプリケーションは、未確認のプリンタを対象として、S2804~S2807の処理を行うように制御する。
一方、全てのプリンタについて確認した場合(S2808でYesの場合)、アプリケーション1100は、S2809に処理を進める。
S2809において、アプリケーション1100は、上述の処理で出来上がった表示リストを表示して、本フローチャートの処理を終了する。
以上のように、コンピュータC4000は、自身と異なるネットワークに属する装置(コンピュータ1000)からリモートホスト機能への接続がされていることに応じて、自身と同じネットワークに属するプリンタを、プリンタ一覧に表示しない。これにより、自宅から会社のコンピュータを遠隔操作中に誤って会社のプリンタを選択して印刷を行ってしまい、会社のプリンタから出力されて情報漏洩リスクとなる等の事態の発生を抑えることができ、ユーザビリティが向上する。
なお、この構成の場合も、リモートクライアント側のUIに、リモートホスト側のプリンタ(会社側のプリンタ)を使用するか否かのチェックボックスを設けて、表示の有無を制御するようにできるようにしてもよい。
図19は、ユーザが意図しないプリンタをプリンタ一覧の選択肢から除外する設定を行うためのUIの一例を示す図である。なお、この設定は、現在の場所(コンピュータ1000のある場所)にないプリンタを使用しないための設定ということもできる。このUIは、自宅のコンピュータ1000にインストールされているリモートクライアント機能を有するアプリケーションにより表示される。なお、OSにより表示される構成でもよい。このUIは、自宅のコンピュータ1000から会社のコンピュータC4000にリモート接続する場合にユーザが操作可能である。
ユーザは、チェックボックス2900にチェックしてコンピュータ1000からコンピュータC4000にリモート接続することで本設定を有効にした状態でリモート接続することができる。本設定の有効を示す情報を含むリモート接続要求に応じてコンピュータ1000とリモート接続した場合、コンピュータC4000は、印刷時のプリンタ選択のためのプリンタ一覧から会社ネットワーク6000上にあるプリンタB3000を除外する。一方、本設定の有効を示す情報を含まないリモート接続要求に応じてコンピュータ1000とリモート接続した場合、コンピュータC4000は、コンピュータC4000に登録された全てのプリンタを選択可能に表示する。
すなわち、図19のチェックボックス2900がONとしてチェックされた状態でリモート接続されている場合に、図18に示したフローチャートの処理を実行する。
以上により、印刷を行いたいタイミングでリモート先のネットワークにあるプリンタがリストから除外されることになる。具体的には、自宅から会社へのリモート接続時に図19のチェックボックス2900がOFFになっている状態で接続した場合、遠隔操作しているコンピュータC4000により表示される図5と同等のUI画面が図5(a)のように表示される。一方、図19のチェックボックス2900がONになっている状態で接続した場合、遠隔操作しているコンピュータC4000により表示される図5と同等のUI画面が図5(b)のように表示される。このようなプリンタ一覧の画面が、自宅から遠隔操作しているユーザのコンピュータ1000に提供されることにより、自宅での印刷操作時に会社のプリンタを選択してしまうリスクを回避することができる。この結果、自宅での業務中に誤って会社のプリンタを選択して印刷を行ってしまい、会社のプリンタから出力され(VPN接続時)情報漏洩リスクとなる等の発生を抑えることができる。
なお、第7実施形態では、逆に、ユーザが、クライアント側のプリンタ(自宅ネットワーク5000上のプリンタ)を使用しない設定(不図示)を有効にしてコンピュータ1000からコンピュータC4000にリモート接続することを可能にしてもよい。コンピュータC4000は、この設定の有効を示す情報を含むリモート接続要求に応じてコンピュータ1000とリモート接続したことに応じて、印刷時のプリンタ選択のためのプリンタ一覧から自宅ネットワーク5000上にあるプリンタA2000を除外する。一方、この設定の無効を示す情報を含むリモート接続要求に応じてコンピュータ1000とリモート接続した場合、コンピュータC4000は、プリンタ一覧に自宅ネットワーク5000上にあるプリンタA2000を含めるものとする。第7実施形態では、このような構成を含めてもよい。
以上、各実施形態によれば、会社のPCを自宅に持って帰って使用するユースケースにおいて、あらかじめ現在の場所にないプリンタを選択できないようにするため、自宅のプリンタを探す手間がなくなる。また、誤って会社のプリンタ(ユーザのいる場所から遠い場所にあるプリンタ)に対して印刷を行ってエラーや情報漏洩となるリスクを防ぐことができる。
例えば会社のPCを自宅に持って帰って使用する等のユースケースで、誤って会社のプリンタなど意図しないプリンタを選択してしまうリスクを抑え、ユーザが印刷に使用するプリンタをプリンタ一覧から選択する際のユーザビリティを向上することができる。
以上、複数の実施形態を用いて本発明について説明した。なお、ここで示したAPIやコマンドはあくまで一例であり、同様の別の手段を用いることでも実施可能である。また、周辺機器の例としてプリンタを例に説明してきたが、プリンタ以外の周辺機器についても同様に実施することができる。さらに、全ての実施形態において、不要な選択肢を除外する処理について説明を行ったが、除外をせずに優先度を落とす目的で選択肢のリストの後半に移動するなどの処理を行っても同様の効果を得ることができる。優先度を落とした選択肢に印をつけるなどの処理を行ってもよい。また、周辺機器がサーバを介した共有オブジェクトの場合、周辺機器のIPアドレスの代りに前記サーバのIPアドレスを接続先アドレスとみなして同様の処理を行ってもよい。これにより、プリントサーバを介した共有プリンタを有する環境においても同じ効果を得ることができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
〔その他の実施形態〕
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
1000 コンピュータ
1100 アプリケーション
1200 オペレーティングシステム(OS)
2000 プリンタA
3000 プリンタB
5000 自宅ネットワーク
6000 会社ネットワーク
7000 仮想プライベートネットワーク(VPN)

Claims (17)

  1. プリンタ一覧を表示する表示手段を有する情報処理装置であって、
    プリンタが当該情報処理装置と同じネットワークに属するか否かを判定する判定手段と、
    当該情報処理装置と同じネットワークに属していると判定されたプリンタを、前記プリンタ一覧として表示するように制御する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記制御手段は、当該情報処理装置と同じネットワークに属していないと判定されたプリンタを、前記プリンタ一覧に表示しないように制御することを特徴とする請求項1に記載の情報処理装置。
  3. 前記プリンタ一覧は、ユーザが印刷に使用するプリンタを選択するためのユーザインターフェースであることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判定手段は、当該情報処理装置のIPアドレスと前記プリンタのIPアドレスとを用いて、前記プリンタが当該情報処理装置と同じネットワークに属するか否かを判定することを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
  5. 前記判定手段は、当該情報処理装置のIPアドレスから特定されるネットワークセグメントと、前記プリンタのIPアドレスから特定されるネットワークセグメントとが一致する場合に前記プリンタが同じネットワークに属していると判定することを特徴とする請求項4に記載の情報処理装置。
  6. 当該情報処理装置が接続するネットワークのうち、仮想プライベートネットワークではないネットワークにおける当該情報処理装置のIPアドレスを、当該情報処理装置のIPアドレスとして取得する取得手段を有することを特徴とする請求項4又は5に記載の情報処理装置。
  7. 当該情報処理装置が接続するネットワークのうち、仮想プライベートネットワークではないネットワークにおける当該情報処理装置のIPアドレスを取得する取得手段と、
    前記取得したIPアドレスからプリンタのIPアドレスへの接続確認を行う接続確認手段と、を有し、
    前記判定手段は、前記接続が確認できたことに応じて前記プリンタが同じネットワークに属していると判定することを特徴とする請求項4に記載の情報処理装置。
  8. 当該情報処理装置が接続するネットワークのうち、仮想プライベートネットワークにおける当該情報処理装置のIPアドレスを取得する取得手段と、
    前記取得手段により取得したIPアドレスからプリンタのIPアドレスへの接続確認を行う確認手段と、を有し、
    前記判定手段は、前記接続が確認できなかったことに応じて前記プリンタが当該情報処理装置と同じネットワークに属していると判定することを特徴とする請求項4に記載の情報処理装置。
  9. 当該情報処理装置が接続するネットワークのうち、仮想プライベートネットワークにおける当該情報処理装置のIPアドレスを取得する取得手段と、
    当該情報処理装置からプリンタへ接続するルートが前記取得手段により取得したIPアドレス経由か確認する確認手段と、を有し、
    前記判定手段は、前記取得したIPアドレスを経由していることが確認できなかったことに応じて前記プリンタが当該情報処理装置と同じネットワークに属していると判定することを特徴とする請求項4に記載の情報処理装置。
  10. 当該情報処理装置のある場所にないプリンタを使用しないための設定を行う設定手段を有し、
    前記制御手段は、前記設定がなされている場合に、前記制御を行うことを特徴とする請求項1~9のいずれか1項に記載の情報処理装置。
  11. ネットワークを介して通信可能な他の装置に対して自身の操作環境を提供して前記他の装置からのリモート操作を可能にするリモートホスト手段と、プリンタ一覧を表示する表示手段と、を有する情報処理装置であって、
    当該情報処理装置と異なるネットワークに属する装置から前記リモートホスト手段への接続がされていることに応じて、当該情報処理装置と同じネットワークに属するプリンタを、前記プリンタ一覧に表示しないように制御する制御手段と、
    を有することを特徴とする情報処理装置。
  12. 前記プリンタ一覧は、ユーザが印刷に使用するプリンタを選択するためのユーザインターフェースであることを特徴とする請求項11に記載の情報処理装置。
  13. 前記制御手段は、前記他の装置から前記リモートホスト手段への接続要求に、前記他の装置のある場所にないプリンタを使用しないための設定が含まれていた場合には、前記制御を行うことを特徴とする請求項11又は12に記載の情報処理装置。
  14. プリンタ一覧を表示する表示手段を有する情報処理装置の制御方法であって、
    プリンタが当該情報処理装置と同じネットワークに属するか否かを判定する判定工程と、
    当該情報処理装置と同じネットワークに属していると判定されたプリンタを、前記プリンタ一覧として表示するように制御する制御工程と、
    を有することを特徴とする情報処理装置の制御方法。
  15. ネットワークを介して通信可能な他の装置に対して自身の操作環境を提供して前記他の装置からのリモート操作を可能にするリモートホスト手段と、プリンタ一覧を表示する表示手段と、を有する情報処理装置の制御方法であって、
    当該情報処理装置と異なるネットワークに属する装置から前記リモートホスト手段への接続がされていることに応じて、当該情報処理装置と同じネットワークに属するプリンタを、前記プリンタ一覧に表示しないように制御する工程を有することを特徴とする情報処理装置の制御方法。
  16. コンピュータを、請求項1~10のいずれか1項に記載の各手段として機能させるためのプログラム。
  17. コンピュータを、請求項11~13のいずれか1項に記載の各手段として機能させるためのプログラム。
JP2022142195A 2021-11-10 2022-09-07 情報処理装置、情報処理装置の制御方法、及びプログラム Pending JP2023071159A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22204045.3A EP4180940A1 (en) 2021-11-10 2022-10-27 Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium
US18/053,117 US20230145977A1 (en) 2021-11-10 2022-11-07 Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium
CN202211389426.1A CN116107523A (zh) 2021-11-10 2022-11-08 信息处理装置、信息处理装置的控制方法及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021183249 2021-11-10
JP2021183249 2021-11-10

Publications (1)

Publication Number Publication Date
JP2023071159A true JP2023071159A (ja) 2023-05-22

Family

ID=86395433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022142195A Pending JP2023071159A (ja) 2021-11-10 2022-09-07 情報処理装置、情報処理装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2023071159A (ja)

Similar Documents

Publication Publication Date Title
JP4485997B2 (ja) 印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム及び記録媒体
US9355046B2 (en) Information processing apparatus, information processing method, and computer-readable medium
JP5293035B2 (ja) データ処理装置、データ処理方法、プログラムおよび記録媒体
JP6624987B2 (ja) 情報処理装置及びプログラム、制御方法
US10627763B2 (en) Information processing system
US9930216B2 (en) Printing system, computer readable recording medium stored with printing device search program, and computer readable recording medium stored with printing device control program for acquiring and displaying information without requiring client terminal authentication
JP6882060B2 (ja) 情報処理装置、ドライバのインストール方法およびプログラム
JP2013097769A (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
JP6755706B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP3774684B2 (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
JP4715689B2 (ja) プリンタドライバ用インストールプログラム、およびプリンタドライバのインストール方法
US11520532B2 (en) Information processing apparatus, control method, and storage medium storing program
JP4521299B2 (ja) 情報処理装置、情報処理プログラム、およびコンピュータ読み取り可能な記憶媒体
JP2023071159A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017010525A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
EP4180940A1 (en) Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium
JP6470635B2 (ja) 情報処理装置、情報処理方法
JP2007072609A (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム及び記録媒体
JP2022178924A (ja) プログラム、情報処理方法、及び情報処理装置
JP5845826B2 (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
US20150262043A1 (en) Information processing apparatus, information processing method, and information processing system
JP2012073918A (ja) ユニバーサルデバイスドライバ、及び、デバイス制御方法
JP2012168807A (ja) 印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システム
JP5366710B2 (ja) 情報処理装置、情報処理方法、および情報処理装置制御プログラム
JP4973821B1 (ja) 印刷制御装置およびプログラム