Abstract:
An IrDA control method enabling communication by an optimum procedure without command collision even in an environment where plural host devices and plural peripheral devices exist. The plural host devices respectively have a unique back-off value, and the plural peripheral devices respectively have a unique back-off value. The respective devices perform an Enumeration procedure and a Bind procedure in accordance with the back-off value. Especially when another device is currently performing a series of Enumeration processing, transmission of response command is inhibited. Accordingly, command collision can be avoided, and as a result, communication efficiency and communication stability can be improved.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention generally relates to a communication technique conforming to the IrDA (Infrared Data Association) standards as an infrared bidirectional wireless communication standard, and more particularly, to a method of improving communication efficiency in simultaneous communication between plural host devices and plural peripheral devices.  
           [0002]    Conventionally, the “IrDA Control Method” (IrDA Control Specification, Final Revision 1.0, Jun. 30, 1998) is known as an infrared wireless communication method. As the IrDA control method is an infrared communication method enabling bidirectional communication, a product using a remote control unit conforming to IrDA-control to download an electronic program guide from a set top box and operate the guide and the like have been proposed.  
           [0003]    Further, in the IrDA control method, as up to 8 devices can be connected, a product where one game machine is connected to plural game pads to allow plural players to join a game and the like have been proposed.  
           [0004]    [0004]FIG. 12 is a block diagram showing the construction of the conventional IrDA control apparatus, and FIGS.  13  to  15 , timing charts of Enumeration procedure in the conventional IrDA control apparatus.  
           [0005]    Note that “Enumeration means a procedure to register a peripheral device, which is to communicate with a host device, in the host device.  
           [0006]    As shown in FIG. 12, the conventional IrDA control apparatus has at least a pair of host device  21  and peripheral device  22 . The host device  21  has a host IrDA control signal transmission/reception unit  23  and a host communication control unit  24 , and the peripheral device  22  has a peripheral device IrDA control signal transmission/reception unit  25 , a peripheral device communication control unit  26  and an operation unit  27 .  
           [0007]    The host device  21  and the peripheral device  22  are connected with each other by IrDA control signals via the host IrDA control signal transmission/reception unit  23  and the peripheral device IrDA control signal transmission/reception unit  25 . The host communication control unit  24  controls communication in the host device  21 , and the peripheral device communication control unit  26  controls communication in the peripheral device  22 . The operation unit  27  is operated by an operator to control the host device  21 .  
           [0008]    The host device  21  and the peripheral device  22  perform Enumeration so as to recognize the respective devices. The Enumeration is started by operation at the operation unit  27  of the peripheral device  22  by the operator, and as shown in FIG. 13, the peripheral device  22  transmits an Enumeration request, Enum-Wakeup, then the host device  21  receives the Enum-Wakeup, and transmits Enum-Hailing. Then the peripheral device  22  receives the Enum-Hailing, and transmits Enum-Request. In response to the request, the host device  21  transmits Enum-Response. By this procedure, the host device  21  transmits its unique information to the peripheral device  22  that has transmitted the Enum-Wakeup, thereby registers the peripheral device  22  in preparation for communication.  
           [0009]    However, as the Enum-Wakeup transmitted by the peripheral device lacks information to designate the host device, if plural host devices exist, as shown in FIG. 14, the plural host devices simultaneously transmit the Enum-Hailing in response to the Enum-Wakeup, which causes command collision and disturbs communication.  
           [0010]    Further, as the Enum-Hailing transmitted by the host device also lacks information to designate the peripheral device, if plural peripheral devices exist, as shown in FIG. 15, the plural peripheral devices simultaneously transmit the Enum-Request in response to the Enum-Hailing, which causes command collision and disturbs communication.  
           [0011]    Further, when the Enumeration has been completed, a Bind procedure is performed upon start of data communication. To perform actual communication with the IrDA control peripheral device that has completed the Enumeration, the host device receives unique information of the peripheral device. In the Bind procedure, as Bind-Hailing transmitted by the host device  21  lacks information to designate the peripheral device, if plural peripheral devices exist, the plural peripheral devices simultaneously transmit Bind-Request in response to the Bind-Hailing, which causes command collision and disturbs communication, as in the case of the Enumeration.  
           [0012]    To solve the problems, the IrDA Control Specification (Final Revision 1.0, Jun. 30, 1998) has a description of avoiding command collision by plural peripheral devices, if exist in the system and simultaneously respond to a command from the host device, by respectively generating a back-off value from “0” to “7” at random, and ignoring a command frame from the host device by a number corresponding to the back-off value to shift command transmission timing.  
           [0013]    Further, the above specification also has a description of Dithering to avoid command collision by plural host devices, if exist in the system and simultaneously respond to a command from the peripheral device, by respectively generating waiting time from 0 msec to 12 msec at random, and delaying command transmission by the waiting time, thus shifting command transmission timing.  
           [0014]    However, in the collision avoiding methods described in the above specification, the possibility of command collision is uncertain before command collision actually occurs.  
           [0015]    Further, as the command transmission timing is shifted by values generated at random, the command collision cannot be always avoided by an optimum procedure.  
           [0016]    Further, if plural host devices and plural peripheral devices exist, it is necessary to first avoid collision of commands transmitted by the host devices by the Dithering, then to find timing avoiding collision by using back-off values generated at random by the respective peripheral devices with respect to the commands from the respective host devices. In this procedure, much time is required to establish communication between the host devices and the peripheral devices, and further, time to complete the procedure cannot be defined.  
         SUMMARY OF THE INVENTION  
         [0017]    The present invention has been made in consideration of the above situation, and has its object to realize communication by an optimum procedure, without command collision, even between plural host devices and plural peripheral devices.  
           [0018]    According to the present invention, the foregoing object is attained by providing an infrared bidirectional communication system including one or more host devices and one or more peripheral devices, wherein the host device comprising: host back-off value setting means for setting a back-off value of the host device; determination means for determining timing of transmission of a response command to a command, where a destination host device is not designated, received from the peripheral device, based on the back-off value set by the host back-off value setting means; and inhibition means for inhibiting transmission of the response command if another device is currently performing a series of Enumeration processing, and wherein the peripheral device comprising: peripheral device back-off value setting means for setting a back-off value of the peripheral device; determination means for determining timing of transmission of a response command to a command, where a destination peripheral device is not designated, received from the host device, based on the back-off value set by the peripheral device back-off value setting means; and inhibition means for inhibiting transmission of the response command if another device is currently performing the series of Enumeration processing.  
           [0019]    Further, according to the present invention, the foregoing object is attained by providing an IrDA control method for controlling infrared bidirectional communication performed between a host device and a peripheral device, wherein on the host device side, the method comprising: a host back-off value setting step of setting a back-off value of the host device; a determination step of determining timing of transmission of a response command to a command, where a destination host device is not designated, received from the peripheral device, based on the back-off value set at the host back-off value setting step; and a inhibition step of inhibiting transmission of the response command if another device is currently performing a series of Enumeration processing, and wherein on the peripheral device side, the method comprising: a peripheral device back-off value setting step of setting a back-off value of the peripheral device; a determination step of determining timing of transmission of a response command to a command, where a destination peripheral device is not designated, received from the host device, based on the back-off value set at the peripheral device back-off value setting step; and an inhibition step of inhibiting transmission of the response command if another device is currently performing the series of Enumeration processing.  
           [0020]    In accordance with the present invention as described above, if plural host devices and plural peripheral devices exist, the plural host devices respectively have a unique back-off value, and the plural peripheral devices respectively have a unique back-off value. The respective devices perform the Enumeration procedure and the Bind procedure in accordance with the back-off value, and especially when another device is performing the series of Enumeration processing, inhibit the transmission of response command.  
           [0021]    The present invention is particularly advantageous since even in an environment where plural host devices and plural peripheral devices exist, command collision can be prevented, and communication can be performed by an more appropriate procedure. As a result, the communication efficiency and stability can be improved in IrDA communication between a host device and a peripheral device respectively having an IrDA interface.  
           [0022]    Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same name or similar parts throughout the figures thereof. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0023]    The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.  
         [0024]    [0024]FIG. 1 is a functional block diagram showing the schematic construction of IrDA control apparatus to which the present invention is applied;  
         [0025]    [0025]FIG. 2 is an timing chart showing an example of the Enumeration procedure by the IrDA control apparatus;  
         [0026]    [0026]FIG. 3 is an timing chart showing another example of the Enumeration procedure by the IrDA control apparatus;  
         [0027]    [0027]FIG. 4 is an timing chart showing another example of the Enumeration procedure by the IrDA control apparatus;  
         [0028]    [0028]FIG. 5 is a flowchart showing an Enumeration operation of a host device;  
         [0029]    [0029]FIG. 6 is a flowchart showing an Enumeration operation of a peripheral device;  
         [0030]    [0030]FIG. 7 is a timing chart showing an example of the Bind procedure by the IrDA control apparatus;  
         [0031]    [0031]FIG. 8 is a timing chart showing another example of the Bind procedure by the IrDA control apparatus;  
         [0032]    [0032]FIG. 9 is a flowchart showing a Bind operation of the peripheral device;  
         [0033]    [0033]FIG. 10 is a block diagram showing connection by IrDA control signals between three host devices and three peripheral devices;  
         [0034]    [0034]FIG. 11 is a timing chart showing an example of the Enumeration procedure in the case where three host devices and three peripheral devices exist;  
         [0035]    [0035]FIG. 12 is a timing chart showing another example of the Enumeration procedure by the conventional IrDA control apparatus;  
         [0036]    [0036]FIG. 13 is a timing chart showing another example of the Enumeration procedure by the conventional IrDA control apparatus;  
         [0037]    [0037]FIG. 14 is a timing chart showing another example of the Enumeration procedure by the conventional IrDA control apparatus; and  
         [0038]    [0038]FIG. 15 is a timing chart showing another example of the Enumeration procedure by the conventional IrDA control apparatus. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0039]    A preferred embodiment of the present invention will now be described in detail in accordance with the accompanying drawings.  
         [0040]    Note that the present embodiment will be described on the precondition that the invention is applied to communication conforming to the IrDA standards for the sake of simplification of explanation. It will be apparent to persons skilled in the art that the present invention is widely applicable to wireless communication and cable communication.  
         [0041]    [0041]FIG. 1 is a functional block diagram showing the schematic construction of IrDA control apparatus to which the present invention is applied. As shown in FIG. 1, the IrDA control apparatus has at least a pair of host device  1  and peripheral device  2 .  
         [0042]    The host device  1  has a host IrDA control signal transmission/reception unit  3 , a host back-off value setting unit  4 , a host communication control unit  5 , and a number of peripheral devices setting unit  6 . The peripheral device  2  has a peripheral device IrDA control signal transmission/reception unit  7 , a peripheral device back-off value setting unit  8 , a peripheral device communication control unit  9 , and an operation unit  10 .  
         [0043]    The host device  1  and the peripheral device  2  are connected with each other by IrDA control signals via the host IrDA control signal transmission/reception unit  3  and the peripheral device IrDA control signal transmission/reception unit  7 . The host back-off value setting unit  4  sets a back-off value of the host device  1 , and the peripheral device back-off value setting unit  7  sets a back-off value of the peripheral device  2 .  
         [0044]    A back-off value is reference information used for determining response command transmission timing. More particularly, in the respective host device and the peripheral device, one of values “0” to “7” can be set as a back-off value. If plural host devices exist within an IrDA control signal arrival range, different back-off values are set for the respective host devices, and if plural peripheral devices exist within the IrDA control signal arrival range, different back-off values are set for the respective peripheral devices. For example, if three host devices A, B and C, and three peripheral devices D, E and F exist, “0” is set in the host device A, “1” is set in the host device B, “2” is set in the host device C, “0” is set in the peripheral device D, “1” is set in the peripheral device E, and “2” is set in the peripheral device F. That is, within the IrDA control signal arrival range, the plural host devices never have the same back-off value. Similarly, within the IrDA control signal arrival range, the plural peripheral devices never have the same back-off value.  
         [0045]    Next, an example of back-off value setting for each device will be described. The simplest method is setting a unique back-off value for each device by a manager&#39;s operating the operation unit of each device. Note that the back-off values may be stored in storage means such as a RAM, otherwise, may be held by ON-OFF of DIP switches.  
         [0046]    Some conventional IrDA control apparatuses allow an operator to set an ID of host device or peripheral device. In the conventional apparatuses, the ID is used only as a Host ID or Peripheral ID. On the other hand, in the IrDA control apparatus of the present invention, a value set at the conventional ID setting unit can be used as a back-off value.  
         [0047]    The host communication control unit  5  controls communication in the host device, and the peripheral device communication control unit  9  controls communication in the peripheral device. The number of peripheral devices setting unit  6  sets the number of peripheral devices to be operated. The operation unit  10  is operated by an operator so as to control the host device.  
         [0048]    Upon setting the number of peripheral devices to be operated, the number of peripheral devices setting unit  6  sets the number of peripheral devices based on the content of operation at the operation unit  10  by the operator. The set value is held by storage means such a RAM.  
         [0049]    Note that the host device  1  has a CPU  11 , a ROM  12  and a RAM  13 , and a part or all the various functions of the host device  1  are realized by execution of programs stored in the ROM  12  by the CPU  11 . Further, the peripheral device  2  has a CPU  14 , a ROM  15  and a RAM  16 , and a part or all the various functions of the peripheral device  2  are realized by execution of programs stored in the ROM  15  by the CPU  14 . The RAMs  13  and  16  are used as work areas or the like.  
         [0050]    Next, the Enumeration procedure between the host device  1  and the peripheral device  2  will be described with reference to FIGS.  2  to  4 .  
         [0051]    A back-off value set in the host device  1  is used for calculation of waiting time until the transmission of the Enum-Hailing by the host device  1  in response to the Enum-Wakeup transmitted from the peripheral device  2 . The command transmission is performed in the period of “back-off value×1 msec” as the waiting time.  
         [0052]    As shown in FIG. 2, the host device  1  where a back-off value is set to “0” immediately responds to the Enum-Wakeup transmitted from the peripheral device  2 , and as shown in FIG. 3, the host device  1  where a back-off value is set to “1” responds to the Enum-Wakeup transmitted from the peripheral device  2  after 1 msec waiting time.  
         [0053]    Further, in the case where plural host devices exist, if another host device starts Enumeration during the above waiting time, the set back-off value is also used for calculation of waiting time from the completion of Enumeration by the other host that started the Enumeration prior to the host device  1  to the transmission of Enum-Hailing by the host device  1 .  
         [0054]    Note that when the host IrDA control signal transmission/reception unit  3  receives the Enum-Hailing signal from the another host device, the host device determines that the other host has started Enumeration. Further, when the host IrDA control signal transmission/reception unit  3  receives the Enum-Response signal transmitted from another host device, the host device determines that one Enumeration procedure has been completed.  
         [0055]    A back-off value set in the peripheral device  2  is used as a back-off value upon transmission of Enum-Request signal from the peripheral device  2  in response to the Enum-Hailing signal from the host device  1 . At this time, the command frame is ignored by a number corresponding to the back-off value.  
         [0056]    As shown in FIG. 2, the peripheral device  2  where a back-off value is set to “0” responds to the first command frame of the Enum-Hailing signal transmitted from the host device  1 . As shown in FIG. 4, the peripheral device  2  where a back-off value is set to “1” ignores the first command frame of the Enum-Hailing transmitted from the host device  1 , and responds to the second command frame.  
         [0057]    Next, the Enumeration operation of the host device will be described with reference to the flowchart of FIG. 5. Note that the Enumeration operation is performed in the case where plural host devices and plural peripheral devices exist.  
         [0058]    In the host device, the host IrDA control signal transmission/reception unit  3  receives a command (step S 1 ), and if the received command is the Enum-Wakeup (steps S 2  and S 3 ), a back-off timer as a waiting time based on a back-off value set by the host back-off value setting unit  4  is started (step S 4 ), and the device enters an Enumeration reserved status (step S 5 ). In the Enumeration reserved status, if a command is not received (step S 1 ) and the time designated by the back-off timer has elapsed (steps S 6  and S 7 ), the Enumeration reservation is cancelled (step S 8 ), and the Enum-Hailing signal is transmitted (step S 9 ).  
         [0059]    After the transmission of the Enum-Hailing, if the Enum-Request transmitted to the host device is received (steps S 1  and S 2 ), the Enum-Response is transmitted (step S 10 ), and the Enumeration with one peripheral device is completed.  
         [0060]    After the transmission of the Enum-Response, if the Enumeration has been completed with all the peripheral devices, the number of which is set by the number of peripheral devices setting unit  6  (step S 11 ), the Enumeration processing is terminated, otherwise, the device enters the Enumeration reserved status (step S 5 ) so as to perform Enumeration with another peripheral device.  
         [0061]    In the Enumeration reserved status, if a command indicating communication with another device is received before the time designated by the back-off timer elapse (steps S 1  to S 3  and S 12 ), the Enumeration reservation is cancelled (step S 13 ), and when the other host device has completed the Enumeration (steps S 1  to S 3  and S 12 ), the back-off timer is started (step S 4 ), and the device enters the Enumeration reserved status (step S 5 ).  
         [0062]    Next, the Enumeration operation of the peripheral device will be described with reference to the flowchart of FIG. 6. Note that the Enumeration operation is also performed in the case where plural host devices and plural peripheral devices exist.  
         [0063]    The peripheral device is at first in a status waiting for command reception by the peripheral device IrDA control signal transmission/reception unit  7  or an operation by an operator at the operation unit  10  (steps S 21  and S 22 ).  
         [0064]    When an operation has been made, if another peripheral device is not performing the Enumeration sequence (step S 23 ), the Enum-Wakeup is transmitted (step S 24 ), while if another device is performing the Enumeration sequence, the device returns to the command/operation waiting status (steps S 21  and S 22 ).  
         [0065]    The determination as to whether or not another device is performing the Enumeration sequence can be made based on whether or not an Enumeration-related signal other than the Enum-Response signal has been received by the peripheral device IrDA control signal transmission/reception unit  7 . That is, during a period between the detection of Enum-Request by the other peripheral device and the detection of Enum-Response by the host device in response to the Enum-Request, it can be determined that the other peripheral devices cease Enumeration. Otherwise, by utilizing the fact that the Enum-Wakeup meaning the start of Enumeration and The Enum-Response meaning the end of Enumeration are in pair, if the number of received Enum-Wakeup signals does not correspond with that of received Enum-Response signals, it may be determined that there is a device which is performing Enumeration.  
         [0066]    In the command/operation waiting status (steps S 21  and S 22 ), if a command has been received, if the received command is the Enum-Hailing from a host device which has not completed Enumeration (step S 25 ) and the Enum-Hailing is ignored by a number corresponding to the back-off value set by the peripheral device back-off value setting unit  8  (step S 26 ), the Enum-Request is transmitted (step S 27 ). If the Enum-Hailing is not ignored by the number corresponding to the back-off value (step S 26 ), the device returns to the command/operation waiting status (steps S 21  and S 22 ).  
         [0067]    Further, if the received command is the Enum-Response transmitted to the peripheral device  2  (step S 28 ), the Enumeration processing is terminated, while if the command is not the Enum-Response transmitted to the peripheral device  2 , the device returns to the command/operation waiting status (steps S 21  and S 22 ).  
         [0068]    Next, the Bind procedure between the host device I and the peripheral device  2  will be described with reference to FIGS. 7 and 8.  
         [0069]    A back-off value set in the peripheral device  2  is used as a back-off value upon transmission of the Bind-Request from the peripheral device  2  in response to the Bind-Hailing transmitted from the host device  1 , and the command frame is ignored by a number corresponding to the back-off value.  
         [0070]    As shown in FIG. 7, the peripheral device  2  where a back-off value is set to “0” responds to the first command frame of the Bind-Hailing transmitted from the host device  1 . As shown in FIG. 8, the peripheral device  2  where a back-off value is set to “1” ignores the first command frame but responds to the second command frame of the Bind-Hailing transmitted from the host device  1 .  
         [0071]    Next, the Bind operation of the peripheral device will be described with reference to the flowchart of FIG. 9. Note that in this example, the Bind operation is performed in an environment where plural host devices and plural peripheral devices exist.  
         [0072]    The peripheral device is at first in a status waiting for command reception by the peripheral device IrDA control signal transmission/reception unit  7  or an operation by an operator at the operation unit  10  (steps S 31  and S 32 ).  
         [0073]    In a status where the Enumeration has been completed, when an operation has been made, if another device is not performing the Bind sequence (step S 33 ), the Bind-Wakeup is transmitted (step S 34 ), while if another device is performing the Bind sequence, the device returns to the command/operation waiting status (steps S 31  and S 32 ).  
         [0074]    When a command has been received, if the received command is the Bind-Hailing (step S 35 ) and the Bind-Hailing is ignored by a number corresponding to the back-off value set by the peripheral device back-off setting unit  8  (step S 36 ), the Bind-Request is transmitted (step S 37 ), while if the Bind-Hailing is not ignored by the number corresponding to the back-off value (step S 36 ), the device returns to the command/operation waiting status (steps S 31  and S 32 ).  
         [0075]    Further, if the received command is the Bind-Response transmitted to the peripheral device  2  (step S 38 ), the Bind processing is terminated, while if the received command is not the Bind-Response, the device returns to the command/operation waiting status (steps S 31  and S 32 ).  
         [0076]    The determination as to whether or not the received command is the Bind-Response transmitted to the peripheral device  2  can be made based on whether or not the Bind-Response includes the identifier of the peripheral device  2 . For example, if the peripheral device  2  transmits the Bind-Request including its own identifier, the host device obtains the identifier of the peripheral device  2 , and the host device can transmit the Bind-Response including the identifier of the peripheral device  2 .  
         [0077]    Next, the Enumeration operation in the case where three host devices and three peripheral devices exist will be described with reference to FIGS. 10 and 11.  
         [0078]    As shown in FIG. 10, the three host devices and the three peripheral devices can be connected by IrDA control signals.  
         [0079]    First, “0” is set in the host device A, “1” is set in the host device B, and “2” is set in the host device C, by the back-off value setting unit  4 , and “0” is set in the peripheral device D, “1” is set in the peripheral device E, and “2” is set in the peripheral device F, by the back-off value setting unit  8 .  
         [0080]    That is, waiting times before the transmission of Enum-Hailing in the respective host devices are T 0 =0 msec for the host device A, T 1 =1 msec for the host device B, and T 2 =2 msec for the host device C.  
         [0081]    Next, the number of peripheral devices to be operated is set by the number of peripheral devices setting unit  6  in the respective host devices. That is, “3” is set in the host devices A, B and C.  
         [0082]    Next, the Enumeration operation will be described with reference to the timing chart of FIG. 11.  
         [0083]    In FIG. 11, symbol EW denotes the Enum-Wakeup; EH, the Enum-Hailing; EQ, the Enum-Request; and ES, the Enum-Response.  
         [0084]    When the operator operates one of the peripheral devices by using the operation unit  10 , the peripheral device transmits the Enum-Wakeup (command C 1 ). In this example, the peripheral device D is operated, and the peripheral device D transmits the Enum-Wakeup, however, if the operator operates the peripheral device E or F, the peripheral device E or F similarly transmits the Enum-Wakeup.  
         [0085]    The host devices receive the Enum-Wakeup (command C 1 ), then, first, the host device A where the back-off value is set to “0” transmits the Enum-Hailing (command C 2 ) in response to the Enum-Wakeup (command C 1 ) after the elapse of waiting time T 0 .  
         [0086]    At this time, as the host devices B and C do not transmit the Enum-Hailing during waiting times T 1  and T 2 , command collision does not occur. Further, as the host device A starts Enumeration when the host devices B and C are in waiting status, the devices move to Enumeration reservation cancelled status without transmitting the Enum-Hailing.  
         [0087]    The peripheral devices receive the Enum-Hailing (command C 2 ), then, first, the peripheral device D where the back-off value is set to “0” transmits the Enum-Request. At this time, the peripheral devices E and F ignore the Enum-Hailing by the numbers of the back-off values. That is, the peripheral device E ignores the Enum-Hailing once, and the peripheral device F ignores the Enum-Hailing twice. Thus command collision does not occur.  
         [0088]    The host device A receives the Enum-Request, and transmits the Enum-Response. Thus the Enumeration is completed between the host device A and the peripheral device D.  
         [0089]    After the completion of the Enumeration with the peripheral device D, the host device A again transmits the Enum-Hailing (command C 3 ) since Enumeration has not been completed with the peripheral devices the number of which is set by the number of peripheral devices setting unit  6 . As it is the second time that the peripheral devices receives the Enum-Hailing, the peripheral device E where the back-off value is set to “1” transmits the Enum-Request in response to the Enum-Hailing.  
         [0090]    The host device A receives the Enum-Request, and transmits the Enum-Response. Thus the Enumeration is completed between the host device A and the peripheral device E.  
         [0091]    After the completion of the Enumeration with the peripheral device E, the host device A again transmits the Enum-Hailing (command C 4 ) since Enumeration has not been completed with the peripheral devices set by the number of peripheral devices setting unit  6 . As it is the third time that the peripheral devices receives the Enum-Hailing, the peripheral device F where the back-off value is set to “2” transmits the Enum-Request in response to the Enum-Hailing.  
         [0092]    The host device A receives the Enum-Request, and transmits the Enum-Response (command C 5 ). In this manner, the host device A completes the Enumeration with the three peripheral devices set by the number of peripheral devices setting unit  6 , and terminates the Enumeration processing.  
         [0093]    When the Enumeration between the host device A and the peripheral device F has been completed, the host devices B and C enter an Enumeration reserved status. After the elapse of the waiting time T 1 , the host device B transmits the Enum-Hailing (command C 6 ).  
         [0094]    At this time, as the host device C does not transmit the Enum-Hailing during the waiting time T 2 , the host device B starts Enumeration during the period, and the host device C moves to the Enumeration reservation cancelled status.  
         [0095]    Thereafter, as in the case of the host device A, the Enumeration is performed between the host device B and the peripheral devices D, E and F.  
         [0096]    When the host device B transmits the Enum-Response (command C 7 ) and the Enumeration is completed, the host device C enters the Enumeration reserved status, and after the elapse of the waiting period T 2 , the host device C transmits the Enum-Hailing. Then, as in the case of the host devices A and B, Enumeration is performed between the host device C and the peripheral devices D, E and F.  
         [0097]    By the above processing, Enumeration is completed between the three host devices A, B and C, and the three peripheral devices D, E and F, without occurrence of command collision.  
         [0098]    Note that in the above embodiment, the waiting time until transmission of the Enum-Hailing by the host device is calculated by the expression “back-off value×1 msec”, however, the expression may be replaced with another expression.  
         [0099]    Further, the waiting time until the transmission of Enum-Hailing by the host device may not be fixed time but may be “(back-off value—the number of Enumeration-completed host devices)×1 msec”. In this case, if plural host devices exist, the waiting time after the completion of Enumeration by one host device before the start of Enumeration by another host device can be reduced.  
         [0100]    The present invention can be applied to a system constituted by a plurality of devices, or to an apparatus comprising a single device. Furthermore, the invention is also applicable to a case where the object of the invention is attained by supplying a program to a system or apparatus.  
         [0101]    As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.