US10595259B2 - Communication apparatus, communication method, and storage medium - Google Patents

Communication apparatus, communication method, and storage medium Download PDF

Info

Publication number
US10595259B2
US10595259B2 US16/113,881 US201816113881A US10595259B2 US 10595259 B2 US10595259 B2 US 10595259B2 US 201816113881 A US201816113881 A US 201816113881A US 10595259 B2 US10595259 B2 US 10595259B2
Authority
US
United States
Prior art keywords
communication
cluster
communication apparatus
nan
nan cluster
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
Application number
US16/113,881
Other versions
US20180368045A1 (en
Inventor
Kazutaka Uno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/113,881 priority Critical patent/US10595259B2/en
Publication of US20180368045A1 publication Critical patent/US20180368045A1/en
Application granted granted Critical
Publication of US10595259B2 publication Critical patent/US10595259B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/34Reselection control
    • H04W36/36Reselection control by user or terminal equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • H04W36/0083Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
    • H04W36/0085Hand-off measurements
    • H04W36/0088Scheduling hand-off measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • H04W36/144Reselecting a network or an air interface over a different radio air interface technology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/30Reselection being triggered by specific parameters by measured or perceived connection quality data
    • H04W36/304Reselection being triggered by specific parameters by measured or perceived connection quality data due to measured or perceived resources with higher communication quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • aspects of the present invention generally relate to a communication apparatus that changes a wireless network that the communication apparatus joins and performs communication.
  • NAN Neighbor Awareness Networking
  • NAN a wireless network
  • a wireless network NAN cluster
  • services and various types of information can be detected in the NAN cluster.
  • the communication apparatus can perform data communication with the specified partner apparatus. In this way, a user using the communication apparatus can use the desired service provided by the partner apparatus or acquire the desired information.
  • NAN defines a cluster grade (CG), which indicates the priority of a NAN cluster.
  • CG cluster grade
  • aspects of the present invention are directed to reducing the risk, in a case where data communication is currently performed with a specified communication partner, of disconnection of the data communication.
  • a communication apparatus includes a detection unit configured to detect a second wireless network during participation in a first wireless network, a determination unit configured to, in a case where the detection unit detects the second wireless network, determine whether data communication with a specified communication partner is performed in the first wireless network, and a switching unit configured to, in a case where the determination unit determines that data communication with a specified communication partner is performed, not switch a wireless network to join the second wireless network from the first wireless network, and configured to, in a case where the determination unit determines that data communication with a specified communication partner is not performed, switch the wireless network to join the second wireless network from the first wireless network, wherein a priority of the second wireless network set by a second master apparatus of the second wireless network is higher than a priority of the first wireless network set by a first master apparatus of the first wireless network.
  • FIG. 1 is a diagram illustrating a configuration of a communication system.
  • FIG. 2 is a diagram illustrating a hardware configuration of a communication apparatus.
  • FIG. 3 is a functional block diagram illustrating the communication apparatus.
  • FIG. 4 is a flow chart that is realized by the communication apparatus.
  • FIG. 5 is a sequence chart that is realized by the communication apparatus.
  • FIG. 6 is a flow chart that is realized by the communication apparatus.
  • FIG. 1 illustrates the configuration of a communication system according to a first exemplary embodiment.
  • Communication apparatuses 101 , 102 , and 103 each join a wireless network (NAN cluster) compliant with the Neighbor Awareness Networking (NAN) standard and perform wireless communication.
  • NAN Neighbor Awareness Networking
  • each communication apparatus performs wireless communication in accordance with a communication protocol defined in the NAN standard.
  • Wireless networks 111 and 112 are wireless networks compliant with NAN.
  • the wireless network 111 will be referred to as a cluster X
  • the wireless network 112 will be referred to as a cluster Y.
  • the clusters X and Y use Channel 6 in the 2.4 GHz band as a frequency channel.
  • the communication apparatuses 101 and 102 join the cluster X. Further, the communication apparatuses 101 and 103 join the cluster Y.
  • the communication apparatus 101 transmits and receives an informing signal within a discovery window (DW) determined in the cluster that the communication apparatus 101 has joined. In this way, the communication apparatus 101 becomes able to perform NAN-compliant data communication in the cluster.
  • DW discovery window
  • each apparatus in a cluster is in an awake state and performs wireless communication.
  • each apparatus is in a sleep state, which is a power-saving state, and restricts wireless communication outside the DWs. In this way, each apparatus can perform data communication with a small amount of power.
  • the length of one DW is 16 time unit (TU), and the DW interval is 512 TU. In the present exemplary embodiment, 1 TU is about 1 millisecond.
  • the term “informing signal” refers to a synchronization beacon (sync beacon), which is defined in the NAN standard and is a synchronization signal for the synchronization with another communication apparatus in the cluster. The communication apparatus 101 periodically transmits a synchronization beacon in each DW.
  • the communication apparatuses 102 and 103 having joined the respective clusters each operate as NAN Master compliant with NAN.
  • Each Master periodically transmits a discovery beacon, which is defined in the NAN standard and is a detection signal for enabling other communication apparatuses to detect the cluster, at an interval of 100 TU.
  • Each communication apparatus in a cluster operates as one of the Master, Non-Master Sync, and Non-Master Non-Sync roles.
  • An apparatus operating as Master identifies a DW and transmits a sync beacon. Further, an apparatus operating as Master transmits a discovery beacon, which is a signal for detecting the NAN cluster, for allowing an apparatus that is not in the cluster to detect the NAN cluster. In one cluster, at least one apparatus operates as Master.
  • a terminal operating as Non-Master Sync transmits a sync beacon but does not transmit a discovery beacon.
  • a terminal operating as Non-Master Non-Sync transmits neither a sync beacon nor a discovery beacon.
  • each cluster has a set value of a cluster grade (CG), which is defined in the NAN standard and is a value indicating the priority of a cluster that each apparatus should join.
  • CG cluster grade
  • the CG of the cluster Y is higher than the CG of the cluster X.
  • an apparatus having detected both the clusters X and Y preferentially joins the cluster Y.
  • FIG. 2 illustrates a hardware configuration of the communication apparatus 101 .
  • the hardware configurations of the communication apparatuses 102 and 103 are similar to the hardware configuration of the communication apparatus 101 , so description thereof is omitted.
  • a storage unit 201 includes a memory, such as a read-only memory (ROM), a random access memory (RAM), etc. and stores programs for execution of various operations described below and various types of information, such as communication parameters for wireless communication, etc.
  • a memory such as a ROM, a RAM, etc.
  • a storage medium such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a compact disk ROM (CD-ROM), a compact disk recordable (CD-R), a magnetic tape, a non-volatile memory card, a digital versatile disk (DVD), etc.
  • the storage unit 201 may include a plurality of memories.
  • a control unit 202 includes a processor, such as a central processing unit (CPU), a micro processing unit (MPU), etc. and executes a program stored in the storage unit 201 to control the entire communication apparatus 101 .
  • the control unit 202 may control the entire communication apparatus 101 by cooperation between a program stored in the storage unit 201 and an operating system (OS). Further, the control unit 202 may include a plurality of processors, such as a multi-core processor, etc. so that the plurality of processors controls the entire communication apparatus 101 .
  • control unit 202 controls a function unit 203 to execute predetermined processing, such as image capturing, printing, projecting, etc.
  • the function unit 203 is hardware causing the communication apparatus 101 to execute predetermined processing.
  • the function unit 203 is an image capturing unit and executes image capturing processing.
  • the function unit 203 is a printing unit and executes printing processing.
  • the function unit 203 is a projecting unit and executes projecting processing.
  • Data to be processed by the function unit 203 may be data stored in the storage unit 201 or data acquired through communication with another communication apparatus via a communication unit 206 described below.
  • An input unit 204 receives various user operations.
  • An output unit 205 outputs various types of output to the user.
  • the output by the output unit 205 includes at least one of a display on a screen, audio output by a speaker, vibration output, etc.
  • the input unit 204 and the output unit 205 may be realized in a single module, such as a touch panel.
  • the communication unit 206 controls wireless communication compliant with NAN and controls Internet Protocol (IP) communication. Further, the communication unit 206 controls an antenna 207 to transmit and receive wireless signals to perform wireless communication.
  • the communication apparatus 101 communicates with another communication apparatus, such as the communication apparatus 102 , etc. via the communication unit 206 to transmit or receive function information about the communication apparatus 101 , and contents, such as image data, document data, video data, etc.
  • FIG. 3 illustrates software function blocks that are realized by the control unit 202 of the communication apparatus 101 .
  • the control unit 202 realizes the software function blocks by reading a program stored in the storage unit 201 .
  • At least a part of the software function blocks illustrated in FIG. 3 may be realized by hardware.
  • a predetermined compiler may be used to generate a dedicated circuit on a field programmable gate array (FPGA) based on a program for realizing a function block, and the generated dedicated circuit may be used as a hardware module having the function of the software module.
  • a gate array circuit may be formed as in the case of the FPGA to realize a function as hardware.
  • a wireless communication unit 301 controls the communication unit 206 , etc. to perform IEEE 802.11 wireless communication with other communication apparatuses, such as the communication apparatuses 102 and 103 .
  • a NAN control unit 302 controls a detection unit 311 , a management unit 312 , and a synchronization unit 313 to control the entire NAN functions.
  • the detection unit 311 receives informing signals from other communication apparatuses having joined a NAN cluster and detects the NAN cluster.
  • the management unit 312 manages network information about a detected NAN cluster.
  • Network information refers to, for example, timing information (time synchronization function (TSF)) about the DW timing in the detected cluster and CG information. These pieces of network information are included in a discovery beacon, which is a detection signal.
  • TSF time synchronization function
  • the synchronization unit 313 performs joining processing to join a detected NAN cluster. Specifically, the synchronization unit 313 transmits and receives an informing signal in the DW based on the TSF managed by the management unit 312 .
  • FIG. 4 is a flow chart illustrating a flow of processing.
  • the control unit 202 reads a program stored in the storage unit 201 and executes the program to realize the processing illustrated in FIG. 4 .
  • a NAN function is activated in response to a user instruction to activate the NAN function.
  • the foregoing configuration is not a limiting configuration, and a NAN function may be activated in conjunction with activation of a specific application (game, information collection application, etc.). Further, a NAN function may be activated at a specific time or may be activated when the communication apparatus 101 is in a specific location.
  • At least a part of the flow chart illustrated in FIG. 4 may be realized with hardware.
  • a predetermined compiler may be used to automatically generate a dedicated circuit on a field programmable gate array (FPGA) based on a program for realizing each step.
  • a gate array circuit may be formed as in the case of the FPGA to realize the flow chart in the form of hardware.
  • the flow chart may be realized using an application specific integrated circuit (ASIC).
  • ASIC application specific integrated circuit
  • step S 401 the communication apparatus 101 searches for a cluster that exists in the neighborhood.
  • the communication apparatus 101 receives a detection signal from the communication apparatus 102 and detects the cluster X.
  • the communication apparatus 101 does not receive a detection signal from the communication apparatus 103 and thus does not detect the cluster Y.
  • the communication apparatus 101 detects the cluster X, the communication apparatus 101 acquires network information from the received detection signal and manages the network information. Then, in step S 402 , the communication apparatus 101 joins the cluster X based on the acquired network information and transmits an informing signal in a DW determined in the cluster X.
  • the communication apparatus 101 broadcasts a synchronization beacon (broadcasting).
  • the communication apparatus 101 performs wireless communication (NAN communication) compliant with the NAN standard.
  • NAN communication a publish, which is a notification signal for the notification of information about a function (compatible service or application) of the own apparatus, is transmitted and received.
  • a subscribe which is a search signal for searching for a function of other communication apparatuses being in a NAN cluster, may be transmitted and received. The publish and the subscribe are transmitted and received by broadcasting.
  • step S 404 the communication apparatus 101 searches again for a cluster that exists in the neighborhood.
  • the search is performed by waiting for a discovery beacon, which is a detection signal, within or outside the discovery windows.
  • the search may be performed again not when a predetermined time elapses but when a predetermined amount of movement is detected. Further, the search may be performed again in response to a user instruction. Further, the search may be performed again in response to activation of a specific application.
  • the communication apparatus 101 receives a detection signal from each of the communication apparatuses 102 and 103 and detects the clusters X and Y.
  • cluster Y refers to a cluster, from among the plurality of other clusters, that has the highest CG.
  • step S 405 the communication apparatus 101 determines whether another cluster different from the cluster that the communication apparatus 101 has joined is detected as a result of the search performed again. If no another cluster is detected (NO in step S 405 ), the processing returns to step S 403 . In the present exemplary embodiment, the cluster Y is detected as another cluster, so the processing proceeds to step S 406 .
  • step S 406 the communication apparatus 101 determines whether the CG of the detected cluster is higher than the CG of the cluster that the communication apparatus 101 has joined. Specifically, a determination of a wireless network with a higher priority is performed.
  • the CG of the cluster Y is determined as being higher than the CG of the cluster X. Specifically, it is determined that the communication apparatus 101 should preferentially join not the cluster X but the cluster Y.
  • step S 407 the processing returns to step S 403 .
  • step S 408 the communication apparatus 101 determines whether communication with a specified partner apparatus is performed in the cluster that the communication apparatus 101 has joined.
  • the phrase “communication with a specified partner apparatus” refers to unicast or multicast communication with a partner apparatus specified by the user or the application. In the present exemplary embodiment, broadcast communication that is communication with the entire wireless networks is not included.
  • the communication apparatus 101 acquires information about a service (function) provided by the partner apparatus from a publish from the partner apparatus and performs communication in the cluster X for using the service (function) provided by the partner apparatus.
  • the communication apparatus 101 performs a negotiation with the communication apparatus 102 to change the current wireless network to the different wireless network compliant with the different communication protocol.
  • the negotiation a determination of which one of the communication protocols should be complied with for forming a wireless network is performed, and parameters of the wireless network to be formed are shared.
  • Such communication for the negotiation is also the communication with a specified partner apparatus.
  • the wireless network in which communication is performed in accordance with a different communication protocol is wireless network compliant with Wi-Fi Direct.
  • the wireless network is not limited to the foregoing wireless network and may be a wireless network compliant with other communication protocols, such as the infrastructure mode or ad hoc mode defined in the IEEE 802.11 series, Bluetooth®, etc.
  • step S 409 the communication apparatus 101 leaves the cluster the communication apparatus 101 has joined. Specifically, the communication apparatus 101 stops synchronizing with the DW defined in the cluster X and stops transmitting an informing signal in the DW. Then, in step S 410 , the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Thereafter, the processing returns to step S 403 , and the communication apparatus 101 starts communication in the cluster Y.
  • step S 411 the communication apparatus 101 does not leave the cluster that the communication apparatus 101 has joined. Specifically, the communication apparatus 101 continues to join the cluster X. Then, in step S 412 , the communication apparatus 101 continues the communication with the specified partner apparatus in the cluster X. Thereafter, if the communication with the specified partner apparatus is completed (YES in step S 413 ), then in step S 414 , the communication apparatus 101 leaves the cluster that the communication apparatus 101 has joined. Then, in step S 415 , the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Then, the processing returns to step S 403 , and the communication apparatus 101 starts communication in the cluster Y.
  • the case where “the communication with the specified partner apparatus is completed” refers to a case where, for example, use of a service (function) provided by the partner apparatus is stopped or a case where formation of a wireless network in which communication is performed in accordance with a different communication protocol is completed.
  • the communication apparatus 101 does not leave the cluster X while performing the communication with the specified partner apparatus, whereby the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus 101 can promptly switch the cluster to join to the cluster having a higher priority.
  • FIG. 5 is a sequence chart illustrating a case where the communication apparatus 101 is in the cluster X and newly detects the cluster Y.
  • the communication apparatus 101 is in a state where the communication apparatus 101 currently executes a negotiation with the communication apparatus 102 to form a new wireless network compliant with Wi-Fi Direct, in order to use a service (function) provided by the communication apparatus 102 .
  • the communication apparatus 101 currently performs communication with the specified partner apparatus in which the communication apparatus 102 is specified as the specified partner apparatus.
  • step S 501 the communication apparatus 101 transmits and receives a synchronization beacon, which is a synchronization signal, in the DW defined in the cluster X. Further, in step S 502 , the communication apparatus 101 performs communication with the specified partner apparatus which is the communication apparatus 102 in the DW and performs a negotiation to form a new wireless network in infrastructure mode.
  • a synchronization beacon which is a synchronization signal
  • the communication apparatus 101 continues the negotiation in the next DW. In place of or in addition to the foregoing, the communication apparatus 101 may continue the negotiation outside the DWs in the case where the negotiation is not completed within one DW. In the case of continuing the negotiation outside the DWs, the communication apparatus 101 temporarily shifts the state from the sleep state to the awake state and then performs the negotiation.
  • the negotiation is not completed within the DW described above and is continued in the next DW.
  • step S 503 while performing the negotiation, the communication apparatus 101 performs search processing and receives a discovery beacon, which is a detection signal, from the cluster Y and detects the cluster Y.
  • a discovery beacon which is a detection signal
  • the CG of the cluster Y is higher than the CG of the cluster X, so it is desirable for the communication apparatus 101 to join the cluster Y.
  • the communication apparatus 101 switches the cluster to join from the cluster X to the cluster Y at this timing, the communication with the communication apparatus 102 is disconnected. Consequently, a Wi-Fi Direct wireless network for using the service (function) provided by the communication apparatus 102 is not formed, and user convenience is thereby decreased.
  • step S 504 the communication apparatus 101 does not switch the cluster to join from the cluster X to the cluster Y during the execution of the negotiation. Specifically, switching of the cluster is restricted.
  • step S 505 the communication apparatus 101 transmits a synchronization signal in the next DW
  • step S 506 the communication apparatus 101 performs the negotiation with the communication apparatus 102 .
  • the negotiation is completed within this DW
  • step S 507 the communication apparatuses 101 and 102 form a Wi-Fi Direct wireless network.
  • step S 508 the communication apparatus 101 leaves the cluster X in response to completion of the negotiation. Then, in step S 509 , the communication apparatus 101 joins the cluster Y. Thereafter, the communication apparatus 101 performs NAN communication in the cluster Y.
  • the communication apparatus 101 does not leave the cluster X while performing the communication with the specified partner apparatus, whereby the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus 101 can promptly switch the cluster to join to the cluster having a higher priority.
  • the communication apparatus 101 leaves the cluster X in response to completion of the negotiation, this is not a limiting configuration, and the communication apparatus 101 may switch the cluster to join in response to an event in which a detection signal is received again in the state in which the negotiation is completed.
  • This configuration can also provide the effect similar to that described above.
  • step S 411 in FIG. 4 an inquiry of whether to switch the cluster may be made to the user. If the user chooses not to switch the cluster, the communication apparatus 101 does not leave the cluster that the communication apparatus 101 has joined, and the processing proceeds to step S 412 .
  • step S 414 the communication apparatus 101 stops the negotiation being executed, and the processing proceeds to step S 414 .
  • This configuration can also provide the effect similar to that described above.
  • the NAN data communication may be ended in response to a user instruction while the communication apparatus 101 is executing the processing illustrated in FIG. 4 . In this case, the processing illustrated in FIG. 4 is ended. Further, in place of or in addition to a user instruction, the NAN data communication may be ended in response to an event in which the application is ended, a predetermined time elapses, the communication apparatus 101 leaves a predetermined location, or the remaining battery level falls below a threshold value.
  • an exemplary embodiment of the present invention is applicable to not only the switching performed between NAN wireless networks but also a switching performed between wireless networks compliant with the IEEE 802.11 series, Bluetooth®, the fourth or fifth generation mobile communication system (4G, 5G), Long Term Evolution (LTE) (3.9G), etc.
  • step S 408 whether the communication apparatus 101 can concurrently join a plurality of clusters may be checked, and if the communication apparatus 101 can concurrently join a plurality of clusters, the following processing may be performed in place of step S 408 and the subsequent steps. Specifically, in a case where the cluster Y is detected, the communication apparatus 101 joins both the clusters X and Y regardless of whether the communication apparatus 101 is performing communication with a specified partner apparatus. In this case, the communication apparatus 101 may leave the cluster X in response to completion of the communication with the specified partner apparatus in the cluster X.
  • the communication apparatus 101 does not leave the cluster X so that even when the communication apparatus 101 currently performs communication with a specified partner apparatus, the communication can be continued without a disconnection.
  • whether communication with a specified partner apparatus is performed is determined in a case where search processing is performed and another cluster having a higher CG is detected.
  • search processing is performed in a case where it is determined that communication with a specified partner apparatus is not performed.
  • FIG. 6 is a flow chart illustrating a flow of processing.
  • a control unit 202 reads a program stored in a storage unit 201 and executes the program to realize the processing illustrated in FIG. 6 .
  • a NAN function is activated in response to a user instruction to activate the NAN function.
  • the foregoing configuration is not a limiting configuration, and a NAN function may be activated in conjunction with activation of a specific application (game, information collection application, etc.). Further, a NAN function may be activated at a specific time or may be activated when the communication apparatus 101 is in a specific location.
  • Steps similar to those in FIG. 4 are given the same reference numerals, and description of the steps is omitted.
  • step S 401 the communication apparatus 101 searches for a cluster that exists in the neighborhood.
  • step S 402 the communication apparatus 101 detects the cluster X and joins the cluster X. If the communication apparatus 101 joins the cluster X, then in step S 403 , the communication apparatus 101 performs NAN communication.
  • step S 601 the communication apparatus 101 determines whether communication with a specified partner apparatus is performed. The determination may be performed when a predetermined amount of movement is detected, instead of when a predetermined time elapses. Further, the determination may be performed in response to a user instruction. Further, the determination may be performed in response to activation of a specific application. Specific processing performed in the determination is similar to step S 408 , so description thereof is omitted.
  • step S 601 If it is determined that communication with a specified partner apparatus is performed (YES in step S 601 ), the processing returns to step S 403 . On the other hand, if it is determined that communication with a specified partner apparatus is not performed (NO in step S 601 ), then in step S 602 , the communication apparatus 101 performs search processing again to search for a cluster that exists in the neighborhood. Specific processing performed in the search processing is similar to step S 404 , so description thereof is omitted.
  • step S 603 If no another cluster is detected as a result of the search processing (NO in step S 603 ), the processing returns to step S 403 .
  • step S 406 the communication apparatus 101 determines whether the CG of the detected another cluster is higher than the CG of the cluster that the communication apparatus 101 has joined. In a case where the communication apparatus 101 detects a plurality of other clusters, the communication apparatus 101 determines whether a CG of a cluster which is one of the detected plurality of other clusters and has the highest CG among the detected plurality of other clusters is higher than the CG of the cluster that the communication apparatus 101 has joined. As a result of the determination, if the CG of the detected another cluster is lower than the CG of the cluster that the communication apparatus 101 has joined (NO in step S 407 ), the processing returns to step S 403 .
  • step S 409 the communication apparatus 101 leaves the cluster X.
  • step S 410 the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Thereafter, the processing returns to step S 403 , and the communication apparatus 101 starts communication in the cluster Y.
  • step S 601 it is determined in step S 601 that the communication apparatus 101 does not perform communication with a specified partner apparatus, so even if the wireless network to join is switched from the cluster X to the cluster Y, a problem such as a disconnection of the communication, etc. will not arise.
  • search processing for detecting another wireless network is not performed while the communication apparatus 101 is performing communication with a specified partner apparatus. In this way, even in a case where another wireless network having a higher priority exists, this another wireless network is not detected, so the communication apparatus does not switch the wireless network.
  • the communication apparatus does not leave the cluster X and, therefore, the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus can promptly switch to the cluster having a higher priority.
  • An exemplary embodiment of the present invention can be realized by the processing in which a program for realizing a function of each exemplary embodiment described above is supplied to a system or an apparatus via a network or a storage medium and one or more processors of a computer of the system or the apparatus read and execute the program. Further, an exemplary embodiment of the present invention can also be realized by a circuit (e.g., application specific integrated circuit (ASIC)) configured to realize one or more functions.
  • ASIC application specific integrated circuit
  • Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), 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) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s).
  • computer executable instructions e.g., one or more programs
  • a storage medium which may also be referred to more fully as a
  • the computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions.
  • 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 (BDTM), a flash memory device, a memory card, and the like.

