Field of the Invention
The present invention relates to a communicating apparatus for performing wireless connection, a communication method, and a storage medium storing a program.
Description of the Related Art
In a wireless communication system, in addition to a method (for example, an infrastructure mode) of wirelessly connecting to a partner apparatus via an access point, there is known a peer-to-peer (P2P) wireless connection method in which a self apparatus or a partner apparatus serves as an access point, thereby directly, wirelessly connecting with the partner apparatus.
There is known, for example, Wi-Fi Direct® as a standard for implementing such P2P wireless connection method. A Wi-Fi Direct compatible apparatus can serve as an access point (group owner), thereby allowing direct wireless connection with a partner apparatus. At this time, whether the partner apparatus or the self apparatus serves as an access point is decided according to a sequence called Group Owner Negotiation (Japanese Patent Laid-Open No. 2011-249960).
When a given apparatus on a wireless communication system transmits a probe response command to a received probe request command, an apparatus which has transmitted the probe request command can discover the partner apparatus to be wirelessly connected (device search). After the device search, a sequence of, for example, confirming an IP address and device information indicating an apparatus type is executed, thereby establishing a wireless connection.
When transmitting a probe response command to a received probe request command, it is recommended that the probe response command is transmitted within a range defined by the standard of a wireless connection method by which the self apparatus operates. For example, if a probe request command has been transmitted by an extended Wi-Fi Direct compatible apparatus and the self apparatus serves as a non-extended Wi-Fi Direct compatible apparatus, a probe response command may be transmitted within a range defined by non-extended Wi-Fi Direct. This is because even if information (including various kinds of attributes) added to the probe request command includes uninterpretable information, it is possible to respond to the received probe request command based on only interpretable information. That is, although a corresponding wireless connection sequence or subsequent processing is different, the partner apparatus is discovered. If the subsequent sequence is executed in this state, wireless connection may fail due to a parameter acquisition error or the like, or processing after wireless connection may fail.
An aspect of the present invention is to eliminate the above-mentioned problems with the conventional technology. The present invention provides a communicating apparatus capable of performing wireless connection in an appropriate communication mode, a communication method, and a storage medium storing a program.
The present invention in its one aspect provides a communicating apparatus comprising: a reception unit configured to receive a command for performing wireless connection; and a decision unit configured to decide a communication mode for performing wireless connection of the communicating apparatus, based on a first command received by the reception unit and a second command received following the first command.
According to the present invention, it is possible to perform wireless connection in an appropriate communication mode.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Preferred embodiments of the present invention will now be described hereinafter in detail, with reference to the accompanying drawings. It is to be understood that the following embodiments are not intended to limit the claims of the present invention, and that not all of the combinations of the aspects that are described according to the following embodiments are necessarily required with respect to the means to solve the problems according to the present invention. Note that the same reference numerals denote the same components and a description thereof will be omitted.
A WLAN unit 202 is a unit used to perform communication by WLAN. Assume that the WLAN unit 202 can perform data (packet) communication in a WLAN system complying with, for example, IEEE802.11 series. Examples of wireless communication using the WLAN unit 202 include communication based on Wi-Fi Direct (WFD), and communication using a communication mode such as a software AP mode, ad hoc mode, and infrastructure mode. A display unit 203 is a display having an LCD display mechanism. An operation unit 204 includes a touch-panel operation mechanism, and detects an operation by the user. As a representative operation method, the display unit 203 displays button icons and a software keyboard, and when the user touches them, operation events are detected. A power key 205 is a hard key used to turn on/off the power.
Referring to
In the main board 501, a CPU 502 is a system control unit, and controls the overall mobile communication terminal apparatus 200. The following processing by the mobile communication terminal apparatus 200 is executed under the control of the CPU 502. A ROM 503 stores control programs to be executed by the CPU 502, an embedded operating system (OS) program, and the like. In this embodiment, the respective control programs stored in the ROM 503 execute software control such as scheduling and task switching under the management of the embedded OS stored in the ROM 503.
A RAM 504 is implemented by an SRAM (Static RAM) or the like, stores data such as program control variables, also stores data such as setting values registered by the user and management data of the mobile communication terminal apparatus 200, and is allocated with various work buffer areas.
An image memory 505 is implemented by a memory such as a DRAM (Dynamic RAM), and temporarily stores image data received via a communication unit and those read out from a data storage unit 512 so as to be processed by the CPU 502. Note that the communication unit is a general term for communication functions including the WLAN unit 517, NFC unit 518, and BT unit 521.
A nonvolatile memory 522 is implemented by a memory such as a flash memory, and stores data to be saved even after power-off. Note that the memory structure is not limited to this. For example, the image memory 505 and the RAM 504 may share a memory, or data may be backed up in the data storage unit 512. In this embodiment, a DRAM is used as the image memory 505. However, the present invention is not limited to this since another storage medium such as a hard disk or a nonvolatile memory may be used.
A data conversion unit 506 executes analysis of data of various formats, and data conversion such as color conversion and image conversion. A telephone unit 507 controls a telephone line, and implements telephone communication by processing audio data input/output via a loudspeaker unit 513. An operation unit 508 controls signals of the operation unit 204 (
A camera unit 511 has a function of electronically recording and encoding an image input via a lens. An image captured by the camera unit 511 is saved in the data storage unit 512. The loudspeaker unit 513 realizes a function of inputting or outputting a speech for a telephone function, and also an alarm notification function and the like. A power supply unit 514 is implemented by a portable battery, and controls power supply to the apparatus. A power supply state includes a battery dead state in which the battery has no remaining amount, a power-off state in which the power key 205 is not pressed, an active state in which the apparatus is normally active, and a power saving state in which the apparatus is active but is set in a power saving mode.
The mobile communication terminal apparatus 200 incorporates three communication units used to perform wireless communication, and can perform wireless communication by WLAN, NFC, and Bluetooth®. Thus, the mobile communication terminal apparatus 200 performs data communication with another device such as an MFP. Each communication unit converts data into packets, and transmits the packets to the other device. Conversely, each communication unit converts packets coming from another external device into original data, and transmits the data to the CPU 502. The WLAN unit 517, NFC unit 518, and BT unit 521 are connected to the main board 501 via bus cables 515, 516, and 520, respectively. The WLAN unit 517, NFC unit 518, and BT unit 521 are units each used to attain communication complying with its standard.
The respective components (the ROM 503 to the power supply unit 514, WLAN unit 517, NFC unit 518, BT unit 521, and nonvolatile memory 522) of the main board 501 are connected to each other via a system bus 519 managed by the CPU 502.
In the main board 601, a CPU 602 is a system control unit, and controls the overall MFP 300. The following processing by the MFP 300 is executed under the control of the CPU 602. A ROM 603 stores control programs to be executed by the CPU 602, an embedded operating system (OS) program, and the like. In this embodiment, the respective control programs stored in the ROM 603 perform software control such as scheduling and task switching under the management of the embedded OS stored in the ROM 603. A RAM 604 is implemented by an SRAM (Static RAM) or the like, stores data such as program control variables, also stores data such as setting values registered by the user and management data of the MFP 300, and is allocated with various work buffer areas.
A nonvolatile memory 605 is implemented by a memory such as a flash memory, and stores data to be saved even after power-off. An image memory 606 is implemented by a memory such as a DRAM (Dynamic RAM), and stores image data received via a communication unit, those processed by an encoding/decoding processing unit 612, and those acquired via a memory card controller 516. Also, the memory structure is not limited to this, similarly to the memory structure of the mobile communication terminal apparatus 200. A data conversion unit 607 executes analysis of data of various formats, conversion from image data into print data, and the like. Note that the communication unit is a general term for communication functions including the WLAN unit 617, NFC unit 618, and BT unit 619.
A read control unit 608 controls a reading unit 610 (for example, a CIS image sensor (contact type image sensor)) to optically read an image on a document. Next, an image signal obtained by converting the read image into electrical image data is output. At this time, various kinds of image processing such as binarization processing and halftone processing may be performed for the image signal, thereby outputting the resultant data.
An operation unit 609 and a display unit 611 correspond to the operation display unit 305 shown in
The print control unit 616 performs various kinds of image processing such as smoothing processing, printing density correction processing, and color correction for image data to be printed, and outputs the resultant data to a printing unit 615. The printing unit 615 can adopt an inkjet printer which prints an image by discharging, from a printhead, ink supplied from an ink tank. The print control unit 616 also serves to periodically read out information of the printing unit 615, and update information in the RAM 604. More specifically, the print control unit 616 updates status information such as the remaining amount of an ink tank and a printhead state.
The MFP 300 also incorporates three communication units used to perform wireless communication, similarly to the mobile communication terminal apparatus 200, and a description of these communication units will be omitted since their functions are the same. The WLAN unit 617, NFC unit 618, and BT unit 619 are connected to the main board 601 via bus cables 620, 621, and 622, respectively. The respective components (the CPU 602 to the BT unit 619) of the main board 601 are connected to each other via a system bus 626 managed by the CPU 602.
[Peer-to-Peer Wireless Connection (P2P Wireless Connection)]
The mobile communication terminal apparatus 200 and the MFP 300 can establish a peer-to-peer (P2P) wireless connection complying with Wi-Fi Direct (WFD). WFD is a standard stipulated by Wi-Fi Alliance, and described in “Wi-Fi Peer-to-Peer (P2P) Technical Specification Version 1.1”. The mobile communication terminal apparatus 200 and MFP 300 which are WFD compatible apparatuses have a software access point (soft AP) function serving as an access point. This allows the mobile communication terminal apparatus 200 and the MFP 300 to directly, wirelessly connect with each other by WFD without intervention of another access point. Among a plurality of WFD compatible apparatuses, an apparatus to serve as a soft AP is decided according to a sequence called Group Owner Negotiation. An apparatus which is a WFD compatible apparatus and serves as an access point will be particularly referred to as a group owner hereinafter.
When a probe response command (Probe Response frame) is transmitted in response to a probe request command (Probe Request frame) sent by one apparatus on a wireless communication system, the apparatus which has sent the probe request command can discover a partner apparatus to be wirelessly connected (device search (Discovery)). After that, a sequence of, for example, confirming an IP address and device information indicating an apparatus type is executed, thereby establishing a wireless connection. Especially for P2P wireless connection, the probe request command contains information (P2P elements) about P2P wireless connection.
Three types of operation modes are defined for wireless communication of the MFP 300 according to this embodiment. The first type is a mode (soft AP mode) in which, unlike P2P wireless connection, the self apparatus simulates the operation of an access point by software settings and wirelessly connects to a partner apparatus. The second type is a mode (WFD mode) in which the self apparatus is a WFD compatible apparatus and serves as a group owner. The third type is a mode (WFD extended mode) in which the self apparatus is an extended WFD compatible apparatus and serves as a group owner. Extended WFD indicates a mode in which an extended function at a service level is added to WFD. For example, a probe request command complying with extended WFD contains attribute information (information elements and WFD extended attributes) for defining the specific specifications. The information elements are added to the probe request command complying with WFD in the form of arguments. The WFD mode indicates a mode in which the self apparatus serves as a non-extended WFD apparatus. The mode of the MFP 300 may be designated by the user through the operation unit 609 or the like, or may be fixed.
When transmitting a probe response command to a received probe request command, it is recommended that the probe response command is transmitted within a range defined by the standard of a wireless connection method by which the self apparatus operates. For example, if a probe request command has been transmitted by a WFD compatible apparatus (WFD mode) and the self apparatus is an extended WFD compatible apparatus (WFD extended mode), a probe response command may be transmitted within a range defined by extended WFD even though the self apparatus does not operate in the WFD mode. This is because even if information (including various kinds of attributes) added to the probe request command includes uninterpretable information, it is possible to respond to the received probe request command based on only interpretable information. That is, although a corresponding wireless connection sequence or subsequent processing is different, the partner apparatus is discovered. If, however, the subsequent sequence is executed in this state, wireless connection may fail due to a parameter acquisition error or the like, or processing after wireless connection may fail.
[Connection Sequence in Each Mode]
A device search sequence in each mode will now be described.
After the device search phase 701, a wireless connection phase 702 is executed. In the wireless connection phase 702, an identification ID such as an SSID and security information such as a password are set. Especially in the infrastructure mode, the user may set the identification ID, password, and the like. After the wireless connection phase 702, an IP connection phase 503 is executed, in which each apparatus confirms the IP address of the partner apparatus. After the IP connection phase 703, a wireless connection is established at the application level such as printing or facsimile.
In the WFD mode, after the device search phase 801, a device supply information confirmation phase 802 may be executed. In the device supply information confirmation phase 802, each apparatus confirms device information of the partner apparatus. The device supply information confirmation phase 802 corresponds to, for example, P2P Provision Discovery. Note that the device information indicates, for example, a device category or type such as a printer or scanner. Note also that execution of the device supply information confirmation phase 802 is essential in the WFD extended mode. However, in the WFD mode, the device supply information confirmation phase 802 is an optional function, and thus may not be executed.
After the device search phase 801 or the device supply information confirmation phase 802, a role decision phase 803 is executed. In the role decision phase 803, one of the mobile communication terminal apparatus 200 and the MFP 300 is decided as a group owner. The decision method is determined as “Group Owner Negotiation” in the WFD specification, and a group owner is decided using parameters 0 to 15 representing the degree of desirability of being a group owner.
After the execution of the parameter sharing phase 804, a wireless connection phase 805 and an IP connection phase 806 are executed. The same description as that for the wireless connection phase 702 and IP connection phase 702 of
[Mode Control Sequence]
A processing procedure in which the MFP 300 controls the operation mode of the self apparatus upon receiving a command from the mobile communication terminal apparatus 200 will be described.
In step S1001, the MFP 300 starts in the soft AP mode, and receives a device search request command from the mobile communication terminal apparatus 200. The device search request command itself is a common command in modes A to C.
In step S1002, the MFP 300 determines whether a command to be used in the wireless connection phase has been received from the mobile communication terminal apparatus 200. The command to be received is, for example, a wireless connection request command. If a command has been received, the process advances to step S1003.
As shown in
In step S1003, the MFP 300 determines whether execution of the wireless connection phase 502 has succeeded or failed. If it is determined that execution of the wireless connection phase 502 has succeeded, in step S1004 the MFP 300 sets the self apparatus in the soft AP mode (mode A), and executes a sequence at the application level in the IP connection phase 503 and subsequent phases. Upon completion of the processing, the MFP 300 disconnects the wireless connection in step S1005, thereby repeating the processing from step S1001. On the other hand, if it is determined in step S1003 that execution of the wireless connection phase 502 has failed, the processing is also repeated from step S1001.
If it is determined in step S1002 that no wireless connection request command has been received, the MFP 300 determines in step S1006 whether a command to be used in the device supply information confirmation phase has been received. The command to be received is, for example, a device supply information confirmation request command. If it is determined that this command has been received, the process advances to step S1007.
In step S1007, the MFP 300 determines whether the received device supply information confirmation request command contains WFD extended mode attribute information. If it is determined that attribute information is contained, the process advances to step S1008.
As shown in
In step S1008, the MFP 300 executes the role decision phase 903. When the role decision phase 903 is executed, it is decided which of the mobile communication terminal apparatus 200 and the MFP 300 serves as a group owner or a client. In step S1009, the MFP 300 executes the parameter sharing phase 904 to the IP connection phase 906. In step S1010, the MFP 300 determines whether execution of the service connection phase 907 has succeeded or failed. If it is determined that execution of the service connection phase 907 has succeeded, the MFP 300 sets the self apparatus in the WFD extended mode (mode C) in step S1011, thereby executing a subsequent sequence at the application level. Upon completion of the processing, the MFP 300 disconnects the wireless connection in step S1012, thereby repeating the processing from step S1001. If it is determined in step S1010 that execution of the service connection phase 907 has failed, the processing is repeated from step S1001 through step S1012.
If it is determined in step S1006 that no command to be used in the device supply information confirmation phase has been received or if it is determined in step S1007 that the command contains no WFD extended mode attribute information, the process advances to step S1013. A case in which it is determined in step S1007 that the command contains no WFD extended mode attribute information indicates a case in which the device supply information confirmation request command has been received in
In step S1013, the MFP 300 determines whether a command to be used in the role decision phase has been received. If it is determined that no command has been received, this does not correspond to any case shown in
In step S1014, the MFP 300 executes the role decision phase 603. When the role decision phase 603 is executed, it is decided which of the mobile communication terminal apparatus 200 and the MFP 300 serves as a group owner or a client. In step S1015, the MFP 300 executes the parameter sharing phase 604 to the IP connection phase 606.
In step S1016, the MFP 300 sets the self apparatus in the WFD mode (mode D), and executes a subsequent sequence at the application level. Upon completion of the processing, the MFP 300 disconnects the wireless connection in step S1017, thereby repeating the processing from step S1001.
As described above, according to this embodiment, based on a command received after the device search phase, the MFP 300 can decide and set the operation mode of the self apparatus in which it is possible to transmit a command complying with the operation mode of the partner apparatus. As a result, the user need not manually switch the mode, thereby improving the convenience.
Other Embodiments
Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) of the present invention, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more of a central processing unit (CPU), micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
A program may be executed by a single computer or a plurality of computers in cooperation. Further, hardware such as a circuit for executing part of the program may be arranged, and the processing described in the embodiment may be executed by cooperation between the hardware and the computer which executes the software.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2013-094643, filed Apr. 26, 2013, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2013-094643 | Apr 2013 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5537401 | Tadamura et al. | Jul 1996 | A |
7142503 | Grant | Nov 2006 | B1 |
8073388 | Grushkevich et al. | Dec 2011 | B2 |
8259332 | Shimazaki | Sep 2012 | B2 |
8467726 | Shirakata et al. | Jun 2013 | B2 |
8553252 | Shimazaki | Oct 2013 | B2 |
20020063622 | Armstrong et al. | May 2002 | A1 |
20030095524 | Stephens et al. | May 2003 | A1 |
20040190449 | Mannal et al. | Sep 2004 | A1 |
20080279560 | Osawa et al. | Nov 2008 | A1 |
20110014876 | Sakata | Jan 2011 | A1 |
20120044536 | Hall | Feb 2012 | A1 |
20120092714 | Suzuki | Apr 2012 | A1 |
20120106475 | Jung | May 2012 | A1 |
20120218918 | Takae et al. | Aug 2012 | A1 |
20130329600 | Vedula | Dec 2013 | A1 |
20130331141 | Montemurro | Dec 2013 | A1 |
20140002862 | Shimazaki | Jan 2014 | A1 |
20140031078 | Nishikawa | Jan 2014 | A1 |
20140068592 | Chitre et al. | Mar 2014 | A1 |
20140210693 | Bhamidipati | Jul 2014 | A1 |
20140217816 | Okada | Aug 2014 | A1 |
20140320900 | Moriya | Oct 2014 | A1 |
20140320908 | Iwauchi et al. | Oct 2014 | A1 |
20140320909 | Shimazaki | Oct 2014 | A1 |
20150223046 | Patil | Aug 2015 | A1 |
20150351146 | Lee | Dec 2015 | A1 |
20150355875 | Matsushita et al. | Dec 2015 | A1 |
Number | Date | Country |
---|---|---|
2004-104774 | Apr 2004 | JP |
2008-154270 | Jul 2008 | JP |
2010-109566 | May 2010 | JP |
2011-249960 | Dec 2011 | JP |
2012-175614 | Sep 2012 | JP |
2014-027538 | Feb 2014 | JP |
Entry |
---|
Non-Final Office Action U.S. Appl. No. 14/257,178 dated Mar. 13, 2015. |
U.S. Appl. No. 14/257,178, filed Apr. 21, 2014. |
U.S. Appl. No. 14/257,139, filed Apr. 21, 2014. |
JP Office action, Japanese Application No. 2013094642, dated Feb. 10, 2017. |
JP Office action, Japanese Application No. 2013094643, dated Feb. 17, 2017. |
Number | Date | Country | |
---|---|---|---|
20140323060 A1 | Oct 2014 | US |