(58)【調査した分野】(Int.Cl.,DB名)
前記第2の確立部は、さらに、前記第2の無線接続が切断された後に、前記第4の無線接続が前記外部装置と確立されることなく、前記外部装置から前記第2の要求信号が受信される場合に、前記WPS処理を実行することなく、前記メモリ内の前記接続情報を利用して、前記第2の無線インタフェースを介した前記第3の無線接続を前記外部装置と確立する、請求項3又は4に記載の通信装置。
前記第1の無線インタフェースは、NFC(Near Field Communicationの略)方式に従った無線通信を実行するためのインタフェースである、請求項1から7のいずれか一項に記載の通信装置。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;
図1)
図1に示すように、通信システム2は、多機能機10(以下では「MFP(Multi-Function Peripheralの略)」と呼ぶ)と、携帯端末100と、を備える。MFP10及び携帯端末100は、Wi−Fi方式に従った無線通信であるWi−Fi通信を相互に実行可能であると共に、NFC(Near Field Communicationの略)方式に従った無線通信であるNFC通信を相互に実行可能である。
【0012】
(MFP10の構成)
MFP10は、印刷機能及びスキャン機能を含む多機能を実行可能な周辺装置(例えばPC等の周辺装置)である。MFP10には、MACアドレス「AAA」及びデバイス名「XXX」が割り当てられている。MFP10は、操作部12と、表示部14と、印刷実行部16と、スキャン実行部18と、Wi−Fiインタフェース(以下ではインタフェースを「I/F」と記載する)20と、NFCI/F22と、制御部30と、を備える。
【0013】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルとしても機能する。即ち、表示部14は、操作部としても機能する。以下では、操作部12及び表示部14を総称して「MFP操作部」と呼ぶことがある。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部18は、CCD、CIS等のスキャン機構である。
【0014】
Wi−FiI/F20は、Wi−Fi方式に従ったWi−Fi通信を実行するためのI/Fである。Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers、 Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a、11b、11g、11n等)に基づく無線通信方式である。Wi−FiI/F20は、特に、Wi−Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。WFD方式は、Wi−Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.5」に記述されている無線通信方式である。また、Wi−FiI/F20は、Wi−Fi Allianceによって策定されたWPS(Wi-Fi Protected Setupの略)をサポートしている。WPSは、いわゆる自動無線設定又は簡単無線設定と呼ばれるものであり、Wi−Fi方式に従った無線接続(以下では「Wi−Fi接続」と呼ぶ)を確立するための無線設定情報(例えば、パスワード、認証方式、暗号化方式等)がユーザによって入力されなくても、一対の機器の間に簡単にWi−Fi接続を確立することができる技術である。特に、Wi−FiI/F20は、WPSのPBC(Push Button Configurationの略)方式をサポートしている。PBC方式は、一対の機器のそれぞれにユーザによって無線接続操作(例えばボタンを押す操作)が実行される場合に、一対の機器の間にWi−Fi接続を確立するための方式である。
【0015】
NFCI/F22は、NFC(Near Field Communicationの略)方式に従ったNFC通信を実行するためのI/Fである。NFC方式は、例えば、ISO/IEC14443、15693、18092などの国際標準規格に基づく無線通信方式である。なお、NFC通信を実行するためのI/Fの種類として、NFCフォーラムデバイス(NFC Forum Device)と呼ばれるI/Fと、NFCフォーラムタグと呼ばれるI/Fと、が知られている。NFCI/F22は、NFCフォーラムデバイスであり、P2P(Peer To Peerの略)モード、R/W(Reader/Writerの略)モード、及び、CE(Card Emulationの略)モードのいずれかで選択的に動作可能なI/Fである。
【0016】
次いで、Wi−FiI/F20とNFCI/F22との間の相違点を説明しておく。Wi−FiI/F20を介したWi−Fi通信の通信速度(例えば最大の通信速度が11〜600Mbps)は、NFCI/F22を介したNFC通信の通信速度(例えば最大の通信速度が100〜424Kbps)よりも速い。また、Wi−FiI/F20を介したWi−Fi通信における搬送波の周波数(例えば2.4GHz帯又は5.0GHz帯)は、NFCI/F22を介したNFC通信における搬送波の周波数(例えば13.56MHz帯)とは異なる。また、Wi−FiI/F20を介したWi−Fi通信を実行可能な最大の距離(例えば最大で約100m)は、NFCI/F22を介したNFC通信を実行可能な最大の距離(例えば最大で約10cm)よりも大きい。
【0017】
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。また、メモリ34は、WFDフラグ38と、WPSフラグ40と、を格納する。
【0018】
WFDフラグ38は、MFP10がWFD方式に従った動作を実行可能であることを意味する「ON」と、MFP10が当該動作を実行不可能であることを意味する「OFF」と、のどちらかの値に設定される。ここで、WFD方式に従った上記の動作は、WFD方式に従った各種信号(例えばInvitation要求及びその応答)の通信を含む。
【0019】
WPSフラグ40は、MFP10がWPS処理を実行可能であることを意味する「ON」と、MFP10がWPS処理を実行不可能であることを意味する「OFF」と、のどちらかの値に設定される。ここで、WPS処理は、Wi−Fi接続を確立するための無線設定情報の通信を含む。WPSフラグ40が「ON」に設定されている状態は、PBC方式のプッシュボタン操作が実行された状態に等しい。
【0020】
(携帯端末100の構成)
携帯端末100は、例えば、携帯電話、スマートフォン、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末100には、MACアドレス「BBB」が割り当てられている。携帯端末100は、操作部112と、表示部114と、Wi−FiI/F120と、NFCI/F122と、制御部130と、を備える。
【0021】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示を携帯端末100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、いわゆるタッチパネルとしても機能する。即ち、表示部114は、操作部としても機能する。以下では、操作部112及び表示部114を総称して「端末操作部」と呼ぶことがある。Wi−FiI/F120、NFCI/F122は、それぞれ、MFP10のWi−FiI/F20、NFCI/F22と同様である。
【0022】
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に格納されているOSソフトウェア136に従って、様々な処理を実行する。OSソフトウェア136は、携帯端末100の種々の基本的な動作を制御するためのソフトウェアである。また、メモリ134は、MFPアプリケーション138を格納する。MFPアプリケーション138は、MFP10のベンダによって提供されるアプリケーションであり、例えば、インターネット上のサーバから携帯端末100にインストールされる。MFPアプリケーション138は、携帯端末100とMFP10の間にWi−Fi接続を確立させたり、携帯端末100とMFP10の間でWi−Fi接続を利用して対象データ(例えば印刷データ、スキャンデータ)の通信を実行させたりするためのアプリケーションである。以下では、MFPアプリケーション138のことを単に「アプリ138」と呼ぶ。
【0023】
(MFP10が実行する処理;
図2)
続いて、
図2を参照して、MFP10のCPU32がプログラム36に従って実行する処理の内容を説明する。MFP10の電源がONされると、WFDフラグ38及びWPSフラグ40のそれぞれが「OFF」に設定される。CPU32は、この状態で
図2の処理を実行する。また、
図2の処理が終了すると、通常、WFDフラグ38が「ON」に設定され、WPSフラグ40が「OFF」に設定される。CPU32は、この状態でも
図2の処理を実行する。
【0024】
S10において、CPU32は、MFP10と携帯端末100との間にNFCリンクが確立されることを監視する。ユーザが携帯端末100をMFP10に近づけると、携帯端末100のNFCI/F122とMFP10のNFCI/F22との間の距離が、NFCリンクを確立可能な最大の距離(例えば10cm)よりも小さくなる。この結果、MFP10と携帯端末100との間のNFCリンクが確立される。CPU32は、NFCI/F22からNFCリンクが確立されたことを示す情報を取得する場合に、S10でYESと判断して、S12に進む。
【0025】
S12において、CPU32は、確立済みのNFCリンクを利用して(即ちNFCI/F22を介して)、MFP10のMACアドレス「AAA」を携帯端末100に送信する。
【0026】
S14において、CPU32は、WFDフラグ38を「OFF」から「ON」に変更する。これにより、MFP10は、WFD方式のデバイス状態に移行し、この結果、WFD方式に従った各種信号の通信を実行することができる。なお、S14が実行される前に、WFDフラグ38が既に「ON」である状態では、S14はスキップされる。
【0027】
S16において、CPU32は、WPSフラグ40を「OFF」から「ON」に変更する。これにより、MFP10は、PBC方式のプッシュボタン操作が実行された状態、即ち、WPS処理を実行可能な状態に移行する。S16が終了すると、S30に進む。
【0028】
また、CPU32は、S10の監視と同時的に、S20において、ユーザによって接続操作がMFP操作部に実行されることを監視する。接続操作は、MFP10と携帯端末100との間にWi−Fi接続を確立することを指示するための操作である。CPU32は、ユーザによって接続操作が実行される場合に、S20でYESと判断し、S22において、WFDフラグ38を「OFF」から「ON」に変更する。S22が終了すると、S30に進む。
【0029】
S30において、CPU32は、Wi−FiI/F20を介して、携帯端末100からProbe要求を受信することを監視する。当該Probe要求は、携帯端末100からブロードキャストによって送信される信号(即ち宛先が特定されていない信号)であり、Wi−Fi接続を確立可能な装置を検索するための信号である。CPU32は、Probe要求を受信すると(S30でYES)、S32において、Wi−FiI/F20を介して、MACアドレス「AAA」及びデバイス名「XXX」を含むProbe応答を携帯端末100に送信する。
【0030】
S40において、CPU32は、Wi−FiI/F20を介して、携帯端末100からProbe要求を受信する。当該Probe要求は、MFP10のMACアドレス「AAA」を含む。即ち、当該Probe要求は、携帯端末100からユニキャストによって送信される信号(即ち宛先が特定されている信号)であり、Wi−Fi接続の確立をMFP10に要求するための信号である。CPU32は、Probe要求を受信すると、Wi−FiI/F20を介して、MACアドレス「AAA」及びデバイス名「XXX」を含むProbe応答を携帯端末100に送信する。これにより、MFP10は、MFP10とのWi−Fi接続を確立可能であることを携帯端末100に知らせることができる。
【0031】
S50において、CPU32は、携帯端末100とのWi−Fi接続を確立するためのWi−Fi接続処理(
図3)を実行する。S50が終了すると、
図2の処理が終了する。
【0032】
(Wi−Fi接続処理;
図3)
続いて、
図3を参照して、
図2のS50で実行されるWi−Fi接続処理を説明する。Wi−Fi接続処理は、携帯端末100とのWi−Fi接続を確立して、携帯端末100がWFD方式のGroupOwner(即ち以下では「G/O」と呼ぶ)として動作するWFDネットワーク(以下では「WFDNW」と呼ぶ)にWFD方式のクライント(以下では「CL」と呼ぶ)として参加するための処理である。なお、
図3で実行される全ての通信は、Wi−FiI/F20を介した通信である。このため、以下の説明では、「Wi−FiI/F20を介して」という説明を省略する。
【0033】
S110において、CPU32は、携帯端末100から、Persistentフラグを含むInvitation要求を受信する。Invitation要求は、携帯端末100がG/Oとして動作するWFDNWに参加することを要求するための信号である。Persistentフラグは、WPS処理を実行せずにPersistent情報を利用してWi−Fi接続を確立することを要求するための「ON」と、WPS処理を実行してWi−Fi接続を確立することを要求するための「OFF」と、のどちらかの値に設定される。Persistent情報は、MFP10と携帯端末100との間にWi−Fi接続を過去に確立するために利用された無線設定情報、即ち、携帯端末100によって過去に形成されたWFDNWで利用された無線設定情報である。例えば、MFP10が携帯端末100によって形成されたWFDNWに参加した実績があるのであれば、MFP10のメモリ34は、携帯端末100のMACアドレス「BBB」と、当該WFDNWのSSIDと、当該WFDNWで利用されるパスワードと、を含むPersistent情報を格納している。
【0034】
S112において、CPU32は、Persistentフラグが「OFF」を示すのか否かを判断する。CPU32は、当該フラグが「OFF」を示す場合(S112でYES)に、S114に進み、当該フラグが「ON」を示す場合(S112でNO)に、S150に進む。なお、以下では、「ON(又はOFF)」を示すPersistentフラグを含むInvitation要求のことを、「Invitation要求(ON(又はOFF))」と記載する。
【0035】
S114において、CPU32は、WPSフラグ40が「ON」を示すのか否かを判断する。WPSフラグ40が「ON」を示す場合とは、携帯端末100とのNFCリンクが確立されたことに応じて(
図2のS10でYES)、Invitation要求が受信される場合である。CPU32は、WPSフラグ40が「ON」を示す場合(S114でYES)に、S120に進み、WPSフラグ40が「OFF」示す場合(S114でNO)に、S130に進む。
【0036】
S120において、CPU32は、WPS処理を実行可能であることを示すOK情報を含むInvitation応答を携帯端末100に送信する。
【0037】
S122において、CPU32は、WPS処理を実行する。WPS処理は、携帯端末100とのWi−Fi接続を確立するための無線設定情報を受信する処理を含む。従って、CPU32は、携帯端末100から、携帯端末100のMACアドレス「BBB」と、携帯端末100によって形成されるWFDNWのSSIDと、当該WFDNWのパスワードと、を含む無線設定情報を受信する。
【0038】
S124において、CPU32は、S122で受信された無線設定情報を利用して、携帯端末100とのWi−Fi接続を確立する。これにより、MFP10は、携帯端末100がG/Oとして動作するWFDNWにCLとして参加することができる。
【0039】
S126において、CPU32は、S122で受信された無線設定情報をPersistent情報としてメモリ34に保存する。
【0040】
S128において、CPU32は、WPSフラグ40を「ON」から「OFF」に変更する。これにより、MFP10は、WPS処理を実行不可能な状態に移行する。
【0041】
図示省略しているが、S128が終了すると、CPU32は、S124で確立されたWi−Fi接続を利用して(即ちWFDNWを利用して)、様々なデータの通信を携帯端末100と実行することができる。例えば、CPU32は、携帯端末100から能力情報要求を受信し、能力情報応答を携帯端末100に送信する。能力情報応答は、MFP10が印刷機能及びスキャン機能を実行可能であることを示す情報を含む。これにより、携帯端末100は、MFP10の能力を知ることができる。また、例えば、CPU32は、携帯端末100から印刷対象の画像を表わす印刷データを受信したり、原稿のスキャンによって得られるスキャンデータを携帯端末100に送信したりすることができる。そして、CPU32は、MFP10とのWi−Fi接続を切断するための操作が携帯端末100に実行される場合に、携帯端末100から切断要求を受信する。これにより、MFP10と携帯端末100との間のWi−Fi接続が切断される。
【0042】
なお、仮に、S128でWPSフラグ40が「OFF」に変更されないと、CPU32は、携帯端末100とは異なる携帯端末から、Invitation要求(OFF)を受信する場合(S114でYES)に、OK情報を含むInvitation応答を当該異なる携帯端末に送信し(S120)、WPS処理を実行して当該異なる携帯端末とのWi−Fi接続を確立し得る(S122、S124)。この結果、望まない携帯端末との通信が実行され得る。本実施例によると、S128でWPSフラグ40が「OFF」に変更されるので、CPU32は、上記の異なる携帯端末からInvitation要求(OFF)を受信する場合(S114でNO)に、NG情報を含むInvitation応答を当該異なる携帯端末に送信し(S130)、WPS実行画面を表示部14に表示させる(S140)。従って、MFP10と上記の異なる携帯端末との間のWi−Fi接続が自動的に確立されるのを抑制することができ、携帯端末100のユーザは、MFP10と携帯端末100との間でWi−Fi接続を利用した通信を適切に実行させることができる。
【0043】
また、S130において、CPU32は、WPS処理を実行不可能であることを示すNG情報を含むInvitation応答を携帯端末100に送信する。
【0044】
S140において、CPU32は、WPS実行操作(即ちPBC方式のプッシュボタン操作)を実行することをユーザに促すWPS実行画面を表示部14に表示させる。
【0045】
S142において、CPU32は、ユーザによってWPSを実行するための操作(以下では「WPS実行操作」と呼ぶ)が実行されたのか否かを判断する。CPU32は、ユーザによってWPS実行操作が実行される場合(S142でYES)に、S144に進み、S144において、WPSフラグ40を「OFF」から「ON」に変更する。一方、CPU32は、ユーザによってWPS実行操作が実行されない場合(S142でNO)に、
図3の処理を終了する。
【0046】
S146において、CPU32は、携帯端末100のMACアドレス「BBB」を含むProbe要求を携帯端末100に送信する。なお、MACアドレス「BBB」は、S110で受信されるInvitation要求に含まれている。S146において、さらに、CPU32は、Probe要求を送信することに応じて、携帯端末100からMACアドレス「BBB」を含むProbe応答を受信する。その後、CPU32は、S122〜S128の処理を実行して、携帯端末100とのWi−Fi接続を確立する。このように、CPU32は、WPSフラグ40が「OFF」に設定されている状態で、Invitation要求(OFF)を受信しても(S112でYES、S114でNO)、ユーザによってWPS実行操作が実行されることに応じて、WPS処理を適切に実行することができ、この結果、携帯端末100とのWi−Fi接続を適切に確立することができる。
【0047】
また、S150において、CPU32は、S110で受信されたInvitation要求(ON)内の携帯端末100のMACアドレス「BBB」を含むPersistent情報がメモリ34に保存されているのか否かを判断する。CPU32は、当該Persistent情報がメモリ34に保存されていると判断される場合(S150でYES)に、S160に進み、当該Persistent情報がメモリ34に保存されていないと判断される場合(S150でNO)に、S114に進む。即ち、当該Persistent情報がメモリ34に保存されていない場合には、CPU32は、WPS処理を実行して、携帯端末100とのWi−Fi接続を確立することができる(S122、S124)。
【0048】
S160において、CPU32は、Persistent情報を利用したWi−Fi接続を確立可能であることを示すOK情報を含むInvitation応答を携帯端末100に送信する。そして、S162において、CPU32は、WPSフラグ40を「ON」から「OFF」に変更する。
【0049】
S164において、CPU32は、WPS処理を実行することなく、メモリ34内のPersistent情報(即ち無線設定情報)を利用して、携帯端末100とのWi−Fi接続を確立する。即ち、CPU32は、携帯端末100から無線設定情報を受信しなくても、メモリ34内の無線設定情報を利用して、携帯端末100とのWi−Fi接続を確立することができる。WPS処理が実行されないので、MFP10と携帯端末100との間のWi−Fi接続が迅速に確立される。
【0050】
図示省略しているが、S164が終了すると、CPU32は、S164で確立されたWi−Fi接続を利用して(即ちWFDNWを利用して)、印刷データ、スキャンデータ等の様々なデータの通信を携帯端末100と実行することができる。そして、CPU32は、MFP10とのWi−Fi接続を切断するための操作が携帯端末100に実行される場合に、携帯端末100から切断要求を受信する。これにより、MFP10と携帯端末100との間のWi−Fi接続が切断される。
【0051】
(
図4;携帯端末100が実行するMFPアプリ処理)
次いで、
図4を参照して、携帯端末100のCPU132がアプリ138に従って実行する処理の内容を説明する。アプリ138を起動させるための操作が端末操作部に実行される場合に、CPU132は、
図5の処理を開始する。なお、以下では、説明の便宜上、CPU132を主体として記載せずに、CPU132がアプリ138に従って実行する処理の主体、CPU132がOSソフトウェア136に従って実行する処理の主体を、それぞれ、「アプリ138」、「OS136」と記載する。
【0052】
S300において、アプリ138は、携帯端末100がPersistent機能をサポートしているのか否かを判断する。Persistent機能は、Wi−Fi接続を確立する際に、Wi−Fi接続を確立するための無線設定情報をPersistent情報として記憶しておき、その後、当該Persistent情報を利用してWi−Fi接続を再確立するための機能である。アプリ138は、まず、携帯端末100の動作状態をWFD方式のデバイス状態からG/O状態に移行させる。これにより、OS136は、携帯端末100がG/Oとして動作する第1のWFDNWで利用されるべき第1の無線設定情報を生成する。次いで、アプリ138は、携帯端末100の動作状態をG/O状態からデバイス状態に移行させて、第1のWFDNWを消滅させる。次いで、アプリ138は、携帯端末100の動作状態をWFD方式のデバイス状態からG/O状態に再び移行させる。これにより、OS136は、携帯端末100がG/Oとして動作する第2のWFDNWで利用されるべき第2の無線設定情報を生成する。ここで、OS136は、Persistent機能をサポートしている場合には、第1の無線設定情報と同じ第2の無線設定情報を生成し、Persistent機能をサポートしていない場合には、第1の無線設定情報とは異なる第2の無線設定情報を生成する。アプリ138は、第1の無線設定情報と第2の無線設定情報とが同じである場合に、Persistent機能をサポートしていると判断し(S300でYES)、S310に進む。一方、アプリ138は、第1の無線設定情報と第2の無線設定情報とが異なる場合に、Persistent機能をサポートしていないと判断し(S300でNO)、
図4の処理を終了する。なお、S300の処理はアプリ138の初回起動時にのみ実行され、アプリ138は、S300でNOと判断する場合には、アプリ138を利用不可能であることを示す画面を表示部114に表示させる。これにより、ユーザは、アプリ138を利用不可能であることを知ることができ、通常、アプリ138を再び起動させない。一方、アプリ138は、S300でYESと判断する場合には、アプリ138が再び起動されても、S300を実行することなく、S310に進む。なお、
図4の処理が実行されない場合であっても、ユーザによって携帯端末100とMFP10のPBC方式のプッシュボタンが操作されることで、携帯端末100とMFP10との間のWPS処理は実行される。
【0053】
S310において、アプリ138は、サーチ操作が端末操作部に実行されることを監視する。サーチ操作は、携帯端末100とのWi−Fi接続を確立可能な装置を検索するための操作である。アプリ138は、サーチ操作が実行される場合に、S310でYESと判断し、S312に進む。
【0054】
S312において、アプリ138は、ブロードキャストによってProbe要求を送信するための指示をOS136に供給する。この場合、OS136は、当該指示をWi−FiI/F120に供給する。OS136は、Probe要求の送信に応じて、Wi−FiI/F120を介して、MFP10から、MFP10のMACアドレス「AAA」と、MFP10のデバイス名「XXX」と、を含むProbe応答を受信する。そして、OS136は、MACアドレスと、デバイス名と、をアプリ138に供給する。
【0055】
S314において、アプリ138は、OS136から取得されるデバイス名を表示部114に表示させ、1個のデバイス名を選択するための装置選択操作が端末操作部に実行されることを監視する。装置選択操作は、携帯端末100がWi−Fi接続を確立すべき対象の装置を選択するための操作である。アプリ138は、装置選択操作が実行される場合に、S314でYESと判断して、S320に進む。MFP10のデバイス名「XXX」が選択される場合を例として、以下の処理を説明する。
【0056】
S320において、アプリ138は、携帯端末100の動作状態をデバイス状態からG/O状態に移行させる。この結果、OS136は、携帯端末100がG/Oとして動作するWFDNWを形成し、当該WFDNWで利用されるべき無線設定情報を生成する。なお、変形例では、アプリ138は、携帯端末100の動作状態を、SoftAPが起動されていない状態から、SoftAPが起動されている状態に移行させてもよい。この場合も、携帯端末100が親局として動作する無線ネットワークが形成される。
【0057】
S322において、アプリ138は、接続要求指示をOS136に供給する。接続要求指示は、S314で選択されたデバイス名「XXX」と共に受信されたMACアドレス「AAA」を含むProbe要求を送信するための指示と、Invitation要求を送信するための指示と、を含む。OS136は、接続要求指示を取得すると、MACアドレス「AAA」を含むProbe要求を送信するための指示をWi−FiI/F120に供給する。OS136は、Probe要求の送信に応じて、Wi−FiI/F120を介して、MFP10からProbe応答を受信する。そして、OS136は、MFP10のMACアドレス「AAA」を含むPersistent情報がメモリ134に記憶されているのか否かを判断する。OS136は、当該Persistent情報が記憶されていると判断する場合に、Persistentフラグ「ON」を含むInvitation要求を送信するための指示をWi−FiI/F120に供給し、当該Persistent情報が記憶されていないと判断する場合に、Persistentフラグ「OFF」を含むInvitation要求を送信するための指示をWi−FiI/F120に供給する。OS136は、Invitation要求の送信に応じて、Wi−FiI/F120を介して、MFP10からInvitation応答を受信する。
【0058】
その後、OS136は、MFP10とのWi−Fi接続を確立するための処理を実行する。例えば、OS136は、MFP10のMACアドレス「AAA」を含むPersistent情報が記憶されていない場合には、WPS処理を実行して、MFP10とのWi−Fi接続を確立する。この場合、OS136は、MACアドレス「AAA」と、S320で生成された無線設定情報と、を含むPersistent情報をメモリ134に記憶させる。また、例えば、OS136は、MFP10のMACアドレス「AAA」を含むPersistent情報が記憶されている場合には、WPS処理を実行することなく、Persistent情報を利用して、MFP10とのWi−Fi接続を確立する。S322が終了すると、
図4の処理が終了する。
【0059】
その後、図示省略しているが、アプリ138は、Wi−Fi接続を利用して、能力情報要求をMFP10に送信してMFP10から能力情報応答を受信したり、印刷データ又はスキャンデータの通信を携帯端末100と実行したりすることができる。
【0060】
また、アプリ138は、S310の監視と同時的に、S330において、機能実行操作が端末操作部に実行されることを監視する。MFP10とのWi−Fi接続が過去に確立された実績があることを条件として、機能実行操作の実行が許容される。即ち、アプリ138は、過去にS314で選択されたMFP10のMACアドレス「AAA」を含むPersistent情報がメモリ134に記憶されていることを条件として、機能実行操作の入力を受け付ける。アプリ138は、機能実行操作が実行されると(S330でYES)、機能実行画面を表示部114に表示させる。機能実行画面は、MFP10に実行させる機能(例えば印刷機能、スキャン機能)を選択するための画面である。アプリ138は、機能実行画面において機能が選択されると、S330でYESと判断し、S332に進む。S332は、S312と同様である。S332が終了すると、S320、S322が実行され、MFP10とのWi−Fi接続が確立される。なお、ここで、S322では、Persistent情報内のMACアドレス「AAA」を含むProbe要求を送信する指示がOS136に供給される。
【0061】
その後、図示省略しているが、アプリ138は、Wi−Fi接続を利用して、機能実行画面で選択された機能の実行要求をMFP10に送信する。例えば、アプリ138は、印刷データをMFP10に送信して、MFP10に印刷機能を実行させる。また、例えば、アプリ138は、スキャン要求をMFP10に送信して、MFP10にスキャン機能を実行させ、MFP10からスキャンデータを受信する。
【0062】
また、アプリ138は、S310及びS330の監視と同時的に、S340において、MFP10と携帯端末100との間にNFCリンクが確立されることを監視する。アプリ138は、NFCI/F122からNFCリンクが確立されたことを示す情報を取得する場合に、S340でYESと判断して、S342に進む。
【0063】
S342において、アプリ138は、NFCI/F122を介して、MFP10から、MFP10のMACアドレス「AAA」を受信する。S344は、S312と同様である。S332が終了すると、S320、S322が実行され、MFP10とのWi−Fi接続が確立される。なお、ここで、S322では、S342で受信されたMACアドレス「AAA」を含むProbe要求を送信する指示がOS136に供給される。MFP10とのWi−Fi接続が確立されると、上記の同様に、アプリ138は、Wi−Fi接続を利用して、能力情報要求をMFP10に送信してMFP10から能力情報応答を受信したり、印刷データ又はスキャンデータの通信を携帯端末100と実行したりすることができる。
【0064】
(具体的なケース)
続いて、
図5〜
図8を参照して、
図2〜
図4の各処理によって実現される具体的なケースA〜Dについて説明する。各図において、太線の矢印はNFC通信を示し、細線の矢印はWi−Fi通信を示す。
【0065】
(ケースA;
図5)
ケースAの初期状態では、MFP10のWFDフラグ38は「OFF」に設定されている。また、MFP10と携帯端末100との間にWi−Fi接続が確立された実績はなく、MFP10と携帯端末100とのどちらにもPersistent情報が格納されていない。また、携帯端末100にはアプリ138がインストール済であり、携帯端末100がPersistent機能をサポートしていると判断されている(S300でYES)。
【0066】
T10において、ユーザが携帯端末100をMFP10に近づけると、T20において、MFP10と携帯端末100との間のNFCリンクが確立される(
図2のS10でYES、
図4のS340でYES)。
【0067】
MFP10は、T22において、NFCリンクを利用して、MACアドレス「AAA」を携帯端末100に送信する(
図2のS12)。そして、MFP10は、T24において、WFDフラグ38を「OFF」から「ON」に変更し(S14)、T26において、WPSフラグ40を「OFF」から「ON」に変更する(S16)。
【0068】
携帯端末100は、T22において、NFCリンクを利用して、MFP10からMACアドレス「AAA」を受信すると(
図4のS342)、T30において、ブロードキャストによってProbe要求を送信する(S344)。
【0069】
MFP10は、T30において、携帯端末100からProbe要求を受信すると(
図2のS30でYES)、T32において、MACアドレス「AAA」及びデバイス名「XXX」を含むProbe応答を携帯端末100に送信する(S32)。
【0070】
携帯端末100は、T32において、MFP10からProbe応答を受信すると(
図4のS344)、T40において、G/O状態に移行する(S320)。これにより、携帯端末100は、WFDNWを形成し、当該WFDNWで利用されるべき無線設定情報を生成する。そして、携帯端末100は、T50において、MACアドレス「AAA」を含むProbe要求をMFP10に送信する(S322)。
【0071】
MFP10は、T50において、携帯端末100からProbe要求を受信すると、T52において、MACアドレス「AAA」及びデバイス名「XXX」を含むProbe応答を携帯端末100に送信する(
図2のS40)。
【0072】
携帯端末100は、T52において、MFP10からProbe応答を受信すると(
図4のS322)、MFP10のMACアドレス「AAA」を含むPersistent情報が保存されていないと判断し、T60において、Invitation要求(OFF)をMFP10に送信する(S322)。
【0073】
MFP10は、T60において、携帯端末100からInvitation要求(OFF)を受信すると(
図3のS110)、Persistentフラグが「OFF」であると判断し(S112でYES)、WPSフラグ40が「ON」であると判断し(S114でYES)、T62において、OK情報を含むInvitation応答を携帯端末100に送信する(S120)。
【0074】
T70において、MFP10と携帯端末100との間でWPS処理が実行される(
図3のS122)。具体的には、MFP10は、携帯端末100から、WFDNWのSSID「YYY」と当該WFDNWのパスワード「ppp」とを含む無線設定情報を受信する。そして、T80において、MFP10と携帯端末100の間で4-way Handshake等の通信が実行され、Wi−Fi接続が確立される(S124)。
【0075】
T82において、MFP10は、携帯端末100のMACアドレス「BBB」と、T70で受信された無線設定情報と、を含むPersistent情報をメモリ34に保存し(
図2のS126)、T84において、WPSフラグ40を「OFF」に変更する(S128)。
【0076】
また、携帯端末100は、T86において、MFP10のMACアドレス「AAA」と、T70で送信された無線設定情報と、を含むPersistent情報をメモリ134に保存する。そして、携帯端末100は、T90において、Wi−Fi接続を利用して、MFP10が実行可能な機能を確認するための能力情報要求をMFP10に送信し、T92において、Wi−Fi接続を利用して、MFP10から、印刷機能及びスキャン機能を実行可能であることを示す能力情報応答を受信する。
【0077】
携帯端末100は、T100において、Wi−Fi接続を利用して、切断要求をMFP10に送信し、T102において、Wi−Fi接続を利用して、MFP10から切断応答を受信する。これにより、T110において、MFP10と携帯端末100との間のWi−Fi接続が切断される。
【0078】
(ケースAの効果)
MFP10は、携帯端末100とNFCリンクが確立される(
図5のT20)ことを契機として、WPSフラグ40を「OFF」から「ON」に変更する(T26)。これにより、MFP10は、Invitation応答(OK)を送信可能な状態に移行する。この結果、MFP10は、PBC方式のボタン操作が実行されなくても、携帯端末100からInvitation要求(OFF)を受信する場合(T60)に、Invitation応答(OK)を携帯端末100に送信し(T62)、WPS処理を実行して(T70)、携帯端末100とのWi−Fi接続を確立する(T80)。従って、WPS処理を利用してMFP10と携帯端末100との間にWi−Fi接続を確立するためのユーザの利便性を向上させ得る。
【0079】
(ケースB;
図6)
ケースBの初期状態は、ケースAの初期状態と同じである。ケースBでは、NFCリンクの確立をトリガとしてWi−Fi接続が確立されるのではなく、接続操作(
図2のS20でYES)がMFP10に実行され、かつ、サーチ操作(
図4のS310)が携帯端末100に実行されることをトリガとしてWi−Fi接続が確立される。
【0080】
T210において、ユーザによって接続操作がMFP10に実行されると(
図2のS20でYES)、T212において、MFP10は、WFDフラグ38を「OFF」から「ON」に変更する(S22)。
【0081】
T220において、ユーザによってサーチ操作が携帯端末100に実行される(
図4のS310でYES)と、
図5のT30及びT32と同様に、T230及びT232が実行される(
図2のS30、S32、
図4のS312)。そして、携帯端末100は、MFP10のデバイス名「XXX」を表示し、T234において、デバイス名「XXX」の選択を受け付ける(S314でYES)。T240〜T260は、
図5のT40〜T60と同様である(
図2のS40、
図3のS110、
図4のS320、S322)。
【0082】
MFP10は、T260において、携帯端末100からInvitation要求(OFF)を受信すると(
図3のS110)、Persistentフラグが「OFF」であると判断し(S112でYES)、WPSフラグ40が「OFF」であると判断し(S114でNO)、T262において、NG情報を含むInvitation応答を携帯端末100に送信し(S130)、WPS実行画面を表示する(S140)。T264において、WPS実行操作がユーザによって表示部14に実行されると(S142でYES)、MFP10は、T266において、WPSフラグ40を「OFF」から「ON」に変更し(S144)、T270において、携帯端末100のMACアドレス「BBB」を含むProbe要求を携帯端末100に送信する(S146)。
【0083】
携帯端末100は、T270において、MFP10からProbe要求を受信すると、T272において、Probe応答をMFP10に送信する。T280〜T296は、
図2の70〜T86と同様である。
【0084】
(ケースBの効果)
MFP10は、携帯端末100とのNFCリンクが確立されることなく、携帯端末100からInvitation要求(OFF)を受信する場合(T260)に、WPS実行画面を表示部14に表示し(T262)、ユーザによってWPS実行操作がMFP操作部に実行される場合(T264)に、WPSフラグ40を「OFF」から「ON」に変更する(T26)。そして、MFP10は、WPS処理を実行して(T280)、携帯端末100とのWi−Fi接続を確立する(T290)。従って、携帯端末100とのNFCリンクが確立されない場合でも、ユーザによってWPS実行操作が実行されることで、MFP10と携帯端末100との間にWi−Fi接続を確立することができる。
【0085】
(ケースC;
図7)
ケースCは、ケースA又はケースBが実行された後の状態、即ち、MFP10及び携帯端末100のそれぞれにPersistent情報が保存されている状態である。また、WFDフラグ38を「OFF」に変更するための操作がMFP10に実行され、この結果、WFDフラグ38が「OFF」されている。
【0086】
T310〜T352は、
図5のT10〜T52と同様である。携帯端末100は、MFP10のMACアドレス「AAA」を含むPersistent情報を保存していると判断し、T360において、Invitation要求(ON)をMFP10に送信する(
図4のS322)。
【0087】
MFP10は、T360において、携帯端末100からInvitation要求(ON)を受信すると(
図3のS110)、Persistentフラグが「ON」であると判断し(S112でNO)、Persistent情報を保存していると判断し(S150でYES)、T362において、OK情報を含むInvitation応答を携帯端末100に送信する(S160)。そして、T364において、MFP10は、WPSフラグ40を「ON」から「OFF」に変更する(S162)。
【0088】
T370において、MFP10と携帯端末100とは、WPS処理を実行することなく、Persistent情報を利用して、Wi−Fi接続を確立する(
図2のS164)。
【0089】
例えば、MFP10に印刷機能を実行させるための印刷実行指示が携帯端末100に入力される場合には、MFP10は、T380において、Wi−Fi接続を利用して、携帯端末100から印刷データを受信し、T382において、印刷データによって表される画像の印刷を実行する。なお、上記の印刷実行要求は、例えば、T310で携帯端末100をMFP10に近づける前に携帯端末100に入力されてもよいし、T370でWi−Fi接続が確立された後に携帯端末100に入力されてもよい。T390〜T400は、
図5のT100〜T110と同様である。
【0090】
(ケースCの効果)
MFP10は、Persistent情報が保存されている状態で、携帯端末100とのNFCリンクが確立された後に、Invitation要求(ON)を携帯端末100から受信する場合(
図7のT360)に、WPS処理を実行することなく、メモリ34内のPersistent情報を利用して、携帯端末100とのWi−Fi接続を確立する(T370)。WPS処理が省略されるため、MFP10と携帯端末100との間のWi−Fi接続が迅速に確立される。
【0091】
(ケースD;
図8)
ケースDの初期状態は、ケースCの初期状態と同様である。ケースDでは、NFCリンクの確立をトリガとしてWi−Fi接続が確立されるのではなく、接続操作(
図2のS20でYES)がMFP10に実行され、かつ、機能実行操作(
図4のS330)が携帯端末100に実行されることをトリガとしてWi−Fi接続が確立される。
【0092】
T410、T412は、
図6のT210、212と同様である。携帯端末100は、
図5のT92でMFP10の能力情報を取得しているので、当該能力情報によって示される印刷機能及びスキャン機能を選択するための機能実行画面を表示することができる。そして、T420において、印刷機能を選択するための機能実行操作が携帯端末100に実行される(
図4のS330でYES)。T430〜T452は、
図6のT230〜T252と同様である。T460〜T500は、
図7のT364を除いて、T360〜T400と同様である。
【0093】
(ケースDの効果)
MFP10は、Persistent情報が保存されている状態において、ユーザによって機能実行操作が実行(
図8のT420)された後に、Invitation要求(ON)を携帯端末100から受信する場合(T460)に、WPS処理を実行することなく、メモリ34内のPersistent情報を利用して、携帯端末100とのWi−Fi接続を確立する(T470)。WPS処理が省略されるため、MFP10と携帯端末100との間のWi−Fi接続が迅速に確立される。
【0094】
(対応関係)
MFP10、携帯端末100が、それぞれ、「通信装置」、「対象装置」の一例である。NFCI/F22、Wi−FiI/F20、メモリ34が、それぞれ「第1の無線インタフェース」、「第2の無線インタフェース」、「メモリ」の一例である。
図5のT20のNFCリンク、
図7のT320のNFCリンクが、それぞれ、「第1の無線接続」、「第4の無線接続」の一例である。
図5のT80のWi−Fi接続が、「第2の無線接続」の一例である。
図7のT370及び
図8のT470のWi−Fi接続が、「第3の無線接続」の一例である。
図5のT80及び
図6のT290のWi−Fi接続が、「第5の無線接続」の一例である。
図6のT290のWi−Fi接続が、「第6の無線接続」の一例である。Persistent情報が、「接続情報」の一例である。WPSフラグ40が「OFF」である状態、WPSフラグ40が「OFF」である状態が、それぞれ、「第1の動作状態」、「第2の動作状態」の一例である。WPS実行操作、WPS実行画面が、それぞれ、「所定操作」、「所定画面」の一例である。Invitation要求(OFF)、Invitation要求(ON)が、それぞれ、「第1の要求信号」、「第2の要求信号」の一例である。Invitation応答(NG)、Invitation応答(OK)が、それぞれ、「第1の応答信号」、「第2の応答信号」の一例である。
【0095】
(第2実施例)
第2実施例では、MFP10のメモリ34は、WPSフラグ40に代えて、NFCフラグ42を格納する。NFCフラグ42は、NFCリンクが確立されたことを意味する「ON」と、NFCリンクが確立されていないことを意味する「OFF」と、のどちらかの値を示す。また、本実施例では、
図2及び
図3の処理が第1実施例とは異なる。
【0096】
本実施例では、
図2が開始される際には、NFCフラグ42が「OFF」に設定されている。
図2に示すように、CPU32は、S14の後に、S16を実行する代わりに、S416において、NFCフラグ42を「OFF」から「ON」に変更する。
【0097】
また、CPU32は、
図3の処理に代えて、
図9の処理を実行する。
図9に示すように、CPU32は、S112でYESの場合に、S514において、NG情報を含むInvitation応答を携帯端末100に送信する。
【0098】
S516において、CPU32は、NFCフラグ42が「ON」であるのか否かを判断する。CPU32は、NFCフラグ42が「ON」である場合(516でYES)に、S518に進む。S518は、
図3のS146と同様であり、その後、S122〜S126が実行される。そして、S528では、CPU32は、NFCフラグ42を「ON」から「OFF」に変更する。一方、CPU32は、NFCフラグ42が「OFF」である場合(516でNO)に、S140及びS142を経て、S518及びS122〜S126を実行する。この場合、NFCフラグ42が「OFF」であるので、CPU32は、S528を実行しない。
【0099】
(第2実施例の効果)
本実施例によると、MFP10は、携帯端末100とのNFCリンクが確立された後(NFCフラグ=OFF)に、Invitation要求(OFF)を携帯端末100から受信する場合(
図9のS516でYES)に、WPS実行画面を表示することなく、Prbe要求を携帯端末100に送信する。そして、MFP10は、WPS処理を実行して、Wi−Fi接続を携帯端末100と確立する。一方、MFP10は、携帯端末100とのNFCリンクが確立されることなく、Invitation要求(OFF)を携帯端末100から受信する場合(
図9のS516でNO)に、表示部14にWPS実行画面を表示し(S140)、ユーザによってWPS実行操作がMFP操作部に実行される場合(S142でYES)に、Probe要求を携帯端末100に送信する。そして、MFP10は、WPS処理を実行して、Wi−Fi接続を携帯端末100と確立する。従って、MFP10は、携帯端末100とのNFCリンクが確立された後に、Invitation要求(OFF)を携帯端末100から受信する場合に、WPS実行操作がユーザによってMFP操作部に実行されなくても、WPS処理を実行して、Wi−Fi接続を携帯端末100と確立することができる。従って、WPS処理を利用してMFP10と携帯端末100との間にWi−Fi接続を確立するためのユーザの利便性を向上させることができる。
【0100】
(対応関係)
図2のS10で確立されるNFCリンクが、「第1の無線接続」の一例である。
図9のS516でYESを経てS124で確立されるWi−Fi接続が、「第2の無線接続」である。S516でNOを経てS124で確立されるWi−Fi接続が、「第3の無線接続」の一例である。S516でYESを経てS518で送信されるProbe要求、S516でNOを経てS518で送信されるProbe要求が、それぞれ、「第1の信号」、「第2の信号」の一例である。
【0101】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0102】
(変形例1)CPU32は、MFP10がG/Oで動作している状態で、WPS処理を実行し、携帯端末100との間のWi−Fi接続を確立してもよい。この場合、CPU32は、携帯端末100とのNFCリンクが確立されることを契機として、MFP10をG/O状態に移行するとともに、WPSフラグを「OFF」から「ON」に変更する。これにより、MFP10は、MFP10がG/Oとして動作するWFDNWを形成し、当該WFDNWで利用されるべき無線設定情報(即ち、SSID、パスワード等)を生成する。そして、CPU32は、MACアドレス「AAA」を含むProbe要求が携帯端末100から受信される場合に、MACアドレス「AAA」を含むProbe応答を携帯端末100に送信する。そして、CPU32は、WPS処理を実行し、MFP10によって形成されるWFDNWの無線設定情報を携帯端末100に送信し、携帯端末100との間のWi−Fi接続を確立する。これにより、携帯端末100は、MFP10がG/Oとして動作するWFDNWにCLとして参加することができる。従って、MFP10は、PBC方式のボタン操作が実行されなくても、WPS処理を実行して、携帯端末100との間のWi−Fi接続を確立することができる。
【0103】
(変形例2)MFP10は、Persistent機能を備えていなくてもよい。この場合、
図3のS112、S126、及び、S150〜S164を省略可能である。本変形例では、「記憶制御部」と「第2の確立部」と「判断部」と「第3の確立部」とを省略可能である。
【0104】
(変形例3)
図3のS128及びS162を省略してもよい。即ち、「第2の移行部」と「第4の移行部」を省略可能である。
【0105】
(変形例4)
図3のS130の後に、S140〜S146及びS122〜S128が実行されずに、
図3の処理が終了するように構成されていてもよい。本変形例では、「第5の移行部」、「表示制御部」、及び、「第4の確立部」を省略可能である。
【0106】
(変形例5)「第1の無線インタフェース」は、NFC通信を実行するためのI/Fでなくてもよく、例えば、BlueTooth(登録商標)、赤外線、トランスファージェット等の他の通信方式に従った無線通信を実行するためのI/Fであってもよい。
【0107】
(変形例6)「通信装置」は、MFP10でなくてもよく、印刷機能のみを実行可能なプリンタ、スキャン機能のみを実行可能なスキャナ、PC、携帯端末等であってもよい。
【0108】
(変形例7)上記の実施例では、MFP10のCPU32がプログラム36(即ちソフトウェア)を実行することによって、
図2〜
図9の各処理が実現される。これに代えて、
図2〜
図9の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
【0109】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。