Abstract

A communication apparatus participates in a first wireless network and if the communication apparatus is performing data communication with a communication partner, the communication apparatus will not search for other wireless networks and/or switch to another wireless network. If no data communication with a communication partner is occurring, the communication apparatus can search for other wireless networks and switch to a detected wireless network.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of U.S. patent application Ser. No. 15/232,220, filed on Aug. 9, 2016, which claims priority from Japanese Patent Application No. 2015-175012 filed Sep. 4, 2015, which is hereby incorporated by reference herein in its entirety.
BACKGROUND Field
Aspects of the present invention generally relate to a communication apparatus that changes a wireless network that the communication apparatus joins and performs communication.
Description of the Related Art
US 2015/036540 discusses the Neighbor Awareness Networking (NAN) technology enabling a communication apparatus to detect available services (functions) and various types of information at low power consumption.
In NAN, a wireless network (NAN cluster) is formed, and services and various types of information can be detected in the NAN cluster. Further, in a case where a communication apparatus detects a partner apparatus that provides a desired service or desired information, the communication apparatus can perform data communication with the specified partner apparatus. In this way, a user using the communication apparatus can use the desired service provided by the partner apparatus or acquire the desired information.
NAN defines a cluster grade (CG), which indicates the priority of a NAN cluster. In NAN, it is recommended that when a communication apparatus in a NAN cluster detects another NAN cluster having a higher CG, the communication apparatus should switch to the detected NAN cluster having the higher CG.
In this way, a NAN cluster having a lower CG disappears, and the NAN cluster having a higher CG remains, whereby a situation where excessive number of NAN clusters exist can be prevented.
However, in a case where a communication apparatus detects a NAN cluster having a higher CG and switches to the detected NAN cluster while performing data communication with a specified partner apparatus, there arises an issue of a disconnection of the data communication during the data communication.
SUMMARY
In view of the foregoing issue, aspects of the present invention are directed to reducing the risk, in a case where data communication is currently performed with a specified communication partner, of disconnection of the data communication.
According to an aspect of the present invention, a communication apparatus includes a detection unit configured to detect a second wireless network during participation in a first wireless network, a determination unit configured to, in a case where the detection unit detects the second wireless network, determine whether data communication with a specified communication partner is performed in the first wireless network, and a switching unit configured to, in a case where the determination unit determines that data communication with a specified communication partner is performed, not switch a wireless network to join the second wireless network from the first wireless network, and configured to, in a case where the determination unit determines that data communication with a specified communication partner is not performed, switch the wireless network to join the second wireless network from the first wireless network, wherein a priority of the second wireless network set by a second master apparatus of the second wireless network is higher than a priority of the first wireless network set by a first master apparatus of the first wireless network.
Further features of aspects of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram illustrating a configuration of a communication system.
FIG. 2 is a diagram illustrating a hardware configuration of a communication apparatus.
FIG. 3 is a functional block diagram illustrating the communication apparatus.
FIG. 4 is a flow chart that is realized by the communication apparatus.
FIG. 5 is a sequence chart that is realized by the communication apparatus.
FIG. 6 is a flow chart that is realized by the communication apparatus.
DESCRIPTION OF THE EMBODIMENTS
FIG. 1 illustrates the configuration of a communication system according to a first exemplary embodiment. Communication apparatuses 101, 102, and 103 each join a wireless network (NAN cluster) compliant with the Neighbor Awareness Networking (NAN) standard and perform wireless communication. In the NAN cluster, each communication apparatus performs wireless communication in accordance with a communication protocol defined in the NAN standard.
Wireless networks 111 and 112 are wireless networks compliant with NAN. Hereinafter, the wireless network 111 will be referred to as a cluster X, and the wireless network 112 will be referred to as a cluster Y. The clusters X and Y use Channel 6 in the 2.4 GHz band as a frequency channel.
The communication apparatuses 101 and 102 join the cluster X. Further, the communication apparatuses 101 and 103 join the cluster Y. When the communication apparatus 101 joins a cluster, the communication apparatus 101 transmits and receives an informing signal within a discovery window (DW) determined in the cluster that the communication apparatus 101 has joined. In this way, the communication apparatus 101 becomes able to perform NAN-compliant data communication in the cluster.
Within a DW, each apparatus in a cluster is in an awake state and performs wireless communication. On the other hand, each apparatus is in a sleep state, which is a power-saving state, and restricts wireless communication outside the DWs. In this way, each apparatus can perform data communication with a small amount of power.
The length of one DW is 16 time unit (TU), and the DW interval is 512 TU. In the present exemplary embodiment, 1 TU is about 1 millisecond. Further, the term “informing signal” refers to a synchronization beacon (sync beacon), which is defined in the NAN standard and is a synchronization signal for the synchronization with another communication apparatus in the cluster. The communication apparatus 101 periodically transmits a synchronization beacon in each DW.
Further, the communication apparatuses 102 and 103 having joined the respective clusters each operate as NAN Master compliant with NAN. Each Master periodically transmits a discovery beacon, which is defined in the NAN standard and is a detection signal for enabling other communication apparatuses to detect the cluster, at an interval of 100 TU.
Each communication apparatus in a cluster operates as one of the Master, Non-Master Sync, and Non-Master Non-Sync roles.
An apparatus operating as Master identifies a DW and transmits a sync beacon. Further, an apparatus operating as Master transmits a discovery beacon, which is a signal for detecting the NAN cluster, for allowing an apparatus that is not in the cluster to detect the NAN cluster. In one cluster, at least one apparatus operates as Master.
A terminal operating as Non-Master Sync transmits a sync beacon but does not transmit a discovery beacon. A terminal operating as Non-Master Non-Sync transmits neither a sync beacon nor a discovery beacon.
Further, each cluster has a set value of a cluster grade (CG), which is defined in the NAN standard and is a value indicating the priority of a cluster that each apparatus should join. In the present exemplary embodiment, the CG of the cluster Y is higher than the CG of the cluster X. Specifically, an apparatus having detected both the clusters X and Y preferentially joins the cluster Y.
FIG. 2 illustrates a hardware configuration of the communication apparatus 101. The hardware configurations of the communication apparatuses 102 and 103 are similar to the hardware configuration of the communication apparatus 101, so description thereof is omitted.
A storage unit 201 includes a memory, such as a read-only memory (ROM), a random access memory (RAM), etc. and stores programs for execution of various operations described below and various types of information, such as communication parameters for wireless communication, etc. Not only a memory, such as a ROM, a RAM, etc. but also a storage medium, such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a compact disk ROM (CD-ROM), a compact disk recordable (CD-R), a magnetic tape, a non-volatile memory card, a digital versatile disk (DVD), etc. may be used as the storage unit 201. Further, the storage unit 201 may include a plurality of memories.
A control unit 202 includes a processor, such as a central processing unit (CPU), a micro processing unit (MPU), etc. and executes a program stored in the storage unit 201 to control the entire communication apparatus 101. The control unit 202 may control the entire communication apparatus 101 by cooperation between a program stored in the storage unit 201 and an operating system (OS). Further, the control unit 202 may include a plurality of processors, such as a multi-core processor, etc. so that the plurality of processors controls the entire communication apparatus 101.
Further, the control unit 202 controls a function unit 203 to execute predetermined processing, such as image capturing, printing, projecting, etc. The function unit 203 is hardware causing the communication apparatus 101 to execute predetermined processing. For example, in a case where the communication apparatus 101 is a camera, the function unit 203 is an image capturing unit and executes image capturing processing. Further, for example, in a case where the communication apparatus 101 is a printer, the function unit 203 is a printing unit and executes printing processing. Furthermore, for example, in a case where the communication apparatus 101 is a projector, the function unit 203 is a projecting unit and executes projecting processing. Data to be processed by the function unit 203 may be data stored in the storage unit 201 or data acquired through communication with another communication apparatus via a communication unit 206 described below.
An input unit 204 receives various user operations. An output unit 205 outputs various types of output to the user. The output by the output unit 205 includes at least one of a display on a screen, audio output by a speaker, vibration output, etc. The input unit 204 and the output unit 205 may be realized in a single module, such as a touch panel.
The communication unit 206 controls wireless communication compliant with NAN and controls Internet Protocol (IP) communication. Further, the communication unit 206 controls an antenna 207 to transmit and receive wireless signals to perform wireless communication. The communication apparatus 101 communicates with another communication apparatus, such as the communication apparatus 102, etc. via the communication unit 206 to transmit or receive function information about the communication apparatus 101, and contents, such as image data, document data, video data, etc.
FIG. 3 illustrates software function blocks that are realized by the control unit 202 of the communication apparatus 101. The control unit 202 realizes the software function blocks by reading a program stored in the storage unit 201. At least a part of the software function blocks illustrated in FIG. 3 may be realized by hardware. In a case of realizing the software function blocks by hardware, for example, a predetermined compiler may be used to generate a dedicated circuit on a field programmable gate array (FPGA) based on a program for realizing a function block, and the generated dedicated circuit may be used as a hardware module having the function of the software module. Further, a gate array circuit may be formed as in the case of the FPGA to realize a function as hardware.
A wireless communication unit 301 controls the communication unit 206, etc. to perform IEEE 802.11 wireless communication with other communication apparatuses, such as the communication apparatuses 102 and 103. A NAN control unit 302 controls a detection unit 311, a management unit 312, and a synchronization unit 313 to control the entire NAN functions. The detection unit 311 receives informing signals from other communication apparatuses having joined a NAN cluster and detects the NAN cluster.
The management unit 312 manages network information about a detected NAN cluster. Network information refers to, for example, timing information (time synchronization function (TSF)) about the DW timing in the detected cluster and CG information. These pieces of network information are included in a discovery beacon, which is a detection signal.
The synchronization unit 313 performs joining processing to join a detected NAN cluster. Specifically, the synchronization unit 313 transmits and receives an informing signal in the DW based on the TSF managed by the management unit 312.
FIG. 4 is a flow chart illustrating a flow of processing. When a NAN function is activated in the communication apparatus 101, the control unit 202 reads a program stored in the storage unit 201 and executes the program to realize the processing illustrated in FIG. 4. In the present exemplary embodiment, a NAN function is activated in response to a user instruction to activate the NAN function. However, the foregoing configuration is not a limiting configuration, and a NAN function may be activated in conjunction with activation of a specific application (game, information collection application, etc.). Further, a NAN function may be activated at a specific time or may be activated when the communication apparatus 101 is in a specific location.
Further, at least a part of the flow chart illustrated in FIG. 4 may be realized with hardware. In a case of realizing the flow chart with hardware, for example, a predetermined compiler may be used to automatically generate a dedicated circuit on a field programmable gate array (FPGA) based on a program for realizing each step. Further, a gate array circuit may be formed as in the case of the FPGA to realize the flow chart in the form of hardware. Further, the flow chart may be realized using an application specific integrated circuit (ASIC).
First, in step S401, the communication apparatus 101 searches for a cluster that exists in the neighborhood. In the present exemplary embodiment, the communication apparatus 101 receives a detection signal from the communication apparatus 102 and detects the cluster X. In this stage, the communication apparatus 101 does not receive a detection signal from the communication apparatus 103 and thus does not detect the cluster Y.
If the communication apparatus 101 detects the cluster X, the communication apparatus 101 acquires network information from the received detection signal and manages the network information. Then, in step S402, the communication apparatus 101 joins the cluster X based on the acquired network information and transmits an informing signal in a DW determined in the cluster X. In the present exemplary embodiment, the communication apparatus 101 broadcasts a synchronization beacon (broadcasting).
If the communication apparatus 101 joins the cluster X, then in step S403, the communication apparatus 101 performs wireless communication (NAN communication) compliant with the NAN standard. In NAN communication, a publish, which is a notification signal for the notification of information about a function (compatible service or application) of the own apparatus, is transmitted and received. In place of or in addition to the publish, a subscribe, which is a search signal for searching for a function of other communication apparatuses being in a NAN cluster, may be transmitted and received. The publish and the subscribe are transmitted and received by broadcasting.
If a predetermined time elapses since the search, then in step S404, the communication apparatus 101 searches again for a cluster that exists in the neighborhood. The search is performed by waiting for a discovery beacon, which is a detection signal, within or outside the discovery windows.
The search may be performed again not when a predetermined time elapses but when a predetermined amount of movement is detected. Further, the search may be performed again in response to a user instruction. Further, the search may be performed again in response to activation of a specific application.
In the present exemplary embodiment, as a result of the search performed again, the communication apparatus 101 receives a detection signal from each of the communication apparatuses 102 and 103 and detects the clusters X and Y. In a case where a plurality of other clusters (clusters different from the cluster X) is detected as a result of the search performed again, “cluster Y” refers to a cluster, from among the plurality of other clusters, that has the highest CG.
In step S405, the communication apparatus 101 determines whether another cluster different from the cluster that the communication apparatus 101 has joined is detected as a result of the search performed again. If no another cluster is detected (NO in step S405), the processing returns to step S403. In the present exemplary embodiment, the cluster Y is detected as another cluster, so the processing proceeds to step S406.
On the other hand, if another cluster is detected (YES in step S405), then in step S406, the communication apparatus 101 determines whether the CG of the detected cluster is higher than the CG of the cluster that the communication apparatus 101 has joined. Specifically, a determination of a wireless network with a higher priority is performed. In the present exemplary embodiment, the CG of the cluster Y is determined as being higher than the CG of the cluster X. Specifically, it is determined that the communication apparatus 101 should preferentially join not the cluster X but the cluster Y.
As a result of the determination, if the CG of the detected cluster is lower than the CG of the cluster that the communication apparatus 101 has joined (NO in step S407), the processing returns to step S403.
On the other hand, if the CG of the detected cluster is higher than the CG of the cluster that the communication apparatus 101 has joined (YES in step S407), then in step S408, the communication apparatus 101 determines whether communication with a specified partner apparatus is performed in the cluster that the communication apparatus 101 has joined.
As used herein, the phrase “communication with a specified partner apparatus” refers to unicast or multicast communication with a partner apparatus specified by the user or the application. In the present exemplary embodiment, broadcast communication that is communication with the entire wireless networks is not included.
Specifically, it is the case where the communication apparatus 101 acquires information about a service (function) provided by the partner apparatus from a publish from the partner apparatus and performs communication in the cluster X for using the service (function) provided by the partner apparatus.
Further, for example, there may be a case where communication for using a service (function) provided by a partner apparatus is performed in a different wireless network in which communication is performed in accordance with a communication protocol different from the communication protocol in the cluster. In this case, in the cluster X, the communication apparatus 101 performs a negotiation with the communication apparatus 102 to change the current wireless network to the different wireless network compliant with the different communication protocol. In the negotiation, a determination of which one of the communication protocols should be complied with for forming a wireless network is performed, and parameters of the wireless network to be formed are shared. Such communication for the negotiation is also the communication with a specified partner apparatus.
In the present exemplar embodiment, the wireless network in which communication is performed in accordance with a different communication protocol is wireless network compliant with Wi-Fi Direct. However, the wireless network is not limited to the foregoing wireless network and may be a wireless network compliant with other communication protocols, such as the infrastructure mode or ad hoc mode defined in the IEEE 802.11 series, Bluetooth®, etc.
As a result of the determination, if the communication apparatus 101 determines that communication with a specified partner apparatus is not performed (NO in step S408), then in step S409, the communication apparatus 101 leaves the cluster the communication apparatus 101 has joined. Specifically, the communication apparatus 101 stops synchronizing with the DW defined in the cluster X and stops transmitting an informing signal in the DW. Then, in step S410, the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Thereafter, the processing returns to step S403, and the communication apparatus 101 starts communication in the cluster Y.
On the other hand, if the communication apparatus 101 determines that communication with a specified partner apparatus is performed (YES in step S408), then in step S411, the communication apparatus 101 does not leave the cluster that the communication apparatus 101 has joined. Specifically, the communication apparatus 101 continues to join the cluster X. Then, in step S412, the communication apparatus 101 continues the communication with the specified partner apparatus in the cluster X. Thereafter, if the communication with the specified partner apparatus is completed (YES in step S413), then in step S414, the communication apparatus 101 leaves the cluster that the communication apparatus 101 has joined. Then, in step S415, the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Then, the processing returns to step S403, and the communication apparatus 101 starts communication in the cluster Y.
As used herein, the case where “the communication with the specified partner apparatus is completed” refers to a case where, for example, use of a service (function) provided by the partner apparatus is stopped or a case where formation of a wireless network in which communication is performed in accordance with a different communication protocol is completed.
In this way, the communication apparatus 101 does not leave the cluster X while performing the communication with the specified partner apparatus, whereby the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus 101 can promptly switch the cluster to join to the cluster having a higher priority.
FIG. 5 is a sequence chart illustrating a case where the communication apparatus 101 is in the cluster X and newly detects the cluster Y. The communication apparatus 101 is in a state where the communication apparatus 101 currently executes a negotiation with the communication apparatus 102 to form a new wireless network compliant with Wi-Fi Direct, in order to use a service (function) provided by the communication apparatus 102. Specifically, the communication apparatus 101 currently performs communication with the specified partner apparatus in which the communication apparatus 102 is specified as the specified partner apparatus.
In step S501, the communication apparatus 101 transmits and receives a synchronization beacon, which is a synchronization signal, in the DW defined in the cluster X. Further, in step S502, the communication apparatus 101 performs communication with the specified partner apparatus which is the communication apparatus 102 in the DW and performs a negotiation to form a new wireless network in infrastructure mode.
In a case where the negotiation is not completed within one DW, the communication apparatus 101 continues the negotiation in the next DW. In place of or in addition to the foregoing, the communication apparatus 101 may continue the negotiation outside the DWs in the case where the negotiation is not completed within one DW. In the case of continuing the negotiation outside the DWs, the communication apparatus 101 temporarily shifts the state from the sleep state to the awake state and then performs the negotiation.
In the present exemplary embodiment, the negotiation is not completed within the DW described above and is continued in the next DW.
In step S503, while performing the negotiation, the communication apparatus 101 performs search processing and receives a discovery beacon, which is a detection signal, from the cluster Y and detects the cluster Y.
In the present exemplary embodiment, the CG of the cluster Y is higher than the CG of the cluster X, so it is desirable for the communication apparatus 101 to join the cluster Y. However, if the communication apparatus 101 switches the cluster to join from the cluster X to the cluster Y at this timing, the communication with the communication apparatus 102 is disconnected. Consequently, a Wi-Fi Direct wireless network for using the service (function) provided by the communication apparatus 102 is not formed, and user convenience is thereby decreased.
Thus, in step S504, the communication apparatus 101 does not switch the cluster to join from the cluster X to the cluster Y during the execution of the negotiation. Specifically, switching of the cluster is restricted.
Then, in step S505, the communication apparatus 101 transmits a synchronization signal in the next DW, and in step S506, the communication apparatus 101 performs the negotiation with the communication apparatus 102. In the present exemplary embodiment, the negotiation is completed within this DW, and in step S507, the communication apparatuses 101 and 102 form a Wi-Fi Direct wireless network.
Then, in step S508, the communication apparatus 101 leaves the cluster X in response to completion of the negotiation. Then, in step S509, the communication apparatus 101 joins the cluster Y. Thereafter, the communication apparatus 101 performs NAN communication in the cluster Y.
In this way, the communication apparatus 101 does not leave the cluster X while performing the communication with the specified partner apparatus, whereby the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus 101 can promptly switch the cluster to join to the cluster having a higher priority.
While the foregoing describes that the communication apparatus 101 leaves the cluster X in response to completion of the negotiation, this is not a limiting configuration, and the communication apparatus 101 may switch the cluster to join in response to an event in which a detection signal is received again in the state in which the negotiation is completed. This configuration can also provide the effect similar to that described above.
Further, in step S411 in FIG. 4, an inquiry of whether to switch the cluster may be made to the user. If the user chooses not to switch the cluster, the communication apparatus 101 does not leave the cluster that the communication apparatus 101 has joined, and the processing proceeds to step S412.
On the other hand, if the user chooses to switch the cluster, the communication apparatus 101 stops the negotiation being executed, and the processing proceeds to step S414. This configuration can also provide the effect similar to that described above.
Further, the NAN data communication may be ended in response to a user instruction while the communication apparatus 101 is executing the processing illustrated in FIG. 4. In this case, the processing illustrated in FIG. 4 is ended. Further, in place of or in addition to a user instruction, the NAN data communication may be ended in response to an event in which the application is ended, a predetermined time elapses, the communication apparatus 101 leaves a predetermined location, or the remaining battery level falls below a threshold value.
The foregoing exemplary embodiment describes the switching performed between NAN wireless networks. However, an exemplary embodiment of the present invention is applicable to not only the switching performed between NAN wireless networks but also a switching performed between wireless networks compliant with the IEEE 802.11 series, Bluetooth®, the fourth or fifth generation mobile communication system (4G, 5G), Long Term Evolution (LTE) (3.9G), etc.
Further, whether the communication apparatus 101 can concurrently join a plurality of clusters may be checked, and if the communication apparatus 101 can concurrently join a plurality of clusters, the following processing may be performed in place of step S408 and the subsequent steps. Specifically, in a case where the cluster Y is detected, the communication apparatus 101 joins both the clusters X and Y regardless of whether the communication apparatus 101 is performing communication with a specified partner apparatus. In this case, the communication apparatus 101 may leave the cluster X in response to completion of the communication with the specified partner apparatus in the cluster X.
In this way, the communication apparatus 101 does not leave the cluster X so that even when the communication apparatus 101 currently performs communication with a specified partner apparatus, the communication can be continued without a disconnection.
In the first exemplary embodiment, whether communication with a specified partner apparatus is performed is determined in a case where search processing is performed and another cluster having a higher CG is detected. In a second exemplary embodiment, search processing is performed in a case where it is determined that communication with a specified partner apparatus is not performed.
The hardware configurations of communication apparatuses 101 to 103 and function block diagrams are similar to those in the first exemplary embodiment, so description thereof is omitted.
FIG. 6 is a flow chart illustrating a flow of processing. When a NAN function is activated in the communication apparatus 101, a control unit 202 reads a program stored in a storage unit 201 and executes the program to realize the processing illustrated in FIG. 6. In the present exemplary embodiment, a NAN function is activated in response to a user instruction to activate the NAN function. However, the foregoing configuration is not a limiting configuration, and a NAN function may be activated in conjunction with activation of a specific application (game, information collection application, etc.). Further, a NAN function may be activated at a specific time or may be activated when the communication apparatus 101 is in a specific location.
Steps similar to those in FIG. 4 are given the same reference numerals, and description of the steps is omitted.
First, in step S401, the communication apparatus 101 searches for a cluster that exists in the neighborhood. In step S402, the communication apparatus 101 detects the cluster X and joins the cluster X. If the communication apparatus 101 joins the cluster X, then in step S403, the communication apparatus 101 performs NAN communication.
Then, if a predetermined time elapses since the search, then in step S601, the communication apparatus 101 determines whether communication with a specified partner apparatus is performed. The determination may be performed when a predetermined amount of movement is detected, instead of when a predetermined time elapses. Further, the determination may be performed in response to a user instruction. Further, the determination may be performed in response to activation of a specific application. Specific processing performed in the determination is similar to step S408, so description thereof is omitted.
If it is determined that communication with a specified partner apparatus is performed (YES in step S601), the processing returns to step S403. On the other hand, if it is determined that communication with a specified partner apparatus is not performed (NO in step S601), then in step S602, the communication apparatus 101 performs search processing again to search for a cluster that exists in the neighborhood. Specific processing performed in the search processing is similar to step S404, so description thereof is omitted.
If no another cluster is detected as a result of the search processing (NO in step S603), the processing returns to step S403. On the other hand, if another cluster is detected (YES in step S603), then in step S406, the communication apparatus 101 determines whether the CG of the detected another cluster is higher than the CG of the cluster that the communication apparatus 101 has joined. In a case where the communication apparatus 101 detects a plurality of other clusters, the communication apparatus 101 determines whether a CG of a cluster which is one of the detected plurality of other clusters and has the highest CG among the detected plurality of other clusters is higher than the CG of the cluster that the communication apparatus 101 has joined. As a result of the determination, if the CG of the detected another cluster is lower than the CG of the cluster that the communication apparatus 101 has joined (NO in step S407), the processing returns to step S403.
On the other hand, if the CG of the detected another cluster is higher than the CG of the cluster that the communication apparatus 101 has joined (YES in step S407), then in step S409, the communication apparatus 101 leaves the cluster X. Then, in step S410, the communication apparatus 101 joins the cluster Y. Specifically, the communication apparatus 101 switches the wireless network to join from the cluster X to the cluster Y. Thereafter, the processing returns to step S403, and the communication apparatus 101 starts communication in the cluster Y.
In the present exemplary embodiment, it is determined in step S601 that the communication apparatus 101 does not perform communication with a specified partner apparatus, so even if the wireless network to join is switched from the cluster X to the cluster Y, a problem such as a disconnection of the communication, etc. will not arise.
As described above, search processing for detecting another wireless network is not performed while the communication apparatus 101 is performing communication with a specified partner apparatus. In this way, even in a case where another wireless network having a higher priority exists, this another wireless network is not detected, so the communication apparatus does not switch the wireless network.
Accordingly, the communication apparatus does not leave the cluster X and, therefore, the communication can be continued without a disconnection. Further, when the communication with the specified partner apparatus is completed, the communication apparatus can promptly switch to the cluster having a higher priority.
An exemplary embodiment of the present invention can be realized by the processing in which a program for realizing a function of each exemplary embodiment described above is supplied to a system or an apparatus via a network or a storage medium and one or more processors of a computer of the system or the apparatus read and execute the program. Further, an exemplary embodiment of the present invention can also be realized by a circuit (e.g., application specific integrated circuit (ASIC)) configured to realize one or more functions.
In an exemplary embodiment of the present invention, while data communication with a specified communication partner is performed, even if another wireless network having a higher priority exists, the wireless network is not switched, whereby the risk of a disconnection of the data communication during the data communication can be reduced.
OTHER EMBODIMENTS
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), 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) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. 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.
While aspects of the present invention have been described with reference to exemplary embodiments, it is to be understood that the aspects of the invention are 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.

