(57)【要約】【課題】  本発明は、ブロードキャスト送信による応答が画像形成装置から得られない状況であっても、他の手段により画像形成装置のアドレスを特定し、印刷データを送信することを目的とする。【解決手段】  画像形成装置に無線ネットワークを介して接続する本発明の情報処理装置は、無線ネットワークに対してブロードキャスト送信するか、画像形成装置のデフォルトのアドレスに対してユニキャスト送信するか、無線ネットワークにおける情報処理装置のアドレスと、情報処理装置のネットワークの接続状態に関する情報に基づいて計算を行うことにより、画像形成装置の現在のアドレスを特定して、特定されたアドレスに印刷データを送信する。【選択図】  図８
2019036923.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
画像形成装置に無線ネットワークを介して接続する接続手段と、
前記無線ネットワークに対してパケットをブロードキャスト送信して、当該パケットに対する応答パケットから前記画像形成装置の現在のアドレスを特定する第１の特定手段と、
前記無線ネットワークの前記画像形成装置のデフォルトのアドレスに対してパケットをユニキャスト送信して、当該パケットに対する応答パケットを受信した場合に、前記画像形成装置の現在のアドレスが前記デフォルトのアドレスであると特定する第２の特定手段と、
前記第１の特定手段及び前記第２の特定手段により前記画像形成装置の現在のアドレスが特定できなかった場合に、前記無線ネットワークにおける前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する情報を取得して、前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する前記情報に基づいて、前記画像形成装置の現在のアドレスを特定する第３の特定手段と、
特定された前記画像形成装置の現在のアドレスに印刷データを送信する送信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置のネットワークの接続状態に関する前記情報は、前記無線ネットワークにおける前記情報処理装置自身のアドレスと通信相手のアドレスを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第３の特定手段は、前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する前記情報に基づいて、前記情報処理装置と同一ネットワークかつ特定のポートのアドレスを取得することにより、前記画像形成装置の現在のアドレスを特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第３の特定手段は、前記情報処理装置のアドレスのネットワーク部を算出して、前記画像形成装置のアドレスと前記情報処理装置のアドレスのネットワーク部が一致するかを判断することで、前記画像形成装置と前記情報処理装置が同一ネットワークであると判断することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記無線ネットワークのアクセスポイントとして機能するオーナーが前記画像形成装置であるか否かを判断する第１の判断手段と、
前記第１の判断手段により前記無線ネットワークのアクセスポイントとして機能する前記オーナーが前記画像形成装置であると判断された場合に、前記オーナーのアドレスを取得することにより前記画像形成装置の現在のアドレスを特定する第４の特定手段と、を有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第３の特定手段により前記画像形成装置の現在のアドレスが特定できたか否かを判断する第２の判断手段と、を有し、
前記第１の特定手段は、前記第２の判断手段により前記第３の特定手段による前記画像形成装置の現在のアドレスの特定ができなかったと判断された場合に、前記無線ネットワークのうちアクセスポイントを経由した接続を切断した後に、前記無線ネットワークに対して前記パケットを前記ブロードキャスト送信して、当該パケットに対する前記応答パケットから前記画像形成装置の現在のアドレスを特定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータにおいて実行されるプログラムであって、
前記コンピュータに、
画像形成装置に無線ネットワークを介して接続する接続工程と、
前記無線ネットワークに対してパケットをブロードキャスト送信して、当該パケットに対する応答パケットから前記画像形成装置の現在のアドレスを特定する第１の特定工程と、
前記無線ネットワークの前記画像形成装置のデフォルトのアドレスに対してパケットをユニキャスト送信して、当該パケットに対する応答パケットを受信した場合に、前記画像形成装置の現在のアドレスが前記デフォルトのアドレスであると特定する第２の特定工程と、
前記第１の特定工程及び前記第２の特定工程により前記画像形成装置の現在のアドレスが特定できなかった場合に、前記無線ネットワークにおける前記コンピュータのアドレスと、前記コンピュータのネットワークの接続状態に関する情報を取得して、前記コンピュータのアドレスと、前記コンピュータのネットワークの接続状態に関する前記情報に基づいて、前記画像形成装置の現在のアドレスを特定する第３の特定工程と、
特定された前記画像形成装置の現在のアドレスに印刷データを送信する送信工程と、を実行させることを特徴とするプログラム。
【請求項８】
前記コンピュータのネットワークの接続状態に関する前記情報は、前記無線ネットワークにおける前記コンピュータ自身のアドレスと通信相手のアドレスを含むことを特徴とする請求項７に記載のプログラム。
【請求項９】
前記第３の特定工程は、前記コンピュータのアドレスと、前記コンピュータのネットワークの接続状態に関する前記情報に基づいて、前記コンピュータと同一ネットワークかつ特定のポートのアドレスを取得することにより、前記画像形成装置の現在のアドレスを特定することを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記第３の特定工程は、前記コンピュータのアドレスのネットワーク部を算出して、前記画像形成装置のアドレスと前記コンピュータのアドレスのネットワーク部が一致するかを判断することで、前記画像形成装置と前記コンピュータが同一ネットワークであると判断することを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記コンピュータに、
前記無線ネットワークのアクセスポイントとして機能するオーナーが前記画像形成装置であるか否かを判断する第１の判断工程と、
前記第１の判断工程により前記無線ネットワークのアクセスポイントとして機能する前記オーナーが前記画像形成装置であると判断された場合に、前記オーナーのアドレスを取得することにより前記画像形成装置の現在のアドレスを特定する第４の特定工程と、を実行させることを特徴とする請求項７乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記コンピュータに、
前記第３の特定工程により前記画像形成装置の現在のアドレスが特定できたか否かを判断する第２の判断工程と、を実行させ、
前記第１の特定工程は、前記第２の判断工程により前記第３の特定工程による前記画像形成装置の現在のアドレスの特定ができなかったと判断された場合に、前記無線ネットワークのうちアクセスポイントを経由した接続を切断した後に、前記無線ネットワークに対して前記パケットを前記ブロードキャスト送信して、当該パケットに対する前記応答パケットから前記画像形成装置の現在のアドレスを特定することを特徴とする請求項７乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
情報処理装置の制御方法であって、
画像形成装置に無線ネットワークを介して接続する接続工程と、
前記無線ネットワークに対してパケットをブロードキャスト送信して、当該パケットに対する応答パケットから前記画像形成装置の現在のアドレスを特定する第１の特定工程と、
前記無線ネットワークの前記画像形成装置のデフォルトのアドレスに対してパケットをユニキャスト送信して、当該パケットに対する応答パケットを受信した場合に、前記画像形成装置の現在のアドレスが前記デフォルトのアドレスであると特定する第２の特定工程と、
前記第１の特定工程及び前記第２の特定工程により前記画像形成装置の現在のアドレスが特定できなかった場合に、前記無線ネットワークにおける前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する情報を取得して、前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する前記情報に基づいて、前記画像形成装置の現在のアドレスを特定する第３の特定工程と、
特定された前記画像形成装置の現在のアドレスに印刷データを送信する送信工程と、を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は無線ネットワーク上のアドレスを特定する技術に関する。
【背景技術】
【０００２】
従来、プリンターのアドレスを特定する技術が提案されている。特許文献１は情報端末装置がプリンターに対してブロードキャストを行うことでＩＰアドレスを特定する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０６０６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置から画像形成装置に印刷データを送信するためには画像形成装置のネットワーク上のアドレスを特定する必要がある。しかしながら、例えば情報処理装置のオペレーティングシステムの仕様や状況によっては、ブロードキャスト送信による応答が画像形成装置から得られず、画像形成装置のアドレスを特定できないことがある。
【０００５】
これに対して本発明は、ブロードキャスト送信による応答が画像形成装置から得られない状況であっても、他の手段により画像形成装置のアドレスを特定し、印刷データを送信することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明に係る情報処理装置は、
画像形成装置に無線ネットワークを介して接続する接続手段と、
前記無線ネットワークに対してパケットをブロードキャスト送信して、当該パケットに対する応答パケットから前記画像形成装置の現在のアドレスを特定する第１の特定手段と、
前記無線ネットワークの前記画像形成装置のデフォルトのアドレスに対してパケットをユニキャスト送信して、当該パケットに対する応答パケットを受信した場合に、前記画像形成装置の現在のアドレスが前記デフォルトのアドレスであると特定する第２の特定手段と、
前記第１の特定手段及び前記第２の特定手段により前記画像形成装置の現在のアドレスが特定できなかった場合に、前記無線ネットワークにおける前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する情報を取得して、前記情報処理装置のアドレスと、前記情報処理装置のネットワークの接続状態に関する前記情報に基づいて、前記画像形成装置の現在のアドレスを特定する第３の特定手段と、
特定された前記画像形成装置の現在のアドレスに印刷データを送信する送信手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によって、ブロードキャスト送信による応答が画像形成装置から得られない状況であっても、他の手段により画像形成装置のアドレスを特定し、印刷データを送信することができる。
【図面の簡単な説明】
【０００８】
【図１】システム構成を示す図。
【図２】情報処理装置のハードウェア構成を示す図。
【図３】情報処理装置のソフトウェアの構成を示す図。
【図４】情報処理装置のアプリケーション上でプリンターを探索し表示する画面。
【図５】情報処理装置が行う、ＷＦＤプリンター選択時処理についてのフローチャート。
【図６】情報処理装置のアプリケーション上で印刷設定および印刷を行う画面。
【図７】情報処理装置のネットワーク接続の状態リストを示すイメージ図。
【図８】実施例１のプリンターの探索処理についてのフローチャート。
【図９】実施例２のプリンターの探索処理についてのフローチャート。
【図１０】実施例３のプリンターの探索処理についてのフローチャート。
【発明を実施するための形態】
【０００９】
近年、スマートフォンと呼ばれる高性能なモバイル端末が登場し、そのモバイル端末上で印刷機能を提供する印刷アプリケーションや、ＯＳが提供する印刷システムに対して各プリンターベンダーがベンダー独自の探索処理機能や印刷処理機能をアドインできる印刷プラグインが登場している。
【００１０】
前者の印刷アプリケーションとして例えば、Ｃａｎｏｎ  Ｐｒｉｎｔ  Ｂｕｓｉｎｅｓｓがある。Ｃａｎｏｎ  Ｐｒｉｎｔ  Ｂｕｓｉｎｅｓｓでは、モバイル端末がＷｉ−Ｆｉ（登録商標）（無線ＬＡＮ規格であり、国際標準規格であるＩＥＥＥ８０２．１１規格を使用したデバイス間の相互接続が認められたことを示す名称）を通して参加するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）上のプリンターを探索する。さらにモバイル端末に保存してあるＪＰＥＧ画像やＰＤＦといった原稿ファイルを展開して、前記探索したプリンターがサポートする描画形式に変換し、さらに各種印刷設定情報（例えば、給紙トレイや印刷部数の情報）を付加して印刷ジョブとして構成し、前記印刷ジョブを前記探索したプリンターに送信するといった、印刷に必要な一連の処理をモバイル端末で実行するものとして知られている。
【００１１】
一方、後者の印刷プラグインとして例えば、Ｃａｎｏｎ  Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅがある。Ｃａｎｏｎ  Ｐｒｉｎｔ  ＳｅｒｖｉｃｅはＡｎｄｒｏｉｄ（登録商標）  ＯＳ専用の印刷プラグインであり、インストールすることでＡｎｄｒｏｉｄ  ＯＳの印刷システムに対して、Ｃａｎｏｎ製のプリンター向けの探索機能及び印刷処理機能をアドインすることができる。
【００１２】
これに対してプリンターと情報処理装置内のアプリケーションがＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅの登録商標または商標）により無線通信を行う場合、プリンターと接続が確立しているにも関わらず、アプリケーションにおいて情報処理装置からプリンターのＩＰアドレスを取得できないことがある。そのような現象が生じる具体例について説明する。
【００１３】
モバイル端末はアプリケーションで複数の通信方法をサポートし、プリンターと複数の接続経路で通信可能に構成することができる。プリンターと複数の接続経路を有する場合、アプリケーション内のプリンターの探索処理において、ブロードキャスト送信によるＩＰアドレスの取得が困難になることがある。たとえば情報処理装置はアクセスポイント経由で通信するＷｉ−Ｆｉ  ＡＰ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ）接続と、ＷＦＤ接続を併用することができる。このように併用している状況でＷＦＤ接続に対してブロードキャスト送信を行うと、プリンターから応答のパケットを受信するまでに時間がかかる場合や、応答パケット自体を受信できない場合がある。
【００１４】
その一方、同じ環境でもブロードキャスト送信によってＩＰアドレスの取得が容易に行えることもあり、ブロードキャスト送信を試行しなければＩＰアドレスの取得が行えるかどうかは不明となっている。
【００１５】
このような状況に対して、本明細書ではプリンター探索時に、ブロードキャスト送信後にプリンターからの応答パケットを想定通りに受信できない場合も考慮して、プリンターのＩＰアドレスを特定する方法を説明する。
【００１６】
［実施例１］
以下、図面を参照し、本発明の実施形態の一例について詳細に説明する。
【００１７】
図１は、本発明の一実施形態におけるデータ処理システムの構成を示す図である。図１において、１０１はモバイル形態の情報処理装置であって、プリンター１０２に対して印刷ジョブ送信を指示するユーザーが使用する。１０２は画像形成装置の一例であるプリンターであって、印刷機能のほか、コピー機能、スキャナ機能、ファクス送信機能等を備えていても構わない。１０３は無線ＬＡＮアクセスポイントである。無線ＬＡＮアクセスポイント１０３は、一般的なネットワーク・ルーター機能を有した無線ＬＡＮのアクセスポイントまたはルーターであって、家庭内や事務所などの中でＷｉ−Ｆｉを通じた無線ＬＡＮを提供している。また、情報処理装置１０１はモバイル端末であり、後述するＷｉ−Ｆｉ通信部を搭載していることから、Ｗｉ−Ｆｉ機能を有効にすることで無線ＬＡＮアクセスポイント１０３に接続することができる。情報処理装置１０１は、無線ＬＡＮアクセスポイント１０３が提供する無線ＬＡＮエリアに入ると、予め設定していた認証情報を利用して自動的にネットワークに参加することができる。１０４は情報処理装置及びプリンターが送受信するＷＦＤによる無線信号であり、前記無線信号が到達し合う周辺のコンピューターデバイス間においては、Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒの無線ネットワークを形成することができる。
【００１８】
図２は、図１における情報処理装置１０１のハードウェア構成を示すブロック図である。情報処理装置１０１は、モバイル端末やスマートフォンであり、小型端末用のオペレーティングシステムや、通話、データ通信を制御するプログラムが動いていても構わない。
【００１９】
ハードウェアの各構成要素は、システムバス２０１に接続されている。ＲＯＭ２０３には情報処理装置１０１におけるオペレーティングシステム及び、通話、データ通信を制御するアプリケーションが格納されている。データ通信を制御するアプリケーションとしては、印刷アプリケーションやＭａｉｌソフト、Ｗｅｂブラウザなどがある。ＲＯＭ２０３は不揮発性の記憶装置であり、情報処理装置１０１の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
【００２０】
また、本実施例に記載のアイデアはＲＯＭ２０３に記録されているプログラムをＲＡＭ２０４に読み込みＣＰＵ２０２で逐次実行されることにより、図３に示されるような各処理部として機能し、後述するフローチャートの各ステップの処理が実現される。
【００２１】
ＲＡＭ２０４は、プログラムを実行するためのメモリであり、アプリケーションがプログラムを実行するワークメモリエリアである。また、ＲＡＭ２０４はアプリケーションがプログラム実行時に一時的に保存しなければならないデータ等を一次記憶するためのメモリでもある。
【００２２】
ネットワークコントローラ２０５は、無線ＬＡＮアクセスポイント１０３を介してネットワークに参加するためのＷｉ−Ｆｉ通信部２１０と、ＷＦＤによる無線信号が到達し合う周辺のコンピューターデバイス間においてＰｅｅｒ  Ｔｏ  Ｐｅｅｒネットワークを形成するためのＷＦＤ通信部２１１による通信制御を行う。表示制御部２０６は情報処理装置１０１のディスプレイ２０８の表示制御を行っている。入力制御部２０７は、情報処理装置１０１のタッチパネル・ボタン２０９にてユーザーが指示した情報の制御を行っている。また、表示制御部２０６、入力制御部２０７を利用して、情報処理装置１０１上でのアプリケーションは、ネットワーク通信情報や情報処理装置１０１のさまざまな情報をユーザーに提供する。これらの制御は、ＣＰＵ２０２で動くオペレーティングシステムにて行われる。
【００２３】
図３は、図１に示した情報処理装置１０１のソフトウェアの構成を説明するブロック図である。３０１はＯＳ（オペレーティングシステム）で、ＲＯＭ２０３にあらかじめインストールされており、基本的なソフトの制御を行い、情報処理装置１０１内のアプリケーションに対して通話やネットワーク通信などの様々な機能を、ＯＳフレームワークを介して提供する。３０２はＯＳフレームワークであり、ＯＳがアプリケーションに対してさまざまな機能を使用しやすいようにＡＰＩを公開しており、アプリケーションはＯＳフレームワークを使用してプリンター１０２のような他デバイスとのＷＦＤ接続の確立や、インターネット接続、通話などの機能を使用することができる。３０３はＯＳに含まれるランタイムライブラリである。アプリケーションはＯＳランタイム３０３を使用することにより、ＯＳが持つ基本的なプログラムを実行することができる。たとえば、ネットワーク接続、ルーティングテーブル、各種ネットワークインタフェースの統計情報などを表示するプログラムや、指定したホストとネットワーク通信ができるかどうかを確認するためのプログラムを実行することができる。３０４はＯＳの機能としてインストールされている印刷システムで、アプリケーションがＯＳ標準の印刷システムを使って印刷したい場合にアプリケーションから呼び出される。
【００２４】
３０５はアプリケーションであり、ＲＯＭ２０３にＯＳ上で動作するアプリケーションとしてインストールされている。アプリケーション３０５はプリンター探索部３０６と印刷制御部３０７を含み、プリンターの探索機能や印刷機能を提供する。アプリケーション３０５はホーム画面からアクセス可能な独立したアプリケーションとして動作し、さらに印刷システム３０４に付随する印刷プラグインとしても動作する。ホーム画面からアクセスされ、通常のアプリケーションとして動作する場合は、後述する図４に示すようなプリンター探索画面や、後述する図５に示す印刷設定画面を表示し、ユーザーからの印刷指示を受けてプリンターに対して画像データを送信する。印刷プラグインとして動作する場合は、印刷システム３０４からコールされた場合に印刷システム３０４に対してプリンター探索機能、印刷機能を提供し、ユーザーは印刷システムのＵＩを通して印刷することができる（不図示）。
【００２５】
図４はユーザーがアプリケーション３０５を起動し、プリンター探索部３０６を使用してプリンターを探索する際のＵＩの一例を図示したものである。アプリケーション３０５は、ＬＡＮに存在するプリンターに加えてＷＦＤによるプリンター探索が可能となっている。実際に図４のプリンター一覧には探索によって見つかった、アプリケーション３０５の印刷処理に対応する、同一ＬＡＮ内にあるプリンターに加えて、近隣にあるＷＦＤ接続可能なプリンターが表示される。ＷＦＤ接続可能なプリンターは、４０１に示すようにＷＦＤ接続であることを示す表示が行われる。また、４０２に示す探索開始ボタンを押下することでプリンター探索部３０６を使用してＬＡＮに存在するプリンターの探索およびＷＦＤ接続可能なプリンターを再度探索できる。４０１のプリンターをタップすると、後述する図５に示すフローチャートに従い処理を行う。
【００２６】
図５は、図４でＷＦＤプリンターを選択した後の処理を示すフローチャートである。
【００２７】
アプリケーション３０５はＯＳフレームワーク３０２に含まれるＷＦＤ接続のＡＰＩをコールしてプリンターとＷＦＤ接続を確立する（Ｓ５０１）。ＷＦＤ接続が確立したプリンターに対してプリンター探索部３０６を使用してＩＰアドレスを取得するために探索処理を行う（Ｓ５０２）。なお、プリンターとＷＦＤ接続が完了していてもアプリケーションはプリンターのＩＰアドレスを取得できるわけではなく、自らプリンターのＩＰアドレスを特定する処理を行わなければならない。また、本明細書の主要な処理は、Ｓ５０２の処理のなかでプリンターのＩＰアドレスを取得する箇所であり、後述する図８に示すフローチャートの中でその処理を説明する。
【００２８】
Ｓ５０２で取得したＩＰアドレスを用いてプリンターから基本的な情報を取得する処理を行う（Ｓ５０３）。以上の処理により、図４の４０１でＷＦＤプリンターを選択した際にプリンターと通信してＩＰアドレスを特定し、プリンターの情報を取得することができる。
【００２９】
図６はアプリケーション３０５における印刷設定画面の一例である。６０１に示すプリンター選択ボタンをタップすることにより、図４に示すプリンター探索画面に遷移し、同一ネットワーク上のプリンターの探索およびＷＦＤ接続可能なプリンターをリストに表示して接続することができる。６０２は印刷ボタンであり、ユーザーが６０２を押下することによって、アプリケーション３０５は印刷制御部３０７により画像データをプリンター１０２で印刷可能な形式に変換し、プリンター１０２への送信を開始する。６０３は基本的な印刷設定項目であり、用紙サイズ、部数、両面の他にも印刷範囲、用紙タイプ、ページ範囲指定などの印刷設定が可能である。
【００３０】
以下、ユーザーが図４に示すプリンター探索画面において、４０１に示すＷＦＤプリンターを選択し、図５のＳ５０２でプリンターのＩＰアドレスを特定する際の動作について説明する。
【００３１】
図８は、プリンター１０２と情報処理装置１０１の間でＷＦＤ接続が行われている場合に、アプリケーション３０５がプリンター探索部３０６によりプリンター１０２のＩＰアドレスを特定する処理を説明するフローチャートであり、実施例１の主要な処理を示す。
【００３２】
アプリケーション３０５は、プリンター１０２と情報処理装置１０１の間でＷＦＤ接続が確立されているネットワークに対して、プリンターを探索するための問い合わせパケットをブロードキャスト送信する（Ｓ８０１）。ここで問い合わせパケットには、プリンターの識別子（ＵＵＩＤやシリアルナンバー）、印刷ケイパビリティー（印刷可能用紙サイズ、カラー／モノクロ、２ｉｎ１の割付可否など）を問い合わせるコマンドが含まれている。また、問い合わせパケットとして、例えばＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）といった通信プロトコルが使用される。
【００３３】
アプリケーション３０５はブロードキャスト送信した問い合わせパケットに対する応答を受信することができれば、その応答パケットのヘッダーからプリンターのＩＰアドレスを特定することができる。こうして、プリンター１０２との無線ネットワークに対してパケットをブロードキャスト送信して、パケットに対する応答パケットからプリンター１０２の現在のアドレスの特定を試みる。
【００３４】
次にアプリケーション３０５は、Ｓ８０１でブロードキャスト送信した問い合わせパケットに対する応答をプリンター１０２から一定時間以内に受信することで、プリンターのＩＰアドレスを特定できたかを判断する（Ｓ８０２）。なお、すでにプリンター１０２と情報処理装置１０１の間でＷＦＤ接続が確立されているため、プリンターが即座にＳＮＭＰパケットに応答できないようなディープスリープ状態になっているケースは少なく、ブロードキャストパケットの問い合わせに対する応答の待ち時間は数秒程度で十分である。一定時間内に問い合わせが返ってきた場合、応答パケットからプリンター１０２のＩＰアドレスを特定できるためＩＰアドレス特定処理を終了する。
【００３５】
Ｓ８０２において一定時間内にプリンターから応答が返ってこなかった場合、プリンター１０２のデフォルトＩＰアドレスに対して通信を試みる（Ｓ８０３）。プリンター１０２はＷＦＤ接続を行う際にデフォルトＩＰアドレスを設定する場合があるため、プリンターのデフォルトのＩＰアドレスに対して通信を試みる。ただし、デフォルトのＩＰアドレスはユーザーやＩＴ管理者によって変更されている場合があるため、必ずデフォルトのＩＰアドレスと通信可能というわけではない。通信方法としては、ＯＳランタイム３０３に含まれるネットワークの疎通確認をするためのＰｉｎｇプログラムを使用する確認や、前述のＳＮＭＰプロトコルを使用してデフォルトのＩＰアドレスにパケットを送信して応答を確認する方法などがある。
【００３６】
次に、Ｓ８０３で確認のために使用した方法でプリンター１０２から応答があったかどうかを判断する（Ｓ８０４）。応答があった場合は、デフォルトＩＰアドレスがプリンターに設定されていると判断できるため、ＩＰアドレス特定処理を終了する。
【００３７】
こうして無線ネットワークのプリンター１０２のデフォルトのアドレスに対してパケットをユニキャスト送信して、当該パケットに対する応答パケットを受信した場合に、プリンター１０２の現在のアドレスがデフォルトのアドレスであると特定できる。
【００３８】
一方、Ｓ８０４において応答がなかった場合、情報処理装置１０１のネットワーク接続状態を確認するため、ＯＳランタイム３０３に含まれるｎｅｔｓｔａｔプログラムを実行する（Ｓ８０５）。ｎｅｔｓｔａｔプログラムは、ネットワーク接続、ルーティングテーブル、各種ネットワークインタフェースの統計情報などを取得するためのプログラムである。ｎｅｔｓｔａｔにより情報処理装置１０１が現在接続しているネットワーク接続の状態などを取得することができる。図７はｎｅｔｓｔａｔによって取得できる情報の一例であり、通信プロトコルや情報処理装置自身のＩＰアドレスとポート情報や通信相手のＩＰアドレスとポート情報等を確認することができる。
【００３９】
次に、アプリケーション３０５は自らがプリンター１０２と接続しているＷＦＤ接続のＩＰアドレスを取得する（Ｓ８０６）。ＷＦＤ接続機能およびネットワーク接続機能はＯＳ３０１によってフレームワーク化されており、ＯＳフレームワーク３０２に含まれるＡＰＩをコールすることにより自らのＷＦＤ接続しているネットワークのＩＰアドレスを取得することができる。たとえば、１９２．１６８．１５．１といったＩＰアドレスを取得できる。
【００４０】
ＷＦＤ接続においてプリンターは必ずｂｏｏｔｐｓポートを使用するという特徴がある。そこで次に、Ｓ８０５で取得したネットワーク情報のなかで、情報処理装置１０１と同一ネットワークで、かつ特定のポートのＩＰアドレスを抽出する（Ｓ８０７）。Ｓ８０６で取得したＷＦＤ接続のＩＰアドレスからネットワーク部を特定し、Ｓ８０５で取得したネットワーク情報のなかで、特定したネットワーク部と同一のネットワーク部を含み、かつ特定のポートが指定されたＩＰアドレスを抽出する。以降、先にネットワーク部について説明を行い、次に特定のポート情報について追って説明を行う。
【００４１】
ＷＦＤ接続のＩＰアドレスのネットワーク部とは、ＷＦＤ接続時に情報処理装置１０１が使用するＩＰアドレスのホスト部を除いたアドレスを意味する。ＷＦＤ接続ではプリンター１０２と情報処理装置１０１は同一ネットワーク内にあるため、ＩＰアドレスのネットワーク部が一致する。そのため、情報処理装置１０１のＷＦＤ接続におけるＩＰアドレスからネットワーク部のアドレスを算出することで、プリンター１０２のＷＦＤ接続におけるＩＰアドレスのネットワーク部を知ることができる。
【００４２】
次に、特定のポート情報について説明する。ＷＦＤでプリンターとスマートフォンがＰｅｅｒ  Ｔｏ  Ｐｅｅｒ通信する場合、ＧＯ（グループオーナー）はＩＰアドレスの指定を行う際に、恒久的な割り当てを行うためにブートストラッププロトコルを使用する。ここでＧＯとはＷｉ−Ｆｉ  Ｄｉｒｅｃｔの規格により、ネットワークのＳＳＩＤやパスワード、ＩＰアドレスを設定し、アクセスポイントのように機能するデバイスのことであり、スマートフォン、プリンターのどちらがＧＯになることも可能である。ブートストラッププロトコルの通信では、ＧＯがどちらでも構わないのと異なり、サーバークライアントの関係では、プリンターはサーバーとして動作し、スマートフォンはクライアントとして動作する。また、ブートストラッププロトコルにおいて、クライアント側のポートはｂｏｏｔｐｃ（ＵＤＰの６８番ポート）が使用され、サーバー側のポートにはｂｏｏｔｐｓ（ＵＤＰの６７番ポート）が使用される。そのため、図７に示すネットワークインタフェースの統計情報のなかでｂｏｏｔｐｃポートを使用している方がスマートフォンで、７０１に示すｂｏｏｔｐｓポートを使用している方がプリンターであると判断可能である。また、プリンターが複数の情報処理装置と接続される場合であっても、プリンター側のポートはｂｏｏｔｐｓになる。
【００４３】
以上により、Ｓ８０２及びＳ８０３によりプリンター１０２の現在のアドレスが特定できなかった場合に、無線ネットワークにおける情報処理装置のアドレスと、情報処理装置のネットワークの接続状態に関する情報を取得する。そして、情報処理装置のアドレスと、情報処理装置のネットワークの接続状態に関する情報に基づいて、プリンター１０２の現在のアドレスを特定することができる。
【００４４】
なお、情報処理装置１０１のＷＦＤ接続のＩＰアドレスのネットワーク部を計算せずに、ポートの情報から、プリンター１０２のＷＦＤ接続におけるＩＰアドレスを特定するように構成しても構わない。その具体的な手順としては、Ｓ８０５で取得したネットワーク情報のなかで、Ｓ８０６で取得したＷＦＤ接続のＩＰアドレスが含まれている行を特定する。これによって例えば図７の２行目の情報が取得できる。次に、この取得した情報のうちｂｏｏｔｐｓポートの方のＩＰアドレスを取得する。この方法によって情報処理装置１０１のＩＰアドレスのネットワーク部を特定せずとも、プリンター１０２のＷＦＤ接続におけるＩＰアドレスを取得することができる。
【００４５】
Ｓ８０２、Ｓ８０３及びＳ８０５〜Ｓ８０７のいずれかの方法によりプリンター１０２の現在のＩＰアドレスを特定した後、情報処理装置１０１は特定したＩＰアドレスに対して印刷処理に係る通信を行う。具体的にはプリンター１０２が自社機かどうかの判定、プリンター１０２が対応する印刷データの形式の取得、その他プリンター１０２に関する情報の取得及び印刷データの送信といった処理を行う。
【００４６】
なお、Ｓ８０２、Ｓ８０３及びＳ８０５〜Ｓ８０７によるＩＰアドレスの特定は図８に記載の順番に限られない。例えばＳ８０３、Ｓ８０１、Ｓ８０５〜Ｓ８０７の順でＩＰアドレスの特定を試みるように構成しても構わない。
【００４７】
さらに、Ｓ８０１による特定が行えない状況は冒頭で説明した通り、Ｗｉ−Ｆｉ  ＡＰとＷＦＤを同時接続している場合なので、同時接続が行われているか否かを判断して、その判断結果に応じて異なる処理を行うように構成しても構わない。具体的にはＳ８０１の前に同時接続が行われているか否かを判断して、同時接続が行われている場合はＳ８０１をスキップしてＳ８０３に進み、同時接続が行われていない場合はＳ８０１に進む。
【００４８】
本実施例の処理により、情報処理装置とプリンター間でＷＦＤ接続が確立されている際に情報処理装置が行うプリンターの探索において、プリンターのＩＰアドレスを特定する際に、プリンターにブロードキャストパケットを送り、その応答からＩＰアドレスを特定する。プリンターからブロードキャストパケットによる応答がなかった場合、ＷＦＤ接続のデフォルトＩＰアドレスに対して疎通確認を行うことによってプリンターのＩＰアドレスを特定する。プリンターから疎通確認の応答がなかった場合、ネットワークのステータスを取得して、情報処理端末のＷＦＤ接続時のＩＰアドレスのネットワーク部とＷＦＤ接続に使用するポート番号の情報からプリンターのＩＰアドレスを特定する。これらの処理により、ＷＦＤ環境下においてプリンターとの通信や印刷を行うことができる。
【００４９】
［実施例２］
実施例１のアプリケーション３０５では、ブロードキャストによる応答確認およびデフォルトＩＰアドレスへの疎通確認、ネットワーク接続状態からＩＰアドレスを確認という３つの手法を使用してプリンターのＩＰアドレスを特定した。しかし、ＯＳのフレームワークを使用してさらに効率的にＩＰアドレスを取得することができる場合がありその実施例について記載する。
【００５０】
図９は実施例２におけるＷＦＤ接続時のＩＰアドレス特定処理のフローチャートを示したものである。Ｓ９０１とＳ９０２はそれぞれ実施例１のＳ８０１とＳ８０２と同一であり、説明を割愛する。
【００５１】
Ｓ９０２で時間内に特定できなかった場合、アプリケーション３０５は、ＯＳフレームワーク３０２のなかのＷＦＤに関するＡＰＩを使用し、プリンターがＧＯであるかを判断する（Ｓ９０３）。情報処理装置とプリンターはどちらもＧＯになることが可能であり、アプリケーション３０５はＯＳフレームワーク３０２を使用してＧＯのＩＰアドレスを取得することができる。さらに、自身がＧＯであるかどうかを、ＯＳフレームワーク３０２を使用して取得することができる。
【００５２】
プリンター１０２がＧＯに設定されていた場合、ＯＳフレームワーク３０２からＧＯのＩＰアドレスを取得する（Ｓ９０４）。以上より、プリンター１０２のＩＰアドレスが特定できるのでＩＰアドレス特定処理を終了する。
【００５３】
Ｓ９０３においてプリンターがＧＯではなかった場合、Ｓ９０５に処理を進める。Ｓ９０５からＳ９０９はそれぞれ実施例１のＳ８０３からＳ８０７と同一であり、説明を割愛する。
【００５４】
以上の処理により、情報処理装置とプリンター間でＷＦＤ接続が確立されている際に情報処理装置が行うプリンターの探索において、プリンターのＩＰアドレスを特定する際に、プリンターにブロードキャストパケットを送り、その応答からＩＰアドレスを特定する。プリンターからブロードキャストパケットによる応答がなかった場合、プリンターがＧＯであるかどうかの判定を行い、プリンターがＧＯであった場合はＯＳフレームワークからＧＯのＩＰアドレスを取得する。プリンターがＧＯではなかった場合、ＷＦＤ接続のデフォルトＩＰアドレスに対して疎通確認を行うことによってプリンターのＩＰアドレスを特定する。プリンターから疎通確認の応答がなかった場合、ネットワークのステータスを取得して、情報処理端末のＷＦＤ接続時のＩＰアドレスのネットワーク部とＷＦＤ接続に使用するポート番号の情報からプリンターのＩＰアドレスを特定する。これらの処理により、ＷＦＤ環境下においてプリンターとの通信や印刷を行うことができる。
【００５５】
［実施例３］
実施例１のアプリケーション３０５ではＩＰアドレスを特定する方法の一つとしてネットワーク接続状態から特定する方法を説明した。しかし、ネットワーク接続状態を取得したり、ネットワークの疎通確認をしたりするＯＳランタイム３０３でのプログラムの実行は、ユーザー環境や端末間の仕様差によって実行できない場合がある。たとえばスマートフォンのベンダーがそのようなプログラムの実行を禁止していた場合や、ＩＴ管理者によって端末の権限が制限されていた場合、権限エラーとなりプリンターのＩＰアドレスを取得することができない。そのような場合に、ＩＰアドレスを取得する方法について以下に示すフローに従って説明する。
【００５６】
図１０は実施例３におけるＷＦＤ接続時のＩＰアドレス特定処理のフローチャートを示したものである。Ｓ１００１からＳ１００７はそれぞれ実施例１のＳ８０１からＳ８０７と同一であり、説明を割愛する。
【００５７】
前述のとおりスマートフォンベンダーやＩＴ管理者の設定により、ネットワーク情報からＩＰアドレスを取得できない場合があるため、Ｓ１００７の処理の後、ＩＰアドレスを特定できたかどうかを判断する（Ｓ１００８）。ＩＰアドレスが特定できた場合はＩＰアドレス特定処理を終了する。Ｓ１００８においてＩＰアドレスを特定できなかった場合、Ｗｉ−Ｆｉ  ＡＰをＯＦＦ（切断状態）に切り替える（Ｓ１００９）。Ｗｉ−Ｆｉ  ＡＰをＯＦＦに切り替えるのは、Ｗｉ−ＦｉとＷＦＤが併用されている場合はＳ１００１で実行したブロードキャストに対してプリンター１０２から応答を取得する際に通信が不安定になるのに対し、Ｗｉ−Ｆｉ  ＡＰをＯＦＦに切り替えることでＷＦＤのみの通信に一時的に切り替えることにより、安定的に通信行うことができるためである。Ｓ１００９でＷｉ−Ｆｉ  ＡＰをＯＦＦに切り替えることで、Ｓ１００１でブロードキャストパケットを送信した際に、Ｓ１００２で時間内に応答を受け取ることができ、応答パケットからＩＰアドレスを特定することができる。なお、Ｗｉ−Ｆｉ  ＡＰをＯＦＦに切り替えると、ユーザーのＷｉ−Ｆｉを使用したＡＰ経由のネットワーク通信が行えなくなるため、ＩＰアドレス特定処理が終了した後に速やかにＷｉ−Ｆｉ  ＡＰをＯＮに戻してＷｉ−Ｆｉ接続しなおすことが望ましい。
【００５８】
以上の処理により、情報処理装置とプリンター間でＷＦＤ接続が確立されている際に情報処理装置が行うプリンターの探索において、プリンターのＩＰアドレスを特定する際に、プリンターにブロードキャストパケットを送り、その応答からＩＰアドレスを特定する。プリンターからブロードキャストパケットによる応答がなかった場合、ＷＦＤ接続のデフォルトＩＰアドレスに対して疎通確認を行うことによってプリンターのＩＰアドレスを特定する。プリンターから疎通確認の応答がなかった場合、ネットワークのステータスを取得して、情報処理端末のＷＦＤ接続時のＩＰアドレスのネットワーク部とＷＦＤ接続に使用するポート番号の情報からプリンターのＩＰアドレスを特定する。ネットワークのステータスからＩＰアドレスを特定できなかった場合、Ｗｉ−Ｆｉ  ＡＰを一時的にＯＦＦに切り替える。これによって、ブロードキャストによる応答の取得に失敗するＷＦＤとＡＰの同時接続を一時的に解消し、ブロードキャストによってＩＰアドレスを特定できるようにする。これらの処理により、ＷＦＤ環境下においてプリンターとの通信や印刷を行うことができる。
【００５９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019036923.tif 000003
【図２】
2019036923.tif 000004
【図３】
2019036923.tif 000005
【図４】
2019036923.tif 000006
【図５】
2019036923.tif 000007
【図６】
2019036923.tif 000008
【図７】
2019036923.tif 000009
【図８】
2019036923.tif 000010
【図９】
2019036923.tif 000011
【図１０】
2019036923.tif 000012