The present invention relates to a communication apparatus and a communication method in a network where communication apparatuses perform communication with other apparatuses.
Methods have been proposed where configuration of wireless communication parameters such as SSIDs (Service Set Identifiers), which are network identifiers, encryption methods, encryption keys, authentication methods and authentication keys, generally considered cumbersome and complicated to users, is performed automatically. For instance, as for auto-configuration of a wireless LAN, a method requiring only simple operations for automatically transferring wireless parameter settings of an access point (relay station) and a station (terminal) from the relay station to the terminal has already been realized and commoditized.
Moreover, in recent years, communication over so-called ad hoc networks, where devices perform direct wireless communication with each other without having to go through a relay station, has become more and more common. Thus, demands for automization of wireless communication parameter configuration in ad hoc networks have been on the rise.
One of the problems encountered when performing wireless communication parameter configuration in a wireless LAN ad hoc network is that the lack of a mechanism for managing the statuses of the network devices, such as what kind of terminals joined or left the same network at what time, which prevents initiation of communication among a plurality of devices in such network environment, and makes it difficult to perform communication parameter configuration among the plurality of devices.
In regards to techniques for managing statuses of network devices, Patent Document 1 describes an operation involving selecting a leader device from the network nodes, and having the leader device manage a group in order to achieve network node group formation and maintenance. To be more specific, Patent Document 1 is U.S. Pat. No. 5,365,523 (Japanese Patent Laid-Open 06-350652).
When performing communication parameter configuration among a plurality of devices, in order to respond to such security demands as reducing the probability of network participation by unexpected terminals, or reducing power consumption at mobile terminals, it is preferred that the processing time for such configuration is kept at a minimum. In other words, it is desired that processing such as role determination or status detection of devices be performed in an expeditious manner even during device status management.
However, the above example of the conventional art does not consider such reduction of processing time, and is therefore inadequate to meet the aforementioned needs.
In addition, since the detection method in the above example of the conventional art involved verifying device statuses according to a preset interval, a problem exists where, for instance, the detachment of a device immediately following status verification can not be detected until the next verification, making prompt status detection impossible.
Furthermore, another problem with ad hoc networks is that due to the lack of a mechanism for keeping track of what kind of other devices are participating in the network and what capabilities the devices have, it is difficult to perform communication parameter configuration among devices according to the types and capabilities thereof in an environment as described above.
It is an object of the present invention to manage participation or detachment of communication apparatuses from a network in a swift and secure manner.
It is also an object of the present invention to automatically keep track of information that indicates the capabilities of a plurality of communication apparatuses participating in the network.
It is a further object of the present invention to provide a method for determining a management apparatus that manages a network on which an uncertain number of communication apparatuses exist.
According to an aspect of the present invention, the foregoing objects are attained by providing a communication apparatus comprising: a determination unit configured to determine a management apparatus that manages a network, based on message information received over the network, and a collection unit configured to collect device capability information of other communication apparatuses, based on the determination by the determination unit.
In addition, according to an aspect of the present invention, the foregoing objects are attained by providing a communication apparatus comprising: a detection unit configured to detect message information notifying the existence of a management apparatus that manages a network, and a transmission unit configured to transmit message information that notifies that the apparatus is a management object apparatus of the management apparatus, according to the detection results by the detection unit.
Moreover, according to an aspect of the present invention, the foregoing objects are attained by providing a communication apparatus comprising: a detection unit configured to detect message information notifying the existence of a management apparatus that manages a network, an operation unit configured to operate as the management apparatus according to detection results of the detection unit, a reception unit configured to receive message information that are autonomously transmitted by management object apparatuses of the management apparatus, and notifies that the apparatuses are management subject apparatuses, and a management unit configured to manage the management subject apparatuses based on message information received by the reception unit, wherein the management unit manages the existence of a management subject apparatus based on whether second message information, transmitted from the same communication apparatus, notifying the existence of the management subject apparatus is detected within a certain period of time after detecting first message information.
Furthermore, according to an aspect of the present invention, the foregoing objects are attained by providing a communication method comprising: a determination step of determining a management apparatus that manages a network, based on message information transmitted and received over the network, and a collection step of collecting device capability information of other communication apparatuses, based on the determination by the determination step.
In addition, according to an aspect of the present invention, the foregoing objects are attained by providing a communication method comprising: a detection step of detecting message information notifying the existence of a management apparatus that manages a network, and a transmission step of transmitting message information that notifies that the apparatus itself is a management object apparatus of the management apparatus, according to the detection results by the detection step.
In addition, according to an aspect of the present invention, the foregoing objects are attained by providing a communication method comprising: an operation step that enables the apparatus itself to operate as a management apparatus according to a detection of message information notifying the existence of a management apparatus that manages a network, and a management step of managing the management subject apparatuses based on message information that is autonomously transmitted by the management subject apparatuses of the management apparatus, and notifies that the apparatuses are management subject apparatuses, wherein the management means manages the existence of the management subject apparatus based on whether second message information, transmitted from the same communication apparatus, notifying the existence of the management subject apparatus is detected within a certain period of time after detecting first message information.
Other objects of the present invention will become apparent by the attached drawings and through the following detailed description.
A detailed description of a preferred embodiment for implementing the present invention will now be provided with reference to the drawings.
Next, configurations and operations of the devices A and B having communication parameter configuration controlling functions will now be explained using
Reference numeral 208 denotes an image capturing unit that captures image signals inputted from a CCD 209. 210 denotes a card interface that controls a storage media card for storing captured images or configuration information, while 211 denotes a display unit. 212 denotes an operating unit, and includes buttons for issuing instructions on shooting, playback, configuration and the like. 213 denotes a power source unit that includes a secondary battery. 214 denotes a non-wireless communication interface, and comprises a wired interface such as USB or IEEE1394. 215 denotes a communication parameter configuration button that activates communication parameter configuration.
Reference numeral 307 denotes a paper feeding/ejecting unit that feeds and ejects printer paper. 308 denotes a printer engine that performs printing control using methods such as the electro-photographic method or the inkjet method. 309 denotes a card interface that controls a storage media storing images, while 310 denotes a display unit. 311 denotes an operating unit that includes menu, configuration and other buttons. 312 denotes a wireless communication processing unit, which performs communication control for the wireless LAN. 313 denotes an antenna, and 314 an antenna control unit. 315 denotes a communication parameter configuration button that activates communication parameter configuration.
Next, processing for configuring wireless parameter data between devices A and B in an IEEE802.11 compliant wireless LAN ad hoc network will be described using
<Communication Parameter Configuration Network Formation Step 401>
In this step, processing is performed for forming a communication parameter configuration network between devices A and B using ad hoc connection.
<Master Device Determination Step 402>
In this step, processing for determining which of the devices A and B will become a master device of the communication parameter configuration network and which of the devices will become a slave device is performed. In addition, each device will continuously perform processing for monitoring whether the other party exists on the same network.
<Device Capability Information Collection Step 403>
In this step, the master device determined in step 402 performs processing for collecting device capability attribute values owned by slave devices existing on the same network by making inquiries to the slave devices.
<Communication Parameter Transfer Direction Determination Step 404>
In this step, the master device compares its own device capability attribute values with those of each slave device collected by the master device in step 403. The master device determines which device will be the source of communication parameter transfer, and which device will be its destination. The master device also transfers information necessary for communication parameter transfer, such as destination or source information, to each slave device.
<Communication Parameter Transfer Step 405>
In this step, communication parameters are transferred from a device that is actually capable of providing communication parameters to a device that is actually capable of receiving communication parameters along the communication parameter transfer direction determined in step 404.
<Communication Parameter Configuration Network Termination Step 406>
In this step, prompted by the completion of the transfer in step 405, processing necessary to terminate the communication parameter configuration network will be performed. After the completion of the communication parameter configuration network termination step 406, a new network will be constructed using the communication parameters transferred in the communication parameter transfer step 405.
Next, each of the six steps composing the abovementioned communication parameter configuration sequence will be described in detail.
The description will begin with the communication parameter configuration network formation step 401, carried out between the digital camera 100 and the printer 101. First, the communication parameter configuration activation button 215 of the digital camera 100 (apparatus A) and the parameter configuration activation button 315 of the printer 101 (apparatus B) are pressed. When the buttons 215 and 315 are pressed, the digital camera 100 and the printer 101 form a communication parameter configuration ad hoc network. This network is formed using configuration communication parameters stored in the RAMs 204 and 304.
All processing performed in each of the steps, as described below, are carried out by communicating over the network formed in step 401.
Next, a detailed description will be provided on the master device determination step 402 performed between the digital camera 100 and the printer 101.
First, a message format transmitted and received between the devices A and B in the master device determination step 402 will be explained using
As shown in
Next, with reference to
After the master device determination step 402 is commenced, the process proceeds to step S601 where the device activates a random timer T1. The timer T1 makes it possible to avoid message collisions that occur when messages are concurrently transmitted from a plurality of devices simultaneously initiating the master device determination step 402 by delaying the transmission of an inquiry message, performed during subsequent processing, by a random amount of time.
In step S602, the device verifies reception of a master declaration message that notifies the existence of a master device. If a master declaration message is received, it is determined that a master device already exists within the network, and the process proceeds to step S608 described later. If a master declaration message is not received, the device proceeds to step S603 to verify timeout of the timer T1. When the timer T1 has not yet timed out, the device returns to step S602, and repeats the abovementioned processing until either a master declaration message is received, or the timer T1 times out. This processing enables prompt processing upon master declaration reception, described in step S608, even when receiving the master declaration message during a random waiting time for the purpose of avoiding message collision.
When the timer T1 times out in step S603, the process proceeds to step S604 during which the device broadcasts a master inquiry message that inquires about the existence of a master device, thereby activating master inquiry transmission timer T2. The master inquiry transmission timer T2 is used for transmitting a master inquiry message at regular intervals.
Next, in step S605, the device verifies reception of the master declaration message. When the master declaration message is received, the device acknowledges that a master device already exists in the network, and proceeds to step S608 described later. If the master declaration message is not yet received, the device proceeds to step S606 to verify timeout of the timer T2. When the timer T2 has not yet timed out, the process returns to step S605, and repeats the abovementioned processing until either a master declaration message is received, or the timer T2 times out.
In addition, when the timer T2 has timed out in step S606, the process proceeds to step S607 in which the device verifies whether the master inquiry message has been transmitted a predetermined number of times. If not, the process returns to step S604 and repeats the processing of steps S604 to S607 until either the master inquiry message has been transmitted a predetermined number of times or the master declaration message is received.
Meanwhile, when the device has received the master declaration message, the process proceeds to step S608 in which a MAC address 501 of the master device is acquired from the received message. The acquired MAC address is registered in a master device management table (see
After activating the timer T7 in step S608, the device activates a random timer T9 in step S623. The timer T9 delays the transmission of a slave declaration message, performed during subsequent processing, by a random amount of time. This makes it possible to avoid message collisions that occur when slave declaration messages are concurrently transmitted from a plurality of devices in response to a master declaration message. After activating the timer T9, the process proceeds to step S624 to wait for the timer T9 to time out.
When the timer T9 eventually times out, the device proceeds to step S609 in which it transmits a slave declaration message, which notifies that the device is a slave device, to the master device. Next, in step S610, the device activates a slave declaration message transmission timer T5. The timer T5 is used for periodic transmission of the slave declaration message, and the slave declaration message is retransmitted upon timeout of the timer T5. The timer T5 is set to a value that is shorter than the expire time described in the slave declaration message, enabling the timer T5 to periodically transmit the message while avoiding expiration. After activating the timer T5, the device performs operation as a slave device described later.
When the master inquiry message is transmitted a predetermined number of times in the abovementioned step S607, the process proceeds to step S611 in which the device activates a master declaration message reception timer T3. The device waits for reception of a message from another device until the timer T3 times out. When a message is received, the device performs processing as described below according to the message type.
In step S612, the device verifies reception of the master declaration message. When the master declaration message has been received, the process acknowledges that a master device already exists in the network and proceeds to step S608. When the message has not yet been received, the process proceeds to step S613.
In step S613, the device verifies reception of a master inquiry message. When a master inquiry message has been received, the device determines that a state of master inquiry collision exists, where a master device does not exist while devices other than the device itself that are capable of becoming the master device exist in the network. The process proceeds to step S614 to perform master collision resolution. Meanwhile, when a master inquiry message has not been received, the process proceeds to step S615.
In step S614, the device performs master collision resolution processing to resolve the state of master inquiry collision. This involves comparing the transmission source MAC address 502 of the received master inquiry message to the MAC address of the device in question in lexicographic order. When the comparison reveals that the MAC address of the device is smaller in lexicographic order, the device is determined to be a winner. On the other hand, when the comparison reveals that the MAC address of the device is larger in lexicographic order, the device is determined to be a loser. Determination results are stored to be used in the processing of step S617 to be described in detail later.
Meanwhile, when three or more devices are performing the processing of the master device determination step 402, it is conceivable that each device performs the master collision resolution processing described in step 614 with a plurality of devices until the master declaration reception timer T3 times out. In this case, a loser determination will be stored as the determination result even when determined a loser only once. A winner determination will be stored as the determination result only when a device is determined to be a winner in all master collision resolution processing.
Next, in step S615, the device verifies timeout of the master declaration reception timer T3. When the timer T3 has timed out, the device determines that no master devices exist in the network, and the process proceeds to step S616. When the timer T3 has not timed out, the process returns to step S612.
In step S616, the device verifies whether master collision resolution processing has been performed by the time the master declaration reception timer T3 times out. If master collision resolution processing has been performed, the process proceeds to step S617, otherwise the process proceeds to step S618.
In step S617, the device verifies the determination results of the master collision resolution processing. If the determination resulted in a winner determination, the process proceeds to step S618. If the determination resulted in a loser determination, the process proceeds to step S620.
In step S618, the device broadcasts a master declaration message that notifies that the device itself is a master device to the network.
In step S619, the device activates a master declaration message transmission timer T4. The timer T4 is used to periodically transmit the master declaration message, and retransmits the master declaration message upon timeout. The timer T4 is set to a value that is shorter than the expire time described in the master declaration message, enabling the timer T4 to periodically transmit the message while avoiding expiration. After activating the timer T4, the device performs operation as a master device described later.
In step S620, the device activates a master declaration reception waiting timer T8. The timer T8 is used by the device that was determined to be the loser in the above described determination of step S617 to wait for a certain period for the reception of the master declaration message from the device that was determined to be the winner.
In step S621, the device verifies reception of the master declaration message. If the master declaration message was received, the process proceeds to step S608 described above. If the master declaration message was not received, the process proceeds to step S622. In step S622, the device verifies timeout of the master declaration reception waiting timer T8. If the timer T8 has timed out, the device performs error termination since it was unable to receive a message from the master device within the allotted time. On the other hand, if the timer T8 has not timed out, the process returns to step S621.
Incidentally, while an error termination is performed when the timer T8 is timed out in step S622, the process may be configured to return to step S601 to retransmit the master inquiry message when the timer T8 times out. This processing enables prompt retrying of the processing of master and slave device determination even when the device was unable to receive a message from the master device within the allotted time.
In addition, in the processing of master and slave device determination shown in
The processing of master and slave device determination is performed according to the above procedures.
Next, with reference to
The master device performs processing described below according to various conditions when either receiving a message from another device on the network or when a timer within the master device times out.
First, processing for master inquiry message response, performed when the master device receives a master inquiry message from another device on the network, will be explained.
In step S701, when transmitting a master declaration message as a response to a master inquiry message, a method where the master declaration message is broadcasted can be considered as an alternative to performing a unicast transmission to the source device of the message. While an advantage of the latter method is that economic message transmission is achieved, the former method is capable of transmitting a master declaration message to a plurality of devices at the same time, and thereby has an advantage where the master declaration message can be efficiently transmitted when a plurality of devices are in a state of master inquiry. Thus, the two methods have different advantages. The present invention does not limit the method to be used to transmit a master declaration message in response to a master inquiry message, and allows either method to be used.
Next, processing for master declaration message regular transmission performed by the master device upon timeout of the master declaration message transmission timer T4, which is activated either in the abovementioned step S619 or step S802 described later, will be explained.
Next, processing for slave device management performed by the master device upon receiving a slave declaration message will be explained.
In step S903, the master device verifies whether the source MAC address 502 of the received slave declaration message is registered in the slave device management table (see
If the source MAC address is not registered in the table, the master device determines that the slave device that transmitted the slave declaration message has joined the network, and the process proceeds to step S904. If the source MAC address is registered in the table, the process proceeds to step S905 where the master device performs updating of the expire time of the slave device.
In step S904, the master device registers the source MAC address 502 of the received slave declaration message into the slave device management table. The master device sets a slave device expire timer T6n, which corresponds to an index number n for the registered slave device in the table, to the expire time referenced in the abovementioned step S901, and activates the timer. One timer T6 is activated for each slave device registered in the slave device management table. When the timer T6n times out, the master device determines that the corresponding slave device has detached from the network.
In step S905, the master device updates the timer value of the slave device expire timer T6n, which corresponds to the slave device that transmitted the slave device declaration message, to the expire time referenced in the abovementioned step S901, and restarts the timer.
Meanwhile, in step S902, the master device deletes the MAC address of the slave device of the index number n, which corresponds to the slave device that transmitted the slave device declaration message, from the slave device management table.
Slave device management by the master device is performed according to the above procedures.
Processing upon slave device detachment, performed by the master device upon timeout of the slave device expire timer T6n that is activated either in the abovementioned step S904 or step S905, will now be explained.
Next, master device termination processing, performed by the master device as a normal termination of its operations as a master device in response to user operations or instructions from upper layer applications and the like, will be explained.
Operation of the master device in the master device determination step 402 is performed according to the procedures described above.
As explained thus far, in the first embodiment, device joining a network transmit master inquiry messages (step S604), and verify reception of master declaration messages (step S605). Meanwhile, a master device transmits master declaration messages immediately upon receiving master inquiry messages (step S701).
When a master device exists on the network, this makes it possible to detect a master device more promptly than by using a method where devices participating in a network regularly transmit messages after verifying reception of messages.
In addition, device management processing using the abovementioned time expire information 504 enables devices to detect the detachment of devices by receiving messages where the expire times are set to “0”, which allows the devices to understand the statuses of devices more promptly than in the case where verification is performed at regular intervals.
Next, with reference to
The slave device performs processing described below according to various conditions when either receiving a message from the master device or when a timer within the slave device times out.
First, processing for slave declaration message regular transmission, which is performed by the slave device upon timeout of the slave declaration message transmission timer T5 activated either in the abovementioned step S610 or step S1302 described below, will be explained.
Next, processing for slave device management performed by the slave device upon receiving a master declaration message will be explained.
In step S1402, the slave device updates the timer value of the master device expire timer T7 to the expire time referenced in the abovementioned step S1401, and restarts the timer.
In step S1403, the slave device terminates the master device expire timer T7 and discards the master device management table. By terminating the slave declaration message transmission timer T5, the slave device terminates regular transmission of the slave declaration message, thereby terminating its operations as a slave device.
Master device management processing is performed according to the above procedures.
Next, processing upon master device detachment, performed by the slave device upon timeout of the master device expire timer T7 that was activated either in the abovementioned step S608 or step S1402, will be explained.
Next, slave device termination processing, performed by the slave device as a normal termination of its operations as a slave device in response to user operations or instructions from upper layer applications and the like, will be explained.
Incidentally, the abovementioned steps S1403 and S1501 may be configured so that the device retries the master device/slave device determination processing shown in
Operations for a slave device in the master device determination step 402 are performed according to the above procedures.
Next operations of the digital camera 100 (device A) and the printer 101 (device B), shown in
First, operations will be explained for a case where a master device does not exist within the network, the device B initiates processing after the device A initiates processing, and master and slave device are determined between the two devices.
After the device A initiates processing, the random timer T1 is activated over a master inquiry activation time (TH1700) to wait for message transmission (comparable to steps S601, S602 and S603). As explained above for step S601, this is performed to avoid message collisions that occur when messages are concurrently transmitted from a plurality of devices initiating the master device determination step 402 at the same time.
Afterwards, as the random timer T1 times out, the device A sets the master inquiry transmission timer T2 to a master inquiry transmission interval (TH1701) and activates the timer. The device A transmits a master inquiry message upon each timeout of the master inquiry transmission timer T2 (comparable to steps S604, S605, S606 and S607). In this example, the master inquiry message is transmitted three times (F1702, F1703 and F1704).
After transmitting the master inquiry message, the device A activates the master declaration reception timer T3, and waits for a master inquiry response waiting time (TH1705) to receive a master declaration message (comparable to steps S611, S612, S613 and S615). In this example, the device A does not receive the message within the predetermined amount of time (TH1705). Therefore, after the timeout of the master declaration reception timer T3, the device A broadcasts (F1706) a master declaration message to notify other devices that the device A is the master device (comparable to steps S616 and S618).
After transmitting the master declaration message, the device A sets the master declaration transmission timer T4 to a master declaration transmission interval (TH1707) and activates the timer. The device A periodically broadcasts (F1708) the master declaration message every time the master declaration transmission timer T4 times out (comparable to steps S619, S801 and S802).
In the example shown in
After the device B initiates processing, the random timer T1 is activated over a master inquiry activation time (TH1709) to wait for message transmission. After the random timer T1 times out, the device B sets the master inquiry transmission timer T2 to a master inquiry transmission interval (TH1710) and activates the timer. The device B transmits a master inquiry message three times (F1711, F1712 and F1713) upon each timeout of the master inquiry transmission timer T2.
This allows the device A to respond to the master inquiry message (F1711) from the device B to transmit a master declaration message to the device B (F1714) (comparable to the processing of step S701). After transmitting the master inquiry message, the device B activates the master declaration reception timer, and waits for the transmission of a master declaration message for a master inquiry response waiting time (TH1715).
In the example shown in
Meanwhile, when receiving the slave declaration message of device B, the device A registers the MAC address of the device B into the slave device management table (
After transmitting the slave declaration message, the device B sets the slave declaration transmission timer T5 to a slave declaration transmission interval (TH1717) and activates the timer. The device B periodically transmits (F1718) the slave declaration message to the device A every time the slave declaration transmission timer T5 times out (comparable to steps S610, S1301 and S1302).
Subsequently, the devices A and B periodically transmit declaration messages according to the declaration transmission timers, and when declaration messages are received, reset the expire timers to the expire times in the messages and restart the expire timers (comparable to steps S905 and S1402).
Master and slave devices are determined by the above procedures according to the sequence shown in
Next, operations will be explained for a case where a master device does not exist within the network, the devices A and B initiate processing at substantially the same time, and master and slave devices are determined between the two devices.
In addition, this example assumes that the MAC address of the device A is smaller in lexicographic order than that of the device B, and that the device A will be determined to be the winner upon processing of master collision resolution.
After initiating processing, the device A activates the random timer T1 over a master inquiry activation time (TH1800) to wait for message transmission.
Afterwards, as the random timer T1 times out, the device A sets the master inquiry transmission timer T2 to a master inquiry transmission interval (TH1801) and activates the timer. The device A transmits a master inquiry message upon each timeout of the master inquiry transmission timer T2. In this example, the master inquiry message is transmitted three times (F1802, F1803 and F1804).
At the same time as the device A, after initiating processing, the device B activates the random timer T1 over a master inquiry activation time (TH1805) to wait for message transmission.
Afterwards, as the random timer T1 times out, the device B sets the master inquiry transmission timer T2 to a master inquiry transmission interval (TH1806) and activates the timer. The device B transmits a master inquiry message three times upon each timeout of the master inquiry transmission timer T2 (F1807, F1808 and F1809).
After transmitting the master inquiry message, the device A activates the master declaration reception timer T3, and waits to receive a message for a master inquiry response waiting time (TH1810). In this example, the device A performs master collision resolution processing since it receives a master inquiry message from the device B during a predetermined amount of time (TH1810) (S613 and S614). In this case, the device A will be determined as the winner by master collision resolution processing. Thus, after timeout of the master declaration reception timer T3, the device A acknowledges that it has been determined as the winner by master collision resolution processing (comparable to step S617). The device A notifies the device B that it is the master device by broadcasting a master declaration message (F1812).
After transmitting the master declaration message, the device A sets the master declaration transmission timer T4 to a master declaration transmission interval (TH1813) and activates the timer. The device A periodically broadcasts (F1816) the master declaration message every time the master declaration transmission timer T4 times out.
Meanwhile, after transmitting the master inquiry message, the device B also activates the master declaration reception timer T3, and waits to receive a message for a master inquiry response waiting time (TH1811). In this example, the device B detects that the device A is the master device since it receives the master declaration message from the device A during the predetermined time (TH1811).
The device B registers the MAC address of the device A into the master device management table (
When the device A receives the slave declaration message from device B, the device A registers the MAC address of the device B into the slave device management table (
After transmitting the slave declaration message, the device B sets the slave declaration transmission timer T5 to a slave declaration transmission interval (TH1815) and activates the timer. The device B periodically transmits (F1817) the slave declaration message every time the slave declaration transmission timer T5 times out.
Subsequently, the device A and B periodically transmit declaration messages according to the declaration transmission timers, and when declaration messages are received, reset the expire timers to expire times in the messages and restart the expire timers.
Master and slave device are determined by the above procedures according to the sequence shown in
Next, the device capability information collection step where the master device determined by the abovementioned master device determination step 402 collects device capability information from slave devices participating in the same network will be explained.
First, the digital camera 100, which is the master device, performs a device capability information collection request towards the printer 101 (F2001). The printer 101, which is the slave device, responds to this request by returning a device capability information collection response that includes its own device capability attribute value data to the source of request, the digital camera 100 (F2002). In this case, the master device activates a device capability information collection step timer TCM100, and performs the above described device capability information collection on slave devices currently considered to exist.
The master device checks whether the current state is a slave device participation acceptance state (S2401). If the participation acceptance state has already been closed, collection of the device capability attribute values of devices already participating in the network has been completed. Thus, the process proceeds to the next step, which is the communication parameter transfer direction determination step 404 (S2406).
On the other hand, if still in an acceptance state, the master device checks whether there are new slave devices (slave devices for which device capability attributes have not yet been collected) (S2402). If such a device exists, the master device transmits a device capability information collection request towards the new slave device (S2403). Upon receiving a device capability information collection response from the slave device (S2404), the master device stores the received device capability attribute values (S2405).
Based on the stored device capability attribute value information, the transfer direction of the communication parameters will now be determined (S2406). In the example shown in
As seen, the master device is constantly capable of detecting slave devices while concurrently performing, as an independent process, collection of device capability attribute values from the slave devices. Therefore, it is possible of reducing the time required for processing as compared to a case when device capability attribute values of the slave devices are collected after closing the participation acceptance state.
When the device is a slave device, it receives a device capability information collection request from the master device (S2201). The slave device transmits a device capability information collection response including information indicating its own device capability to the master device (S2202).
Then, the slave device responds to the reception of the device capability information collection request command from the master device by inserting the MAC address of the master device to the destination MAC address 3601. The slave device also inserts its own MAC address to the source MAC address 3602, and as was the case with the master device, inserts its own device capability attribute values to the attribute list 3603, and transmits the message as a response to the master device.
As seen, by arranging both the request message of the master device and the response message from the slave device to include their own device capability attribute values, both devices are now capable of mutually understanding the device capability of the other device. In addition, when the slave device determines that the attribute value contained in the device capability information collection request message from the master device is not consistent with its own device capability attribute value, the slave device is capable of immediately terminating automatic communication parameter configuration instead of returning its device capability attribute value response. This enables prompt notification of the results of processing for automatic communication parameter configuration to the user.
Next, processing where the master device collects device capability attribute values from the slave device to determine the transfer direction of the communication parameters will be explained. A detailed description will be provided with reference to
First, the digital camera 100, which is the master device, collects device capability attribute values of the printer 101, which is the slave device (S3201), and stores a device capability attribute value table in the RAM 204 in the format 3702 shown in
If the number of extracted devices is not one, the master device advances the attribute value currently compared to the attribute value to be compared next (S3206), and repeats the above described processing (S3203). If verification of all attribute values has been completed and the number of extracted devices is one (S3207), the master device sets the extracted device as the parameter provider (S3208). In addition, if a plurality of extracted devices exists, the master device notifies that the transfer direction determination has resulted in an error (S3209).
Thus, a configuration may be realized where the parameter provider is determined to be one device by comparing an attribute value list composed of a plurality of attribute values. In addition, by performing attribute comparisons including both master and slave devices, a communication parameter provider can be chosen from all the devices that configure the communication parameter configuration network, regardless of whether the devices are master devices or slave devices.
A communication parameter exchange sequence that is performed in the communication parameter transfer direction determination step 404 between the communication parameter provider and a receiver will now be explained.
First, with reference to
In addition, as shown in
Next, with reference to
In addition, as shown in
As seen, it is possible to determine communication parameter receivers and providers regardless of the relationships between master and slave devices. This allows processing of network management to be performed as a function that is independent from that of communication parameter transferring.
Next, with reference to
The master device next waits for reception of a parameter transfer direction receiver response message from the selected slave device (S2907). After reception thereof, the master device sets the selected slave device to transfer direction notification completion (S2908), and returns to step S2902 to repeat the above described processing until all slave devices have been processed.
In addition, when the master device itself is a communication parameter receiver (S2904), the master device checks whether the selected slave device is the communication parameter provider (S2909). In the event that the selected slave device is the communication parameter provider, the master device configures the transfer direction request message to be transmitted to the slave device to the MAC address of the master device itself, which has become a parameter receiver, as shown
The master device waits for reception of a parameter transfer direction provider response from the selected slave device (S2907). After reception, the master device sets the selected slave device to transfer direction notification completion (S2908), and returns to step S2902 to repeat the above described processing until all slave device have been processed.
In addition, when the master device itself and the selected slave device are both communication parameter receivers (S2904 and S2909), the transfer direction request message to be sent to the selected slave device is set to the MAC address of the slave device that has become the parameter provider (S2912). A message indicating a parameter transfer direction receiver request is transmitted to the selected slave device (S2913).
The master device waits for reception of a parameter transfer direction receiver response from the selected slave device (S2907). After reception, the master device sets the selected slave device to transfer direction notification completion (S2908), and returns to step S2902 to repeat the above described processing until all slave devices have been processed.
Next, with reference to
As seen, by performing processing between the master device and the slave device to indicate statuses as either a provider or a receiver, it is now possible to clarify the destinations for each device when exchanging communication parameters without having the user instruct in advance a parameter transfer direction.
The digital camera 100, which has become the communication parameter provider, requests input of an identification number to the printer 101 prior to the transmitting and receiving of communication parameters (F3301). In response to the request for an identification number, the printer 101 returns data that includes the value of its identification number (F3302). Next, an encryption key configuration request message is sent from the digital camera 100 to the printer 101 (F3303). After receiving the message, the printer 101 returns an encryption key configuration response to the digital camera 100 (F3304).
Proceeding to data request processing, the digital camera 100 transmits communication parameter data to the printer 101. When doing so, the digital camera 100 encrypts the communication parameter data with the encryption key. In addition, since it will be necessary to split up the communication parameter data if it is sufficiently large, a continue signal that indicates continuation of data is attached to the transmitted data (F3305). In response, the printer 101 returns a further request in the event that the data request processing results in a continue signal, and a response signal indicating the termination of data transmission in the event of an OK status, to the digital camera 100 (F3306).
Afterwards, the printer 101 decrypts the completely received communication parameter data with the above encryption key, and stores the decrypted communication parameter data.
As seen, by individually encrypting the communication parameter portion that constitutes the highest security concern among the first embodiment, in addition to encrypting the communication itself, communication parameter transfer with enhanced security can be achieved.
The operations by the device that has become a communication parameter provider (in this example, the digital camera 100) in the event that communication parameter data is exchanged between the provider and a receiver (in this example, the printer 101) will now be described in detail.
First, the address of a parameter receiver device that has not yet received the communication parameters is configured as a destination address (S3403). Next, identification number request messages are transmitted to the parameter receiver device indicated by the configured destination address (S3404). The digital camera waits to receive an identification number response message from the parameter receiver device (S3405). Upon reception, the digital camera checks whether the identification number included in the identification number response message is correct (S3406).
If the response identification number is correct, the digital camera proceeds to transmit an encryption key request message to the parameter receiver device (S3407), and waits to receive an encryption key response message from the parameter receiver device (S3408). Upon reception, the digital camera uses the encryption key transmitted as the encryption response message to encrypt the communication parameter information to be transmitted (S3409). The encrypted communication parameter information is transmitted to the parameter receiver device (S3410). The digital camera waits to receive a communication parameter information response message from the receiver device (S3411). Upon reception, the digital camera proceeds to the processing for selecting the next parameter receiver device (S3412).
If the digital camera determines that the identification number included in the identification number response message received from the parameter receiver device is not correct (NO in S3406), the digital camera transmits an identification number re-request to the parameter receiver device (S3413). If a refusal message is received as a response to the identification number re-request (YES in S3414), an error termination is processed. Meanwhile, if an identification number response message is received (YES in S3405) instead of a refusal message to the identification number request, the above described processing is repeated.
The operations by the device that has become a communication parameter receiver (in this example, the printer 101) in the event that communication parameter data is exchanged between the provider (in this example, the digital camera 100) and a receiver will now be described in detail.
If the identification number has been inputted correctly, the printer 101 waits to receive an encryption key request to be transmitted by the communication parameter provider device (S3506), and transmits an encryption key as a response to the digital camera 100, which is the communication parameter provider (S3507). The printer 101 waits to receive a communication parameter request message from the communication parameter provider device (S3508). Upon receiving the communication parameter request message, the printer 101 transmits a communication parameter response message to the communication parameter provider device (S3509). The printer 101 decrypts the communication parameter request message with the encryption key to acquire the communication parameters (S3510). The communication parameters are stored to process normal termination (S3511).
After storing the communication parameter information in step S3511, by configuring the communication parameters as the communication parameters for a new network, each device will exit the communication parameter configuration network to form the new network.
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. While a description of automatic communication parameter configuration between two devices has been provided for the first embodiment, the description of the second embodiment will focus on the characteristic portions of automatic communication parameter configuration among a plurality of devices.
The digital camera 100 is wireless LAN-capable through its wireless communication function 104, and is able to configure a network in communication parameter configuration mode when a user presses a communication parameter configuration activation button 102. The printer 101 also is wireless LAN-capable through its wireless communication function 105, and is able to configure a network in communication parameter configuration mode when a user presses a communication parameter configuration activation button 103. Furthermore, the digital camera 106 also is wireless LAN-capable through its wireless communication function 108, and is able to configure a network in communication parameter configuration mode when a user presses a communication parameter configuration activation button 107.
Incidentally, the configurations of the digital cameras 100 (device A), 106 (device C) and the printer 101 (device B) are the same as the configuration explained for the first embodiment using
Next, processing for determining a master device and slave devices among the devices A, B and C shown in
After initiating processing, the device A activates a random timer over a master inquiry activation time (TH2100) to wait for message transmission.
Afterwards, as the random timer times out, the device A sets a master inquiry transmission timer to a master inquiry transmission interval (TH2101) and activates the timer. The device A transmits a master inquiry message upon each timeout of the master inquiry transmission timer. In this example, the master inquiry message is transmitted three times (F2102, F2103 and F2104).
After initiating processing, the device B activates a random timer over a master inquiry activation time (TH2105) to wait for message transmission.
Afterwards, as the random timer times out, the device B sets a master inquiry transmission timer to a master inquiry transmission interval (TH2106) and activates the timer. The device B transmits a master inquiry message three times upon each timeout of the master inquiry transmission timer (F2107, F2108 and F2109).
After initiating processing, the device C activates a random timer over a master inquiry activation time (TH2110) to wait for message transmission.
Afterwards, as the random timer times out, the device C sets a master inquiry transmission timer to a master inquiry transmission interval (TH2111) and activates the timer. The device C transmits a master inquiry message three times upon each timeout of the master inquiry transmission timer (F2112, F2113 and F2114).
After transmitting the master inquiry message, the device A next activates a master declaration reception timer, and waits to receive a message for a master inquiry response waiting time (TH2115). In this example, the device A performs master collision resolution processing twice since it receives master inquiry messages from the devices B and C during the predetermined amount of time (TH2115).
As was the case in the first embodiment, the master collision resolution processing of the second embodiment will determine the device A to be a winner against the device B, and a loser against the device C. Therefore, after timeout of the master declaration reception timer, the device A activates a master declaration reception waiting timer, and waits for a predetermined amount of time (TH2118) for the transmission of the master declaration message (comparable to the processing of S820 shown in
After transmitting the master inquiry message, the device B activates a master declaration reception timer, and waits to receive a message for a master inquiry response waiting time (TH2116). In this example, the device B performs master collision resolution processing since it receives a master inquiry message from the device C during the predetermined amount of time (TH2116).
As was the case in the first embodiment, it is assumed that the master collision resolution processing of the second embodiment will determine the device B to be a loser against the device C. Therefore, after timeout of the master declaration reception timer, the device B activates a master declaration reception waiting timer, and waits for a predetermined amount of time (TH2119) for the transmission of the master declaration message.
In addition, after transmitting the master inquiry message, the device C activates a master declaration reception timer, and waits to receive a message for a master inquiry response waiting time (TH2117). In this example, the device C will not receive a master inquiry message during the predetermined amount of time (TH2117). Therefore, after timeout of the master declaration reception timer, the device C notifies the other device that it is the master device by broadcasting a master declaration message (F2120).
After transmitting the master declaration message, the device C sets the master declaration transmission timer to a master declaration transmission interval (TH2121) and activates the timer. The device A periodically broadcasts the master declaration message every time the master declaration transmission timer times out (F2122).
This enables the device B to detect that the device C is the master device since it receives a master declaration message from the device C during the predetermined time (TH2119). The device B registers the MAC address of the device C into the master device management table. The device B also sets the master device expire timer to the expire time of the device C acquired from the master declaration message and activates the timer, and transmits a slave declaration message to the device C (F2123).
After transmitting the slave declaration message, the device B sets the slave declaration transmission timer to a slave declaration transmission interval (TH2124) and activates the timer. The device B periodically transmits the slave declaration message to the device C every time the slave declaration transmission timer times out (F2125).
Meanwhile, the device A detects that the device C is the master device since it receives a master declaration message from the device C during the predetermined time (TH2118). The device A registers the MAC address of the device C into the master device management table. The device A also sets the master device expire timer to the expire time of the device C acquired from the master declaration message and activates the timer, and transmits a slave declaration message to the device C (F2126).
After transmitting the slave declaration message, the device A sets the slave declaration transmission timer to a slave declaration transmission interval (TH2127) and activates the timer. The device A periodically transmits the slave declaration message to the device C every time the slave declaration transmission timer times out (F2128).
In the second embodiment shown in
Next, the device capability information collection step 403 of the second embodiment, where the master device determined by the master device determination step 402, in the same way as in the first embodiment, collects device capability information from slave devices participating in the same network will be explained.
First, as the master device, in order to collect device capability attribute data of the slave devices currently existing on the same network, the digital camera 106 (device C) transmits a device capability information collection request towards the printer 101 (device B) (F2301). Upon receiving the request, the printer 101 returns a device capability information collection response that includes its own device capability attribute values (F2302).
In addition, the digital camera 106 (device C) transmits a device capability information collection request towards the digital camera 100 (device A) (F2303). Upon receiving the request, the digital camera 100 returns a device capability information collection response that includes its own device capability attribute values (F2304).
As seen, the digital camera 106, which is the master device, collects device capability attribute data of all slave devices currently existing on the same network. By having the master device perform collection, as a network administrator, of device capability attribute data of each slave device existing on the same network, prompt device capability information collection by the master device upon participation of a slave device at a given point in time, even when three or more devices exist on the same network, becomes possible.
Incidentally, the processing of the first embodiment for transfer direction determination of communication parameters, explained earlier with reference to
First, filtering is performed in respect to the attribute value 1. The devices that have the function of the attribute value 1, i.e. the devices with “YES” as their attribute value 1, become candidates for the next comparison step. Thus, as shown in
Next, a comparison in respect to the attribute number 2 will be performed against remaining device numbers 1, 3 and 4. In this case, device number 1 will be dropped out from the list of comparison objects since its attribute value 2 is “NO”.
Next, a comparison in respect to the attribute number 3 will be performed against device numbers 3 and 4. In this case, since the attribute value 3 of device number 3 is “YES”, device number 3 will be retained and selected as the communication parameter information provider.
As seen, an eventual communication parameter information provider can be determined by performing sequential filtering using an attribute value list comprised of a plurality of attribute values. In addition, by weighting the plurality of attribute values, it becomes possible to select a device that has certain device capabilities as the communication parameter information provider.
Next, using
This processing is the same as that explained for the first embodiment using
The digital camera 106 (device C) transmits a “parameter transfer direction receiver request” message that includes an address of the communication parameter provider, as shown in
In similar fashion, the digital camera 106 (device C) transmits a “parameter transfer direction provider request” message that includes the addresses of all communication parameter receivers, as shown in
The printer 101 (device B) performs a wireless parameter exchange sequence with the digital camera 100 (device A). After completion of the sequence, the digital camera 100 requests a “parameter transfer direction receiver completion request” message, which indicates the completion of the communication parameter receiver processing, to the digital camera 106 (device C), which is the master device (F2805). In response, the digital camera 106 returns a “parameter transfer direction receiver completion response” message (F2806).
In addition, the digital camera 106 (device C) and the printer 101 (device B) also perform a wireless parameter exchange sequence. After completion of the sequence, the printer 101 requests a “parameter transfer direction provider completion request” message, which indicates the completion of the communication parameter provider processing, to the digital camera 106 (device C), which is the master device (F2807). In response, the digital camera 106 returns a “parameter transfer direction provider completion response” message (F2808). By configuring the communication parameters provided by the communication parameter provider as the communication parameters for a new network, each device will exit the communication parameter configuration network to form the new network.
In addition, while not clearly described for the second embodiment, in the event that the master device itself becomes a communication parameter receiver, the sequence of transmitting transfer direction requests to each slave device will commence with the master device transmitting communication parameter receiver response messages to each slave device that has become a communication parameter receiver. A sequencing rule will be applied to slave devices that have become communication parameter receivers to transmit communication parameter provider request messages. This eliminates the need for the communication parameter provider to check whether each communication parameter receiver has already received a become communication parameter receiver message from the master device, even among a plurality of devices. In addition, processing may instantly proceed to a wireless parameter exchange sequence without having to consider the sequence of parameter receivers.
While a wireless LAN was given as an example of wireless communication described in the first and second embodiments, the present invention may be applied to other wireless communication methods including Bluetooth (registered trademark), Wireless USB, Wireless 1394, UWB and WiMAX.
The present invention may be applied to both systems comprising a plurality of devices (for example, a host computer, an interface device, a reader or a printer), and apparatuses composed of a single device (for example, a copying machine or facsimile machine).
It is obvious that the object of the present invention may also be achieved by supplying a storage media that stores a program code of a software capable of achieving the functions of the described embodiments to a system or an apparatus, and having a computer (CPU or MPU) of the system or apparatus read out and execute the program stored in the storage media.
In this case, the program codes themselves, read out from the storage media, achieve the functions of the above mentioned embodiments, while the storage media containing the program codes compose the present invention.
Storage devices to which the program codes can be supplied include, for instance, a floppy disk (registered trademark), a hard disk, an optical dick, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM or the like.
In addition, it is obvious that the functions of the aforementioned embodiments can be achieved not only by executing program codes read out by a computer, but also through processing performed by an OS (operating system) or the like, which is running on a computer, that performs a portion or all of the actual processing based on instructions from the program code.
Furthermore, it is obvious that the functions of the aforementioned embodiments can also be achieved by writing program codes read out from a storage media into either a function enhancement board inserted into a computer or a memory built into a function enhancement unit connected to a computer, and having a CPU or the like built into the function enhancement board or the function enhancement unit perform a portion or all of the actual processing based on instructions from the program code.
While the present invention has been described in its preferred embodiments, it is to be understood that the present invention is not limited to the embodiments described above, and a wide range of variations may be made within the scope of the following claims.
This application claims the benefit of Japanese Application No. 2005-130480 filed on Apr. 27, 2005, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2005-130480 | Apr 2005 | JP | national |
This application is a continuation of U.S. application Ser. No. 11/409,020, filed Apr. 24, 2006, the entire disclosure of which is hereby incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4843633 | Menich | Jun 1989 | A |
4998245 | Tanaka et al. | Mar 1991 | A |
5053964 | Mister et al. | Oct 1991 | A |
5341497 | Younger | Aug 1994 | A |
5365523 | Derby et al. | Nov 1994 | A |
5530807 | Baker et al. | Jun 1996 | A |
5583983 | Schmitter | Dec 1996 | A |
5602999 | Hyatt | Feb 1997 | A |
5704032 | Badovinatz et al. | Dec 1997 | A |
5822361 | Nakamura et al. | Oct 1998 | A |
5886894 | Rakoff | Mar 1999 | A |
5948111 | Taylor | Sep 1999 | A |
5996003 | Namikata et al. | Nov 1999 | A |
6026303 | Minamisawa | Feb 2000 | A |
6157465 | Suda et al. | Dec 2000 | A |
6178323 | Nagata | Jan 2001 | B1 |
6184829 | Stilp | Feb 2001 | B1 |
6216189 | Kim | Apr 2001 | B1 |
6263362 | Donoho | Jul 2001 | B1 |
6397061 | Jordan | May 2002 | B1 |
6477570 | Takayama et al. | Nov 2002 | B1 |
6502155 | Kondo | Dec 2002 | B1 |
6653933 | Raschke et al. | Nov 2003 | B2 |
6785713 | Freeman et al. | Aug 2004 | B1 |
6792611 | Honishi et al. | Sep 2004 | B2 |
6842460 | Olkkonen | Jan 2005 | B1 |
6868442 | Burdeau | Mar 2005 | B1 |
6873846 | Gerber | Mar 2005 | B1 |
6876643 | Aggarwal et al. | Apr 2005 | B1 |
6886095 | Hind et al. | Apr 2005 | B1 |
6985740 | Shyy et al. | Jan 2006 | B2 |
6986046 | Tuvell et al. | Jan 2006 | B1 |
6993413 | Sunaoshi | Jan 2006 | B2 |
7024204 | Nakakita et al. | Apr 2006 | B2 |
7039358 | Shellhammer | May 2006 | B1 |
7065526 | Wissner et al. | Jun 2006 | B2 |
7070250 | Lester et al. | Jul 2006 | B2 |
7075919 | Wendt et al. | Jul 2006 | B1 |
7134131 | Hendricks et al. | Nov 2006 | B1 |
7218644 | Heinonen | May 2007 | B1 |
7324644 | Saito | Jan 2008 | B2 |
7359950 | Choi et al. | Apr 2008 | B2 |
7461130 | AbdelAziz et al. | Dec 2008 | B1 |
7506047 | Wiles, Jr. | Mar 2009 | B2 |
7555264 | Ishiwata et al. | Jun 2009 | B2 |
7587465 | Muchow | Sep 2009 | B1 |
7603710 | Harvey et al. | Oct 2009 | B2 |
7684783 | Vacon et al. | Mar 2010 | B1 |
7756994 | Yumoto | Jul 2010 | B2 |
7797367 | Gelvin et al. | Sep 2010 | B1 |
7814195 | Dacosta | Oct 2010 | B2 |
7818480 | Hoerl et al. | Oct 2010 | B2 |
7849150 | Loeebbert et al. | Dec 2010 | B2 |
7882196 | Fujii et al. | Feb 2011 | B2 |
8024404 | Ozzie | Sep 2011 | B2 |
8073923 | Sasaki et al. | Dec 2011 | B2 |
8126914 | Tate et al. | Feb 2012 | B2 |
9544929 | Goto | Jan 2017 | B2 |
20010029530 | Naito et al. | Oct 2001 | A1 |
20010047435 | Dove | Nov 2001 | A1 |
20020004872 | Ono | Jan 2002 | A1 |
20020019786 | Gonzalez et al. | Feb 2002 | A1 |
20020055999 | Takeda | May 2002 | A1 |
20020107852 | Oblinger | Aug 2002 | A1 |
20020120733 | Kring | Aug 2002 | A1 |
20020147819 | Miyakoshi | Oct 2002 | A1 |
20020149481 | Shanks | Oct 2002 | A1 |
20020150383 | Kato et al. | Oct 2002 | A1 |
20020162005 | Ueda et al. | Oct 2002 | A1 |
20020169846 | Chen et al. | Nov 2002 | A1 |
20030037033 | Nyman et al. | Feb 2003 | A1 |
20030046345 | Wada et al. | Mar 2003 | A1 |
20030065805 | Barnes, Jr. | Apr 2003 | A1 |
20030100335 | Gassho et al. | May 2003 | A1 |
20030177219 | Taib et al. | Sep 2003 | A1 |
20030191608 | Anderson et al. | Oct 2003 | A1 |
20030191814 | Tran | Oct 2003 | A1 |
20030212820 | deCarmo | Nov 2003 | A1 |
20030220835 | Barnes, Jr. | Nov 2003 | A1 |
20030223377 | Simmons | Dec 2003 | A1 |
20040019681 | Nakamura et al. | Jan 2004 | A1 |
20040024831 | Yang et al. | Feb 2004 | A1 |
20040030449 | Solomon | Feb 2004 | A1 |
20040088294 | Lerhaupt | May 2004 | A1 |
20040114607 | Shay et al. | Jun 2004 | A1 |
20040117377 | Moser et al. | Jun 2004 | A1 |
20040184473 | Tavli | Sep 2004 | A1 |
20040208029 | Caruthers | Oct 2004 | A1 |
20040215752 | Satapati et al. | Oct 2004 | A1 |
20040218580 | Bahl et al. | Nov 2004 | A1 |
20040223470 | Smith | Nov 2004 | A1 |
20040223503 | Lynch et al. | Nov 2004 | A1 |
20040225762 | Poo | Nov 2004 | A1 |
20040236953 | Merenne et al. | Nov 2004 | A1 |
20040242149 | Luneau | Dec 2004 | A1 |
20040242250 | Sasai | Dec 2004 | A1 |
20040255000 | Simionescu et al. | Dec 2004 | A1 |
20040259499 | Oba | Dec 2004 | A1 |
20040259552 | Ihori et al. | Dec 2004 | A1 |
20040260800 | Gu et al. | Dec 2004 | A1 |
20050014467 | Ishiwata | Jan 2005 | A1 |
20050015805 | Iwamura | Jan 2005 | A1 |
20050021684 | Hsue et al. | Jan 2005 | A1 |
20050025117 | Inagaki et al. | Feb 2005 | A1 |
20050030798 | Lim | Feb 2005 | A1 |
20050030967 | Ohmi et al. | Feb 2005 | A1 |
20050033816 | Yamaguchi et al. | Feb 2005 | A1 |
20050037789 | Rhee | Feb 2005 | A1 |
20050055469 | Scheele | Mar 2005 | A1 |
20050060419 | Fujii et al. | Mar 2005 | A1 |
20050066097 | Kawamoto et al. | Mar 2005 | A1 |
20050066197 | Hirata et al. | Mar 2005 | A1 |
20050075084 | Salokannel et al. | Apr 2005 | A1 |
20050080796 | Midgley | Apr 2005 | A1 |
20050086273 | Loebbert et al. | Apr 2005 | A1 |
20050086514 | Han et al. | Apr 2005 | A1 |
20050094574 | Han | May 2005 | A1 |
20050094608 | Yokota | May 2005 | A1 |
20050097356 | Zilliacus et al. | May 2005 | A1 |
20050099438 | Lester et al. | May 2005 | A1 |
20050116834 | Block | Jun 2005 | A1 |
20050148326 | Nogawa et al. | Jul 2005 | A1 |
20050163093 | Garg | Jul 2005 | A1 |
20050206236 | Mori | Sep 2005 | A1 |
20050238046 | Hassan et al. | Oct 2005 | A1 |
20050256934 | Motoyama | Nov 2005 | A1 |
20050276114 | Tsunekazu | Dec 2005 | A1 |
20060012476 | Markhovsky | Jan 2006 | A1 |
20060069594 | Yamasaki | Mar 2006 | A1 |
20060148516 | Reddy et al. | Jul 2006 | A1 |
20060153385 | Klein | Jul 2006 | A1 |
20060155827 | Prehofer et al. | Jul 2006 | A1 |
20060158518 | Sakai | Jul 2006 | A1 |
20060171537 | Enright | Aug 2006 | A1 |
20060187865 | Sakai | Aug 2006 | A1 |
20060200564 | Watanabe et al. | Sep 2006 | A1 |
20060206592 | Fujii et al. | Sep 2006 | A1 |
20060242304 | Hirose et al. | Oct 2006 | A1 |
20060246946 | Moritomo et al. | Nov 2006 | A1 |
20060246947 | Fujii | Nov 2006 | A1 |
20060291404 | Thubert et al. | Dec 2006 | A1 |
20070002867 | Shitano et al. | Jan 2007 | A1 |
20070043844 | Sakai | Feb 2007 | A1 |
20070089110 | Li | Apr 2007 | A1 |
20070094414 | Das | Apr 2007 | A1 |
20070109989 | Nakagawa et al. | May 2007 | A1 |
20070112961 | Brun et al. | May 2007 | A1 |
20070174436 | Maekawa et al. | Jul 2007 | A1 |
20070223398 | Luo et al. | Sep 2007 | A1 |
20080043686 | Sperti et al. | Feb 2008 | A1 |
20080092204 | Bryce | Apr 2008 | A1 |
20080261580 | Wallentin et al. | Oct 2008 | A1 |
20090088133 | Orlassino | Apr 2009 | A1 |
20100226788 | Liang | Sep 2010 | A1 |
20150230168 | Sawai | Aug 2015 | A1 |
20150269823 | Yamanishi | Sep 2015 | A1 |
Number | Date | Country |
---|---|---|
1571333 | Jan 2005 | CN |
1574673 | Feb 2005 | CN |
1602606 | Mar 2005 | CN |
1 107 522 | Jun 2001 | EP |
1460800 | Sep 2004 | EP |
1 487 155 | Dec 2004 | EP |
06-350652 | Dec 1994 | JP |
10-145276 | May 1998 | JP |
11-146030 | May 1999 | JP |
2001-014119 | Jan 2001 | JP |
2002-140304 | May 2002 | JP |
2002-359623 | Dec 2002 | JP |
2003-163668 | Jun 2003 | JP |
2003-218875 | Jul 2003 | JP |
2004-048493 | Feb 2004 | JP |
2004-320162 | Nov 2004 | JP |
2004328289 | Nov 2004 | JP |
2005-027280 | Jan 2005 | JP |
2005-65102 | Mar 2005 | JP |
WO 0062485 | Oct 2000 | WO |
03067813 | Aug 2003 | WO |
2005-034434 | Apr 2005 | WO |
Entry |
---|
Anastasi et al., “IEEE 802.11 Ad Hoc Netwrosk: Protocols, Performance and Open Issues”, 2003. |
Anastasi et al., “IEEE 802.11 Ad Hoc Networks: Performance Measurements”, 2003. |
Ferro et al., “Bluetooth and IEEE 802.11 Wireless Protocols: A Survey and a Comparison (*)”, 2004. |
He et al., “1 Message Attack on the 4—way Handshake”, 2004. |
He et al., “Analysis of the 802.11i 4-Way Handshake”, 2004. |
Master et al., “802.11 Wireless LANs and Ad-hoc networks”, 2005. |
Poole, “IEEE 802.11 Wi-Fi Standards”, 2017. |
Wireless Networks, “IEEE 802.11 Wireless Networks”, 2007. |
European Search Report dated Sep. 1, 2006, issued in corresponding EPO Application No. 06252253.7-2413. |
Ritchie et al., “UPnP AV Architecture: 0.83”, For Universal Plug and Play Version 1.0 Status: Preliminary Design (TPD), Design Document Microsoft, (Jun. 12, 2002) pp. 1-22, XP002271673. |
A. Ayyagari, “Bluetooth ESDP for UPnP”, Bluetooth Doc, [Online] (Feb. 1, 2001), pp. 1-59, XP002394106. |
M. Kangas, “Authentication and Authorization in Universal Plug and Play Home Networks URL”, Research Seminar on Telecommunications Software, (2002) pp. 1-12, XP007900020. |
Number | Date | Country | |
---|---|---|---|
20140023061 A1 | Jan 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11409020 | Apr 2006 | US |
Child | 14032798 | US |