Claims (9)

What is claimed is:
1. A communication apparatus, comprising:
one or more processors; and
one or more memories including instructions that, when executed by the one or more processors, cause the communication apparatus to:
determine whether or not data communication that is compliant with a Neighbor Awareness Networking (NAN) standard and specifies a communication partner apparatus is being performed in a first NAN cluster;
in a case where it is determined that the data communication is being performed, perform control such that a discovery beacon for detecting a second NAN cluster that is higher in cluster grade than the first NAN cluster is not received outside a discovery window of the first NAN cluster; and
in a case where it is not determined that the data communication is being performed, upon receiving the discovery beacon for detecting the second NAN cluster, stop participating in the first NAN cluster and join the second NAN cluster.
2. The communication apparatus according to claim 1,
wherein, in a case where the communication apparatus is participating in the first NAN cluster, the communication apparatus transmits an informing signal in the discovery window of the first NAN cluster.
3. The communication apparatus according to claim 2,
wherein the informing signal is a synchronization beacon compliant with the NAN standard.
4. The communication apparatus according to claim 1,
wherein the data communication is communication for using a service provided by the communication partner apparatus.
5. The communication apparatus according to claim 1,
wherein the data communication is communication for joining a wireless network in which communication compliant with a standard different from the NAN standard is performed.
6. The communication apparatus according to claim 1,
wherein the data communication is performed by unicast communication or multicast communication between the communication apparatus and the communication partner apparatus.
7. The communication apparatus according to claim 1,
wherein, upon completion of the data communication, the communication apparatus performs processing for receiving the discovery beacon outside the discovery window of the first NAN cluster.
8. A communication method comprising:
determining whether or not data communication that is compliant with a Neighbor Awareness Networking (NAN) standard and specifies a communication partner apparatus is being performed in a first NAN cluster;
in a case where it is determined that the data communication is being performed, perform control such that a discovery beacon for detecting a second NAN cluster that is higher in cluster grade than the first NAN cluster is not received outside a discovery window of the first NAN cluster; and
in a case where it is not determined that the data communication is being performed, upon receiving the discovery beacon for detecting the second NAN cluster, stop participating in the first NAN cluster and join the second NAN cluster.
9. A non-transitory computer-readable storage medium storing computer executable instructions for causing a computer to execute a communication method, the communication method comprising:
determining whether or not data communication that is compliant with a Neighbor Awareness Networking (NAN) standard and specifies a communication partner apparatus is being performed in a first NAN cluster;
in a case where it is determined that the data communication is being performed, perform control such that a discovery beacon for detecting a second NAN cluster that is higher in cluster grade than the first NAN cluster is not received outside a discovery window of the first NAN cluster; and
in a case where it is not determined that the data communication is being performed, upon receiving the discovery beacon for detecting the second NAN cluster, stop participating in the first NAN cluster and join the second NAN cluster.
US16/113,881 2015-09-04 2018-08-27 Communication apparatus, communication method, and storage medium Active US10595259B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/113,881 US10595259B2 (en) 2015-09-04 2018-08-27 Communication apparatus, communication method, and storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015175012A JP6566796B2 (en) 2015-09-04 2015-09-04 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2015-175012 2015-09-04
US15/232,220 US10117153B2 (en) 2015-09-04 2016-08-09 Communication apparatus, communication method, and storage medium
US16/113,881 US10595259B2 (en) 2015-09-04 2018-08-27 Communication apparatus, communication method, and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/232,220 Continuation US10117153B2 (en) 2015-09-04 2016-08-09 Communication apparatus, communication method, and storage medium

