JP6742812B2 - Communication device, control method thereof, and program - Google Patents
Communication device, control method thereof, and program Download PDFInfo
- Publication number
- JP6742812B2 JP6742812B2 JP2016101793A JP2016101793A JP6742812B2 JP 6742812 B2 JP6742812 B2 JP 6742812B2 JP 2016101793 A JP2016101793 A JP 2016101793A JP 2016101793 A JP2016101793 A JP 2016101793A JP 6742812 B2 JP6742812 B2 JP 6742812B2
- Authority
- JP
- Japan
- Prior art keywords
- connection
- communication
- communication device
- external device
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、通信装置及びその制御方法、プログラムに関するものである。 The present invention relates to a communication device, a control method thereof, and a program.
無線ルーター(外部アクセスポイント)等の外部装置を介した端末装置との接続(以後、インフラ接続)と、外部装置を介さない端末装置との直接的な接続(以後、P2P接続)とを同時に(並行して)確立可能な通信装置が知られている。なお、前述のようにして、2種類の接続を同時に(並行して)確立した状態を維持して動作することを、以後、同時動作という。このような通信装置は、外部装置との接続が切断された場合、当該外部装置と再度接続するために、外部装置を検索する処理を行う。 A connection with a terminal device via an external device such as a wireless router (external access point) (hereinafter, infrastructure connection) and a direct connection with the terminal device without an external device (hereinafter, P2P connection) are simultaneously performed ( In parallel, communication devices that can be established are known. Note that, as described above, the operation in which the two types of connections are simultaneously (parallelly) established and maintained is hereinafter referred to as simultaneous operation. When the connection with the external device is disconnected, such a communication device performs a process of searching for the external device in order to reconnect with the external device.
特許文献1は、同時動作している状態でアクセスポイント(AP)との接続が切断された場合に、端末装置との直接的な接続に使用されているチャネルによってAPを検索する装置を開示している。また、特許文献1は、端末装置との直接的な接続に使用されているチャネルによるAPの検索によってAPを検出できなかった場合、使用可能なチャネルを順に使用してAPを検索する装置を開示している。
ところで、同時動作している状態でインフラ接続が切断された場合に実行される外部装置の検索中は、例えば、P2P接続している端末装置との通信においてパケットロス等が生じるおそれがある。そのため、同時動作している状態でインフラ接続が切断された場合には、例えば、P2P接続している端末装置と通信装置との通信状態を適宜取得可能な制御手段が、当該通信状態を考慮して外部装置の検索を行うことが望ましい。一方で、P2P接続していない状態でインフラ接続が切断された場合には、P2P接続している端末装置と通信装置との通信状態を考慮した制御が必要ない。それにも係わらず、P2P接続していない状態でインフラ接続が切断された場合も、同時動作している状態でインフラ接続が切断された場合も、同一の制御手段が外部装置を検索すると、当該制御手段に負荷が集中してしまう。今日、特許文献1のような、通信装置の多機能化等に伴い、通信装置内の制御手段にかかる負荷を分散させ、外部装置の検索時における通信装置全体としてのパフォーマンスを向上させることが以前にも増して要望されている。
By the way, during the search of the external device which is executed when the infrastructure connection is disconnected in the state of simultaneous operation, for example, packet loss may occur in communication with the P2P-connected terminal device. Therefore, when the infrastructure connection is disconnected while operating simultaneously, for example, the control unit that can appropriately acquire the communication state between the P2P-connected terminal device and the communication device considers the communication state. It is desirable to search external devices. On the other hand, when the infrastructure connection is disconnected while the P2P connection is not made, it is not necessary to perform control in consideration of the communication state between the P2P connected terminal device and the communication device. Nevertheless, regardless of whether the infrastructure connection is disconnected while the P2P connection is not made or when the infrastructure connection is disconnected while the P2P connection is operating simultaneously, when the same control unit searches for the external device, the control is performed. The load is concentrated on the means. In recent years, with the multi-functionalization of communication devices as in
そこで、本発明は、外部装置を検索する処理にかかる負荷を分散させることができ、且つ通信装置の通信状態に応じた方法で外部装置の検索を実行できる通信装置、その制御方法及びプログラムを提供することを目的とする。 Therefore, the present invention provides a communication device that can disperse the load on the process of searching for an external device and that can search the external device by a method according to the communication state of the communication device, a control method thereof, and a program. The purpose is to
上記課題を解決するため、本発明にかかる通信装置は、通信装置であって、
前記通信装置が使用可能なチャネルのうち、所定のチャネルを用いた外部装置と前記通信装置との第1の無線ネットワークにおける接続を確立させ、前記所定のチャネルを用いた端末装置と前記通信装置との第2の無線ネットワークにおける接続を確立させる接続手段と、
前記端末装置と前記通信装置との通信状態を取得し、前記通信状態に基づいた制御を行う第1の制御手段と、
前記第1の制御手段と異なる第2の制御手段と、を有し、
前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続と、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が並行して確立されている状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第1の制御手段が、前記第1の制御手段が実行可能な複数の検索方法のうち前記端末装置と前記通信装置との通信状態に応じて特定される検索方法で前記外部装置を検索し、
前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続が確立されており、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が確立されていない状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第2の制御手段が、前記端末装置と前記通信装置との通信状態にかかわらず所定の方法で前記外部装置を検索することを特徴とする。
In order to solve the above problems, a communication device according to the present invention is a communication device,
Of the channels usable by the communication device, a connection is established between the external device and the communication device in a first wireless network using a predetermined channel, and the terminal device and the communication device are used in the predetermined channel. Connection means for establishing a connection in the second wireless network of
And acquires the communication state between the terminal device and the communication device, a first control means for performing control based on the communication state,
A second control means different from the first control means,
Connection of the external device and the communication device in the first wireless network using the predetermined channel, and connection of the terminal device and the communication device in the second wireless network using the predetermined channel while There has been established in parallel, when the connection with the external device using the predetermined channel and the communication device is disconnected, the first control means, said first control means executes Searching the external device by a search method specified according to the communication state between the terminal device and the communication device among a plurality of possible search methods,
A connection in the first wireless network is established between the external device and the communication device using the predetermined channel, and the second device is connected to the terminal device and the communication device using the predetermined channel. When the connection between the external device and the communication device using the predetermined channel is disconnected in a state where the connection in the wireless network is not established, the second control unit causes the second control unit to communicate with the terminal device and the communication device. The external device is searched by a predetermined method regardless of the communication state with the external device.
本発明によると、外部装置を検索する処理にかかる負荷を分散させることができ、且つ通信装置の通信状態に応じた方法で外部装置の検索を実行できる。 ADVANTAGE OF THE INVENTION According to this invention, the load concerning the process which searches an external device can be disperse|distributed, and an external device search can be performed by the method according to the communication state of a communication device.
以下に、図面を参照しながら、本発明の実施形態を例示的に詳しく説明する。但し、本実施形態に記載されている構成要素の相対配置、表示画面等は、特に、特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。 Embodiments of the present invention will be illustratively described in detail below with reference to the drawings. However, the relative arrangement of the constituent elements, the display screen, and the like described in the present embodiment are not intended to limit the scope of the present invention to them unless otherwise specified.
(第1実施形態)
本実施形態の端末装置及び通信装置について説明する。端末装置として、本実施形態ではスマートホンを例示している。スマートホンとは、携帯電話の機能の他に、カメラや、ウェブブラウザ、電子メール機能等を搭載した多機能型の携帯電話のことである。なお、本発明を適用可能な端末装置は、スマートホンに限定されず、後述の通信装置と通信可能な装置であれば良い。例えば、端末装置として、デジタルカメラ、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、音楽再生デバイス等を適用可能である。また、通信装置として、本実施形態では、複写機能、FAX機能、印刷機能を備えるマルチファンクションペリフェラル(以後、MFP)を例示しているが、これに限定されず、端末装置と通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等を適用可能である。また、プリンタのみならず複写機やファクシミリ装置、スマートホン、携帯端末、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、ストレージ等も適用可能である。その他、単一の機能を備えるシングルファンクションプリンタ(以後、SFP)も適用可能である。
(First embodiment)
The terminal device and the communication device of this embodiment will be described. In the present embodiment, a smartphone is exemplified as the terminal device. A smart phone is a multifunctional mobile phone equipped with a camera, a web browser, an electronic mail function, and the like in addition to the functions of the mobile phone. The terminal device to which the present invention can be applied is not limited to the smart phone, and may be any device that can communicate with the communication device described below. For example, a digital camera, a mobile terminal, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), a music playback device, or the like can be applied as the terminal device. Further, in the present embodiment, a multi-function peripheral (hereinafter, referred to as an MFP) having a copy function, a FAX function, and a print function is illustrated as the communication device, but the communication device is not limited to this, and can communicate with a terminal device. Various devices can be applied as long as they are possible devices. For example, if it is a printer, an inkjet printer, a full-color laser beam printer, a monochrome printer, etc. can be applied. Further, not only a printer but also a copying machine, a facsimile machine, a smart phone, a mobile terminal, a notebook PC, a tablet terminal, a PDA, a digital camera, a music reproducing device, a storage, etc. are applicable. In addition, a single function printer (hereinafter, SFP) having a single function is also applicable.
<システム構成>
まず、本実施形態を実現するためのシステム構成について、図1〜図6を用いて説明する。
<System configuration>
First, a system configuration for realizing the present embodiment will be described with reference to FIGS.
図1は、本実施形態の通信システムの構成を示す図である。このシステムは、アクセスポイント400、端末装置200及びMFP300を含むものとする。
FIG. 1 is a diagram showing the configuration of the communication system of the present embodiment. This system includes an
端末装置200は、本実施形態の端末装置である。MFP300は、本実施形態の通信装置である。また、MFP300と端末装置200は、それぞれの装置外部のアクセスポイント400を介してWLAN(Wireless Local Area Network)接続し、相互に通信することが可能である。また、MFP300や端末装置200は、それぞれの装置自身がアクセスポイントとして動作することもできる。そのため、例えばどちらか一方の装置がアクセスポイントとなり、もう一方の装置が当該アクセスポイントに接続することで、端末装置200とMFP300はアクセスポイント400を介さずに直接無線LAN接続することも可能である。また、端末装置200とMFP300は共にWLANの機能を有するため、認証処理を実行することによってピアツーピア(以後、P2P)の通信が可能となる。なお、各装置は、アクセスポイントとして動作する場合、通信相手の装置と無線LANを形成し、ビーコン(Beacon)信号を定期的に送信する。さらに、各装置は、アクセスポイントとして動作する場合、無線通信のために使用されるチャネルを決定したり、通信相手の装置から送信される接続情報(パスワード等)の認証処理を行う。
The
アクセスポイントとクライアントから構成される無線通信システムについて説明する。アクセスポイントとなる装置は、まず、ビーコン信号を送信する。そして、クライアントは、ビーコン信号を受信すると、アクセスポイントに機器探索コマンド(Probe Requestフレーム)を送信して通信相手となる装置(通信相手装置)を探索して発見する。探索側の装置は、機器探索コマンドに、種々の属性(パラメータ)を付随することが可能である。特にP2P無線接続の場合には、機器探索コマンドに、P2P無線接続に関する情報(P2Pエレメント)が含まれている。して、アクセスポイントが、受信した機器探索コマンドを参照して応答コマンド(Probe Responseフレーム)を送信すると、相互に相手側の装置を発見することができる(装置探索(Discovery))。以降、装置の種類を示す機器情報やIPアドレスの確認等のシーケンスが実行され、その後に、印刷等の各種アプリケーションの実行が可能となる。 A wireless communication system including an access point and clients will be described. The device serving as an access point first transmits a beacon signal. When the client receives the beacon signal, the client transmits a device search command (Probe Request frame) to the access point to search for and discover a device (communication partner device) as a communication partner. The device on the search side can attach various attributes (parameters) to the device search command. Particularly in the case of P2P wireless connection, the device search command includes information (P2P element) related to P2P wireless connection. Then, when the access point transmits a response command (Probe Response frame) with reference to the received device search command, it is possible to mutually discover the devices on the other side (device search (Discovery)). After that, a sequence such as confirmation of device information indicating the type of device and an IP address is executed, and then various applications such as printing can be executed.
図2は端末装置200の外観を示す図である。
FIG. 2 is a view showing the outer appearance of the
WLANユニット201は、WLANによって無線通信を行うためのユニットである。WLANユニット201は、例えばIEEE802.11シリーズに準拠したWLANシステムにおけるデータ(パケット)通信が可能であるものとする。すなわち、WLANユニット201は、例えば、Wi−Fi(登録商標)による通信を実行可能であるものとする。WLANユニット201は、WLAN接続を確立するための、ビーコン検知処理や認証処理、WLAN接続を確立した通信装置への印刷ジョブの送信等の機能を担う。また、WLANユニット201は、Wi−Fi Direct(WFD)をベースにした通信、ソフトウェアAPモード、アドホックモード、インフラストラクチャモードによる通信などが可能である。Wi−Fi Direct(WFD)をベースにした通信、ソフトウェアAPモードによる通信、アドホックモードによる通信とは、アクセスポイントとして動作している通信相手の装置(MFP300等)とダイレクトに(中継装置を介さず)通信することを指す。また、インフラストラクチャモードによる通信とは、ネットワーク上に設置された端末装置200外部の中継装置(アクセスポイント400等)を介して、通信相手の装置と通信することを指す。
The
表示部202は、例えば、LCD方式の表示機構を備えたディスプレイである。具体的には、表示部202は、ボタンアイコンやソフトウェアキーボードの表示を行う。
The
操作部203は、タッチパネル方式の操作機構を備えており、ユーザによる操作を検知する。具体的には、操作部203は、表示部202が表示するボタンアイコンやソフトウェアキーボードにユーザが触れることによって発生する操作イベントを検知する。
The
電源キー204は電源をオン及びオフをする際に用いられるハードキーである。
The
図3はMFP300の外観を示す図である。原稿台301は、スキャナ(読取部)によって読み取られる原稿が載せられるガラス状の透明な台である。原稿蓋302は、スキャナによって読取が行われる際に原稿を押さえたり、読取の際に原稿に照射される読取光が外部に漏れないようにしたりするための蓋である。
FIG. 3 is a diagram showing an appearance of the
印刷用紙挿入口303は様々なサイズの用紙をセット可能な挿入口である。印刷用紙挿入口303にセットされた用紙は、図示しない印刷部に一枚ずつ搬送され、印刷部で印刷が行われて印刷用紙排出口304から排出される。
The printing
操作表示部305は、文字入力キー、カーソルキー、決定キー、取り消しキー等のキーと、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、ユーザから、MFPとしての各種機能の起動や各種設定を受け付けることができる。なお、操作表示部305は、タッチパネルで構成されてもよい。
The
WLANアンテナ306は、WLANによって通信するためのアンテナである。 The WLAN antenna 306 is an antenna for communicating by WLAN.
図4は、操作表示部305に表示される画面の一例を示した図である。図4(a)は、MFP300が印刷やスキャン等の動作をしていない状態(アイドル状態)で操作表示部305に表示される画面(ホーム画面)である。MFP300は、操作表示部305にホーム画面が表示されている状態で、ユーザからキー操作やタッチパネル操作を受け付けることで、コピーやスキャン、インターネット通信を利用したクラウド機能のメニュー表示や各種設定、機能を実行可能である。操作表示部305は、上述の操作を受け付けることによって、シームレスに図4(a)に示すホーム画面とは異なる画面を表示することができる。図4(b)は、その一例である。MFP300は、操作表示部305に図4(b)に示すホーム画面が表示されている状態で、ユーザによってキー操作やタッチパネル操作を受け付けることで、プリントやフォト機能の実行やLAN設定の変更を実行可能である。図4(c)は、操作表示部305に図4(b)の画面が表示されている状態で、LAN設定を実行するための操作がユーザによって行われた際に表示される画面である。MFP300は、図4(c)に示す画面における「無線LAN」がユーザ操作によって選択された場合、後述するインフラストラクチャモードの有効/無効設定をユーザから受け付ける。また、このとき、MFP300は、後述するインフラ接続におけるMFP300の接続相手(アクセスポイント400等)の設定もユーザから受け付ける。また、MFP300は、図4(c)に示す画面における「無線ダイレクト」がユーザ操作によって選択された場合、WFD機能の有効/無効設定をユーザから受け付ける。また、MFP300は、図4(c)に示す画面における「無線ダイレクトネゴシエーション」がユーザ操作によって選択された場合、後述するネゴシエーション設定の有り/無しの設定をユーザから受け付ける。
FIG. 4 is a diagram showing an example of a screen displayed on the
図5は、端末装置200の構成を示すブロック図である。
FIG. 5 is a block diagram showing the configuration of the
端末装置200は、装置自身のメインの制御を行うメインボード501と、WLAN通信を行うWLANユニット517とを有する。
The
メインボード501において、CPU(中央演算処理部)502は、システム制御部であり、ROM503に格納されたプログラムの実行やハードウェアの起動により、端末装置200の全体を制御する。なお、端末装置200が実行する後述の処理は、CPU502による制御によって実行される。
In the
ROM503は、CPU502が実行する制御プログラムや組込オペレーティングシステム(OS)プログラム等を記憶する。本実施形態では、ROM503に記憶されている各制御プログラムは、ROM503に記憶されている組込OSの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
The
RAM504は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等で構成されるメモリである。RAM504は、プログラム制御変数等のデータや、ユーザが登録した設定値や端末装置200の管理データ等のデータを記憶する。なお、RAM504には、各種ワーク用バッファ領域が設けられている。
The
画像メモリ505は、DRAM等のメモリで構成され、WLANユニット517を介して受信した画像データや、データ蓄積部513から読み出した画像データを、CPU502によって処理するために一時的に記憶する。
The
不揮発性メモリ512は、フラッシュメモリ(flash memory)等のメモリで構成され、電源がオフされても保持されるべきデータを記憶する。
The
なお、端末装置200が保持するメモリ構成はこの形態に限定されるものではなく、用途や目的に応じて、その数や特性、記憶容量等が適宜変更されても良い。例えば、画像メモリ505とRAM504を共有させてもよいし、データ蓄積部513にデータのバックアップ等が行われてもよい。また、本実施形態では、画像メモリ505にDRAMが用いられているものとするが、例えば、ハードディスク(HDD)や不揮発性メモリ等の他の記憶媒体を使用しても良い。
It should be noted that the memory configuration held by the
データ変換部506は、種々の形式のデータの解析や、画像データに対する色変換、画像変換等のデータ変換を行う。
The
電話部507は、電話回線の制御を行い、スピーカ部514を介して入出力される音声データを処理することで電話による通信を実現する。
The
操作部508は、操作部204から出力される信号を制御し、ユーザによる操作を検知する。
The
GPS(Global Positioning System)509は、端末装置200の現在の緯度や経度等の位置情報を取得する。
A GPS (Global Positioning System) 509 acquires position information such as the current latitude and longitude of the
表示部510は、表示部202に表示させる画面の内容を電子的に制御しており、表示部202に、各種入力操作画面や、MFP300の動作状況画面、ステータス状況画面の表示等を行うことができる。
カメラ部511は、レンズを介して入力された画像を電子的に記録して符号化する機能を有している。カメラ部511で撮影された画像に対応する画像データはデータ蓄積部513に保存される。
The
スピーカ部514は電話機能のための音声を入力または出力する機能や、その他、アラーム通知等の機能を実現する。
The
電源部515は、携帯可能な電池であり、端末装置200内への電力供給制御を行う。端末装置200の電源状態には、電池に残量が無い電池切れ状態、電源キー205が押下されていない電源オフ状態、通常起動している起動状態、起動しているが起動状態よりも消費電力が小さい省電力状態がある。
The
WLANユニット517は、WLANによって無線通信を行うためのユニットである。WLANユニット517は、例えばIEEE802.11シリーズに準拠したWLANシステムにおけるデータ(パケット)通信が可能であるものとする。すなわち、WLANユニット517は、例えば、Wi−Fi(登録商標)による通信を実行可能であるものとする。WLANユニット517は、WLAN接続を確立するための、ビーコン検知処理や認証処理、WLAN接続を確立した通信装置への印刷ジョブの送信等の機能を担う。WLANユニット517により、端末装置200は、MFP300等の他デバイスとのデータ通信を行う。WLANユニット517は、データをパケットに変換し、他デバイスにパケット送信を行ったり、逆に、外部の他デバイスからのパケットを、元のデータに復元してCPU502に対して送信したりする。なお、WLANユニット517はバスケーブル516介してメインボード501に接続されている。
The
メインボード501内の各種構成要素(503〜515及び517)は、CPU502が管理するシステムバス519を介して、相互に接続されている。
Various components (503 to 515 and 517) in the
図6はMFP300の構成を示すブロック図である。
FIG. 6 is a block diagram showing the configuration of the
MFP300は、装置自身のメインの制御を行うメインボード601と、WLAN通信を行うWLANユニット616とを有する。
The
メインボード601において、CPU602は、システム制御部であり、ROM603に格納されたプログラムの実行やハードウェアの起動により、MFP300の全体を制御する。また、CPU602は、MFP300の装置状態を把握して、後述の各処理を実行する。また、CPU602は、MFP300の全体を制御するため、後述のAPサーチ以外の処理(例えば、印刷制御やスキャン制御等の処理)を実行する役割も担う。
In the
ROM603は、CPU602が実行する制御プログラムや組込OSプログラム等を記憶する。本実施形態では、ROM603に記憶されている各制御プログラムは、ROM603に記憶されている組込OSの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
The
RAM604は、SRAMやDRAM等で構成されるメモリである。RAM604は、プログラム制御変数等のデータや、ユーザが登録した設定値、MFP300の管理データ等のデータを記憶する。なお、RAM604には、各種ワーク用バッファ領域が設けられている。
The
不揮発性メモリ605は、フラッシュメモリ等のメモリで構成され、電源がオフされても保持されるべきデータを記憶する。
The
画像メモリ606は、DRAM等のメモリで構成され、WLANユニットを介して受信した画像データや、符号復号化処理部611で処理した画像データなどを蓄積する。
The
また、端末装置200が保持するメモリ構成と同様に、MFP300が保持するメモリ構成はこの形態に限定されるものではなく、用途や目的に応じて、その数や特性、記憶容量等が適宜変更されても良い。
Further, similarly to the memory configuration held by the
データ変換部608は、種々の形式のデータの解析や、画像データから印刷データへの変換等を行う。
The
読取制御部607は、読取部609(例えば、CISイメージセンサ(密着型イメージセンサ))を制御して、原稿上の画像を光学的に読み取る。そして読取制御部607は、読み取った画像を電気的な画像データに変換した画像信号を出力する。このとき読取制御部607は、2値化処理や中間調処理等の各種画像処理を施してから画像信号を出力しても良い。
The
操作表示部610は、操作表示部305に対応し、ユーザから、MFPとしての各種機能の起動や各種設定を受け付ける。
The
符号復号化処理部611は、MFP300で扱う画像データ(JPEG、PNG等)に対して符号復号化処理や、拡大縮小処理を行う。
The encoding/
給紙部613は印刷のための記録媒体を保持する。なお、給紙部613は、複数種類の記録媒体を一つの装置に保持するために、複数用意されていても良い。
The
印刷制御部614は、給紙部613を制御し、印刷部612に記録媒体を供給することができる。なお、給紙部613が複数用意されている場合、印刷制御部614は、複数の給紙部613のうちいずれの給紙部から給紙を行うかの制御を行うことができる。
The
印刷制御部614は、印刷される画像データに対し、スムージング処理や印刷濃度補正処理、色補正等の各種画像処理を施してから印刷部612に出力する。
The
印刷部612は、インクタンクから供給されるインクをプリントヘッドから吐出させて画像を印刷するインクジェットプリンタである。なお、印刷部612は、インクジェットプリンタでなくとも良く、例えば、レーザービームプリンタ等であっても良い。また、印刷制御部614は、印刷部612の情報を定期的に読み出してRAM604の情報を更新する。具体的には、印刷制御部614は、インクタンクの残量やプリントヘッドの状態等のステータス情報を更新する。WLANユニット616は、WLANユニット201に対応するため、説明を省略する。WLANユニット616はバスケーブル615を介してメインボード601に接続されている。なお、端末装置200及びMFP300は各装置が備えるWLANユニットによってWi−Fi Direct(WFD)をベースにした通信が可能であり、ソフトウェアアクセスポイント(ソフトウェアAP)機能を有している。ソフトウェアAP機能とは、当該機能を実行する装置を、ソフトウェアベースのアクセスポイントとして動作させるための機能である。
The
NWサブシステム620は、CPU602の制御負荷を低減させるためのサブシステムであり、ネットワーク通信関連の入出力制御をつかさどる。NWサブCPU621は、ネットワーク通信関連の入出力制御を実行するためのCPUである。NWサブCPU621は、CPU602が実行可能な処理のうち一部の処理をCPU602の代わりに実行することで、CPU602の制御負荷を低減させるためのCPUである。そのため、本実施形態では、NWサブCPU621が実行する処理の範囲は、CPU602が実行する処理の範囲より狭いものとする。また、例えば処理速度やキャッシュ容量に関する性能は、NWサブCPU621よりCPU602の方が高いものとする。また、NWサブCPU621は、CPU602と比較して、アクセス可能な領域が限定されており、例えば、MFP300の装置情報等を取得するためには、CPU602からCPU間通信によって取得する必要がある。RAM604の一部にはNWサブCPU621によって実行される制御コードが保存されており、当該制御コードは、CPU602のブートシーケンスにおいて、RAM604からRAM622へDMA(Direct Memory Access)転送される。なお、当該制御コードは、621がネットワーク通信関連の入出力制御を実行するためのコードである。NWサブシステム内の各モジュール(621、622、623)は、メイン側システムバス618とは分離されたローカルバス624を介して相互接続されている。NWサブシステム620が、ネットワーク通信関連の機能モジュールのうち、特にハードウェアレイヤに近い層の機能を担うことで、メインボード上の他のモジュールの負荷状況の影響を最小化した、独立性が高いネットワーク制御を実現している。
The
WLANユニット616は、端末装置200が備えるWLANユニットと同様の機能を有するため、説明を省略する。なお、WLANユニット616は、NWサブシステム620内のUHOSTモジュール623とUSBバス625を介して接続されている。なお、以下、メインボード601におけるNWサブシステム620以外のシステムを本体サブシステムという。
The
メインボード601内の各種構成要素(602〜614、616〜617、620)は、CPU602が管理するシステムバス618を介して、相互に接続されている。
Various components (602 to 614, 616 to 617, 620) in the
<P2P(Peer to Peer)モードについて>
WLANにおける通信においてP2P方式の接続を確立するために、本実施形態のMFP300は、P2Pモード(ソフトウェアAPモード又はWi−Fi Direct(WFD)モード)で動作するものとする。なお、本実施形態では、P2P方式の接続とは、外部装置を介さずに装置同士が直接的に無線接続する形態を指す。MFP300が外部装置を介さずに端末装置200と接続する場合、MFP300の通信モードとしてP2Pモードが設定される。なお、MFP300と端末装置200とのP2P接続が切断されたり、MFP300の電源がオフされても、設定変更等によりMFP300の通信モードが変更されない限りは、MFP300はP2Pモードとして動作し続ける。なお、本実施形態において、P2Pモードの設定変更は、MFP300のWFD機能のオン/オフに対応する。
<P2P (Peer to Peer) mode>
In order to establish a P2P connection in WLAN communication, the
なお、WFDは、WiFi Allianceによって策定された規格である。WFD対応機器である端末装置200及びMFP300は、アクセスポイントとして動作するためのソフトウェアアクセスポイント(ソフトAP)機能を有している。そのため、端末装置200及びMFP300は、WFDにより、他のアクセスポイントを介さずに相互に直接、無線接続することが可能となる。なお、WFDによって通信するWFD対応機器のうちいずれがソフトAPとして動作するかは、GroupOwnerNegotiationというシーケンス(以下、ネゴシエーション)に従って決定される。具体的には、各装置に予め設定されているインテント値の大小に基づいて、いずれがソフトAPとして動作するかが各装置間で決定される。以下、ソフトAPの役割を果たす装置を特に、GroupOwnerという。なお、本実施形態では、装置間の通信には、Wi−Fi標準規格で規定された、2.4GHz周波数帯の1〜13チャネルが利用されるものとする。GroupOwnerは、装置間の通信に使用するチャネルを決定する役割を担う。そのため、ネゴシエーションは、装置間の通信に利用されるチャネルを決定する装置として動作するか否かを特定する処理とも言える。なお、MFP300が利用するチャネルは、1〜13チャネルに限定されない。例えば、MFP300は、2.4GHzと5GHzの周波数帯を使って通信可能な場合、1〜13、36〜140チャネルを利用可能である。
The WFD is a standard established by the WiFi Alliance. The
なお、各モードによって通信する装置からなる通信システムでは、探索側の装置が機器探索コマンド(例えば、Probe Requestフレーム)を使用して通信相手となる装置(通信相手装置)を探索して発見する。探索側の装置は、機器探索コマンドに、種々の属性(パラメータ)を付随することが可能である。特にP2P方式による接続のための探索時には、機器探索コマンドに、P2P無線接続に関する情報(P2Pエレメント)が含まれている。機器探索コマンドに応答する装置は、探索コマンドに属性が指定されていた場合には、通常、探索側の装置のモードの仕様および前提となる仕様(WFDであればWi−Fi)で規定されている範囲で、解釈可能な属性に最大限応答をする事が推奨されている。また、機器探索コマンドに応答する装置は、機器探索コマンドに付随する情報(上記属性を含む)が解釈できない場合であっても、解釈できる情報のみを元に応答することも可能である。 In a communication system including devices that communicate in each mode, a device on the search side searches for and finds a device (communication partner device) that is a communication partner using a device search command (for example, a Probe Request frame). The device on the search side can attach various attributes (parameters) to the device search command. In particular, at the time of searching for connection by the P2P method, the device search command includes information (P2P element) regarding the P2P wireless connection. When an attribute is specified in the search command, the device that responds to the device search command is normally specified by the mode specification of the device on the search side and the prerequisite specifications (Wi-Fi for WFD). It is recommended to give maximum response to interpretable attributes within the range. Further, even if the information (including the above attributes) accompanying the device search command cannot be interpreted, the device that responds to the device search command can respond based on only the information that can be interpreted.
以下、各モードにおける無線接続シーケンスについて、図7、図8を用いて説明する。 The wireless connection sequence in each mode will be described below with reference to FIGS. 7 and 8.
図7はソフトウェアAPモードにおける無線接続シーケンスを示す図である。なお、本シーケンスにおいて各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。また、本シーケンスは、端末装置200がクライアント、MFP300がソフトウェアAPとして動作し、MFP300がビーコン(Beacon)信号を発信している状態で開始されるものとする。なお、MFP300は、ソフトウェアAPとして動作するための所定の操作をユーザから受け付けた場合、ソフトウェアAPとしての動作を開始する。なお、所定の操作とは例えば、LAN設定画面における、ソフトウェアAPとしての動作を開始させるための所定のアイコンを選択する操作である。
FIG. 7 is a diagram showing a wireless connection sequence in the software AP mode. The processing executed by each device in this sequence is realized by the CPU of each device reading the various programs stored in the memory such as the ROM of each device into the RAM and executing the programs. In addition, it is assumed that the present sequence is started in a state in which the
まず、S701にて、端末装置200は、端末装置200が利用可能なチャネルを順に使用して機器探索コマンドを送信し、ソフトウェアAPとなる装置を検索する。
First, in step S<b>701, the
続いて、S702にて、MFP300は、端末装置200から送信された機器探索コマンドを受信した場合、機器探索コマンドに対する応答である機器探索応答を端末装置200に送信する。なお、MFP300は、自身が使用可能なチャネル以外のチャネルで送信された機器探索コマンドに対しては機器探索応答を送信しない。例えば、MFP300が使用可能なチャネルが第4チャネルであるとすると、MFP300は、第1チャネルを使用して送信された装置探索リクエストコマンドに対しては応答コマンドを送信しない。そのため、端末装置200は、第1チャネルを使用して機器探索コマンドを送信した後、一定時間以上MFP300からの応答がない場合には、第2チャネルを使用して装置探索リクエストコマンドを送信する。端末装置200は、以上のような試行を、使用するチャネルの番号をインクリメントしながら繰り返す。そして例えば、MFP300は、端末装置200が第4チャネルを使用して送信した機器探索コマンドを受信すると、端末装置200に機器探索応答を送信する。これにより、端末装置200は、MFP300を発見することになる。なお、機器探索応答の送信に利用されたチャネルが、以後、端末装置200とMFP300との間の通信に利用されるチャネルとして決定される。すなわち、端末装置200とMFP300との間の通信に利用されるチャネルは、ソフトAPとして動作するMFP300によって決定される。
Subsequently, in S702, when the
続いて、S703にて、端末装置200とMFP300との間で、公知の無線接続の確立処理を実行する。具体的には、接続要求の送信や、接続要求の認証、IPアドレスの割当等の処理が行われる。なお、端末装置200とMFP300との間での無線接続の確立処理において送受信されるコマンドやパラメータについては、Wi−Fi規格で規定されているものが用いられればよく、ここでの説明は省略する。
Subsequently, in S703, a known wireless connection establishment process is executed between the
図8はWFDモードにおける無線接続シーケンスを示す図である。なお、本シーケンスにおいて各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。また、本処理は、各装置がWFD機能を実行するための所定のアプリケーションを起動している状態で、WFDによる接続を確立するための所定の操作をユーザから受け付けた場合に開始されるものとする。 FIG. 8 is a diagram showing a wireless connection sequence in the WFD mode. The processing executed by each device in this sequence is realized by the CPU included in each device reading the various programs stored in the memory such as the ROM included in each device into the RAM and executing the programs. Further, the present process is supposed to be started when a predetermined operation for establishing a connection by WFD is received from the user in a state where each device is running a predetermined application for executing the WFD function. To do.
まず、S801にて、端末装置200は、機器探索コマンドを送信し、通信相手の装置として、WFD機能に対応している装置を検索する。
First, in step S801, the
続いて、S802にて、MFP300は、受信した機器探索コマンドに対する応答である機器探索応答を端末装置200に送信する。これにより、端末装置200は、WFD機能に対応している装置として、MFP300を発見することになる。なお、端末装置200がMFP300を発見した後、各装置の間で、各装置が供給可能なサービスや機能に関する情報を交換する処理が行われても良い。
Subsequently, in step S802, the
続いて、S803にて、端末装置200とMFP300との間で、ネゴシエーション処理を行う。ネゴシエーション処理とは、各装置が保持する所定の設定値を用いて、P2P方式による通信における役割(GroupOwnerとクライアント)を決定する処理である。なお、ネゴシエーション処理により各装置の役割が決定された場合、各装置の間で、Wi−Fi Directによる通信を行うためのパラメータが交換される(パラメータ交換フェーズ)。パラメータ交換フェーズは、例えば、Wi−Fi Protected Setupによって自動的に無線LANセキュリティのパラメータが交換されることに対応する。なお、ネゴシエーションが行われた後、GroupOwnerが、以後の通信に利用するチャネルを決定する。
Subsequently, in S803, a negotiation process is performed between the
その後、S804にて、各装置は、交換したパラメータに基づいて、無線接続の確立処理を実行する。 After that, in S804, each device executes a wireless connection establishment process based on the exchanged parameters.
なお、MFP300は、WFDモードにおける無線接続シーケンスにおいてネゴシエーションを実行するか否かの設定をユーザから受け付け可能であっても良い。MFP300は、ネゴシエーションを実行しないものとして設定されている場合は、自身がGroupOwnerとして動作する。
Note that the
なお、以後、P2Pモードによって通信するための接続(アクセスポイント400を介さない端末装置200との接続)をP2P接続という。
Note that, hereinafter, the connection for communicating in the P2P mode (connection with the
<インフラストラクチャモードについて>
上述したように、インフラストラクチャモードとは、通信を行う装置(例えば、端末装置200とMFP300)が、ネットワークを統括する外部装置(例えば、アクセスポイント400)を介して通信する形態である。MFP300がアクセスポイント400を介して端末装置200と接続する場合、MFP300の通信モードとしてインフラストラクチャモードが設定される。なお、MFP300とアクセスポイント400との接続が切断されたり、MFP300の電源がオフされても、設定変更等によりMFP300の通信モードが変更されない限りは、MFP300はインフラストラクチャモードとして動作し続ける。
<About infrastructure mode>
As described above, the infrastructure mode is a mode in which the communication devices (for example, the
図9は、インフラストラクチャモードにおける無線接続シーケンスを示す図である。なお、本シーケンスにおいて各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。 FIG. 9 is a diagram showing a wireless connection sequence in the infrastructure mode. The processing executed by each device in this sequence is realized by the CPU included in each device reading the various programs stored in the memory such as the ROM included in each device into the RAM and executing the programs.
まず、S901にて、端末装置200は、端末装置200が利用可能なチャネルを順に使用して機器探索コマンドを送信し、ソフトウェアAPとなる装置を検索する。
First, in step S901, the
続いて、S902にて、アクセスポイント400は、端末装置200から送信された機器探索コマンドを受信した場合、機器探索コマンドに対する応答である機器探索応答コマンドを端末装置200に送信する。なお、S702の説明において述べたように、アクセスポイント400は、自身が使用可能なチャネルで送信された機器探索コマンドに対してのみ機器探索応答コマンドを送信する。これにより、端末装置200は、アクセスポイント400を発見することになる。なお、機器探索応答コマンドの送信に利用されたチャネルが、以後、端末装置200とアクセスポイント400との間の通信に利用されるチャネルとして決定される。すなわち、インフラストラクチャモードによる通信に利用されるチャネルは、アクセスポイント400によって決定される。
Subsequently, in S902, when the
続いて、S903にて、端末装置200とアクセスポイント400との間で、公知の無線接続の確立処理を実行する。具体的には、接続要求の送信や、接続要求の認証、IPアドレスの割当等の処理が行われる。なお、P2Pモードと同様、端末装置200とMFP300との間での無線接続の確立処理において送受信されるコマンドやパラメータについては、Wi−Fi規格で規定されているものが用いられればよく、ここでの説明は省略する。
Subsequently, in S903, a known wireless connection establishment process is executed between the
S904〜S906では、S901〜S903と同様の処理が、MFP300とアクセスポイント400との間で実行される。なお、このときアクセスポイント400は、機器探索応答コマンドを、端末装置200との通信に利用しているチャネルを用いてMFP300に送信する。すなわち、アクセスポイント400は、MFP300及び端末装置200と、同一のチャネルを用いて通信する。
In S904 to S906, the same processing as S901 to S903 is executed between the
これにより、アクセスポイント400を介してMFP300と端末装置200とが接続することとなり、MFP300と端末装置200との間で、アクセスポイント400を介した通信が可能となる。
As a result, the
なお、以後、インフラストラクチャモードによって通信するための接続(アクセスポイント400を介した端末装置200との接続)をインフラ接続という。
Note that, hereinafter, the connection for communication in the infrastructure mode (connection with the
<同時動作モードについて>
MFP300は、インフラストラクチャモードによる通信と、P2Pモードによる通信を、同時に(並行して)実行可能であり、インフラストラクチャモードとしての動作とP2Pモードとしての動作を同時に(並行して)実行可能であるものとする。そのため、MFP300は、インフラストラクチャモードによって通信するための接続と、P2Pモードによって通信するための接続とを同時に(並行して)確立することができる。以後、インフラストラクチャモードによって通信するための接続(アクセスポイント400を介した端末装置200との接続)をインフラ接続という。また、P2Pモードによって通信するための接続(アクセスポイント400を介さない端末装置200との接続)をP2P接続という。また、以後、インフラ接続とP2P接続を同時に(並行して)維持して動作することを、同時動作という。MFP300がインフラストラクチャモードとしての動作とP2Pモードとしての動作を同時に(並行して)実行する場合、MFP300の通信モードとしてインフラストラクチャモードが設定される。なお、MFP300と端末装置200との接続やMFP300とアクセスポイント400との接続が切断されたり、MFP300の電源がオフされても、MFP300の通信モードが変更されない限りは、MFP300は同時動作モードで動作し続ける。
<About simultaneous operation mode>
The
本実施形態においては、MFP300は、WFDモードにおける無線接続シーケンスにおいてネゴシエーションを実行するか否かの設定をユーザから受け付け可能であり、ネゴシエーションを実行する設定がなされている場合は、同時動作しないものとする。
In the present embodiment, the
<同時動作モードにおけるチャネル決定シーケンス>
インフラストラクチャモードによる通信及びP2Pモードによる通信は、特定の周波数帯域(特定のチャネル)を使用して行われる。そのため、インフラストラクチャモードによる通信とP2Pモードによる通信のいずれにおいても、通信が開始される前に、まず、各装置間の通信・接続に利用されるチャネルが決定される必要がある。なお、1つの無線ICチップに同時に複数のチャネルを割り当てて通信させる形態では、通信を行う各装置の構成や各装置が実行する処理が複雑となってしまう。従って、例えば、MFP300が同時動作する場合は、各モードにおける通信において、共通のチャネルが使用されることが望ましい。すなわち、MFP300は、同時動作している場合においても、1つのチャネルのみを使用することが望ましい。そのため、本実施形態では、WLANユニット616は、所定のチャネルによる通信を実現する無線ICチップを1つのみ有するものとし、MFP300は、同時に複数のチャネルを用いて通信しないものとする。
<Channel decision sequence in simultaneous operation mode>
Communication in the infrastructure mode and communication in the P2P mode are performed using a specific frequency band (specific channel). Therefore, in both the communication in the infrastructure mode and the communication in the P2P mode, it is necessary to first determine the channel used for communication/connection between each device before communication is started. In a mode in which a plurality of channels are simultaneously assigned to one wireless IC chip for communication, the configuration of each device that performs communication and the processing executed by each device become complicated. Therefore, for example, when the
上述したように、MFP300がGroupOwnerまたはソフトAPとして動作しているのであれば、P2P接続に利用されるチャネルは、MFP300が自由に決定可能である。しかしながら、インフラ接続に利用されるチャネルは、アクセスポイント400によって決定される。そのため、MFP300は、同時動作する場合は、アクセスポイントによって決定された、インフラ接続に利用するチャネルを、P2P接続に利用するチャネルとして決定することが好ましい。
As described above, if the
なお、本実施形態では、インフラ接続、及びP2P接続では、いずれもWi−Fi標準規格で規定された、2.4GHz周波数帯の1〜13チャネルが利用されるものとする。しかしながら、異なる周波数帯ではチャネル数が増えたり、国や地域によっては周波数帯の規制により、同じ周波数帯でも1〜11チャネルに限定されたりする。そのため、MFP300によって利用されるチャネルは、1〜13チャネルに限定されるものではない。また、例えば、IEEE 802.11aの規格では、5GHzの周波数帯の36〜140チャネルが利用可能である。また、MFP300は、2.4GHz(1〜13チャネル)と5GHz(36〜140チャネル)の周波数帯を使う場合、利用可能なチャネル数は、どちらか一方の周波数帯を使う形態と比較して多くなる。そのため、両周波数帯が用いられる場合、アクセスポイントに機器探索コマンドを送信すべきチャネル数は増える。
In the present embodiment, it is assumed that the infrastructure connection and the
<再接続処理について>
例えば、電波状況が悪くなったり、接続に用いられるチャネルの設定が変更されること等を切断要因として、MFP300とアクセスポイント400との間の無線接続が切断される場合がある。この場合、MFP300は、アクセスポイント400との再接続を試みる。ここでは、MFP300がアクセスポイント400と再接続するために実行する処理(再接続処理)について説明する。
<About reconnection processing>
For example, the wireless connection between the
図17は、MFP300が同時動作している状態で、MFP300とアクセスポイント400との接続が切断された場合に行われる再接続処理のシーケンスを示す図である。なお、本シーケンスにおいて各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。また、本シーケンスが示す処理は、MFP300が、ソフトウェアAPとして動作している状態で開始されるものとする。
FIG. 17 is a diagram showing a sequence of a reconnection process performed when the connection between the
まず、S1701にて、図9の説明において述べた処理と同様にして、MFP300とアクセスポイント400が無線接続を確立し、アクセスポイント400を介してMFP300と通信相手装置がインフラ接続を確立する。なおここでは、MFP300とアクセスポイント400との接続(インフラ接続)に利用されるチャネルは、第pチャネルとして決定されたものとする。
First, in step S1701, the
また、S1702にて、図8の説明において述べた処理と同様にして、MFP300と端末装置200がP2P接続を確立する。なお、MFP300とアクセスポイント400との間の接続に利用されるチャネルが第pチャネルであるため、MFP300と端末装置200との接続(P2P接続)に利用されるチャネルも第pチャネルとして決定される。
In step S1702, the
続いて、S1703にて、上述した切断要因等により、MFP300とアクセスポイント400との接続(インフラ接続)が切断される。すなわち、MFP300が、アクセスポイント400を介した通信相手装置とのインフラ接続と、端末装置200とのP2P接続を並行して確立している状態で、MFP300とアクセスポイント400との接続が切断される。このとき具体的には、アクセスポイント400が、切断コマンドをMFP300に送信する。
Subsequently, in step S1703, the connection (infrastructure connection) between the
なお、図17では、S1703にてMFP300とアクセスポイント400との接続が切断されたとしても、端末装置200とMFP300のP2P接続は維持されているものとする。
In FIG. 17, it is assumed that the P2P connection between the
続いて、S1704にて、MFP300は、アクセスポイント400を再度発見して接続するために、切断されたインフラ接続において使用されていて且つ現在P2P接続において使用している第pチャネルを使用してアクセスポイント400の検索を行う。すなわち、MFP300は、第pチャネルを使用して装置探索リクエストコマンドをアクセスポイント400に送信する。なおこのとき、MFP300は、装置探索リクエストコマンドの送信を複数回実行しても良い。また、以後、アクセスポイント400の検索をAPサーチという。
Subsequently, in step S1704, the
続いて、S1705にて、装置探索リクエストコマンドを受信したアクセスポイント400は、装置探索リクエストコマンドに対する応答である機器探索応答コマンドをMFP300に送信する。その後、S1706にて公知の接続処理が実行されることにより、MFP300とアクセスポイント400との接続が再開される。
Subsequently, in step S1705, the
これにより、MFP300は、MFP300とアクセスポイント400との接続が一旦切断されても、第pチャネルを使用して、インフラ接続を再度確立することができる。
Thereby, even if the connection between
しかしながら例えば、接続の切断後に、アクセスポイント400が自律的に周囲の電波環境の混雑状況を参照して使用チャネルを比較的空いているチャネルに遷移させた場合等には、アクセスポイント400が利用するチャネルが、接続の切断前から変化する。また、アクセスポイント400が接続に利用するチャネルが変更されたことが、そもそも接続が切断された要因である場合もある。
However, for example, when the
アクセスポイント400が利用するチャネルが変更された場合、アクセスポイント400は、変更後のチャネルにより送信される装置探索リクエストコマンドにしか応答しない。そのため、MFP300は、切断されたインフラ接続に使用していたチャネル(つまり第pチャネル)によるAPサーチでは、アクセスポイント400と再接続することができない。そこで本実施形態のMFP300は、切断されたインフラ接続に使用していたチャネルによってAPサーチを実行した結果、再接続が実行できなかった場合に、切断されたインフラ接続に使用していたチャネル以外のチャネルによってAPサーチを実行する。
When the channel used by the
図18は、MFP300が、切断されたインフラ接続に使用していたチャネル以外のチャネルによってアクセスポイント400を検索する処理を含む再接続処理のシーケンスを示す図である。なお、本シーケンスにおいて各装置が実行する処理は、各装置が備えるROM等のメモリに格納された各種プログラムを、各装置が備えるCPUがRAMに読み出して実行することにより実現される。また、本シーケンスが示す処理は、MFP300が、ソフトウェアAPとして動作している状態で開始されるものとする。
FIG. 18 is a diagram showing a sequence of a reconnection process including a process in which the
S1801〜S1804までの処理は、S1701〜S1704までの処理と同様であるため、説明を省略する。なお、S1803において、MFP300とアクセスポイント400との接続が切断された後、アクセスポイント400が使用するチャネルが、第pチャネルから第qチャネルに変更されたものとする。
The processing of S1801 to S1804 is the same as the processing of S1701 to S1704, and thus the description thereof is omitted. In step S1803, it is assumed that the channel used by the
上述のようにアクセスポイント400が使用するチャネルが変更されたため、MFP300は、S1804における第pチャネルを用いたAPサーチでは、アクセスポイント400を検出することはできない。そのため、MFP300は、第pチャネルを用いたAPサーチを、アクセスポイント400を検出することなく所定の回数繰り返した場合、S1805にて、第pチャネル以外のチャネルを使用したAPサーチを行う。具体的には、MFP300は、使用可能な全チャネルを第1チャネルから順に使用して、APサーチを行う。なお、MFP300は、各チャネルを使用したAPサーチにおいて、装置探索リクエストコマンドの送信を複数回実行しても良い。なお、このとき、MFP300が利用可能な全てのチャネルで装置探索リクエストが送信されなくとも良い。すなわち、MFP300とアクセスポイント400との接続が切断される直前に、MFP300とアクセスポイント400との間の通信において使用されていたチャネル以外のチャネルが少なくとも使用されて装置探索リクエストが送信されれば良い。
Since the channel used by the
アクセスポイント400が使用するチャネルは第qチャネルであるため、MFP300が第qチャネルを使用してAPサーチを行った場合、S1806にて、アクセスポイント400は、機器探索応答コマンドをMFP300に送信する。
Since the channel used by
その後、S1807にて、MFP300は、P2P接続に利用するチャネルを切り替えるため、一旦端末装置200とのP2P接続を切断する。なお、端末装置200とのP2P接続が切断されるタイミングは、S1806の後に限定されず、例えば、MFP300とアクセスポイント400との接続が切断された後、P2Pモードによって通信されたデータの処理が完了したタイミング等であっても良い。
After that, in S1807, the
その後、S1808及び1109にて、公知の接続処理が実行されることにより、MFP300とアクセスポイント400との接続(インフラ接続)及びMFP300と端末装置200との接続(P2P接続)が再開される。
Thereafter, in steps S1808 and 1109, a publicly-known connection process is executed to restart the connection between the
なお、装置間で無線接続を再開する場合に送受信されるコマンドやパラメータについては、Wi−Fi規格で規定されているものが用いられればよく、ここでの説明は省略する。 The commands and parameters transmitted/received when the wireless connection is restarted between the devices may be those defined by the Wi-Fi standard, and the description thereof will be omitted here.
なお上述の形態において、MFP300とアクセスポイント400との接続が切断された後にアクセスポイント400が使用するチャネルが変更されていなければ、MFP300は、S1804におけるAPサーチによってアクセスポイント400と再接続する。この場合は、MFP300は、S1805の処理を省略する。
In the above-described embodiment, if the channel used by
これにより、MFP300は、MFP300とアクセスポイント400との接続が切断された後、何らかの要因でアクセスポイント400が使用するチャネルが変更された場合も、アクセスポイント400と再接続することができる。
As a result, the
しかしながら、上述したように、本実施形態のMFP300は、同時に(並行して)複数のチャネルを使用しない。そのため、MFP300は、インフラ接続に使用していたチャネル(現在P2P接続に使用しているチャネル)以外のチャネルによってAPサーチを実行する場合、P2Pモードによる通信を一旦停止する必要がある。この場合、P2Pモードによる通信において、パケットロスや、送信パケットの遅延が発生したりするおそれがある。なお、パケットロスとは、P2P接続に使用するチャネルを用いて端末装置200が送信したパケットが、P2P接続に使用するチャネル以外のチャネルをMFP300が使用していたことによりMFP300に受信されず失われてしまうことをいう。また、送信パケットの遅延とは、MFP300がP2P接続に使用するチャネル以外のチャネルを使用していることで端末装置200へパケット送信できなかった場合、P2P接続に使用するチャネルが使用可能となるまでパケットの送信が遅延することをいう。
However, as described above, the
なお、P2Pモードによる通信がTCP層を経由したネットワーク通信であれば、パケットロスが発生しても、ロスされたパケットが再送されるが、UDP層を経由したネットワーク通信である場合は、ロスされたパケットが再送されることはない。そのため、端末装置200のOS、ドライバ、またはアプリケーションの挙動によっては、パケットロスが生じることによって、P2Pモードによる通信における通信相手装置が検出できなかったり、アプリケーションが利用できなかったりするおそれがある。
If the communication in the P2P mode is network communication via the TCP layer, the lost packet is retransmitted even if a packet loss occurs, but if it is network communication via the UDP layer, it is lost. Packets will not be retransmitted. Therefore, depending on the behavior of the OS, the driver, or the application of the
そこで、図18に示す再接続処理では、現在P2P接続に使用しているチャネルによるAPサーチを先に実行する形態としている。これにより、インフラ接続切断後にアクセスポイントが使用するチャネルが変更されていなければ、P2Pモードによる通信におけるパケットロスや送信パケット遅延をできるだけ発生させずにアクセスポイントを検出することができる。 Therefore, in the reconnection process shown in FIG. 18, the AP search by the channel currently used for P2P connection is executed first. As a result, if the channel used by the access point has not been changed after disconnection of the infrastructure, the access point can be detected without causing packet loss or transmission packet delay in communication in the P2P mode.
なお、上述した再接続処理はあくまで一例であり、本実施形態では、上述した再接続処理のほか、後述する図14に示すような、MFP300の状態に応じた種々の再接続処理が実行される。
Note that the reconnection process described above is merely an example, and in the present embodiment, in addition to the reconnection process described above, various reconnection processes depending on the state of the
図10に、CPU602およびNWサブCPU621が実行するソフトウェアのドメインブロック図を示す。なお、1000〜1030のソフトウェアはROM603に、1031〜1034のソフトウェアはWLANユニット616が備えるメモリに格納されているものとする。また、1000〜1019のソフトウェアはCPU602によって実行され、1020−1030のソフトウェアはNWサブCPU621によって実行されるものとする。また、1031〜1034のソフトウェアはWLANユニット616が備えるCPUによって実行されるものとする。メインシステム1000は、CPU602によって実行される、μItron規格準拠の組込OS1001、装置全体に関わる状態遷移をつかさどるシステムタスクが含まれるSYSドメイン1002、および各機能ドメインによって全体が構成される。
FIG. 10 shows a domain block diagram of software executed by the
NWサブシステム620は、メインシステム1000の一部であり、NWサブCPU621によって実行される組込OS1020とNWサブシステム内の状態遷移をつかさどるSYSドメイン1021、およびネットワーク関連の各機能ドメインで構成される。
The
CPU602が実行するI/Fドメイン1010には、アプリドメイン1005と連携した各種サービスプロトコル毎のインターフェース制御ブロック群が含まれる。WSD(WebServiceForDevice)1014は、WSDに準拠した印刷やスキャン、FAXを実行するためのソフトウェアである。IPP(InternetPrintingProtocol)1015は、IPPに準拠した印刷やスキャン、FAXを実行するためのソフトウェアである。I/FアプリMgrタスク1016は、WSD1014やIPP1015等の各サービスプロトコルに割り当てるHTTPタスク1017のリソース(本数)を管理することによって、各サービスの実行状態を把握するためのソフトウェアである。CPU602は、各サービスプロトコルによって、各サービスプロトコルに割り当てられたHTTPタスクを経由したソケットAPI1019によって、NWサブシステム620との間で双方向のCPU間データ通信を実施する。各ソケットのパラメータには、インターフェース情報としてインフラストラクチャーモード/WFDモード/ソフトウェアAPモードを示す接続モード情報が付加されている。
The I/
CPU602は、ソケットAPI経由の送受信パケットを、NWサブシステム620内のTCP/IPタスク1026やUDPタスク1027でハンドリングする。そして、CPU602は、ソケットAPI経由の送受信パケットを経路制御し、インターフェース情報に応じて、インフラコントローラ1024やP2Pコントローラ1025、データコントローラ1028に渡す。その後、CPU602は、ソケットAPI経由の送受信パケットを、WLANチップコントローラ1029によって、パケットデータと802.11等の通信規格に沿ったデータにフォーマット変換する。そして最後に、CPU602は、変換後のデータを、USBのパケットサイズである512バイト単位に分割し、USBHOSTドライバタスク1030によるDMA制御によって、WLANユニット616に到達させる。
The
WLANユニット内には、ユニット間データ送受信を担うUSBモジュール1031、802.11規格に準拠した制御用の2つのモジュール(データ制御モジュール1032、波形制御モジュール1033)が存在する。また、WLANユニット内には、単一無線アンテナの送受信のためのWLANRFモジュール1034が存在する。
In the WLAN unit, there are two modules (
また、CPU602及びNWサブシステム620が共通して実行するソフトウェアとして、パケットデータ送受信用のソケットAPIや、コントロールAPI1018が存在する。コントロールAPI1018は、NWサブシステム内の各制御モジュールの設定変更や実行コマンドの指示、およびネットワーク状態変化の通知等を行うためのAPIである。I/Fドメイン内の、I/F接続Mgr1011・同時動作接続シーケンサ1012・APサーチハンドラ1013からは、コントロールAPI経由で、I/Fドメイン内の状態や周辺ドメインの状態に応じたコマンドが発行される。
Further, as software commonly executed by the
NWサブCPU621は、NWサブMgr1022によって、I/Fドメイン内の各要素から発行されたコマンドをハンドリングする。NWサブCPU621は、ハンドリングするコマンドの種類に応じて、インフラコントローラ1024やP2Pコントローラ1025を用いて、インフラストラクチャモードやP2Pモードの起動・終了制御と設定変更指示を行う。また、本実施形態では、MFP300が同時動作しており、装置状態や周辺ドメイン状態が考慮された接続処理が必要な場合には、同時動作接続シーケンサ1012によってCPU602単独で接続を実行する。一方、本実施形態では、MFP300が同時動作しておらず、装置状態や周辺ドメイン状態が考慮された接続処理が必要ない場合には、NWサブ接続シーケンサ1023によってNWサブCPU621単独で接続を実行する。例えば、ユーザ操作(本体UI操作等)に起因しない再接続処理が行われる場合は、NWサブ接続シーケンサ1023により、バックグランドでAPサーチが実行され続ける。なお、ユーザ操作に起因しない再接続処理が行われる場合とは、具体的には例えば、インフラストラクチャモードで動作するMFP300とアクセスポイントとの接続が切断された場合である。また、このとき、NWサブ接続シーケンサ1023により、MFP300が使用可能な全てのチャネルによってAPサーチが実行される。このような構成とすることで、APが使用するチャネルが変更された場合にも、MFP300とAPとを再接続させることが可能である。
The
本実施形態では、種々のコマンドがCPU602とNWサブCPU621間で通信される。ここで、CPU602とNWサブCPU621間のCPU間通信について説明する。
In this embodiment, various commands are communicated between the
図12は、CPU602がコントロールAPIタスクによって実行する処理を示すフローチャートを示す図である。コントロールAPIタスクは、CPU602とNWサブCPU621間のCPU間通信を実行するタスクであり、コマンド送信と状態通知イベント受信(NWサブCPU側からみればコマンド受信と状態通知イベント配信)の責務を担っている。コマンド送信におけるコマンドとパラメータ、イベント受信におけるイベントと通知情報は、双方のCPUからアクセス可能なRAM604の一部に確保された共有RAMとCPU間割込信号とによって、イベントドリブン形式でやり取りされる。なお、本フローチャートが示す処理は、例えば、ROM603等のメモリに格納されたコントロールAPI1018に対応するプログラムをCPU602がRAM604に読み出して実行することにより実現される。
FIG. 12 is a diagram showing a flowchart showing the processing executed by the
まずCPU602は、I/Fドメイン1010内の各タスクからコマンドメッセージが発行された時、又はNWサブCPU621からの状態通知イベント割込みが発生した時にWAITタスクから復帰して、コントロールAPIタスクを実行する(S1200)。その後、CPU602は、NWサブCPU621に送信するコマンドがあるか否かを判定する(S1201)。例えば、CPU602は、後述するS1105・S1112・S1121・S1126等でコマンドをNWサブCPU621に送信する場合には、送信するコマンドとパラメータを共有RAMにセットする(S1202)。その後、CPU602は、NWサブCPU621にセットしたコマンドを送信する(S1203)。NWサブCPU621は、送信された各コマンドを、NWサブMgr1022によって受け付けた後、NWサブ接続シーケンサ1023・インフラコントローラ1024・P2Pコントローラ1025の各タスクに配信し、コマンドに応じた処理を実行する。
First, the
一方、CPU602は、NWサブCPU621に送信するコマンドがない場合には、NWサブCPU621から受け付けた通知に応じて各処理を実行する。
On the other hand, when there is no command to be transmitted to the
後述するS1105やS1121において送信されるインフラ接続コマンドに対応して、NWサブCPU621がインフラ接続処理を実行した場合、CPU602は、インフラ接続完了通知をNWサブCPU621から受信する(S1210)。CPU602は、共有RAM経由で情報を取得し(S1270)、取得情報に含まれる、インフラ接続に成功したチャネルの番号や割り当てられたIPアドレス等を保存する(S1211)。その後、CPU602は、S1106やS1122で参照されるインフラ接続完了イベントを発生させる(S1212)。
When the
また、MFP300がアクセスポイント400を介して通信相手装置とインフラ接続している状態で、MFP300とアクセスポイント400との接続が切断される場合がある。この場合、NWサブCPU621からCPU602へ、インフラ接続が切断されたことを示す切断イベントが通知される(S1220)。その後、CPU602は、切断イベントの通知において、NWサブCPU621から通知される情報がある場合には、共有RAM経由で情報を取得する(S1270)。なおこのとき、NWサブCPU621から通知される情報がない場合には、S1270の処理は省略される。その後、CPU602は、後述の再接続処理において参照されるインフラ再接続Msegを発行する(S1221)。
In addition, the connection between the
また、後述するS1112やS1126において送信されるP2P起動コマンドに対応して、NWサブCPU621は、P2Pコントローラ1025を起動し、MFP300をソフトウェアAPとして動作させる。これにより、ソフトウェアAPとして動作するMFP300の識別子となるSSID名(プリンタSSID名)を含むビーコン信号がWLANユニット616から周期的にブロードキャストされる。そして、NWサブCPU621は、ビーコンを検出した端末装置200からの機器探索リクエスト(ProbeRequest)を受け付けた場合、P2Pコントローラ1025によって機器探索応答(ProbeResponse)を端末装置200に送信する。機器探索応答を受け付けた端末装置200は、ソフトウェアAPとして動作しているMFP300への接続要求を送信する。NWサブCPU621は、接続要求を受信し、パスワード認証が成功した場合、端末装置200へ接続許可を送信することで、MFP300と端末装置200とのP2P接続が確立することになる。
Further, in response to the P2P activation command transmitted in S1112 or S1126 described later, the
本実施形態では、MFP300は、MFP300がGroupOwnerなるP2P接続において、最大5台までの端末装置200との接続を許可している。P2P接続中の端末装置の台数(P2P接続台数)の管理のために、CPU602は、P2P接続時はP2Pデバイス接続通知を受信する(S1230)。そして、MFP300は、P2P接続の切断(端末装置200の離脱)時はP2Pデバイス切断通知(S1240)をNWサブCPU621から受信する。その後、CPU602は、NWサブCPU621から通知される情報がある場合には、共有RAM経由で情報を取得する(S1270)。なおこのとき、NWサブCPU621から通知される情報がない場合には、S1270の処理は省略される。そして、CPU602は、受け付けた通知に応じて、RAM等のメモリに保存されているP2P接続台数の値を加減し(S1231・S1241)、接続Msegや切断Msegを発行する(S1232・S1242)。
In the present embodiment, the
CPU602は、接続Msegを発行すると、I/FアプリMgrタスクによって、アプリドメイン1005および各サービスプロトコル1014・1015等と連携し、物理層での接続に続くアプリケーション・サービス層での接続処理を実施する(不図示)。
When the
また、CPU602は、切断Msegを発行すると、I/FアプリMgrタスクによって、P2P接続が解除された端末装置200に割り当てられていたHTTPリソースの解放処理を実施する(不図示)。P2P接続台数情報やHTTPのリソース情報は、後述する、同時動作におけるインフラ切断後の再接続処理で参照されることになる。
Further, when the
また、APサーチの結果、WLANユニット616がアクセスポイント400から機器探索応答(ProbeResponse)を受信した場合、CPU602は、APサーチ完了通知をNWサブCPU621から受信する(S1250)。その後、CPU602は、共有RAM経由で情報を取得する(S1270)。そしてCPU602は、取得した情報に含まれる、検出したアクセスポイント400のMACアドレス及び検出に成功した通信チャネルの番号を内部RAMに保存し(S1251)、同時接続シーケンサタスクにAPサーチ完了イベントを発行する。(S1252)
また、APサーチの結果、WLANユニット616がアクセスポイント400から接続許可応答のレスポンスを受信した場合、CPU602は、AP JOIN完了通知をNWサブCPU621から受信する(S1260)。その後、CPU602は、共有RAM経由で情報を取得する(S1270)。そしてCPU602は、取得した情報に含まれる、アクセスポイント400から割り振られたIPアドレスおよびインフラ接続に利用する通信チャネル番号を内部RAMに保存し(S1261)、AP JOIN完了イベントを発行する(S1262)。
When the
When the
続いて、ネットワークの接続・切断・再接続のシーケンスを説明する。 Next, a sequence of network connection/disconnection/reconnection will be described.
図11は、CPU602がI/F接続Mgr1011によって実行する処理を示すフローチャートである。無線ネットワークの接続処理を中心に、パワーオン時の処理・切断再接続時の処理・パラメータ変更時の処理とを、順に説明していく。なお、本フローチャートが示す処理は、例えば、ROM603等のメモリに格納されたI/F接続Mgr1011に対応するプログラムをCPU602がRAM604に読み出して実行することにより実現される。
FIG. 11 is a flowchart showing the processing executed by the
[パワーオン(電源オン)時の処理]
以下、MFP300の電源がオフ状態からオン状態に復帰した際に実行される接続処理について説明する。以下の処理は、MFP300が電源オフ状態になる前のMFP300の接続状態を復帰させる処理である。
[Processing at power-on]
Hereinafter, a connection process executed when the power of the
MFP300のパワーオン時には、パワーオンMsegが、SYSドメインから各ドメインに発行される。CPU602は、I/Fドメインに発行されたパワーオンMsegを、接続Mgr1011によって処理する(S1101)。
When the
その後、CPU602は、MFP300内の不揮発性メモリ(不図示)に保持されているユーザ設定値を参照し、MFP300が同時動作モードか否かを判定する(S1102)。
After that, the
CPU602は、MFP300が同時動作モードでないと判定した場合は、MFP300がインフラストラクチャモードか否かを判定する(S1103)。CPU602は、MFP300がインフラストラクチャモードであると判定した場合、インフラ接続を確立するための接続処理を実行する。具体的には、まずCPU602は、不揮発性メモリに保存されている、インフラ接続を実行するためのネットワークパラメータ(SSID・認証方法・パスワード等)を取得する(S1104)。このネットワークパラメータは、前回のパワーオフ時にインフラ接続していたアクセスポイントと接続するためのパラメータに相当する。そして、CPU602は、コントロールAPIタスクで取得したパラメータをコマンド引数としたインフラ接続コマンドを、コントロールAPIタスク経由でNWサブCPU621に発行する(S1105)。なお、インフラ接続コマンドとは、取得したパラメータによってインフラ接続を再度確立させる再接続処理をNWサブCPU621に実行させるためのコマンドである。すなわち、CPU602は、パワーオン時にMFP300がインフラストラクチャモードである場合、再接続処理を、NWサブCPU621に実行させることを特定する。
When determining that the
インフラ接続コマンドを受け付けたNWサブCPU621は、NWサブ接続シーケンサ1023によって、アクセスポイントの検索処理及び検出したアクセスポイントとの接続処理から構成されるシーケンス処理を実行する。具体的には、NWサブCPU621は、図18に示す再接続処理におけるS1804〜S1806、S1808の処理を実行する。
Upon receiving the infrastructure connection command, the
続いて、CPU602は、NWサブCPU621が実行する再接続処理により、アクセスポイントとの接続が完了したか否かを判定する(S1106)。具体的には、CPU602は、コントロールAPIタスク経由のインフラ接続完了イベントが発生したか否かを判定する。CPU602は、アクセスポイントとの接続が完了していないと判定した場合、S1106の処理を再度実行する。一方、CPU602は、アクセスポイントとの接続が完了したと判定した場合、接続に成功したチャネルの番号や、接続完了後にアクセスポイントからMFP300に割り振られるIPアドレス等の接続情報を取得し(S1107)、不揮発性メモリに保存する。
Subsequently, the
このように、CPU602は、パワーオン時にMFP300がインフラストラクチャモードである場合は、パワーオフ時に切断されたインフラ接続を、パワーオン時に再開することができる。
As described above, when the
また、CPU602は、S1103において、MFP300がインフラストラクチャモードでないと判定した場合(MFP300がP2Pモードの場合)は、P2Pモード時に使用されるMFP300内のアクセスポイントを有効にする。具体的にはまず、CPU602は、MFP300内のアクセスポイント経由での通信(P2Pモードによる通信)に利用するチャネルを決定する(S1110)。なお、利用されるチャネルの番号は、デフォルト値が設定されているものとし、ここでは3番のチャネルが利用されるものとする。なお、この番号のチャネルに限定されず、任意の番号のチャネルが利用されて良い。
If the
続いて、CPU602は、MFP300内のアクセスポイントとの接続に利用されるネットワークパラメータ(SSID、パスワード、利用されるチャネル番号等)を取得する(S1111)。そして、CPU602は、取得したパラメータをコマンド引数としたAP起動コマンドを、コントロールAPIタスク経由でNWサブCPU621に発行する(S1112)。なお、AP起動コマンドとは、取得したパラメータによって接続可能なソフトAPを起動させる処理をNWサブCPU621に実行させるためのコマンドである。
Subsequently, the
AP起動コマンドを受け付けたNWサブCPU621は、AP起動コマンドに含まれるネットワークパラメータを参照し、P2P接続に利用するチャネル番号(3番)を特定する。そして、NWサブCPU621は、MFP300内のアクセスポイントを有効化し、3番のチャネルを用いて、MFP300内のアクセスポイントのSSID等が含まれるビーコン信号を周期的に発信する。その後、NWサブCPU621は、端末装置200からの機器探索リクエストを待ち、機器探索リクエストを受信した場合は、機器探索応答を端末装置200に送信して、MFP300と端末装置200とのP2P接続を確立する。
The
このように、CPU602は、パワーオン時にMFP300がP2Pモードである場合は、パワーオフ時に切断されたP2P接続を、パワーオン時に再開することができる。
As described above, when the
また、上述したように、パワーオン時にMFP300がインフラストラクチャモードである場合、及びパワーオン時にMFP300がP2Pモードである場合には、再接続処理をNWサブCPU621が実行する。このような形態とすることで、再接続処理にかかる負荷がCPU602にかかることを抑制できる。
Further, as described above, when the
一方、CPU602は、S1102において、MFP300が同時動作モードであると判定した場合、同時動作を実行するために、インフラ接続の確立及びMFP300内のアクセスポイントの有効化を行う。具体的には、CPU602は、S1120〜S1123において、S1104〜S1107と同様の処理を行い、MFP300とアクセスポイントとの接続を確立する。その後、CPU602は、S1124〜S1126において、S1110〜S1112と同様の処理を行い、MFP300内のアクセスポイントの有効化を行う。なお、S1124において、CPU602は、アクセスポイントとの接続に成功したチャネルの番号を特定し、特定した番号のチャネルを、MFP300内のアクセスポイント経由での通信(P2Pモードによる通信)に利用するチャネルとして決定する。そして、CPU602は、S1111及びS1112と同様の処理を実行することで(S1125、S1126)、S1124において決定したチャネルで接続可能なMFP300内のアクセスポイントが起動する。
On the other hand, when the
このように、CPU602は、パワーオン時にMFP300が同時動作モードである場合は、パワーオフ時に切断されたP2P接続及びインフラ接続を、パワーオン時に再開することができる。
In this manner, the
また、上述したように、パワーオン時にMFP300が同時動作モードである場合には、再接続処理をNWサブCPU621が実行する。これは、パワーオン時には、インフラ接続とP2P接続が共に切断された状態であるため、各接続によって通信されるデータの処理等を担うアプリケーションが実行されておらず、MFP300本体の状態に応じた再接続処理が実行される必要がないためである。再接続処理をNWサブCPU621が実行することにより、再接続処理にかかる負荷がCPU602にかかることを抑制できる。
Further, as described above, when
以上で、パワーオン処理の無線ネットワーク接続処理に関して説明した。パワーオン時は、CPU602は、エンジンドメインやUIドメイン等を用いた装置全体の起動処理を行う必要がある。そのためパワーオン時の再接続処理をCPU602が実行する形態では、接続処理シーケンスが複雑化するだけでなく、装置全体の起動処理にかけられるリソース不足により起動処理に時間がかかり、ユーザーの利便性が損なわれてしまう。そこで、本実施形態においては、パワーオン時の再接続処理をNWサブCPU621が実行することで、無線接続シーケンスが負荷分散され、CPU602は、スムーズに起動処理を遂行することができる。
The wireless network connection process of the power-on process has been described above. At the time of power-on, the
なお、本実施形態は、後述のLAN設定変更処理やインフラ再接続処理においては、MFP300が同時動作モードの場合には、MFP300の装置状態に応じた再接続処理が実行される。そのため、MFP300の装置状態を速やかに取得可能なCPU602が再接続処理を実行する。一方、パワーオン処理においては、MFP300が同時動作モードの場合にもNWサブCPU621が再接続処理を実行する。これは、パワーオン処理においては、MFP300が同時動作モードであっても、P2P接続とインフラ接続共に切断されている状態であるため、P2P接続とインフラ接続で共通のチャネルを利用していることによる再接続時の問題が発生しないためである。そのため、CPU602にかかる負荷を軽減することを優先し、NWサブCPU621に再接続処理を実行させる。
In the present embodiment, in the LAN setting change process and the infrastructure reconnection process described later, when the
[LAN設定変更処理]
以下、図4(c)のLAN設定変更画面に対する入力のために操作表示部610をユーザが操作することで、ユーザからLAN設定の変更が指示された場合に実行される接続処理について説明する。なお、指示されるLAN設定変更は、例えば、インフラストラクチャモードの有効/無効設定や、WFD機能の有効/無効設定、MFP300がP2Pモード時に有効なソフトAPの接続情報(SSIDやパスワード)の変更設定、ネゴシエーション設定等である。他にも、例えば、インフラストラクチャモードによる通信に利用される暗号方式の設定等が指示されても良い。
[LAN setting change processing]
Hereinafter, the connection process executed when the user instructs the LAN setting change by operating the
ユーザからLAN設定の変更が指示された場合、UIドメイン1004からI/F接続Mgr1011にLAN設定変更Msegが発行されるため、CPU602は、LAN設定変更処理を開始する(S1130)。
When the user instructs to change the LAN setting, the
続いて、CPU602は、MFP300内の不揮発性メモリ(不図示)に保持されているユーザ設定値を参照し、MFP300が同時動作モードか否かを判定する(S1131)。CPU602は、MFP300が同時動作モードでないと判定した場合は、コントロールAPIタスク経由でNWサブCPU621にLAN設定変更コマンドを発行する(S1132)。なお、LAN設定変更コマンドとは、ユーザから指示されたLAN設定の変更をNWサブCPU621に実行させるためのコマンドである。
Subsequently, the
LAN設定変更コマンドを受け付けたNWサブCPU621は、ユーザから指示されたLAN設定の変更内容に応じて、インフラコントローラ1024もしくはP2Pコントローラ1025に実行処理メッセージを受け渡す。これにより、NWサブCPU621は、ユーザから指示されたLAN設定の変更内容を適用する処理を実行する。
Upon receiving the LAN setting change command, the
一方、CPU602は、MFP300が同時動作モードであると判定した場合は、後述するS1142以降の処理を実行する。
On the other hand, when the
詳細は後述するが、MFP300が同時動作モードであれば、CPU602がLAN設定変更処理を実行し、MFP300が同時動作モードでなければ、NWサブCPU621がLAN設定変更処理を実行する。LAN設定変更処理には、例えば、通信帯域の変更や通信に利用されるチャネルの変更等が伴う場合がある。また、同時動作モードでは、MFP300は、インフラストラクチャモードによる通信と、P2Pモードによる通信とを、同じ通信帯域や同じチャネルによって実行している。そのため、MFP300が同時動作モードで動作している状態におけるLAN設定変更処理においては、パラメータの整合性や、パラメータ変更のタイミングと装置動作状態との整合性の確認が必要になる場合がある。そこで、本実施形態では、MFP300の装置状態やMFP300で実行中のアプリの実行状態まできめ細かく把握することができるCPU602が、MFP300が同時動作モードで動作している状態におけるLAN設定変更処理を実行するものとする。
Although details will be described later, if the
[インフラ再接続処理]
以下、MFP300がアクセスポイント400を介して通信相手装置とインフラ接続している状態で、MFP300とアクセスポイント400との接続が切断された(インフラ接続が切断された)場合に実行される再接続処理について説明する。
[Infrastructure reconnection processing]
Hereinafter, reconnection processing executed when the connection between the
MFP300とアクセスポイント400との接続が切断された場合、NWサブCPU621が、インフラ接続の切断を検知する。その後、NWサブCPU621からCPU602へ、インフラ接続が切断されたことを示す切断イベントが通知される。CPU602は、切断イベントを受信すると、コントロールAPI1018によってイベント通知をハンドリングする(S1220)。これにより、インフラ再接続Msegが発行されるため(S1221)、CPU602は、S1140以降の再接続処理が実行される。
When the connection between the
CPU602は、インフラ再接続Msegが発行されたことに応じて、インフラ接続を再開することを試みる(S1140)。まず、CPU602は、MFP300内の不揮発性メモリ(不図示)に保持されているユーザ設定値を参照し、MFP300が同時動作モードか否かを判定する(S1141)。
The
CPU602は、MFP300が同時動作モードでないと判定した場合は、パワーオン時の処理と同様に、S1104以降の処理を実行する。これにより、MFP300が同時動作モードでない場合には、NWサブCPU621によって、インフラ接続の再接続処理が実行される。
If the
一方、CPU602は、MFP300が同時動作モードであると判定した場合は、S1142以降の処理を実行することで、インフラ接続の再接続処理を実行する。すなわち、MFP300が同時動作モードでない状態でMFP300とアクセスポイント400との接続が切断された場合は、NWサブCPU621によって再接続処理が実行される。そして、MFP300が同時動作モードである状態でMFP300とアクセスポイント400との接続が切断された場合は、CPU602によって再接続処理が実行される。
On the other hand, when the
CPU602は、まず、MFP300の状態情報を参照する(S1142)。具体的には、CPU602は、I/FアプリMgrタスクによって管理しているP2Pデバイス(現在MFP300とP2P接続中の装置)の台数や同時動作モード時に実行されるアプリ・サービスの利用状況(HTTPリソースの利用本数等)を参照する。
The
続いて、CPU602は、参照したMFP300の状態情報に応じて、いずれのTypeの接続シーケンスを実行するかを特定する(S1143)。なお、LAN設定変更処理におけるS1143の処理であれば、ユーザから指示されたLAN設定の変更内容も、接続シーケンスの特定において参照される。
Subsequently, the
続いて、CPU602は、不揮発性メモリに保存されている、インフラ接続を実行するためのネットワークパラメータ(SSID・認証方法・パスワード等)を取得する(S1144)。このネットワークパラメータは、再接続対象のアクセスポイント(アクセスポイント400)と接続するためのパラメータに相当する。なお、LAN設定変更処理におけるS1144の処理であれば、ネットワークパラメータは、ユーザによって指示されたアクセスポイントと接続するためのパラメータに相当する。
Subsequently, the
その後、CPU602は、同時動作接続シーケンサタスクを起動し、取得したパラメータ及び特定したTypeの接続シーケンスに基づいてインフラ接続処理を実行する(S1145)。この処理の詳細は後述する。
After that, the
これによって、I/Fの種類ごとのアプリの動作状況が加味されたうえでの再接続処理が実行されることになる。LAN設定変更処理においても、設定内容によっては、ユーザー操作(指示)に対するフィードバックをいち早く返却することが可能であり、ユースケースに応じたきめ細かな対応が可能になる。 As a result, the reconnection process is executed after considering the operation status of the application for each I/F type. Even in the LAN setting change process, depending on the setting contents, it is possible to promptly return the feedback for the user operation (instruction), and it is possible to make a detailed response according to the use case.
図13は、CPU602によって実行されるインフラ接続処理を示すフローチャートである。なお、本フローチャートが示す処理は、ROM603等のメモリに格納された同時動作接続シーケンサ1012に対応するプログラムをCPU602がRAM604に読み出して実行することにより実現される。なお、本フローチャートに示す処理は、S1145で、同時動作接続シーケンサタスクが起動された後の処理に対応する。
FIG. 13 is a flowchart showing the infrastructure connection processing executed by the
以下、CPU602は、S1143で特定したTypeの接続シーケンスを実行する。なお、Type1〜Type3は、LAN設定変更処理において、ユーザから指示された設定変更内容に応じて特定される接続シーケンスである。また、Type4は、インフラ再接続処理において特定される接続シーケンスである。なお、本説明では、接続シーケンスとして4つのTypeを示したが、ユーザから指示された設定変更内容や、インフラ再接続処理のMFP300の状態等に応じて、その他のTypeの接続シーケンスが用意されても良い。
Thereafter, the
CPU602は、ユーザから指示された設定変更内容が、接続処理を伴わないパラメータ変更設定のみの場合、S1143でType1の接続シーケンスを特定するため、S1310に進む。接続処理を伴わないパラメータ変更設定とはネゴシエーション設定や、インフラストラクチャモードによる通信に利用される暗号方式の設定等である。そして、CPU602は、当該パラメータ変更に対応するNWサブシステム側のコントローラに、コントロールAPI経由で、パラメータセットコマンドを発行する(S1131)。これにより、NWサブCPU621が、各コントローラを用いて、ユーザから指示された設定変更内容を適用する処理を行う。
When the setting change content instructed by the user is only the parameter change setting that does not involve connection processing, the
CPU602は、NWサブシステム側のコントローラの再起動処理が必要な場合、より具体的にはP2Pコントローラの再起動が必要な場合、S1143でType2の接続シーケンスを特定するため、S1320に進む。P2Pコントローラの再起動が必要な場合とは例えば、ユーザから指示された設定変更内容が、MFP300がP2Pモード時に有効なソフトAPの接続情報(SSIDやパスワード等)の変更設定であった場合に相当する。CPU602は、NWサブCPU621に、P2PコントローラSTOPコマンドを発行し(S1321)、MFP300がソフトウェアAPとして動作することを停止させた後、NWサブCPU621にパラメータセットコマンドを発行する(S1322)。パラメータセットコマンドは、ユーザから指示された設定変更内容を適用するためのコマンドである。これにより、例えば、MFP300がP2Pモード時に有効なソフトAPのSSID名やパスワードが変更される。その後、CPU602は、NWサブCPU621に、P2P起動コマンドを発行して(S1323)、MFP300がソフトウェアAPとして動作することを再開させる。
When the
CPU602は、ユーザから指示された設定変更内容が、アクセスポイント400のパスワードが変更されたことにより切断されたインフラ接続の再接続処理である場合、S1143でType3の接続シーケンスを特定するため、S1330に進む。なお、このとき、インフラ接続の切断要因はパスワードの変更であり、インフラ接続に利用される通信チャネル番号は変更されていない。そのため、インフラ接続を再開してもP2Pモードによる通信で使用するチャネルは変更されないため、CPU602は、P2Pモードによる通信を停止する必要はない。そこで、CPU602は、NWサブCPU621にインフラコントローラSTOPコマンドを発行することで、インフラコントローラの動作のみを停止する(S1331)。その後、CPU602は、切断されたインフラ接続で利用していた通信チャネル(現在P2P接続に利用している通信チャネル)によって、APサーチを実行することを特定する(S1332)。なおこのとき、APサーチの周期は200msec、リトライ限度回数は3回とする。CPU602は、APサーチを実行する場合、APサーチハンドラを起動し、APサーチに利用するチャネルの番号の情報を含むAPサーチコマンドを、コントロールAPIを経由してNWサブシステム側のインフラコントローラ1024に発行する。これにより、APサーチが実行され、切断されたインフラ接続で利用していた通信チャネルで機器探索リクエスト(ProbeRequest)が、WLANユニット616から無線出力される。そして、ProbeRequestを受けたアクセスポイント400は、機器探索応答(ProbeResponse)を無線出力する。
If the setting change content instructed by the user is the reconnection process of the infrastructure connection disconnected due to the change of the password of the
CPU602は、所定時間(50msec)のWaitタスク中(S1334)に、S1250〜S1252の処理が実行されてAPサーチ完了イベントが発行されるのを待つ。CPU602は、Wait後、アクセスポイント400を検出したか否かを判定する。具体的には、CPU602は、Waitタスク中に、APサーチ完了イベントが発行されたか否かを判定する(S1335)。CPU602は、アクセスポイント400を検出していないと判定した場合、再度S1334にてWaitする。一方、CPU602は、アクセスポイント400を検出したと判定した場合、検出したアクセスポイント400のSSID名・パスワードを引数にして、NWサブCPU621にAPJOINコマンドを発行する(S1336)。NWサブCPU621によってAPJOINコマンドが受信されると、APサーチで検出されたアクセスポイント400に対する機器接続リクエストが、WLANユニット616から無線出力される。無線出力されたデータの中には、認証方法やパスワードが含まれており、アクセスポイント400は、受信した情報が、内部に保持する認証方法およびパスワードと一致するか否かの判定を行って、一致した場合には、接続許可応答のレスポンスを無線出力する。
The
CPU602は、S1260〜S1262の処理が実行されてAP JOIN完了イベントが発行されたか否かを判定し、AP JOIN完了イベントが発行されたと判定した場合は、APサーチハンドラの起動を終了する(S1338)。これにより、CPU602は、同時動作接続シーケンサタスク処理を完了する。
The
CPU602は、インフラ再接続処理においてS1143の処理を実行する場合、Type4の接続シーケンスを特定するため、S1310に進む。
When executing the processing of S1143 in the infrastructure reconnection processing, the
切断された接続はインフラ接続のため、CPU602は、まずインフラコントローラ1024の動作を停止するためのコマンドをNWサブCPU621に送信する(S1341)。その後、CPU602は、S1142で取得したMFP300の状態情報に応じてAPサーチの実行パターンを決定する(S1342)。本実施形態では、APサーチの実行パターンとして、図14に示すような4つパターンが用意されるものとする。
Since the disconnected connection is an infrastructure connection, the
図14に示すAPサーチシーケンステーブルは、APサーチ時に参照されるテーブルである。本テーブルでは、各実行パターンにおけるAPサーチのシーケンスナンバー(SeqNo)・サーチタイプ(Type)・サーチ周期(周期)・リトライ限度回数(Retry)の値がそれぞれ定義されている。シーケンスナンバーは、各実行パターンにおける各APサーチの順番を示す。CPU602は、シーケンスナンバーの番号順に、各番号に対応する各APサーチを実行する。サーチタイプ(Type)は、各APサーチのTypeを示す。サーチタイプが固定の場合、CPU602は、RAM604に保存されている、切断されたインフラ接続において利用していた通信チャネル(現在P2P接続に利用している通信チャネル)によってAPサーチを実行する。サーチタイプがALLの場合、CPU602は、MFP300が使用可能な全ての通信チャネルを番号の小さいチャネルから順に用いてAPサーチを実行する。なお、MFP300は、各チャネルを使用したAPサーチにおいて、装置探索リクエストコマンドの送信を複数回実行しても良い。また、このとき、CPU602は、MFP300が使用可能な全ての通信チャネルを使用せずとも良く、切断されたインフラ接続において利用していた通信チャネル以外の通信チャネルを少なくとも使用すれば良い。また、このとき利用されるチャネルの順番は特に限定されず、例えば、CPU602は、まず初めに現在P2P接続に使用しているチャネルを使用してAPサーチを実行した後、第1チャネルから順に使用してAPサーチを実行してもよい。また、CPU602は、2.4GHz(1〜13チャネル)と5GHz(36〜140チャネル)の周波数帯を使う場合、どちらかの周波数帯(例えば5GHz)に対応するチャネルを優先して用いてAPサーチを開始してもよい。サーチ周期(周期)は、各シーケンスナンバーに対応するAPサーチを実行する周期を示す。リトライ限度回数(Retry)は、アクセスポイントを発見できなかった場合に各シーケンスナンバーに対応するAPサーチをリトライする回数を示す。なお、リトライ回数がForeverの場合、CPU602は、アクセスポイントを発見する等などしてAPサーチハンドラが終了されるまで、対応するシーケンスナンバーのAPサーチのリトライを繰り返す。また、リトライ回数がP2PBusyの場合は、CPU602は、P2Pモードによる通信が終了するまで、対応するシーケンスナンバーのAPサーチのリトライを繰り返し、その後次のシーケンスナンバーのAPサーチを行う。
The AP search sequence table shown in FIG. 14 is a table referred to during AP search. In this table, AP search sequence number (SeqNo), search type (Type), search cycle (cycle), and retry limit number of times (Retry) are defined for each execution pattern. The sequence number indicates the order of each AP search in each execution pattern. The
パターン(a)は、アクセスポイント400と接続するためのパスワードが変更されたことが切断要因であるインフラ接続の再接続処理で選択される実行パターンである。CPU602は、パターン(a)を選択した場合、切断されたインフラ接続において利用していた通信チャネル(現在P2P接続に利用している通信チャネル)によって、200msecの周期で最大3回のAPサーチを実行する。サーチタイプが固定のAPサーチのみが実行されるのは、パスワード変更がインフラ接続の切断要因である場合には、アクセスポイント400が使用するチャネルは変更されていない可能性が高いためである。また、アクセスポイント400が使用するチャネルは変更されていない場合は、サーチタイプが固定のAPサーチによってすぐにアクセスポイントを検出できる。そのため、CPU602は、200msecという短い周期且つ少ないリトライ限度回数でAPサーチを実行する。
The pattern (a) is an execution pattern selected in the reconnection process of the infrastructure connection whose disconnection factor is that the password for connecting to the
パターン(b)は、MFP300が同時動作モードで且つP2Pモードによる通信を実行していない(P2P通信状態が休止(Idle)状態)の場合の再接続処理で選択される実行パターンである。すなわち、パターン(b)は、P2Pデバイスの接続台数が0台の場合の再接続処理で選択される実行パターンである。CPU602は、パターン(b)を選択した場合、まず、切断されたインフラ接続において利用していた通信チャネル(現在P2P接続に利用している通信チャネル)によって、10secの周期で最大3回のAPサーチを実行する。その後、シーケンスナンバーの1のAPサーチでアクセスポイントを検出できなかった場合は、CPU602は、MFP300が使用可能な全ての通信チャネルを順に用いて、10secの周期で、アクセスポイントを検出するまでAPサーチを実行する。サーチタイプが固定のAPサーチ後に、サーチタイプがALLのAPサーチを実行するのは、インフラ接続切断後にアクセスポイントが使用するチャネルが変更されていても、アクセスポイントを検出できるようにするためである。また、CPU602は、サーチタイプが固定のAPサーチを先に実行する。このような形態とすることで、インフラ接続切断後にアクセスポイントが使用するチャネルが変更されていなければ、P2Pモードによる通信におけるパケットロスや送信パケット遅延等をできるだけ発生させずにアクセスポイントを検出することができる。
The pattern (b) is an execution pattern selected in the reconnection process when the
パターン(c)は、MFP300が同時動作モードで且つP2Pモードによる通信を実行している(P2P通信状態が動作(Busy)状態)の場合の再接続処理で選択される実行パターンである。CPU602は、パターン(c)を選択した場合、まず、切断されたインフラ接続において利用していた通信チャネル(現在P2P接続に利用している通信チャネル)によって、10secの周期で、P2Pモードによる通信が終了するまでAPサーチを実行する。その後、シーケンスナンバーの1のAPサーチでアクセスポイントを検出できなかった場合は、CPU602は、MFP300が使用可能な全ての通信チャネルを順に用いて、2secの周期で、最大3回のAPサーチを実行する。その後、シーケンスナンバーの2のAPサーチでアクセスポイントを検出できなかった場合は、CPU602は、MFP300が使用可能な全ての通信チャネルを順に用いて、30secの周期で、アクセスポイントを検出するまでAPサーチを実行する。P2Pモードによる通信を実行している間は、現在P2P接続に利用している通信チャネル以外のチャネルを使用すると、パケットロスや送信パケット遅延の課題が発生しやすい。そのため、パターン(c)では、P2Pモードによる通信が終了するまでは、サーチタイプが固定のAPサーチを実行する。また、シーケンスナンバーの2のAPサーチの周期より、シーケンスナンバーの3のAPサーチの周期を遅くする。これにより、アクセスポイントが検出できない状態にもかかわらず、サーチタイプがALLのAPサーチが短い周期で実行されることに起因してパケットロスや送信パケット遅延が頻繁に発生してしまうことを抑制できる。
The pattern (c) is an execution pattern selected in the reconnection process when the
パターン(d)は、MFP300が同時動作モードで且つインフラストラクチャモードによる通信を実行している(インフラ通信状態が動作(Busy)状態)の場合の再接続処理で選択される実行パターンである。例えば、インフラストラクチャモードによる通信を実行している最中に、電波の干渉等によってインフラ接続が切断されるケースがある。インフラ接続が切断されているのに、インフラ通信状態が動作(Busy)状態であケースとは、このようなケースに相当する。このようなケースでは、インフラストラクチャモードによる通信を速やかに復帰させる必要がある。そのため、パターン(d)では、パターン(b)やパターン(c)と比較して短い周期で各APサーチを実行する。
Pattern (d) is an execution pattern selected in the reconnection process when the
なお、例えば、MFP300の状態として、P2Pデバイスが接続してはいるがP2Pモードによる通信が実行されていない状態や、P2Pモードによる通信が実行されていても通信周期が数十秒周期で間欠的に行われる状態も考えられる。そのため、実行パターンは、上述の4パターンに限定されるわけではなく、ユースケースに応じてより細かなパターンが用意されても良い。また、各パターンのAPサーチにおけるリトライ周期やリトライ回数は、上述した関係性が各シーケンスナンバーのAPサーチ間で満たされていれば、上述した値に限定されない。
Note that, for example, as the state of the
上述のように、本実施形態では、MFP300が同時動作モードで動作する状態でインフラ接続が切断された場合は、MFP300の通信状態や接続状態に応じて異なる再接続処理が実行される。これにより、MFP300の通信状態や接続状態に応じた適切な再接続処理が実行されることになり、パケットロスや送信パケット遅延等の課題をできるだけ発生させずに、アクセスポイントを検出できる可能性を向上させることができる。
As described above, in the present embodiment, when the infrastructure connection is disconnected while the
また、本実施形態では、MFP300が同時動作モードで動作する状態でインフラ接続が切断された場合に実行される再接続処理を、NWサブCPU621でなく、CPU602が実行する。CPU602は、装置全体の制御を担うため、NWサブCPU621と比較して、アクセス可能な情報の範囲が広く、情報へのアクセススピードも速い。またNWサブCPU621は、例えば、MFP300の通信状態や接続状態の情報を取得するためには、CPU間通信によってCPU602から取得する必要がある。そのため、CPU602は、NWサブCPU621と比較して、MFP300の通信状態や接続状態の情報に応じた処理を速やかに実行できる。上述したような場合には、CPU602が再接続処理を実行することにより、MFP300の通信状態や接続状態に応じた適切な再接続処理が実行される。
Further, in the present embodiment, the reconnection process executed when the infrastructure connection is disconnected while the
CPU602は、S1342にて実行パターンを決定したら、APサーチハンドラを起動し、決定した実行パターンに基づいたAPサーチを開始する(S1343)。
After determining the execution pattern in S1342, the
その後、CPU602は、所定時間(50msec)のWaitタスク中(S1344)に、S1250〜S1252の処理が実行されてAPサーチ完了イベントが発行されるのを待つ。CPU602は、Wait後、アクセスポイント400を検出したか否かを判定する。具体的には、CPU602は、Waitタスク中に、APサーチ完了イベントが発行されたか否かを判定する(S1345)。CPU602は、アクセスポイント400を検出していないと判定した場合、再度S1334にてWaitする。一方CPU602は、アクセスポイント400を検出したと判定した場合、アクセスポイント400の検出に成功したチャネルの番号が、アクセスポイント400との以前のインフラ接続において利用されていたチャネルの番号から変更されたか否かを判定する。(S1346)すなわち、CPU602は、アクセスポイント400の検出に成功したチャネルの番号が、現在P2P接続に利用しているチャネルの番号と一致するか否かを判定する。
After that, the
アクセスポイント400の検出に成功したチャネルの番号が、現在P2P接続に利用しているチャネルの番号と一致しない場合は、現在P2P接続に利用しているチャネルを切り替えるため、P2P接続を一旦切断し、その後再接続する必要がある。しかし、P2Pモードによる通信中にP2P接続を切断したら、P2PデバイスとMFP300間で通信しているデータが失われてしまう可能性がある。そこで、CPU602は、S1346にてアクセスポイント400の検出に成功したチャネルの番号が、現在P2P接続に利用しているチャネルの番号と一致しないと判定した場合は、P2Pモードによる通信が行われているか否かを判定する(S1347)。CPU602は、P2Pモードによる通信が行われていると判定した場合、S1344の処理を再度行う。一方、CPU602は、P2Pモードによる通信が行われていないと判定した場合、NWサブCPU621に、P2PSTOPコマンドを送信し、MFP300のP2P接続を解除する(S1348)。その後、CPU602は、S1349〜S1351の処理を行う。S1349〜S1351の処理は、S1336〜S1338と同様であるため、説明を省略する。
If the channel number of which the
その後、CPU602は、アクセスポイント400との接続に成功した通信チャネルの番号を含むP2Pのパラメータセットコマンド及びP2P起動コマンドをNWサブCPU621に発行する(S1351、S1352)。これにより、CPU602は、MFP300のソフトウェアAPを再起動する。切断されたP2P接続は、再度、端末装置200から接続要求を受け付けることで再開される。なお、このときP2P接続に利用されるチャネルは、アクセスポイント400の検出及び接続に成功したチャネルである。
After that, the
一方、CPU602は、S1346にてアクセスポイント400の検出に成功したチャネルの番号が、現在P2P接続に利用しているチャネルの番号と一致すると判定した場合は、現在P2P接続に利用しているチャネルを切り替える必要がない。そのため、CPU602は、S1354〜S1356の処理を行う。S1354〜S1356の処理は、S1336〜S1338と同様であるため、説明を省略する。このように、本実施形態では、MFP300が同時動作モードである場合のインフラ接続処理は、CPU602が実行する。CPU602は、NWサブCPU621と異なり、MFP300の装置状態や、受け付けたLAN設定変更の内容を確認して、確認した情報に対応する接続シーケンスを実行できる。
On the other hand, if the
図15に、NWサブCPU621によって実行されるインフラ接続処理を示すフローチャートである。なお、本フローチャートが示す処理は、ROM603等のメモリに格納されたNWサブ接続シーケンサ1023に対応するプログラムをNWサブCPU621がRAM622に読み出して実行することにより実現される。なお、本フローチャートに示す処理は、S1105、S1121で、NWサブCPU621にインフラ接続コマンドが送信された場合に開始される。
FIG. 15 is a flowchart showing the infrastructure connection processing executed by the
まず、NWサブCPU621は、インフラ接続コマンドを受信する。その後、NWサブCPU621は、アクセスポイント400の検索に使用するチャネル(サーチCh)を1に初期化する(S1502)。その後、NWサブCPU621は、インフラ接続コマンドの引数で渡されたSSID名のアクセスポイントを検索する(S1503)。具体的には、NWサブCPU621は、APサーチMsegをインフラコントローラ1024に発行し、サーチChによって機器探索リクエスト(ProbeRequest)を、WLANユニット616から無線出力させる。そして、NWサブCPU621は、所定の時間(100msec)アクセスポイントからの機器探索応答を待つ。
First, the
その後、NWサブCPU621は、S1503におけるAPサーチによってアクセスポイントの検出に成功したか否かを判定する(S1504)。具体的には、NWサブCPU621は、アクセスポイントから機器探索応答を受信したか否かを判定する。NWサブCPU621は、アクセスポイントの検出に成功しなかったと判定した場合、次のAPサーチに使用するチャネルを決定する。具体的には、サーチChをインクリメントする(S1508)。
After that, the
その後、次のAPサーチに使用するチャネルとして決定したチャネルの番号が上限値か否かを判定する。すなわち、NWサブCPU621は、使用可能な全てのチャネルを用いてAPサーチを実行したか否かを判定する(S1509)。NWサブCPU621は、チャネルの番号が上限値であると判定した場合、所定の時間(500msec)Waitする(S1510)。これは、NWサブシステム内の他のタスクを実行可能なように、一時的にNWサブCPU621を開放するためである。その後、NWサブCPU621は、S1502の処理を再度行う。一方、NWサブCPU621は、チャネルの番号が上限値でないと判定した場合、S1508で決定したチャネルを用いて、S1503でAPサーチを行う。すなわち、NWサブCPU621は、アクセスポイントの検出に失敗した場合は、使用可能なチャネルを順に使用してAPサーチを行う。
一方、NWサブCPU621は、アクセスポイントの検出に成功したと判定した場合は、通信チャネル番号・SSID名・暗号方法・パスワード等を引数としてインフラコントローラ1024にAP JOIN Msegを発行する(S1506)。また、このとき、NWサブCPU621は、APサーチ完了通知をCPU602に送信し、検出したアクセスポイントのMACアドレス及び検出に成功した通信チャネルの番号を共有RAMに保存する。AP JOIN Msegが発行されると、WLANユニット616が、S1503におけるAPサーチにより検出されたアクセスポイントに対して機器接続リクエストを無線出力する。アクセスポイントは、機器接続リクエストを受信すると、受信した機器接続リクエスト中に含まれる認証方法やパスワードと、アクセスポイント内部に保持される認証方法およびパスワードが一致するか否かの判定を行う。アクセスポイントは、それらが一致する場合には、接続許可応答を無線出力し、一致しない場合には、接続不許可応答を無線出力する。
AP JOIN Msegを発行後、NWサブCPU621は、アクセスポイントとの接続が成功したか否かを判定する。具体的には、NWサブCPU621は、接続許可応答をアクセスポイントから受信したか否かを判定する。NWサブCPU621は、接続許可応答をアクセスポイントから受信せず、アクセスポイントとの接続が失敗したと判定した場合、アクセスポイントとの接続が失敗した旨と、接続が失敗した理由(例えば、パスワード不一致)をCPU602に通知する。一方、NWサブCPU621は、接続許可応答をアクセスポイントから受信し、アクセスポイントとの接続が成功したと判定した場合、接続に成功したAP JOIN完了通知をCPU602に通知する。
Then, it is determined whether or not the channel number determined as the channel to be used for the next AP search is the upper limit value. That is, the
On the other hand, when the
After issuing the AP JOIN Mseg, the
なお、NWサブCPU621は、各チャネルを使用したAPサーチにおいて、装置探索リクエストコマンドの送信を複数回実行しても良い。また、このとき、CPU602は、MFP300が実行可能な全ての通信チャネルを使用せずとも良く、切断されたインフラ接続において利用していた通信チャネル以外の通信チャネルを少なくとも使用すれば良い。また、このとき利用されるチャネルの順番は特に限定されず、例えば、CPU602は、まず初めに現在P2P接続に使用しているチャネルを使用してAPサーチを実行した後、第1チャネルから順に使用してAPサーチを実行してもよい。また、CPU602は、2.4GHz(1〜13チャネル)と5GHz(36〜140チャネル)の周波数帯を使う場合、どちらかの周波数帯(例えば5GHz)に対応するチャネルを優先して用いてAPサーチを開始してもよい。
Note that the
このように、MFP300が同時動作モードでない状態でインフラ接続が切断された場合や、MFP300の電源がオンされた場合には、インフラ接続の再接続処理を、CPU602でなく、NWサブCPU621が実行する。また、NWサブCPU621はMFP300の装置状態や通信状態に係わらず、同一の方法でAPサーチを実行する。これは、上述の場合には、P2P接続は確立されておらず、P2Pモードによる通信におけるパケットロスや送信パケット遅延の課題が生じないため、MFP300の装置状態や通信状態に応じたインフラ接続の再接続処理が必要ないためである。また、上述の場合における再接続処理を、CPU602でなくNWサブCPU621が実行する形態とすることで、CPU602にかかる負荷を軽減することができる。そして、このような負荷分散システムによって、インフラ接続の再接続処理時のMFP300全体としてのパフォーマンスを向上させることができる。
As described above, when the infrastructure connection is disconnected while the
また、NWサブCPU621は、MFP300が実行可能な全ての通信チャネルを番号の小さいチャネルから順に用いて、500msecの周期で、アクセスポイントを検出するまでAPサーチを実行する。上述したように、NWサブCPU621が再接続処理を実行するのは、MFP300が同時動作モードでない状態でインフラ接続が切断された場合や、MFP300の電源がオンされた場合である。しかし、このような場合には、P2Pモードによる通信におけるパケットロスや送信パケット遅延の課題は生じない。そのため、NWサブCPU621は、サーチタイプがALLのAPサーチを、短い周期で実行することができる。
Further,
また一方で、MFP300が同時動作モードである状態でインフラ接続が切断された場合やMFP300が同時動作モードである状態でLAN設定変更処理が実行される場合は、インフラ接続の再接続処理を、NWサブCPU621でなくCPU602が実行する。これにより、MFP300が同時動作モードである状態では、MFP300の装置状態や通信状態に応じた接続処理が実行される。
On the other hand, if the infrastructure connection is disconnected while the
<第2実施形態>
上述の実施形態では、インフラ接続が切断された際に、MFP300が同時動作モードか否かに応じて、再接続処理を実行する主体となるCPUを切り替えていた。本実施形態では、さらに他の要素を考慮して、再接続処理を実行する主体となるCPUを切り替える形態を説明する。
<Second Embodiment>
In the above-described embodiment, when the infrastructure connection is disconnected, the CPU that is the main body that executes the reconnection process is switched depending on whether or not the
なお、本実施形態の通信システムや各装置の構成等は、第1実施形態と同様であるものとする。 The communication system and the configuration of each device of this embodiment are the same as those of the first embodiment.
図16は、CPU602がI/F接続Mgr1011によって実行する処理を示すフローチャートである。なお、本フローチャートが示す処理は、例えば、ROM603等のメモリに格納されたI/F接続Mgr1011に対応するプログラムをCPU602がRAM604に読み出して実行することにより実現される。また、パワーオン時の処理は、第1実施形態と同様であるため説明を省略する。
FIG. 16 is a flowchart showing the processing executed by the
〔LAN設定変更処理〕
S1630〜S1632の処理は、S1130〜S1132の処理と同様であるため説明を省略する。
[LAN setting change processing]
The processing of S1630 to S1632 is the same as the processing of S1130 to S1132, and thus the description thereof is omitted.
CPU602は、S1631にて、MFP300が同時動作モードであると判定した場合は、ユーザが操作表示部610を操作しているか否かを判定する(S1633)。一方、LAN設定の変更を指示したユーザは、引き続き操作表示部610を操作している可能性が高い。特に、MFP300が操作表示部610としてタッチパネルを搭載している場合は、CPU602は、タッチやドラッグといったタッチパネルに対するユーザ操作に追従して、タッチパネル上のGUIパーツの描画を行う必要がある。一般的に、タッチに対するユーザ操作に対して、GUIパーツの描画が100msec以上遅れると、ユーザに違和感を感じさせてしまう。そのため、ユーザが操作表示部610を操作している場合は、CPU602は、GUIパーツの描画等の、UIドメイン内の処理を優先しなければならない。そこで、CPU602は、ユーザが操作表示部610を操作していると判定した場合は、S1632に進み、再接続処理をNWサブCPU621に実行させる。これにより、CPU602は、ユーザが操作表示部610を操作している場合は、UIドメイン内の処理に注力することができ、ユーザに違和感を感じさせることなく、GUIパーツの描画等の処理を実行できる。なお、CPU602は、ユーザが操作表示部610を操作していないと判定した場合は、S1643以降の処理を行う。S1643〜S1646の処理は、S1142〜S1145の処理と同様のため、説明を省略する。
When the
〔インフラ再接続処理〕
S1640、S1641の処理は、S1140、S1141の処理と同様であるため説明を省略する。
[Infrastructure reconnection processing]
The processing of S1640 and S1641 is the same as the processing of S1140 and S1141, and thus the description thereof is omitted.
CPU602は、S1641にて、MFP300が同時動作モードであると判定した場合は、MFP300とP2P接続している装置があるか否かを判定する(S1642)。上述したように、MFP300が一旦同時動作モードに設定されたら、P2P接続やインフラ接続が切断されても、通信モードの設定変更が行われないかぎり同時動作モードは解除されない。すなわち、MFP300は、同時動作モードであっても、P2P接続を実行していない場合がある。同時動作モードであっても、P2P接続が実行されていない場合は、インフラ接続の再接続処理がP2Pモードによる通信に与える影響はなく、P2Pモードによる通信におけるパケットロスや送信パケット遅延等の課題は発生しない。そのため、CPU602による、MFP300の装置状態に応じた、インフラ接続の再接続処理が実行される必要はない。よって、CPU602は、MFP300とP2P接続している装置がないと判定した場合、S1647に進み、NWサブCPU621にP2PコントローラSTOPコマンドを発行し、MFP300がソフトウェアAPとして動作することを停止させる。その後、CPU602は、インフラ接続の再接続処理をNWサブCPU621に実行させる。これにより、CPU602への負荷が軽減された、インフラ接続の再接続処理が実行される。なお、CPU602は、MFP300とP2P接続している装置がないと判定した場合は、S1643以降の処理を行う。S1643〜S1646の処理は、S1142〜S1145の処理と同様のため、説明を省略する。
When the
<その他の実施形態>
本発明は、メインサブシステム側とNWサブシステム側の双方に無線接続シーケンサを配置し、状況に応じた接続シーケンスの負荷分散を行うことである。いずれの接続シーケンスを用いるかの判断は、ユーザ設定に応じて判断してもいいし、ユーザ操作状況、ユーザ使用状況、あるいはその複合条件で判断してもよい。
<Other embodiments>
The present invention is to dispose a wireless connection sequencer on both the main subsystem side and the NW subsystem side to perform load distribution of the connection sequence according to the situation. The connection sequence to be used may be determined according to the user setting, or may be determined based on the user operation status, the user usage status, or a composite condition thereof.
上述の実施形態のインフラ再接続処理における、MFP300が同時動作モードか否かの判定を、MFP300が端末装置200とP2P接続中か否かを判定することで行っても良い。又は、MFP300がGroupOwner(もしくはソフトウェアAP)として動作しているか否かを判定することで行っても良い。なお、上述の実施形態では、MFP300は、WFDモードにおける無線接続シーケンスにおいてネゴシエーションを実行するか否かの設定をユーザから受け付け可能であり、ネゴシエーションを実行する設定がなされている場合は、同時動作を実行しない。そのため、MFP300とアクセスポイント400との接続が切断されたタイミングにおいてMFP300は、GroupOwnerとして動作している端末装置200とP2P接続していることはない。MFP300がP2P接続しているならば、MFP300がGroupOwner(もしくはソフトウェアAP)として動作している。よって、CPU602は、MFP300がGroupOwner(もしくはソフトウェアAP)として動作しているか否かを判定することで、MFP300が端末装置200とP2P接続中か否かを判定できる。CPU602は、MFP300がGroupOwner(もしくはソフトウェアAP)として動作していない場合は、MFP300がP2P接続中でないと判定する。一方、CPU602は、MFP300がGroupOwner(もしくはソフトウェアAP)として動作している場合は、MFP300がP2P接続中であると判定する。MFP300がP2P接続中でなければ、インフラストラクチャモードによる通信を実行するためのインターフェースのみが単独で動作していることになる。すなわち、MFP300が同時動作を実行していない状態で、MFP300とアクセスポイント400との接続が切断されたことになる。そのため、CPU602は、MFP300がP2P接続中でないと判定した場合は、NWサブCPU621に再接続処理を実行させる。なお、MFP300が同時動作モードか否かの判定を、MFP300が端末装置200とP2P接続中か否かを判定することで行う場合は、S1642における判定は省略する。
In the infrastructure reconnection process of the above-described embodiment, the determination of whether the
上述の実施形態では、MFP300は、P2Pモードによる通信やインフラストラクチャモードによる通信を実行するために、Wi−Fiを用いるものとしたが、この形態に限定されない。例えば、Bluetooth等、他の通信方式が用いられても良い。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウエア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウエアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
In the above-described embodiment, the
The embodiment described above is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or device via a network or various storage media, and the computer (CPU, MPU, etc.) of the system or device reads the program. This is the process to be executed. Further, the program may be executed by one computer or may be executed by interlocking a plurality of computers. Further, it is not necessary to realize all of the above-mentioned processing by software, and some or all of the processing may be realized by hardware such as ASIC. Further, the CPU is not limited to one in which all the processes are performed, and a plurality of CPUs may perform the processes while cooperating appropriately.
200 端末装置
300 MFP
400 アクセスポイント
602 CPU
621 NWサブCPU
200
400
621 NW sub CPU
Claims (15)
前記通信装置が使用可能なチャネルのうち、所定のチャネルを用いた外部装置と前記通信装置との第1の無線ネットワークにおける接続を確立させ、前記所定のチャネルを用いた端末装置と前記通信装置との第2の無線ネットワークにおける接続を確立させる接続手段と、
前記端末装置と前記通信装置との通信状態を取得し、前記通信状態に基づいた制御を行う第1の制御手段と、
前記第1の制御手段と異なる第2の制御手段と、を有し、
前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続と、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が並行して確立されている状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第1の制御手段が、前記第1の制御手段が実行可能な複数の検索方法のうち前記端末装置と前記通信装置との通信状態に応じて特定される検索方法で前記外部装置を検索し、
前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続が確立されており、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が確立されていない状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第2の制御手段が、前記端末装置と前記通信装置との通信状態にかかわらず所定の方法で前記外部装置を検索することを特徴とする通信装置。 A communication device,
Of the channels usable by the communication device, a connection is established between the external device and the communication device in a first wireless network using a predetermined channel, and the terminal device and the communication device are used in the predetermined channel. Connection means for establishing a connection in the second wireless network of
A first control unit that acquires a communication state between the terminal device and the communication device and performs control based on the communication state;
A second control means different from the first control means,
Connection of the external device and the communication device in the first wireless network using the predetermined channel, and connection of the terminal device and the communication device in the second wireless network using the predetermined channel When the connection between the external device and the communication device using the predetermined channel is disconnected in a state in which the first control device and the communication device are established in parallel, the first control unit executes the first control unit. Searching the external device by a search method specified according to the communication state between the terminal device and the communication device among a plurality of possible search methods,
A connection in the first wireless network is established between the external device and the communication device using the predetermined channel, and the second device is connected to the terminal device and the communication device using the predetermined channel. When the connection between the external device and the communication device using the predetermined channel is disconnected in a state where the connection in the wireless network is not established, the second control unit causes the second control unit to communicate with the terminal device and the communication device. A communication device for searching the external device by a predetermined method regardless of a communication state with the communication device.
前記通信装置が使用可能なチャネルのうち、所定のチャネルを用いた外部装置と前記通信装置との第1の無線ネットワークにおける接続を確立させ、前記所定のチャネルを用いた端末装置と前記通信装置との第2の無線ネットワークにおける接続を確立させる接続ステップと、
前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続と、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が並行して確立されている状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第1の制御手段に、前記第1の制御手段が実行可能な複数の検索方法のうち前記端末装置と前記通信装置との通信状態に応じて特定される検索方法で前記外部装置を検索させ、前記所定のチャネルを用いた前記外部装置と前記通信装置との前記第1の無線ネットワークにおける接続が確立されており、前記所定のチャネルを用いた前記端末装置と前記通信装置との前記第2の無線ネットワークにおける接続が確立されていない状態で、前記所定のチャネルを用いた前記外部装置と前記通信装置との接続が切断された場合、前記第2の制御手段に、前記端末装置と前記通信装置との通信状態にかかわらず所定の方法で前記外部装置を検索させる検索ステップとを有することを特徴とする制御方法。 A method for controlling a communication device, comprising: first control means for acquiring a communication state with a terminal device and performing control based on the communication state; and second control means different from the first control means. hand,
Of the channels usable by the communication device, a connection is established between the external device and the communication device in a first wireless network using a predetermined channel, and the terminal device and the communication device are used in the predetermined channel. A connection step for establishing a connection in the second wireless network of
Connection of the external device and the communication device in the first wireless network using the predetermined channel, and connection of the terminal device and the communication device in the second wireless network using the predetermined channel When the connection between the external device and the communication device using the predetermined channel is disconnected in a state in which the first control unit is established in parallel, the first control unit executes the first control unit. Among the plurality of possible search methods, the external device is searched by the search method specified according to the communication state between the terminal device and the communication device, and the external device and the communication device using the predetermined channel The connection in the first wireless network is established and the connection between the terminal device and the communication device using the predetermined channel in the second wireless network is not established. When the connection between the external device and the communication device using a channel is cut off, the second control means is caused to control the external device by a predetermined method regardless of the communication state between the terminal device and the communication device. A control method comprising: a search step for searching.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016101793A JP6742812B2 (en) | 2016-05-20 | 2016-05-20 | Communication device, control method thereof, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016101793A JP6742812B2 (en) | 2016-05-20 | 2016-05-20 | Communication device, control method thereof, and program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017208777A JP2017208777A (en) | 2017-11-24 |
JP2017208777A5 JP2017208777A5 (en) | 2019-06-27 |
JP6742812B2 true JP6742812B2 (en) | 2020-08-19 |
Family
ID=60417423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016101793A Active JP6742812B2 (en) | 2016-05-20 | 2016-05-20 | Communication device, control method thereof, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6742812B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7277077B2 (en) * | 2018-03-06 | 2023-05-18 | キヤノン株式会社 | PRINTING APPARATUS, PRINTING APPARATUS CONTROL METHOD AND PROGRAM |
JP7389550B2 (en) * | 2018-12-28 | 2023-11-30 | キヤノン株式会社 | Communication device, control method, program, and storage medium |
CN114513750B (en) * | 2020-11-16 | 2024-02-23 | 福建星网元智科技有限公司 | Price tag searching method and storage device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6335437B2 (en) * | 2013-04-26 | 2018-05-30 | キヤノン株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM |
-
2016
- 2016-05-20 JP JP2016101793A patent/JP6742812B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017208777A (en) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6335437B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP6676469B2 (en) | Communication device, control method therefor, and program | |
JP6525771B2 (en) | INFORMATION PROCESSING APPARATUS, CONTROL METHOD, AND PROGRAM | |
US11429332B2 (en) | Communication apparatus, method of controlling same, and non-transitory computer-readable storage medium | |
KR102162568B1 (en) | Communication apparatus, control method for the same, and recording medium | |
JP6742812B2 (en) | Communication device, control method thereof, and program | |
CN107404770B (en) | Communication apparatus, control method, and computer-readable storage medium | |
JP2017208783A (en) | Communication device, control method, and program | |
JP6700972B2 (en) | Communication device, control method, and program | |
JP6700971B2 (en) | Communication device, control method, and program | |
JP6643185B2 (en) | Communication device, communication method, and program | |
US20230247406A1 (en) | Information processing apparatus that establishes connection to a communication apparatus, control method, and non-transitory computer-readable storage medium storing program | |
JP6707949B2 (en) | Computer program for terminal device | |
JP6701116B2 (en) | Printers and programs | |
CN115915498A (en) | Communication apparatus, control method, and non-transitory computer-readable storage medium | |
JP2017212504A (en) | Communication device, control method, and program | |
JP6730845B2 (en) | Communication device, control method thereof, and program | |
JP2023075858A (en) | Information processing apparatus, method for controlling the same, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190516 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200427 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200630 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200729 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6742812 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |