(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162789
(43)【公開日】2024-11-21
(54)【発明の名称】情報処理装置、方法、プログラム
(51)【国際特許分類】
H04M 11/00 20060101AFI20241114BHJP
H04W 12/08 20210101ALI20241114BHJP
H04W 76/10 20180101ALI20241114BHJP
H04L 9/32 20060101ALN20241114BHJP
【FI】
H04M11/00 302
H04W12/08
H04W76/10
H04L9/32 100C
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2023078695
(22)【出願日】2023-05-11
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】矢野 翔大
(72)【発明者】
【氏名】牧 俊介
【テーマコード(参考)】
5K067
5K201
【Fターム(参考)】
5K067AA21
5K067BB21
5K067DD17
5K067EE02
5K201AA08
5K201CB04
5K201CB06
5K201CB10
5K201EB07
5K201EC08
5K201ED03
5K201ED04
5K201EF10
(57)【要約】
【課題】通信装置の識別情報がランダム化された場合であっても、複数の通信装置から所望する通信装置を特定する情報処理装置を提供する。
【解決手段】情報処理装置は、通信対象とする通信装置の情報を記憶する記憶手段と、通信装置から第1識別情報を取得する第1取得手段と、前記第1取得手段により取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得手段と、前記記憶手段に記憶されている前記通信装置の情報に含まれる第2識別情報と、前記第2取得手段により取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定手段と、を備えることを特徴とする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
通信対象とする通信装置の情報を記憶する記憶手段と、
通信装置から第1識別情報を取得する第1取得手段と、
前記第1取得手段により取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得手段と、
前記記憶手段に記憶されている前記通信装置の情報に含まれる第2識別情報と、前記第2取得手段により取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記第1取得手段により取得した第1識別情報が前記ランダム化された識別情報であるか否かを判定する第1判定手段をさらに備え、
前記第1判定手段により前記ランダム化された識別情報であると判定された場合、前記第2取得手段は、前記ランダム化された識別情報を取得した通信装置から前記第2識別情報を取得する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記記憶手段に記憶されている前記通信装置の情報に含まれる第1識別情報を、前記第1取得手段により取得した前記ランダム化された識別情報で更新する更新手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第2識別情報は、暗号化通信を介して取得されることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記第1取得手段により取得した第1識別情報が前記ランダム化された識別情報である場合、前記ランダム化される前の識別情報を取得するか否かを判定する第2判定手段をさらに備え、
前記第2判定手段により前記ランダム化される前の識別情報を取得しないと判定された場合、前記第2取得手段は、前記ランダム化された識別情報を取得した通信装置から前記第2識別情報を取得する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記第2判定手段により前記ランダム化される前の識別情報を取得すると判定された場合、前記ランダム化された識別情報を取得した通信装置から当該ランダム化される前の識別情報を取得する第3取得手段をさらに備え、
前記第2取得手段による第2識別情報の取得は行われない、
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記特定手段は、前記記憶手段に記憶されている前記通信装置の情報に含まれる第1識別情報と、前記第3取得手段により取得された前記ランダム化される前の識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記第3取得手段は、前記通信装置の内部で前記ランダム化される前の識別情報が記憶されている場所を指定する情報を送信することにより、前記ランダム化される前の識別情報を取得することを特徴とする請求項6に記載の情報処理装置。
【請求項9】
前記記憶されている場所を指定する情報は、MIB(Management Information Base)におけるOID(Object Identifier)であることを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記第2判定手段による判定は、前記記憶手段に記憶されている前記通信装置の情報に含まれる機種情報に基づいて行われることを特徴とする請求項5に記載の情報処理装置。
【請求項11】
前記第2判定手段は、前記機種情報が第1機種情報を示す場合、前記ランダム化される前の識別情報を取得すると判定し、前記機種情報が前記第1機種情報と異なる第2機種情報を示す場合、前記ランダム化される前の識別情報を取得しないと判定することを特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記第1機種情報はレーザービームプリンタであり、前記第2機種情報はインクジェットプリンタであることを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記第1識別情報は、MAC(Media Access Control)アドレスであることを特徴とする請求項1に記載の情報処理装置。
【請求項14】
前記ランダム化された識別情報と異なり且つ前記第2識別情報と異なる第3識別情報を用いて、前記特定手段により特定した通信装置との通信を行う通信手段をさらに備えることを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記第3識別情報は、IPアドレスであることを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記第2識別情報は、シリアル番号であることを特徴とする請求項1に記載の情報処理装置。
【請求項17】
前記第1取得手段は、複数の通信装置それぞれから第1識別情報を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項18】
情報処理装置において実行される方法であって、
通信装置から第1識別情報を取得する第1取得工程と、
前記第1取得工程において取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得工程と、
記憶手段に記憶されている通信対象とする通信装置の情報に含まれる第2識別情報と、前記第2取得工程において取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定工程と、
を有することを特徴とする方法。
【請求項19】
請求項1乃至17のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、方法、プログラムに関する。
【背景技術】
【0002】
近年、スマートフォンやPC等の情報処理装置を用いて、画像形成装置や家電機器等のインターネットに接続可能な通信装置を操作する技術が普及している。ユーザが情報処理装置から特定の通信機器を選択して操作を行えるようにするために、情報処理装置は通信装置と通信する際に通信装置のIPアドレスやMACアドレスといったネットワーク情報を記憶しておく。そして、ユーザ操作に伴って特定の通信装置と以降の接続を行う際は、記憶しているIPアドレスに対して接続を実施する。しかしながら、DHCP(Dynamic Host Configuration Protocol)により通信装置のIPアドレスが変更されている場合には、情報処理装置からIPアドレスを発見できず通信できない。その場合、ブロードキャスト通信で通信装置のMACアドレスを取得し、情報処理装置が記憶しているMACアドレスと比較することによって通信装置を特定する。
【0003】
一方、通信装置のMACアドレスが第3者に観測されてユーザが特定されてしまうというセキュリティ上の懸念があるため、MACアドレスを定期的に変更する技術(以後、MACアドレスのランダム化)がスマートフォン等の機器に導入されている。通信装置のMACアドレスがランダム化されている場合には、上述の方法では情報処理装置から通信装置を特定することができない。
【0004】
特許文献1では、第1の無線端末は、記憶している第2の無線端末のMACアドレスから生成した識別子を第2の無線端末に送信する。第2の無線端末は、受信した識別子を検証し、識別子が正しい場合には、現在のMACアドレスを第1の無線端末に送信する。そして、第1の無線端末は、受信したMACアドレスで第2の無線端末と接続を確立する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1は、情報処理装置と特定の通信装置の2機器間での通信に言及している。通信装置の識別情報がランダム化された場合であっても、ネットワーク上に存在する複数の通信装置から通信したい通信装置を特定可能とするための仕組みが求められる。
【0007】
本発明は、通信装置の識別情報がランダム化された場合であっても、複数の通信装置から所望する通信装置を特定する情報処理装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る情報処理装置は、通信対象とする通信装置の情報を記憶する記憶手段と、通信装置から第1識別情報を取得する第1取得手段と、前記第1取得手段により取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得手段と、前記記憶手段に記憶されている前記通信装置の情報に含まれる第2識別情報と、前記第2取得手段により取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定手段とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信装置の識別情報がランダム化された場合であっても、複数の通信装置から所望する通信装置を特定することができる。
【図面の簡単な説明】
【0010】
【
図1】情報処理装置と通信装置を含むシステムの構成を示す図である。
【
図3】情報処理装置において実行される処理を示すフローチャートである。
【
図4】情報処理装置において実行される処理を示すフローチャートである。
【
図5】ネットワークセットアップの処理を示すシーケンスである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
[第1実施形態]
本実施形態の通信システムに含まれる情報処理装置101及び通信装置151について説明する。本実施形態では、情報処理装置101としてスマートフォンを例示しているが、これに限定されない。例えば情報処理装置101として、携帯端末、PC(パーソナルコンピュータ)、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置151としてプリンタを例示しているが、これに限定されず、情報処理装置101と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等を適用可能である。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等を適用可能である。また、その他にも、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機を適用可能である。
【0013】
まず、本実施形態の情報処理装置101と、本実施形態の情報処理装置101と通信可能な通信装置151の構成について
図1のブロック図を参照して説明する。また、本実施形態では以下の構成を一例として説明するが、図示された機能に限定されない。情報処理装置101及び通信装置151に適用可能な装置において、実施可能な機能に対応する構成を適宜有し得る。
【0014】
情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部110、近距離無線通信部111、撮像部112を有する。CPU103、ROM104、RAM105等によって、プログラムを実行する情報処理装置101のコンピュータが形成される。
【0015】
入力インタフェース102は、キーボード109等の操作部が操作されることにより、ユーザからのデータ入力や指示操作を受け付けるためのインタフェースである。なお、操作部は、物理キーボードや物理ボタン等であっても良いし、表示部108に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース102は、表示部108を介してユーザからの入力を受け付けても良い。
【0016】
CPU103は、システム制御部であり、アプリケーションプログラムの実行など情報処理装置101の全体を制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【0017】
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
【0018】
外部記憶装置106は、サービス登録アプリ、通信装置151のネットワークセットアップを実行するためのアプリケーションプログラム、プリンタ管理アプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。各プログラムは、例えば、通信部110を介したインターネット通信によって、外部のサーバ(不図示)からインストールされることにより、外部記憶装置106に格納される。サービス登録アプリは、通信装置151から取得した情報や、情報処理装置101で取得したユーザの個人情報などをサービス管理サーバ(不図示)に送信するためのアプリケーションプログラムである。通信装置151のネットワークセットアップを実行するためのアプリケーションプログラム(設定アプリ)とは、通信装置151の接続先のアクセスポイントの設定を行うためのアプリケーションプログラムである。プリンタ管理アプリケーションは、プリンタの情報を管理するためのアプリケーションである。なお、サービス登録アプリ、設定アプリ、プリンタ管理アプリケーション、印刷情報生成プログラム(印刷アプリケーション)が一つのアプリケーションとして構成されていても良い。
【0019】
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。撮像部112は、外部を撮像する例えばカメラである。
【0020】
通信部110は、通信装置151やアクセスポイント131等の装置と接続して、データ通信を実行するための構成である。例えば、通信部110は、通信装置151内のアクセスポイント(不図示)に接続可能である。また、通信部110は、情報処理装置101内部のアクセスポイントとして、通信装置151等の装置と接続するためのアクセスポイントを有している。このアクセスポイントは一般的にテザリングと呼ばれる。なお、該アクセスポイントに、通信装置151の通信部156は接続可能である。通信部110が、該アクセスポイントを有効化することで、情報処理装置101がアクセスポイントとして動作することになる。通信部156と通信部110内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。また、情報処理装置101の通信部110がインターネットに接続している場合には、情報処理装置101を経由して通信装置151もインターネットに接続可能である。なお、本実施形態では、情報処理装置101は、情報処理装置101の外部及び通信装置151の外部に存在する外部装置を介して通信装置151と通信可能である。なお、外部装置とは、情報処理装置101の外部及び通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131等)や、アクセスポイント以外で通信を中継可能な装置を含む。アクセスポイント131としては、例えば、無線LANルータ等の機器などが挙げられる。情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラ接続方式という。
【0021】
近距離無線通信部111は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部110とは異なる通信方式によって通信を行う。近距離無線通信部111は、例えば、通信装置151内の近距離無線通信部157と接続可能である。通信方式としては、例えば、Near Field Communication(NFC)、Bluetooth(登録商標) Classic、Bluetooth Low Energy(BLE)、Wi-Fi Aware等が挙げられる。
【0022】
通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157、表示部158を有する。ROM152、RAM153、CPU154等によって、プログラムを実行する通信装置151のコンピュータが形成される。
【0023】
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の外部装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部110に接続可能である。通信部156が、該アクセスポイントを有効化することで、通信装置151がアクセスポイントとして動作することになる。なお、通信部156は、情報処理装置101とダイレクトに無線接続しても良いし、アクセスポイント131を介して無線接続しても良い。通信部156が用いる無線通信方式は例えば、IEEE802.11シリーズに準拠する通信規格である。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウェアによりアクセスポイントとして動作してもよい。
【0024】
ここで、通信部156を用いた無線通信を実行するモードや接続方式について説明する。
【0025】
<ダイレクト接続方式について>
ダイレクト接続とは、AP131等の外部装置を介さずに装置同士が直接(すなわちPeer to Peerで)無線接続する形態を指す。ダイレクト接続は、Peer to Peer接続(P2P接続)ともいう。通信装置151は、接続モードの1つとして、ダイレクト接続により通信するためのモード(ダイレクト接続モード)で動作可能である。Wi-Fi通信において、ダイレクト接続により通信するためのモードにはソフトウェアAPモードやWi-Fi Direct(WFD)モード等の様に複数のモードが存在する。
【0026】
WFDによって、ダイレクト接続を実行するモードをWFDモードという。WFDはWi-Fi Allianceによって策定された規格であり、IEEE802.11シリーズの通信規格に含まれる規格である。WFDモードでは機器探索コマンドにより通信相手となる機器が探索された後に、P2Pのグループオーナー(GO)と、P2Pのクライアントの役割を決定した上で、残りの無線接続の処理を行うことになる。グループオーナーはWi-Fiの親局(親機)に相当し、クライアントはWi-Fiの子局(子機)に相当する。この役割決定は、例えばP2PではGO Negotiationに対応する。なお役割決定が行われる前の状態のWFDモードでは、通信装置151は、親局でも子局でもない状態である。具体的には、まず通信を行う機器との間で、一方の機器が、機器探索コマンドを発行し、WFDモードで接続する機器を探索する。通信相手となる他方の機器が探索されると、両者の間で、互いの機器で供給可能なサービスや機能に関する情報を確認する。なお、この機器供給情報確認はオプションであり、必須ではない。この機器供給情報確認フェーズは、例えばP2PのProvision Discoveryに対応する。次に、この機器供給情報を互いに確認することで、その役割として、どちらがP2Pのクライアントとなり、どちらがP2Pのグループオーナーとなるかを決定する。次に、クライアントとグループオーナーが決定したら、両者の間で、WFDによる通信を行うためのパラメータを交換する。交換したパラメータに基づいて、P2Pのクライアントとグループオーナーとの間で残りの無線接続の処理、IP接続の処理を行う。なおWFDモードでは、通信装置151は、上述したGO Negotiationを実行せずに、通信装置151が必ずGOとして動作しても良い。すなわち通信装置151は、Autonomous GOモードであるWFDモードとして動作しても良い。また通信装置151がWFDモードで動作している状態とはすなわち例えば、WFDによる接続が確立されていないが通信装置151がGOとして動作している状態や、WFDによる接続が確立されており、且つ通信装置151がGOとして動作している状態である。
【0027】
ソフトウェアAPモード(ソフトAPモード)では、通信を行う機器(例えば、情報処理装置101と通信装置151)との間で、一方の機器(例えば、情報処理装置101)が、各種サービスを依頼する役割を果たすクライアントとなる。そして、もう一方の機器が、Wi-Fiにおけるアクセスポイントの機能をソフトウェアの設定により実現する。ソフトウェアAPはWi-Fiの親局に相当し、クライアントはWi-Fiの子局に相当する。ソフトウェアAPモードでは、クライアントは、機器探索コマンドによりソフトウェアAPとなる機器を探索する。ソフトウェアAPが探索されると、クライアントとソフトウェアAPとの間で残りの無線接続の処理(無線接続の確立等)を経て、その後、IP接続の処理(IPアドレスの割当等)を行うことになる。なお、クライアントとソフトウェアAPとの間で無線接続を実現する場合に送受信されるコマンドやパラメータについては、Wi-Fi規格で規定されているものを用いればよく、ここでの説明は省略する。
【0028】
本実施形態において、通信装置151がダイレクト接続を確立・維持している場合、通信装置151が属するネットワーク内で、親局として動作する。なお、親局とは無線ネットワークを構築する装置であり、無線ネットワークへの接続に用いられるパラメータを子局に対して提供する装置である。無線ネットワークへの接続に用いられるパラメータとは、例えば、親局が利用するチャネルに関するパラメータである。子局は、当該パラメータを受信することで、親局が利用しているチャネルを用いて、親局が構築している無線ネットワークに接続する。ダイレクト接続モードにおいては、通信装置151が親局として動作するため、ダイレクト接続モードにおける通信にいずれの周波数帯を用いるのか、及びいずれのチャネルを用いるのかを、通信装置151が決定することが可能である。本実施形態では、通信装置151は、ダイレクト接続モードにおける通信に、2.4GHzの周波数帯に対応するチャネルと、5GHzの周波数帯に対応するチャネルとを使用可能であるものとする。
【0029】
<インフラストラクチャ(インフラ)接続方式について>
インフラ接続は、通信を行う機器(例えば、情報処理装置101と通信装置151)のネットワークを統括するアクセスポイント(例えば、AP131)と接続し、機器同士がアクセスポイントを介して通信するための接続形態である。通信装置151は、接続モードの1つとして、インフラ接続で通信するためのモード(インフラ接続モード)でも動作可能である。
【0030】
インフラ接続において、各機器は機器探索コマンドによりアクセスポイントを探索する。アクセスポイントが探索されると、機器とアクセスポイントとの間で残りの無線接続の処理(無線接続の確立等)を経て、その後、IP接続の処理(IPアドレスの割当等)を行うことになる。なお、機器とアクセスポイントとの間で無線接続を実現する場合に送受信されるコマンドやパラメータについては、Wi-Fi規格で規定されているものを用いればよく、ここでの説明は省略する。
【0031】
本実施形態において通信装置151がインフラ接続で動作する際はAP131が親局、通信装置151が子局として動作する。すなわち本実施形態では、インフラ接続は、子機として動作する通信装置151と親機として動作する装置との間の接続を指す。通信装置151がインフラ接続を確立しており、且つ情報処理装置101もAP131とのインフラ接続を確立している場合、通信装置151と情報処理装置101との間で、AP131を介した通信が可能となる。インフラ接続における通信に使用されるチャネルは、AP131により決定されるため、通信装置151は、AP131により決定されたチャネルを使用してインフラ接続における通信を実行する。本実施形態では、通信装置151は、インフラ接続における通信に、2.4GHzの周波数帯に対応するチャネルと、5GHzの周波数帯に対応するチャネルとを使用可能であるものとする。なお通信装置151は、インフラ接続における通信には、5GHzの周波数帯のうちDFS帯に対応するチャネルも使用可能である。なお、情報処理装置101は、通信装置151とAP131を介して通信するためには、AP131によって形成され、情報処理装置101が属するネットワーク上に、通信装置151が属していることを認識する必要がある。
【0032】
<ネットワークセットアップモードについて>
通信装置151は、ネットワークセットアップモードで動作可能である。通信装置151がネットワークセットアップモードでの動作を開始するためのトリガは、例えば、ネットワークセットアップモード用ボタンをユーザが押下することであっても良いし、通信装置151が、着荷後初めて起動(電源ON)することであっても良い。ネットワークセットアップモード用ボタンは、通信装置151が備えるハード(物理)ボタンであっても良いし、通信装置151が表示部158に表示するソフトウェアボタンであっても良い。
【0033】
通信装置151は、ネットワークセットアップモードでの動作を開始すると、Wi-Fi通信を有効化する。具体的には、通信装置151は、Wi-Fi通信の有効化処理として、ネットワークセットアップモード専用の、通信装置151の内部のAP(接続設定用AP)を有効化する。これにより、通信装置151は、情報処理装置101とWi-Fiによるダイレクト接続を確立可能な状態になる。接続設定用APと接続するための接続情報(SSID(Service Set Identifier)やパスワード)は、情報処理装置101にインストールされたセットアップ用アプリに予め保持されており、情報処理装置101は、接続設定用APと接続するための接続情報を予め認識しているものとする。そのため、ダイレクト接続モードにおいて有効化されるAPの接続情報と異なり、接続設定用APと接続するための接続情報は、ユーザによって任意に変更できないものとする。なお、ネットワークセットアップモードにおいて、通信装置151は、通常のWi-Fiでなく、Wi-Fi Direct(WFD)によって情報処理装置101と接続しても良い。すなわち、通信装置151は、Group Ownerとして動作し、WFDによる通信によって情報処理装置101から設定コマンドを受信しても良い。またネットワークセットアップモードにおいて、通信装置151は、Bluetoothによって情報処理装置101と接続しても良い。ここでBluetoothとは、Bluetooth ClassicやBluetooth Low Energy(BLE)を含む。すなわち例えば、通信装置151は、ネットワークセットアップモードにおいてBLEにおけるスレーブ装置として動作し、BLEによる通信によって情報処理装置101から設定コマンドを受信しても良い。また、ネットワークセットアップモードにおいて、通信装置151は、Wi-Fiによるネットワークセットアップと、BLEによるネットワークセットアップの両方を実行可能となっても良い。すなわち通信装置151は、ネットワークセットアップモードでの動作を開始すると、Wi-Fi通信とBLE通信の両方を有効化しても良い。具体的には通信装置151は、ネットワークセットアップモードでの動作を開始すると、接続設定用APの有効化と、BLEによってアドバタイズ情報を送信してBLE接続が可能となる状態であるアドバタイズ状態の有効化の両方を実行しても良い。
【0034】
通信装置151は、ネットワークセットアップモードとして動作する場合、通信部156を制御して、ネットワークセットアップモードとして動作中のみ有効な、セットアップ用アクセスポイント(接続設定用AP)として動作する。当該セットアップ用アクセスポイントは、上述のソフトAPモード時に有効化されるアクセスポイントとは異なるアクセスポイントである。また当該セットアップ用アクセスポイントのSSIDは、情報処理装置101の設定アプリが認識可能な所定の文字列を含むものとする。
【0035】
また、ネットワークセットアップモードとして動作している通信装置151は、セットアップ用アクセスポイントと接続している情報処理装置101との通信において、所定の通信プロトコル(セットアップ用通信プロトコル)を用いるものとする。セットアップ用通信プロトコルは具体的には例えば、SNMP(Simple Network Management Protocol)である。
【0036】
通信装置151は、ネットワークセットアップモードでの動作を開始した後、所定の時間が経過したら、ネットワークセットアップモードでの動作を停止し、セットアップ用アクセスポイントを無効化する。また、ネットワークセットアップモード中に情報処理装置101から、AP131へ接続するための接続情報と無線通信の動作モードの変更指示を受け取った場合にも、セットアップ用アクセスポイントを無効化する。また、当該セットアップ用アクセスポイントは、接続にパスワードを必要としないアクセスポイントであるものとする。なお、セットアップ用アクセスポイントは、パスワードを必要とするアクセスポイントであっても良い。その場合、セットアップ用アクセスポイントとの接続に用いられるパスワードは、設定アプリが予め把握している固定の(ユーザが変更できない)パスワードであるものとする。
【0037】
通信部156には、MACアドレス(Media Access Control address)が割り当てられている。MACアドレスは通信部を識別するために使用される識別子であり、通信装置や情報処理装置を含めたすべての装置において各通信部に一意に割り当てられている。したがって、装置の個体を識別するためにしばしば用いられる。本実施形態では、装置を識別するために使用される識別子を装置識別情報と呼ぶ。つまり、MACアドレスは、装置識別情報の一例である。本実施形態では、装置識別情報をMACアドレスとしているがこれに限られない。例えば、通信装置151に割り当てられた製造番号(シリアル番号)等であってもよい。
【0038】
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成であり、例えば、情報処理装置101内の近距離無線通信部111と接続可能である。通信方式としては、例えば、NFC、Bluetooth Classic、BLE、Wi-Fi Aware等が挙げられる。
【0039】
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリ、受信バッファとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存したり、各種の情報を保存する。
【0040】
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを記憶する。本実施形態では、ROM152に記憶されている各制御プログラムは、ROM152に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。また、通信装置151を識別するためのシリアル番号もROM152に格納される。シリアル番号は、通信装置151の製造元が通信装置151を識別するために一意に割り当てたものである。本実施形態では、シリアル番号も、通信装置151を識別可能な装置識別情報として利用可能である。通信装置151がプリンタの場合は、インクの利用状況や残量などがプリントエンジン155から収集されROM152に格納される。CPU154は、システム制御部であり、通信装置151の全体を制御する。
【0041】
プリントエンジン155は、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付与することで記録媒体上に画像を形成し、印刷結果を出力する。なお、一般的に、情報処理装置101等から送信される印刷ジョブのデータ量は大きいため、印刷ジョブの通信には、高速通信が可能な通信方式を用いることが求められる。そのため、通信装置151は、近距離無線通信部157よりも高速な通信が可能な通信部156を介して、印刷ジョブを受信する。表示部158は、例えばパネルであり、データの表示や通信装置151の状態の通知を行う。
【0042】
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
【0043】
ところで、ユーザが情報処理装置からネットワーク上の特定の通信機器を選択して操作を行うような構成を想定する。情報処理装置は、通信装置と通信する際に通信装置のIPアドレスやMACアドレスといったネットワーク情報を記憶しておく。そして、ユーザ操作に伴って特定の通信装置と以降の接続を行う際は、記憶しているIPアドレスに対して接続を実施する。しかしながら、DHCP(Dynamic Host Configuration Protocol)により通信装置のIPアドレスが変更されている場合には、情報処理装置からIPアドレスを発見できず通信できない。その場合、ブロードキャスト通信で通信装置のMACアドレスを取得し、情報処理装置が記憶しているMACアドレスと比較することによって通信装置を特定する。
【0044】
一方、通信装置のMACアドレスが第3者に観測されてユーザが特定されてしまうというセキュリティ上の懸念があるため、MACアドレスを定期的に変更する技術(以後、MACアドレスのランダム化)がスマートフォン等の機器に導入されている。通信装置のMACアドレスがランダム化されている場合には、上述の方法では情報処理装置から通信装置を特定することができない。
【0045】
そこで、本実施形態では、ブロードキャスト通信でネットワーク上に存在する通信機器のMACアドレスを取得し、MACアドレスが以前と変更されている通信装置を抽出する。情報処理装置は、抽出した通信装置からMACアドレス以外の識別子を受信し、情報処理装置が記憶している識別子と比較することによって、通信したい通信装置を特定する。このように、情報処理装置が記憶しているIPアドレスやMACアドレスが通信装置側で変更されていたとしても、ネットワーク上で通信装置を特定することができる。
【0046】
なお本実施形態において、通信装置151として、MACアドレスのランダム化機能に対応している装置と、MACアドレスのランダム化機能に対応していない装置とが存在するものとする。MACアドレスのランダム化機能とは、Institute of Electrical and Electronics Engineers(IEEE)によって設定された機能である。そして、IEEEによって設定されたルールに従って生成されたMACアドレスを装置に割り当てる機能である。以下では、MACアドレスのランダム化機能によりランダムな値として生成されたMACアドレスをランダムMACアドレスという。MACアドレスのランダム化機能によりランダムに生成されておらず、変更されることがない固定の値のMACアドレスを固定MACアドレスという。そして、MACアドレスのランダム化機能に対応している装置は、より新しいモデル(型番)の装置であり、MACアドレスのランダム化機能に対応していない装置は、より古いモデルの装置であるものとする。
【0047】
また、MACアドレスのランダム化機能に対応している装置は、MACアドレスのランダム化機能を有効化するか否かの設定を実行可能である。そして、MACアドレスのランダム化機能に対応しており且つMACアドレスのランダム化機能を有効化する設定がなされている通信装置151は、外部の装置にはランダムMACアドレスを提供するものとする。すなわち通信装置151の通信部156に割り当てられたMACアドレスとして、ランダムMACアドレスが使用されるものとする。なおMACアドレスのランダム化機能を有効化する設定がなされている場合、通信装置151の通信部156に割り当てられたMACアドレスは、定期的に変更される。そして変更後のMACアドレスも、MACアドレスのランダム化機能によりランダムな値として生成される。MACアドレスのランダム化機能に対応しているがMACアドレスのランダム化機能を有効化する設定がなされていない通信装置151は、固定MACアドレスを提供するものとする。またMACアドレスのランダム化機能に対応していない通信装置151も、外部の装置には固定MACアドレスを提供するものとする。すなわち通信装置151の通信部156に割り当てられたMACアドレスとして、固定MACアドレスが使用されるものとする。
【0048】
なお通信装置151の通信部156に割り当てられたMACアドレスには、ランダムMACアドレスを示す情報が含まれている。MACアドレスは12桁の16進数を表す英数字と「:」といった区切り子で表現される(例えば、1A:2B:3C:4D:5E:6F)。MACアドレスの区切り子で分けられている英数字二文字はオクテットと呼ばれる。1オクテット目(上記例での1A)の値を2進数で表現した場合の2ビット目が1であるMACアドレスが、ランダムMACアドレスであるとIEEEによって定義されている。なお1オクテット目の値を2進数で表現した場合の2ビット目が1であるMACアドレスとは具体的には例えば、1オクテット目の値が2,6,A,Eのいずれかの値で終わる値であるMACアドレスである。またランダムMACアドレスが上述のような定義であるため、固定MACアドレスは、1オクテット目の値が2,6,A,E以外の値で終わる値であるMACアドレスとなる。
【0049】
まず、
図5を参照しながら、情報処理装置101により実行される、通信装置151のネットワークセットアップの処理を説明する。
【0050】
図5に示すシーケンスは、例えば、各装置のCPUが各装置のROMや外部記憶装置等に格納されたプログラムを各装置のRAMに読み出して実行することにより実現される。なお上述したように、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介した通信では、セットアップ用通信プロトコルが用いられる。
【0051】
S500では、情報処理装置101は、設定アプリにより、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、アクセスポイントのリストを通信装置151に要求する。
【0052】
次にS501では、通信装置151は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、アクセスポイントのリストを情報処理装置101に送信する。なおここで送信されるリストは、通信装置151がAPサーチを実行することにより発見された、通信装置151が接続可能な1または複数のアクセスポイントを示すリストである。
【0053】
次にS502では、情報処理装置101は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、受信したリストに含まれるいずれかのアクセスポイントの接続情報を通信装置151に送信する。なお本処理は、設定アプリが、受信したリストに含まれるいずれかのアクセスポイントの接続情報を送信するよう情報処理装置101を制御することで実現される。本処理において具体的には情報処理装置101は、受信したリストに、接続済みAPが含まれる場合、接続済みAPの接続情報を送信する。また、受信したリストに、接続済みAPが含まれなかった場合、情報処理装置101は、受信したリストを表示し、リストからいずれかのアクセスポイントの選択をユーザから受け付ける。そして情報処理装置101は、選択されたアクセスポイントの接続情報を送信する。なお接続情報が送信される前に、情報処理装置101は、アクセスポイントと接続するためのパスワードの入力を印刷アプリケーションが表示する画面上でユーザから受け付ける。そして、受け付けたパスワードを接続情報に含めて、接続情報を送信する。
【0054】
S503では、通信装置151は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、接続情報を受信したことを情報処理装置101に通知する。
【0055】
S504では、通信装置151は、ネットワークセットアップモードを終了し、インフラ接続モードに移行する。そして通信装置151は、S502で取得した接続情報を用いて、当該接続情報に対応するアクセスポイントとの接続を試みる。接続が成功した場合、以後、通信装置151は、接続したアクセスポイントが形成するネットワークを介して通信を実行可能となる。
【0056】
S505では、情報処理装置101は、設定アプリにより、保存していた接続情報を用いて、設定操作が行われたときに情報処理装置101が接続していたアクセスポイントと再び接続する。なおこの形態に限定されない。例えば情報処理装置101は、設定操作が行われたときに情報処理装置101がWi-Fiによって接続していたアクセスポイントとは異なる他のアクセスポイントの接続情報を通信装置151に送信していた場合等は、当該他のアクセスポイントと接続しても良い。
【0057】
S506では、情報処理装置101は、設定アプリにより、自身が属するネットワーク上で、通信装置151を検索する。そして情報処理装置101は、通信装置151が発見された場合に、通信装置151にケーパビリティ情報を要求し、通信装置151はケーパビリティ情報を情報処理装置101に送信する。これにより、設定アプリ上に、通信装置151の情報を登録し、以後、設定アプリもしくは他のアプリケーションによって通信装置151との通信を実行可能とする。具体的には例えば、印刷アプリケーションによって通信装置151に印刷ジョブを送信可能とする。なお、登録される情報には例えば、IPアドレス、MACアドレス、シリアル番号が含まれる。なお、このときのMACアドレスはランダム化されていないMACアドレスとする。ネットワークセットアップによって通信装置151が接続したアクセスポイントによって形成されるネットワークに情報処理装置101が属している場合には、当該アクセスポイントを介して通信装置151との通信が実行可能となる。なお、その際の通信は、例えば、セットアップ用通信プロトコルと異なる通信プロトコルが利用されて実行される。
【0058】
図2は、情報処理装置101の設定アプリにより表示されるプリンタ一覧画面200の一例を示す図である。プリンタ一覧画面200には、通信部110を介して過去に接続したことがある通信装置151の一覧が表示される。即ち、上述のように、設定アプリに通信装置151の情報が登録されている状態である。タイトル201には、画面のタイトルが表示される。プリンタ情報表示エリア202および203には、通信装置151の名称が表示される。プリンタ情報表示エリア202および203は、ユーザにより選択操作を受付可能であり、選択操作を受け付けた箇所には、チェックマーク204が表示される。例えば、
図2では、プリンタ情報表示エリア202に表示されている通信装置151(プリンタA)が現在選択されていることを示している。
【0059】
通信ボタン205が押下されると、情報処理装置101は、選択されたプリンタ情報表示エリアに対応する通信装置151と通信を行う。その際、情報処理装置101は、記憶しているIPアドレスに対して接続を実施する。通信に成功した場合には、チェックマークをプリンタ情報表示エリア202から削除し、例えばジョブを実行するための画面を表示する。一方、通信に失敗した場合は、プリンタ接続エラーダイアログ210を表示する。プリンタ接続エラーダイアログ210には、プリンタと通信できないことを示すメッセージ211が表示される。エラーダイアログ確認ボタン212が押下されると、プリンタ一覧画面200の表示に戻る。その際、通信に失敗したプリンタ情報表示エリアを選択不可なように表示しても良い。
【0060】
選択された通信装置151と通信を失敗する場合とは例えば、DHCPにより通信装置のIPアドレスが変更されている場合である。その場合、情報処理装置101からIPアドレスを発見することができないので、通信は失敗となる。
【0061】
以下、
図3を参照しながら、ユーザにより選択された、通信を所望する(通信対象の)通信装置151を特定するための処理を説明する。
【0062】
図3は、情報処理装置101において実行される処理を示すフローチャートである。
図3の処理は例えば、情報処理装置101のCPU103がROM104に記憶されたプログラムをRAM105に読み出して実行することにより実現される。また、
図3の処理は例えば、
図2のプリンタ一覧画面200においてプリンタ情報表示エリア202が選択され、通信を開始する指示を受け付けた場合に開始される。
【0063】
S300において、CPU103は、情報処理装置101内で記憶されているIPアドレスを用いて通信装置151との通信処理を開始する。例えば、選択されたプリンタ情報表示エリア202に対応付けられて登録されているIPアドレスを用いて通信装置151との通信処理を開始する。以下、選択されたプリンタ情報表示エリア202に対応する通信装置151をプリンタAとする。また、対応付けられて登録されているIPアドレス、MACアドレスをIPアドレスA、MACアドレスAとする。
【0064】
S301において、CPU103は、プリンタAとの通信が成功したか否かを判定する。例えば、IPアドレスAを用いてプリンタAと接続が行われた場合に、成功したと判定される。成功したと判定された場合、
図3の処理を終了し、例えば、プリンタAに対するジョブ実行等の処理を行うための画面が表示される。一方、失敗したと判定された場合、S302に進む。
【0065】
S302において、CPU103は、ネットワーク上に存在する通信装置151の構成情報を取得する。ここで、構成情報は、MACアドレス、プリンタ名、IPアドレスを含む情報である。また、CPU103は例えば、通信部110を介したブロードキャスト通信により、ネットワーク上に存在する複数の通信装置151それぞれの構成情報を取得する。S302の処理により、ネットワーク上に存在する通信装置151のMACアドレスの一覧が取得されることになる。
【0066】
S303において、CPU103は、S302で取得されたMACアドレスの一覧と、プリンタAのMACアドレスAとを比較する。そして、S304において、CPU103は、MACアドレスの一覧内に、MACアドレスAと一致するMACアドレスの有無を判定する。あると判定された場合、S305に進む。
【0067】
S305において、CPU103は、MACアドレスAと一致するMACアドレスに対応するIPアドレスを取得する。ここでは、そのIPアドレスをIPアドレスA’とする。CPU103は、情報処理装置101内で記憶されているMACアドレスAに対応するIPアドレスAをIPアドレスA’に更新する。そして、S306において、CPU103は、更新したIPアドレスA’を用いてプリンタAとの通信処理を開始する。S306の後、
図3の処理を終了し、例えば、プリンタAに対するジョブ実行等の処理を行うための画面が表示される。
【0068】
このように、プリンタAのIPアドレスがDHCPにより変更されたとしても、情報処理装置101内に記憶されているMACアドレスとネットワーク上から取得されたMACアドレスの一覧とに基づいて、変更されたIPアドレスを取得し通信することができる。
【0069】
一方、MACアドレスの一覧内に、MACアドレスAと一致するMACアドレスがないと判定された場合、S307に進む。
【0070】
S307において、CPU103は、MACアドレスの一覧から、ランダムMACアドレスを抽出する(フィルタリング)。例えば、CPU103は、上述のランダムMACアドレスを示す情報に基づいて、ランダムMACアドレスを抽出する。そして、S308において、CPU103は、ランダムMACアドレスが少なくとも1つ存在するか否かを判定する。MACアドレスの一覧においてランダムMACアドレスがないと判定された場合、S312に進む。
【0071】
S312に進む場合とは、例えば通信を所望するプリンタAの電源が投入されていない場合である。S312において、CPU103は、プリンタ接続エラーダイアログ211を表示し、その後、
図3の処理を終了する。
【0072】
S308で少なくとも1つ存在すると判定された場合、S309に進む。S309において、CPU103は、抽出されたランダムMACアドレスそれぞれに対応する通信装置151から、MACアドレスと異なる種類の、通信装置151の識別子を取得する。ここで取得される識別子は、通信装置151を識別可能な情報であり、例えば通信装置151のシリアル番号である。なお、情報処理装置101のROM104には、設定アプリに登録されたプリンタAに対応するシリアル番号が記憶されている。ここでは、そのシリアル番号をシリアル番号Aとする。S309では、通信装置151のシリアル番号は、暗号化通信により取得される。暗号化通信は、例えばSSL(TLS)通信により行われても良く、情報処理装置101と通信装置151の間においてサーバ証明書と公開鍵を用いて両装置間で使用可能な共通鍵が生成され、その共通鍵により暗号化通信が実現される。また、暗号化通信に用いられる共通鍵の生成等は例えば、設定アプリへの登録時に行われても良い。
【0073】
S310において、CPU103は、抽出されたランダムMACアドレスそれぞれに対応する通信装置151からS309で取得された暗号化情報を復号し、各通信装置151のシリアル番号を取得する。なお、本実施形態では、シリアル番号を暗号化通信で取得するとして説明したが、暗号化されずに取得しても良い。例えば、S302で構成情報の一つとして取得しても良い。
【0074】
S311において、CPU103は、S310で取得されたシリアル番号に、情報処理装置101内で記憶されているシリアル番号Aと一致するシリアル番号の有無を判定する。あると判定された場合、S313において、CPU103は、シリアル番号Aと一致するシリアル番号に基づいて、そのシリアル番号に対応するランダムMACアドレスと、そのランダムMACアドレスに対応するIPアドレスとを取得する。ここで、取得されたランダムMACアドレス、IPアドレスをランダムMACアドレスA、IPアドレスA’とする。そして、CPU103は、情報処理装置101内で記憶されているMACアドレスAをランダムMACアドレスAに更新する。S313の後、S305において、CPU103は、情報処理装置101内で記憶されている、ランダムMACアドレスAに対応するIPアドレスAをIPアドレスA’に更新する。以降、S306の処理が行われる。
【0075】
このように、プリンタAのIPアドレスがDHCPにより変更され、さらにMACアドレスがランダム化されたとしても、通信を所望する通信装置151をネットワーク上で特定し、通信を可能とすることができる。
【0076】
S311で、情報処理装置101内で記憶されているシリアル番号Aがないと判定された場合、S312に進む。S312に進む場合とは、例えば通信を所望するプリンタAの電源が投入されていない場合である。S312において、CPU103は、プリンタ接続エラーダイアログ211を表示し、その後、
図3の処理を終了する。
【0077】
以上のように、本実施形態によれば、IPアドレスがDHCPにより変更され、さらにMACアドレスがランダム化されたとしても、通信を所望する通信装置151をネットワーク上で特定して通信を可能とすることができる。
【0078】
本実施形態では、S309でシリアル番号を暗号化通信で取得するとして説明した。しかしながら、個人の特定を防ぐことを目的とする通信であれば、暗号化通信以外の方法が用いられても良い。例えば、抽出されたランダムMACアドレスそれぞれに対応する通信装置151においてシリアル番号に基づいて算出されたハッシュ値を取得するようにしても良い。一方、CPU103は、情報処理装置101内で記憶されているシリアル番号Aに基づいてハッシュ値Aを算出する。そして、ネットワーク上から取得されたハッシュ値に、ハッシュ値Aと一致するハッシュ値の有無を判定する。一致するハッシュ値があると判定された場合、そのハッシュ値に対応するランダムMACアドレスおよびIPアドレスが、通信を所望するプリンタAのランダムMACアドレスおよびIPアドレスとなる。そして、S313でCPU103は、情報処理装置101内で記憶されているMACアドレスAをランダムMACアドレスAに更新し、S305でCPU103は、情報処理装置101内で記憶されている、ランダムMACアドレスAに対応するIPアドレスAをIPアドレスA’に更新する。一方、一致するハッシュ値がないと判定された場合、S312でCPU103は、プリンタ接続エラーダイアログ210を表示する。
【0079】
[第2実施形態]
以下、第1実施形態と異なる点について第2実施形態を説明する。本実施形態では、通信を所望する通信装置151の機種に応じて、通信を所望する通信装置の特定の方法を切り替える。つまり、通信を所望する通信装置151の機種が、MACアドレス以外の識別子を有さない機種の場合には、ランダムMACアドレスに対応する通信装置151から、ランダム化機能によりランダム化される前のMACアドレスを取得する。以降、MACアドレスがランダム化機能によりランダム化された際に装置内部に保持されている、ランダム化される前のMACアドレスを特に「オリジナルMACアドレス」と呼ぶものとする。MACアドレスのランダム化機能によりランダム化される前のMACアドレスとは言い換えれば、MACアドレスのランダム化機能によりランダム化されていないMACアドレスである。
【0080】
図4は、情報処理装置101において実行される処理を示すフローチャートである。
図4の処理は例えば、情報処理装置101のCPU103がROM104に記憶されたプログラムをRAM105に読み出して実行することにより実現される。また、
図4の処理は例えば、
図2のプリンタ一覧画面200においてプリンタ情報表示エリア202が選択され、通信を開始する指示を受け付けた場合に開始される。
【0081】
S400~S413は、
図3のS300~S313における説明と同じであるので、それらの説明を省略する。S408で、MACアドレスの一覧からランダムMACアドレスが少なくとも1つ存在すると判定された場合、S414に進む。
【0082】
S414において、CPU103は、プリンタ一覧画面200で選択された通信装置151が、MACアドレス以外で通信装置151を一意に識別するための識別子(以下、第2識別子と呼ぶ)を有する装置であるか否かを判定する。本実施形態では、第2識別子とは例えば、シリアル番号である。例えば、設定アプリに登録されている機種情報(機種名など)がインクジェットプリンタを示す場合、通信装置151は、第2識別子を有すると判定される。例えば、機種情報(機種名など)がレーザービームプリンタを示す場合、通信装置151は、第2識別子を有さないと判定される。S414で第2識別子を有する装置であると判定された場合、S409~S411、S413、S405、S406の処理が実行される。即ち、シリアル番号により、通信を所望する通信装置151を特定する。
【0083】
一方、S414で第2識別子を有さない装置であると判定された場合、S415において、CPU103は、S407で抽出された通信装置151からオリジナルMACアドレスを取得する。本実施形態では、通信装置151内のMIB(Management Information Base)にオリジナルMACアドレスを格納するOID(Object Identifier)を設ける。ここで構成されるMIBは、プリンタMIB等の標準MIBであっても良いし、ベンダ独自に定義したプライベートMIBであっても良い。S415では、CPU103は例えば、MIBの取得コマンドであるGet-Requestを用いてオリジナルMACアドレスが記憶されている場所を指定し、オリジナルMACアドレスを取得する。S415の処理により、ネットワーク上に存在する通信装置151のオリジナルMACアドレスの一覧が取得されることになる。
【0084】
S416において、CPU103は、S415で取得されたオリジナルMACアドレスの一覧と、プリンタAのMACアドレスAとを比較する。そして、CPU103は、オリジナルMACアドレスの一覧内に、情報処理装置101内に記憶されているMACアドレスAと一致するMACアドレスの有無を判定する。あると判定された場合、S413に進む。一方、ないと判定された場合、S412に進む。
【0085】
以上のように、本実施形態によれば、MACアドレス以外の第2識別子を有さない通信装置からは、オリジナルMACアドレスを取得し、通信を所望する通信装置151をネットワーク上で特定して通信を可能とすることができる。
【0086】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0087】
本実施形態の開示は、以下の情報処理装置、方法、プログラムを含む。
(項目1)
通信対象とする通信装置の情報を記憶する記憶手段と、
通信装置から第1識別情報を取得する第1取得手段と、
前記第1取得手段により取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得手段と、
前記記憶手段に記憶されている前記通信装置の情報に含まれる第2識別情報と、前記第2取得手段により取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定手段と、
を備えることを特徴とする情報処理装置。
(項目2)
前記第1取得手段により取得した第1識別情報が前記ランダム化された識別情報であるか否かを判定する第1判定手段をさらに備え、
前記第1判定手段により前記ランダム化された識別情報であると判定された場合、前記第2取得手段は、前記ランダム化された識別情報を取得した通信装置から前記第2識別情報を取得する、
ことを特徴とする項目1に記載の情報処理装置。
(項目3)
前記記憶手段に記憶されている前記通信装置の情報に含まれる第1識別情報を、前記第1取得手段により取得した前記ランダム化された識別情報で更新する更新手段をさらに備えることを特徴とする項目1又は2に記載の情報処理装置。
(項目4)
前記第2識別情報は、暗号化通信を介して取得されることを特徴とする項目1乃至3のいずれか1項に記載の情報処理装置。
(項目5)
前記第1取得手段により取得した第1識別情報が前記ランダム化された識別情報である場合、前記ランダム化される前の識別情報を取得するか否かを判定する第2判定手段をさらに備え、
前記第2判定手段により前記ランダム化される前の識別情報を取得しないと判定された場合、前記第2取得手段は、前記ランダム化された識別情報を取得した通信装置から前記第2識別情報を取得する、
ことを特徴とする項目1乃至4のいずれか1項に記載の情報処理装置。
(項目6)
前記第2判定手段により前記ランダム化される前の識別情報を取得すると判定された場合、前記ランダム化された識別情報を取得した通信装置から当該ランダム化される前の識別情報を取得する第3取得手段をさらに備え、
前記第2取得手段による第2識別情報の取得は行われない、
ことを特徴とする項目5に記載の情報処理装置。
(項目7)
前記特定手段は、前記記憶手段に記憶されている前記通信装置の情報に含まれる第1識別情報と、前記第3取得手段により取得された前記ランダム化される前の識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定することを特徴とする項目6に記載の情報処理装置。
(項目8)
前記第3取得手段は、前記通信装置の内部で前記ランダム化される前の識別情報が記憶されている場所を指定する情報を送信することにより、前記ランダム化される前の識別情報を取得することを特徴とする項目6又は7に記載の情報処理装置。
(項目9)
前記記憶されている場所を指定する情報は、MIB(Management Information Base)におけるOID(Object Identifier)であることを特徴とする項目8に記載の情報処理装置。
(項目10)
前記第2判定手段による判定は、前記記憶手段に記憶されている前記通信装置の情報に含まれる機種情報に基づいて行われることを特徴とする項目5乃至9のいずれか1項に記載の情報処理装置。
(項目11)
前記第2判定手段は、前記機種情報が第1機種情報を示す場合、前記ランダム化される前の識別情報を取得すると判定し、前記機種情報が前記第1機種情報と異なる第2機種情報を示す場合、前記ランダム化される前の識別情報を取得しないと判定することを特徴とする項目10に記載の情報処理装置。
(項目12)
前記第1機種情報はレーザービームプリンタであり、前記第2機種情報はインクジェットプリンタであることを特徴とする項目11に記載の情報処理装置。
(項目13)
前記第1識別情報は、MAC(Media Access Control)アドレスであることを特徴とする項目1乃至12のいずれか1項に記載の情報処理装置。
(項目14)
前記ランダム化された識別情報と異なり且つ前記第2識別情報と異なる第3識別情報を用いて、前記特定手段により特定した通信装置との通信を行う通信手段をさらに備えることを特徴とする項目13に記載の情報処理装置。
(項目15)
前記第3識別情報は、IPアドレスであることを特徴とする項目14に記載の情報処理装置。
(項目16)
前記第2識別情報は、シリアル番号であることを特徴とする項目1乃至15のいずれか1項に記載の情報処理装置。
(項目17)
前記第1取得手段は、複数の通信装置それぞれから第1識別情報を取得することを特徴とする項目1乃至16のいずれか1項に記載の情報処理装置。
(項目18)
情報処理装置において実行される方法であって、
通信装置から第1識別情報を取得する第1取得工程と、
前記第1取得工程において取得した第1識別情報がランダム化された識別情報である場合、当該ランダム化された識別情報を取得した通信装置から、前記第1識別情報と異なる種類の第2識別情報を取得する第2取得工程と、
記憶手段に記憶されている通信対象とする通信装置の情報に含まれる第2識別情報と、前記第2取得工程において取得された第2識別情報とに基づいて、前記ランダム化された識別情報を取得した通信装置のうち、前記通信対象とする通信装置を特定する特定工程と、
を有することを特徴とする方法。
(項目19)
項目1乃至17のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【0088】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0089】
101 情報処理装置: 103、154 CPU: 104、152 ROM: 105、153 RAM: 151 通信装置