Publications (2)

Publication Number Publication Date
US20180368045A1 US20180368045A1 (en) 2018-12-20
US10595259B2 true US10595259B2 (en) 2020-03-17

Family

ID=58189721

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/232,220 Active US10117153B2 (en) 2015-09-04 2016-08-09 Communication apparatus, communication method, and storage medium
US16/113,881 Active US10595259B2 (en) 2015-09-04 2018-08-27 Communication apparatus, communication method, and storage medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/232,220 Active US10117153B2 (en) 2015-09-04 2016-08-09 Communication apparatus, communication method, and storage medium

Country Status (4)

Country Link
US (2) US10117153B2 (en)
JP (1) JP6566796B2 (en)
KR (1) KR102115161B1 (en)
CN (1) CN106507420B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7130364B2 (en) * 2017-10-31 2022-09-05 キヤノン株式会社 Communication device, control method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011087026A (en) 2009-10-14 2011-04-28 Alpine Electronics Inc Onboard radio communication system
CN104349285A (en) 2013-08-05 2015-02-11 诺基亚公司 Method, apparatus, and computer program product for hop count usage in cluster selection
CN104378800A (en) 2013-08-13 2015-02-25 华为终端有限公司 Method, device and system for joining in neighbor awareness network cluster
US20150200811A1 (en) 2014-01-14 2015-07-16 Nokia Corporation Method, apparatus, and computer program product for wireless network cluster discovery and concurrency management
EP2914047A1 (en) 2012-10-29 2015-09-02 LG Electronics Inc. Wi-fi direct service method using nfc and device therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047692A (en) * 2004-05-07 2006-05-18 엘지전자 주식회사 Method for performing and controlling sleep mode in broadband wireless access system
KR100913087B1 (en) * 2005-06-09 2009-08-21 엘지전자 주식회사 Method for Controlling Handover in Power Saving Mode
US20110201335A1 (en) * 2010-02-12 2011-08-18 David Garrett Method and system for a location-based vertical handoff over heterogeneous mobile environments
TWI475911B (en) * 2012-10-05 2015-03-01 Wistron Corp Network searching method and mobile electronic device using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011087026A (en) 2009-10-14 2011-04-28 Alpine Electronics Inc Onboard radio communication system
EP2914047A1 (en) 2012-10-29 2015-09-02 LG Electronics Inc. Wi-fi direct service method using nfc and device therefor
CN104349285A (en) 2013-08-05 2015-02-11 诺基亚公司 Method, apparatus, and computer program product for hop count usage in cluster selection
CN104378800A (en) 2013-08-13 2015-02-25 华为终端有限公司 Method, device and system for joining in neighbor awareness network cluster
US20150200811A1 (en) 2014-01-14 2015-07-16 Nokia Corporation Method, apparatus, and computer program product for wireless network cluster discovery and concurrency management

