Abstract:
A method of optimizing the topology of the IEEE 1394 serial bus having a plurality of nodes each with communication ports, comprises the steps of prioritizing the nodes according to the number of the ports and the transmission speed, connecting a non-used port of the node of the first priority with a port of the node of the second priority, and repeating the previous step until all of the nodes are connected together, whereby the nodes are connected through the ports according to priority order.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to the IEEE 1394 network, and more particularly a method of optimizing the topology of the IEEE 1394 serial bus. 
   2. Description of the Related Art 
   The IEEE 1394 is a multimedia interface of the next generation for enabling information exchange among various multimedia instruments according to the specification prepared by IEEE (Institute of Electrical and Electronics Engineers), which provides a serial bus standard to enable communication of audio and video data among multimedia instruments such as HD-TV, DVD and DVC, differing from the conventional interface only to allow the connection between the personal computer and peripheral devices such as a mouse, a printer, a scanner, etc. The IEEE 1394 technology has been rapidly developed by engineers practicing electronics, communications and computer technologies, presently providing for a high data transmission speed of 400 Mbps, a plug &amp; play system, 63 nodes on a single bus, etc. 
   In order to optimize the topology of the IEEE 1394 serial bus the following three methods may be used. First, the cable topology is reconstructed so as to reduce the hop number. Second, the cable topology is reconstructed so as to arrange the nodes of the same speed capacity adjacent to each other. Third, the gap count is optimized for the present cable topology. However, the IEEE 1394 specification only defines the third method to reduce the gap count according to the maximum hop number of the present cable topology. 
   In the IEEE 1394 cable environment, the nodes are connected in the form of a daisy-chain, as shown in  FIG. 1  illustrating the structure of the IEEE 1394 serial bus network using three ports. In the drawing, reference numerals  10 ,  30  and  40  represent nodes, and  20  represents hop. There are shown  36  nodes existing in a single bus, where the maximum hop number between two nodes, for example, the node numbered  1  and the node numbered  17 , becomes  16 . In such IEEE 1394 serial bus network as shown in  FIG. 1 , if there occurs a transmission speed difference between the adjacent nodes, the efficiency of the high speed node (for example, 200 Mbps) may be reduced by the low speed node (for example, 100 Mbps). Hence, in the IEEE 1394 cable environment, it is necessary to connect together all the nodes existing in a single bus and construct the topology for keeping the speed capacity of each node as great as possible. 
   SUMMARY OF THE INVENTION 
   It is an object of the present invention to provide a method of optimizing the topology of the IEEE 1394 serial bus, which may connect all the nodes existing in a single bus to keep the speed capacity of each node as great as possible in a network constructed by employing the IEEE 1394 serial bus. 
   According to an aspect of the present invention, a method of optimizing the topology of the IEEE 1394 serial bus having a plurality of nodes each with communication ports, comprises the steps of prioritizing the nodes according to the number of the ports and the transmission speed, connecting a non-used port of the node of the first priority with a port of the node of the second priority, and repeating the previous step until all of the nodes are connected together, whereby the nodes are connected through the ports according to priority order. 
   The present invention will now be described more specifically with reference to the drawings attached only by of example. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic diagram for illustrating the structure of the network of the IEEE 1394 serial bus employing three ports; 
       FIG. 2  is a flow chart for illustrating the procedure of optimizing the topology of the serial bus according to the present invention; 
       FIGS. 3A to 3E  illustrate an example of connecting the nodes according to the flow chart of  FIG. 2 ; and 
       FIGS. 4A to 4F  illustrate another example of connecting the nodes according to the flow chart of  FIG. 2 . 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   Describing the procedure of optimizing the topology of the IEEE 1394 serial bus in connection with  FIG. 3A , there are shown six nodes respectively providing the transmission speeds hereinafter referred to as “speed”) of 100 Mbps, 200 Mbps and 400 Mbps. Reference numerals  0 ,  1 ,  2  represent the port numbers of each node. Firstly, referring to  FIG. 2 , the bus controller detecting the number of the ports and speed of each node in step  100 . Then, the bus controller determines in step  110  whether the total port number is equal to or greater than 2(N−1), where “N” represents the number of all the nodes. This is to confirm that all the nodes may be connected with the serial bus. In the present embodiment, the number N of the nodes is 6, and the total port number  11 , so that the prerequisite of the step  110  is satisfied. In step  130 , the nodes are prioritized according to the speed and the number of ports. In this case, the speed is firstly considered, and then the number of ports. As shown in  FIG. 3B , the order of priority becomes lower in the direction of the arrow from “A” to “B”. 
   In step  140 , a non-used port of the node of the first (higher) priority is connected with a port of the node of the second (lower) priority. Then, the bus controller sequentially repeats the steps  150 ,  160  and  140 . Thus, the node of 400 Mbps having three ports makes the first connection ({circle around (1)}) with a node of 200 Mbps having a single port as shown in  FIG. 3C , and the second connection with another node of 200 Mbps having a single port as shown in  FIG. 3D . Consequently, all the nodes are connected together as represented by the connections ({circle around (1)}, {circle around (2)}, {circle around (3)}, {circle around (4)}, {circle around (5)} in  FIG. 3E . When it is confirmed in step  150  that all the nodes are completely connected,  FIG. 3E  shows the optimized topology map, where the maximum hop number HOP max  between two nodes has the minimum value (HOP max 
=3), and the speed capacity of each node is secured. 
   Describing another embodiment of optimizing the topology of the serial bus having six nodes as shown in  FIG. 4A , the bus controller determines in step  110  whether the total port number is equal to or greater than 2(N−1). If the total port number is smaller than 2(N−1) indicating that the normal connection of the nodes is impossible, the nodes are adjusted in step  120 . In the present embodiment, the node number “N” is 6, and the total port number  11 , so that the prerequisite of the step  110  is satisfied. Then, the bus controller goes to step  130  to prioritize the nodes according to the speed and number of the ports, as shown in  FIG. 4B . Likewise, the order of priority becomes lower in the direction of arrow from “A” to “B”. 
   In step  140 , a non-used port of the node of the first (higher) priority is connected with a port of the node of the second (lower) priority. Thus, the node of 400 Mbps having three ports makes the first connection ({circle around (1)}) with the node of 400 Mbps having a single port as shown in  FIG. 4C . The bus controller sequentially repeats the steps  150 ,  160  and  140  to connect all the nodes. However, the nodes arranged as shown in  FIG. 4A  may not be normally connected through the steps  140  to  160 . Namely, the fourth connection between a node of 200 Mbps and a node of 100 Mbps is impossible since each of 200 Mbps nodes has a single port. More specifically describing in connection with  FIG. 4D , the 200 Mbps node may not be connected with the 100 Mbps after making the first, second and third connections {circle around (1)}, {circle around (2)}, {circle around (3)} between the nodes of 400 Mbps and 200 Mbps. 
   Hence, if the bus controller detects in step  160  that all ports of the node of higher priority are used, it goes to step  170  to separate the last connected node, and then to move the node of foremost priority among the next speed group before the separated node. Accordingly, the priority arrangement of the nodes as shown in  FIG. 4B  is rearranged as shown in  FIG. 4E . Based on the new priority arrangement, the bus controller repeats the steps  140  to  160  to achieve the final connections {circle around (1)}, {circle around (2)}, {circle around (3)}, {circle around (4)}, {circle around (5)} as shown in  FIG. 4F . Then, the bus controller goes to step  180  to determine whether the maximum hop number HOP max  exceeds 16. If so, the priority order is readjusted in step  190 , returning to step  140 . In the present embodiment, the maximum hop number HOP max  between two arbitrary nodes is 3, satisfying the requirement of the step  180 . Hence, in the optimized topology map as shown in  FIG. 4E , the maximum hop number HOP max  between two nodes has the minimum value (HOP max =3), and the speed capacity of each node is secured. 
   While the present invention has been described with specific embodiments accompanied by the attached drawings, it will be appreciated by those skilled in the art that various changes and modifications may be made thereto without departing the gist of the present invention.