Also Published As

Publication number Publication date
CN106507420B (en) 2020-05-19
US20170070938A1 (en) 2017-03-09
CN106507420A (en) 2017-03-15
US20180368045A1 (en) 2018-12-20
JP2017050826A (en) 2017-03-09
US10117153B2 (en) 2018-10-30
JP6566796B2 (en) 2019-08-28
KR20170028845A (en) 2017-03-14
KR102115161B1 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
US10362472B2 (en) Communication apparatus, control method thereof, and storage medium
US10075837B2 (en) Communication apparatus, control method, and computer-readable storage medium
US10205506B2 (en) Communication apparatus, control method, and computer-readable storage medium
US10856216B2 (en) Communication apparatus, control method, and recording medium
US11758008B2 (en) Communication apparatus, control method and program
US20220304105A1 (en) Communication apparatus for data transmission in a neighbor aware network (nan), control method, and computer-readable storage medium
US10595259B2 (en) Communication apparatus, communication method, and storage medium
US10721677B2 (en) Communication apparatus, control method, and recording medium
US10548102B2 (en) Communication apparatus, control method therefor, and non-transitory computer-readable storage medium for a neighbor awareness network
JP6646458B2 (en) Communication device, control method, and program
US10412776B2 (en) Communication apparatus, control method therefor, and non-transitory computer-readable storage medium
US11109426B2 (en) Communication apparatus, communication method, and program
WO2018051947A1 (en) Communication device, communication method, and program
US11451644B2 (en) Proxy apparatus, communication apparatus, control method, and computer-readable storage medium
US10849061B2 (en) Communicating device, control method therefor, and storage medium
JP2020074646A (en) Communication apparatus, communication method, and program

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4