Abstract:
A system and method for a Trivial File Transfer Protocol (TFTP) includes a broadcasting function in which a new option is added to the TFTP to allow several clients to connect with one server to simultaneously download files. The method includes a first step of transmitting, by a first client, an extended read request message to request broadcasting file transmission to a server; a second step of transmitting, by the server, an option acknowledgement message notifying that the first client is a master client to the first client; a third step of transmitting, by a second client, the extended read request message to request broadcasting file transmission to the server; a fourth step of transmitting, by the server, the option acknowledgement message notifying that the second client is not a master client to the second client; a fifth step of broadcasting, by the server, data and then waiting to receive an acknowledgement message from the first client; and a sixth step of effecting, by the server, repetition from the fifth step until the server transmits all remaining data when the server receives the acknowledgement message from the first client.

Description:
CLAIM OF PRIORITY  
       [0001]     This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. § 119 from an application for SYSTEM AND METHOD FOR TRIVIAL FILE TRANSFER PROTOCOL INCLUDING BROADCASTING FUNCTION earlier filed in the Korean Intellectual Property Office on 10 Feb. 2004 and there duly assigned Serial No. 2004-8815.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to a Trivial File Transfer Protocol (hereinafter, referred to as “TFTP”) system and method thereof and, more particularly, to a system and method for the TFTP including a broadcasting function in which a new option is added to the TFTP to allow several clients to connect with one server to simultaneously download files.  
         [0004]     2. Description of the Related Art  
         [0005]     In most of the systems, data is represented as a unit called a file. It is required to transfer a file and a part of the file to transfer data between systems.  
         [0006]     In systems interconnected via a network, in a case where a user of one system desires to receive data from the other system to his or her system or to transfer the data from the his or her system to the other system, namely, where the systems desire to communicate with each other, rules and regulations are required to allow these systems to communicate with each other. The rules and regulations are called a protocol.  
         [0007]     At this time, a system requesting data transmission is called a client system while a system providing a service in response to such a request is called a server system. Normally, a plurality of client systems are connected to one server system.  
         [0008]     A language used extensively in computer networks is a Transfer Control Protocol/Internet Protocol (TCP/IP). A TCP/IP based protocol includes a File Transfer Protocol (FTP), a Terminal Emulation Protocol (Telnet), a Hyper Text Transfer Protocol (HTTP), and the like.  
         [0009]     Here, the purpose of the File Transfer Protocol (FTP) is to transfer one file or a part of the file from one system to the other system under instructions of an FTP user.  
         [0010]     Most of the FTPs are interactively used by on-line users. Communication between FTP users is arbitrated by an operating system. This operating system has an input/output (I/O) driver. If a user of system A desires to access a file in system B, the FTP in the system A establishes a connection with the FTP in the system B. This is, of course, a logical connection. An actual path for control information and user data is formed through respective layers of a protocol stack.  
         [0011]     Meanwhile, the Trivial File Transfer Protocol (TFTP) is a kind of FTP. It is designed to be simpler than FTP and implemented only with small codes. The TFTP is easily implemented in a read only memory (ROM), and is often used as a protocol to download an operating system image in a diskless system.  
         [0012]     Generally, the FTP is a protocol that transmits and receives files in a reliable and connection-oriented manner using TCP while the TFTP is a non-connection file transfer protocol using a User Datagram Protocol (UDP). The TFTP is mainly used when a router downloads a configuration file and an IOS image. The TFTP exhibits a speed faster than that of the FTP because there is no option for security.  
         [0013]     A difference in transmission between the TCP and the UDP may be understood by examining contents on the two protocols. The TCP is a connection-oriented reliable protocol as mentioned above, and will control a flow through a sliding window.  
         [0014]     Further, the TCP performs control using a sequence number and an approval number. The TCP resends all data that do not receive acknowledgement (ACK) and, only when receiving a signal notifying that data has been received, sends next data, to guarantee the reliability in data transmission.  
         [0015]     However, the UDP has a faster transmission speed since it has no function of checking whether data arrived well (checksum) unlike the TCP, and the UDP does not have to transfer a control frame since it does not have a connection, thereby reducing load of a network.  
         [0016]     Because the UDP has no confirmation procedure or flow control, application programs must serve to perform it instead. The UDP may be considered to be one-directional transmission. This is because there is no retransmission of an ACK (acknowledgement) code notifying that data arrived successively.  
         [0017]     The above-described TFTP protocol was designed to transfer small-sized files a long time ago. It is easily implemented as compared to an Internet FTP, has a server-client configuration, and uses IP/UDP. The relevant protocol has been defined in the IETF RFC1350 (Internet engineering task force request for comments 1350).  
         [0018]     Up to now, numerous systems with this protocol are widely being used because it is easy to transfer files in small-sized programs. However, it was impossible to transfer data of 32 Mbytes (megabytes) or more due to constraints of fixed data transmission of 512-byte and a block max size of 65535.  
         [0019]     To overcome these constraints, an option function has been added later. The TFTP protocol became more valuable by allowing such a function to adjust the transmission size of data. This content was standardized as RFC (request for comments) 2347 TFTP Option Extension, RFC 2348 Blocksize Option.  
         [0020]     Further, RFC2090 has a multicast option to enable multicast. However, the RFC2090 is an experimental version and is not standardized. It can be implemented in a server but is not implemented in most of the clients.  
         [0021]     Currently, a TFTP server-client program is basically provided in Berkeley Software Distribution (Berkeley Software Design; BSD), UNIX and Linux series. In Windows series, there are many programs available as freeware.  
         [0022]     This TFTP protocol is not used well under a situation where a network function is well implemented, but it is extensively being used in the case where personal computers (PCs) or many systems (i.e., almost all equipment having a network function) must download a package after being booted in a basic manner without an operating system (OS) first and foremost.  
         [0023]     Since the TFTP protocol is adapted so that, basically, a server and a client operate in a one-to-one manner, it is not suitable for a plurality of clients to download files from one server.  
         [0024]     In a PC (personal computer) clustering environment, or an environment in which one equipment is composed of several modules and each of the modules must download basic files from a main module at the moment of power-on, the load of a network increases and a file transfer error also increases because the server tries to transfer the files in the one-to-one manner if several clients attempt to simultaneously download the files from the server.  
         [0025]     To overcome this, a multicast TFTP is defined in the RFC2090. However, it is in an experimental state and is not standardized, and is complicated to implement in clients.  
         [0026]     In the multicast function defined in the RFC2090, a multicast IP address to be used upon transmission is required, and also, since clients will download a file from a middle part of the file if the clients make a connection while other clients download the file, the clients themselves must have a function of recombining file blocks.  
         [0027]     However, because the TFTP is generally used upon initial booting rather than when a normal network function has been built, implemented programs in clients are adapted to perform only the simplest operation.  
         [0028]     Accordingly, in most of TFTP functions, there is no problem even though a server program is enhanced to have complicated functions. However, because a TFTP function as a client is very simple, it is difficult to process functions such as block recombination.  
         [0029]     In this case, the TFTP client function gives and takes data packets and ACK packets in sequence according to a block number (#), in which the operation of the client is blocked if any packet is lost during transmission. File transmission itself is stopped or restarted by a timer.  
         [0030]     Further, although the RFC2090 is adapted to support the multicast of the TFTP, there may be high likelihood that the multicast is unnecessary to use according to cases. In the case where file transmission for a normal operation is made in an environment in which an internal network is built in one equipment, one primary portion serves as a TFTP server, and remaining portions serve as TFTP clients, there is a high likelihood that one-to-one transmission spends much time and causes a transmission error.  
         [0031]     However, it is not necessary to internally analyze and operate a multicast group.  
       SUMMARY OF THE INVENTION  
       [0032]     The present invention, therefore, is conceived to solve the aforementioned and other problems, and it is an objective of the present invention to provide a system and method for Trivial File Transfer Protocol including a broadcasting function in which a TFTP option for broadcasting is defined to add a broadcasting function, which allows files to be transferred through broadcast when multiple clients simultaneously request file transmission to one server, resulting in a simple operation as compared to using multicast.  
         [0033]     It is another object of the present invention to provide a method and apparatus using the broadcast TFTP allows a transmission speed faster than that of an existing one-to-one transmission manner, which makes it possible for multiple clients to download files from one server in a quick and efficient manner.  
         [0034]     It is yet another object of the present invention to provide when adding a block size option item in addition to the broadcast option item extension, the block size larger than a previous block size allowing more rapid file transmission.  
         [0035]     It is still another object of the present invention to provide the most efficient file transmission where a sub network is a broadcasting network, a number of clients exist, and simultaneous file transmission is required.  
         [0036]     It is another object of the present invention to provide maximum transmission operation efficiency while minimizing added functions since the TFTP is not used for equipment of which all network functions are substantially active.  
         [0037]     It is yet another object of the present invention to provide a system and method for Trivial File Transfer Protocol including a broadcasting function that is easy to implement, cost effective, secure and reliable.  
         [0038]     According to an aspect of the present invention for achieving the above and other objectives, there is provided a system for Trivial File Transfer Protocol (TFTP) having a broadcasting function, the system including a plurality of client systems for transmitting an extended read request message of the TFTP including a broadcasting option, and transmitting an acknowledgement message whenever the client system receives data if the client system receives an option acknowledgement message notifying that the client system is a master client; and a server system for transmitting the option acknowledgement message including extension notifying whether the client system is a master client in response to receiving the extended read request message from the client system, broadcasting the data, and then sequentially broadcasting the data if the server system receives the acknowledgement message from the client system, set as a master client, among the plurality of clients.  
         [0039]     If the server system does not receive the acknowledgement message from the master client for a predetermined time, the server system designates another client as a master client and transmits an acknowledgement message notifying that another client is a master client, broadcasting the data, and then, if the server system receives the acknowledgement message from the new master client, sequentially broadcasting the data.  
         [0040]     The extended read request message includes an operating code field indicating a value for the type of message; a file name field having a file name coded with an ASCII (American Standard Code for Information Interchange) code; a mode field defining a transmission mode; an option field for supporting broadcasting; and a mask bit field for defining a value of the option field.  
         [0041]     The option acknowledgement message transmitted by the server system includes an operating code field indicating a value for the type of message; a broadcasting field for supporting broadcasting; and a field notifying a mask bit, a port number, and a master client or not.  
         [0042]     A client transmitting the read request message first and foremost is selected as the master client.  
         [0043]     According to another aspect of the present invention for achieving the objective, there is provided a method for Trivial File Transfer Protocol including a broadcasting function, the method including a first step of transmitting, by a first client, an extended read request message to request broadcasting file transmission to a server; a second step of transmitting, by the server, an option acknowledgement message notifying that the first client is a master client to the first client; a third step of transmitting, by a second client, an extended read request message to request broadcasting file transmission to the server; a fourth step of transmitting, by the server, an option acknowledgement message notifying that the second client is not a master client to the second client; a fifth step of broadcasting, by the server, data and then waiting to receive an acknowledgement message from the first client; and a sixth step of effecting, by the server, repeated performance from the fifth step until the server transmits all remaining data if the server receives the acknowledgement message from the first client.  
         [0044]     The method further includes a seventh step of designating, by the server, the second client as a master client if the server does not receive the acknowledgement message in response to receiving the data from the first client for a certain time; and an eighth step of transmitting an option acknowledgement message notifying that the second client is designated as a master client to the second client and then performing data transmission.  
         [0045]     The method further includes a ninth step of performing, by the server, processing in a one-to-one manner through a new trivial file transfer program or allocating a new port to broadcast, if the server receives an extended read request message to request broadcasting from another client after a predetermined time has elapsed.  
         [0046]     The method further includes a tenth step of transmitting an error message to each client upon the occurrence of a trouble in the server.  
         [0047]     If the server does not support the broadcasting option function, the server transmits an error message to a relevant client when the server receives an extended read request message to request broadcasting file transmission from an arbitrary client.  
         [0048]     According to yet another aspect of the present invention for achieving the objective, there is provided a system for Trivial File Transfer Protocol (TFTP) including a broadcasting function, the system including a plurality of client systems for transmitting an extended read request message of the TFTP including a broadcasting option and/or a block size option, and transmitting an acknowledgement message whenever the client system receives data if the client system receives an option acknowledgement message notifying that the client system is a master client; and a server system for transmitting the option acknowledgement message including extension notifying whether the client system is a master client and added block size information in response to receiving the extended read request message from the client system, broadcasting the data, and then broadcasting the data in a relevant block size unit if the server system receives the acknowledgement message from the client system, set as a master client, among the plurality of clients.  
         [0049]     If the server system does not receive the acknowledgement message from the master client for a predetermined time, the server system designates another client as a master client and transmits an acknowledgement message notifying that the other client is a master client, broadcasting the data, and then, if the server system receives the acknowledgement message from the new master client, sequentially broadcasting the data.  
         [0050]     The extended read request message includes an operating code field indicating a value for the type of message; a file name field having a file name coded with an ASCII code; a mode field defining a transmission mode; an option field for supporting broadcasting; a mask bit field for defining a value of the option field; and a second option field and a block size value field for supporting a block size.  
         [0051]     The option acknowledgement message transmitted by the server system includes an operating code field indicating a value for the type of message; a broadcasting field for supporting broadcasting; a field notifying a mask bit, a port number, and a master client or not; and an option field and a block size value field for supporting a block size.  
         [0052]     A client transmitting the read request message first and foremost is selected as the master client.  
         [0053]     According to yet another aspect of the present invention for achieving the objective, there is provided a method for Trivial File Transfer Protocol including a broadcasting function, the method comprising a first step of transmitting, by a first client, an extended read request message to request broadcasting file transmission to a server; a second step of transmitting, by the server, an option acknowledgement message notifying that the first client is a master client and including block size information to the first client; a third step of transmitting, by a second client, an extended read request message to request broadcasting file transmission to the server; a fourth step of transmitting, by the server, an option acknowledgement message notifying that the second client is not a master client and including redefined block size information to the second client; a fifth step of broadcasting, by the server, data in a redefined block size unit and then waiting to receive an acknowledgement message from the first client; and a sixth step of effecting, by the server, repeated performance from the fifth step until the server transmits all remaining data if the server receives the acknowledgement message from the first client.  
         [0054]     The method further includes a seventh step of designating, by the server, the second client as the master client if the server does not receive the acknowledgement message in response to receiving the data from the first client for a certain time; and an eighth step of transmitting an option acknowledgement message notifying that the second client is designated as the master client to the second client and then performing data transmission.  
         [0055]     The method further includes a ninth step of performing, by the server, processing in a one-to-one manner through a new trivial file transfer program or allocating a new port to broadcast, if the server receives an extended read request message to request broadcasting from another client after a predetermined time has elapsed.  
         [0056]     The method further includes a tenth step of transmitting an error message to each client upon occurrence of trouble in the server.  
         [0057]     If the server does not support the broadcasting option function and/or a block size option function, the server transmits an error message to a relevant client when the server receives the extended read request message to request broadcasting file transmission from an arbitrary client. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0058]     A more complete appreciation of the invention, and many of the attendant advantages Xs thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:  
         [0059]      FIG. 1  is a diagram illustrating the configuration of a system for a file transfer protocol including a broadcasting function, which is applied to the present invention;  
         [0060]      FIG. 2   a  is a diagram illustrating a structure of a read request (RRQ) message redefined to use in an embodiment of the present invention;  
         [0061]      FIG. 2   b  is a diagram illustrating a case where actual numerical values are applied to the message format of  FIG. 2   a;    
         [0062]      FIG. 3   a  is a diagram illustrating a structure of an option acknowledgement (OACK) message transmitted by a server system used in the present invention;  
         [0063]      FIG. 3   b  is a diagram illustrating a case where actual numerical values are applied to the message format of  FIG. 3   a;    
         [0064]      FIG. 4  is a flow diagram of a method for Trivial File Transfer Protocol including a broadcasting function according to an embodiment of the present invention;  
         [0065]      FIG. 5  is a flow diagram illustrating a processing procedure upon occurrence of an error in a method for Trivial File Transfer Protocol including a broadcasting function according to an embodiment of the present invention;  
         [0066]      FIG. 6   a  is a diagram illustrating a case where actual numerical values are applied to a read request (RRQ) message redefined to use in another embodiment of the present invention;  
         [0067]      FIG. 6   b  is a diagram illustrating a case where actual numerical values are applied to an option acknowledgement (OACK) message, transmitted by a server system, redefined to use in another embodiment of the present invention; and  
         [0068]      FIG. 7  is a flow diagram of a method for Trivial File Transfer Protocol including a broadcasting function according to another embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0069]     Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention belongs can easily carry out the present invention.  
         [0070]      FIG. 1  is a diagram illustrating the configuration of a system for a file transfer protocol including a broadcasting function, which is applied to the present invention.  
         [0071]     Referring to  FIG. 1 , the system for a Trivial File Transfer Protocol including the broadcasting function, which is applied to the present invention, is composed of a server system  10  and a number of client systems  20   a  to  20   n.    
         [0072]     A file transmission process that is generally progressed in the Trivial File Transfer Protocol System (TFTP) will be discussed by way of example in connection with the server system  10  and the client  20   a.    
         [0073]     The server system  10  and the client system  20   a  are interconnected over a network  30  to give and take a file  40 .  
         [0074]     At this time, a TFTP server  14  run on the server system  10  and a TFTP client  24   a  run on the client system  20   a  are operated over an Ethernet  11  with Internet Protocols (IPs)  12  and  22   a  using the UDP of TCP and UDP.  
         [0075]     The TFTP client  24   a  is run on the system  20   a  in which the TFTP client  24   a  is embedded to begin to connect to the TFTP server  14 . The TFTP client  24   a  transmits a read/write request message (RRQ: Read ReQuest/WRQ: Write ReQuest) to the TFTP server  14  to establish a connection with the TFTP server  14 .  
         [0076]     At this time, the TFTP client  24   a  selects a port for UDP of TCP/UDP  23   a  at the TFTP client side and transmits the read/write request message (RRQ/WRQ) containing its own IP address and a selected port number to the TFTP server  14  via this selected port.  
         [0077]     The TFTP server  14  receives the read/write request message (RRQ)/WRQ, transmitted from the TFTP client  24   a , via the port  69  for UDP of TCP/UDP  13  at the TFTP server side.  
         [0078]     The TFTP server  14  registers the IP (Internet protocol) address and the port number of the TFTP client when receiving the request message, and transmits an acknowledgement message (ACK) in response to the request to the TFTP client  24   a  via the same port as that used upon receiving the request message using the registered IP address and port number.  
         [0079]     The TFTP client  24   a  receives the acknowledgement message (ACK), transmitted by the TFTP server  14 , via the previously selected port for the TFTP client side UDP  23  to establish the connection between the two systems.  
         [0080]     If the connection between the TFTP server  14  and the TFTP client  24   a  is established, the file  40  requested by the TFTP client  24   a  in the read/write request message (RRQ/WRQ) is transmitted between the two systems via the two UDP ports.  
         [0081]     The TFTP server  14  and the TFTP client  24   a  keeps the connection until the transmission of the file  40  is completed, and closes the connection to disconnect the TFTP server  14  and the TFTP client  24   a  after the transmission is completed.  
         [0082]     Meanwhile, for such a typical Trivial File Transfer Protocol system to include the broadcasting function of the present invention, it is required to define a new option and redefine a message type according to protocols defined in RFC (request for comments)  2347 .  
         [0083]     Generally, the read request message (RRQ) is a message used to establish a connection that is needed for the client to read data from the server. That is, it is a request message to download files. At this time, “1” is used for the value of an operation code (OPC), which is the first field of the RRQ, and a filename consists of a character string with a variable length, accompanied by a definition field for a transmission mode.  
         [0084]     The write request message (WRQ) is a message used to establish a connection that is needed for the client to write the data to the server. That is, it is a request message to upload the files. At this time, “2” is used for the value of an OPC that is the first field in the WRQ.  
         [0085]     Meanwhile, “3” is used for an OPC value of a message to transfer a data block and “4” is used for an OPC value of an acknowledgement (ACK) message in response to receiving the data block.  
         [0086]     “5” is used for an OPC value of a message when an error occurs. It is recommended to use “6” for an OPC value of an option ACK (OACK; option acceptance or non-acceptance) message when an option is added to the RRQ and WRQ messages in the extension TFTP.  
         [0087]      FIG. 2   a  is a diagram illustrating the structure of an RRQ message redefined for use in an embodiment of the present invention.  
         [0088]     Referring to  FIG. 2   a , the RRQ message is composed of an operating code (OPC) field  31 , a file name field  32 , a mode field  34 , an option field  36 , and a mask bit field  38 .  
         [0089]     An operating code value of the operating code field  31  is 1, and a file name of the file name field  32  consists of a character string having a variable length. The file name is coded with an ASCII code and a 1-byte field  33  indicates its end point.  
         [0090]     The mode field  34  is used to define a transmission mode. A character string used for the mode field is “netascii” in case of an ASCII mode and is “octet” in case of a binary file. A 1-byte field  35  indicates the end point of the mode field.  
         [0091]     The option field  36  is a field newly defined to support the broadcasting function. An option character string used is “broadcast”, and a 1-byte field  37  indicates the end point of the option field.  
         [0092]     The mask bit field  38  is a field newly defined to support the broadcasting. It defines a value for a broadcasting option and is determined based on a broadcasting address of the client. The value has 8, 16, 24 or the like for respective classes.  
         [0093]     Accordingly, in the case where files are transmitted in a broadcast mode and the broadcasting option belongs to a class C, the RRQ message may be defined as shown in  FIG. 2   b.    
         [0094]      FIG. 2   b  is a diagram illustrating a case where actual numerical values are applied to the message format shown in  FIG. 2   a.    
         [0095]     Referring to  FIG. 2   b , the operating code is defined as “1”, the file name as “foofile”, the transmission mode as an octet, the option field as a character string “Broadcast”, and a mask bit field as 24 bits.  
         [0096]     Next, the OACK message between the server system and the clients will be described.  
         [0097]      FIG. 3   a  is a structure diagram of an OACK acknowledgement message, transmitted by a server system, used in the present invention.  
         [0098]     Referring to  FIG. 3   a , the OACK message is composed of an operating code (OPC) field  41 , a broadcast field  42 , a 1-byte field  43 , a mask bit, port number and master client (Mask bit, Port, and MC) field  44 , and a 1-byte field  45 .  
         [0099]     An operating code value of the operating code field  41  is 6. A character string “broadcast” is defined in the broadcasting field  42 , and a 1-byte field  43  indicates an end point.  
         [0100]     The mask bit, port number and master client (Mask bit, Port and MC) field  44  defines a value for a broadcasting option. It defines a broadcast mask bit, a UDP port number, and a master client bit, which are determined by the server system  10 .  
         [0101]     The mask bit accepts the value of the read request message (RRQ) received from the clients  20   a  to  20   n  if the value is acceptable. Otherwise, the mask bit is determined based on a broadcasting address of the server system  10 .  
         [0102]     The master client (MC) bit is set to 1 for any one of the clients  24   a  to  24   n  that has sent the read request message (RRQ) first and foremost and that becomes a master, and is set to 0 for other clients. The master client serves to send an acknowledgement message in response to the data packet.  
         [0103]     Here, the master client is a client that has sent the read request message (RRQ) first and foremost. The master client sends an acknowledgement message to the data packet. The other clients do not send an acknowledgement message.  
         [0104]     It is recommended to use 1768 as a broadcast UDP port, which is one of options redefined in RFC 2347. This port number is added to the OACK message transmitted from the server to the client so that the client interprets it. The client can accept another port number by the server.  
         [0105]     In the case where the OACK message acknowledging the broadcast option is transmitted in response to the message (RRQ) including the broadcast option received from the client, the OACK message may be defined as shown in  FIG. 3   b , wherein the option includes the broadcast mode, Class C, the port number of 1768, and the correspondent client set as a master (1: master, 0: non-master).  
         [0106]     For reference, the multicast TFTP uses 1758.  
         [0107]      FIG. 3   b  is a diagram illustrating the case where actual numerical values are applied to the message format of  FIG. 3   a.    
         [0108]     Referring to  FIG. 3   b , the operating code may be defined as “6”, the broadcast option field as “broadcast”, and the mask bit, port, and MC field as “24,1768,1” where 24 is the mask bit, 1768 is the UDP port and 1 is the MC field.  
         [0109]     An actual file transmission process will be described in a state where the file transfer system including the broadcasting function is configured and the message format as set forth above is defined.  
         [0110]     Prior to discussing an operation, the client system  24   a  is defined as a master client, and a time of the server system  10  waiting to receive read request messages from the other clients  24   b  to  24   n  after receiving the read request message (RRQ) from the master client  24   a  is defined as “T”.  
         [0111]     Further, “Ts” as a parameter required for operation is a timeout time of the server system  10  waiting until the master client  24   a  acknowledges the data after sending the data to the master client  24   a . When the server system  10  does not receive the acknowledgement in this time, the server system  10  retransmits the data.  
         [0112]     In addition, as other parameters required for operation, “n” is a parameter indicating the number of times by which the server system  10  retransmits the broadcasting message to the client systems  24   a  to  24   n , and “a” is a parameter indicating a marginal time of the client systems  24   a  to  24   n  waiting to receive the data packet from the server system  10 .  
         [0113]     Since “n*A” is a time of the server system  10  waiting the client systems  24   a  to  24   n , the waiting timeout time of the client systems  24   a  to  24   n  is set to be larger by “a” than n*A.  
         [0114]     If the master client  24   a  transmits the read request message including the “broadcast” option field to receive files through broadcasting, the server system  10  returns an OACK to accept the “broadcast” option in response to receiving the message and then waits file transfer requests from the other client systems  24   b  to  24   n  for ‘T’ time.  
         [0115]     The master client  24   a  receives the OACK in which the master client bit is set to “1,” recognizes that the master client  24   a  is a master client for broadcasting transmission, sends an ACK, and then waits data.  
         [0116]     If the read request message from the other client systems  24   b  to  24   n  arrives at the server system  10  in the “T” time, the server system  10  transmits the OACK message. The server system  10  receives the acknowledgement (ACK) message from the other client systems  24   b  to  24   n  and broadcasts the data after the “T” time has elapsed.  
         [0117]     At this time, the master client  24   a  then transmits an acknowledgement message in response to the data while the other client systems  24   b  to  24   n  do not transmit the acknowledgement message. The server system  10  transmits the next data when the acknowledgement message from the master client  24   a  arrives at the server system.  
         [0118]     Meanwhile, if the master client  24   a  is dropped while the server system  10  broadcasts normal data, the server system  10  waits an acknowledgement from the master client  24   a  for ‘A’ time and retransmits it when there is no acknowledgement.  
         [0119]     If there is no acknowledgement until the data is transmitted “n” times, the server system  10  transmits an OACK to authorize the second other client  24   b  as a master client. Thereafter, the server confirms an acknowledgement message transmitted from the new master client  24   b  to continue to perform the procedure.  
         [0120]      FIG. 4  is a flow diagram illustrating a method for a Trivial File Transfer Protocol including a broadcasting function according to an embodiment of the present invention.  
         [0121]     Referring to  FIG. 4 , a first client  51   a  transmits a read request message (RRQ) to a server system in order to download files. At this time, the message packet has a newly defined option field with a “broadcast” option ( 100 ).  
         [0122]     The server system  50  receives the first read request message and, in response thereto, transmits an OACK to accept such a “broadcast” option ( 101 ). Then, the server system  50  waits for ‘T’ time to see whether other clients are present. At this time, a master client (MC) value of the mask bit, port and master client (MC) field in the OACK packet has been set to “1” to notify that the client 1   51   a  is a master client.  
         [0123]     The first client  51   a  receives the OACK in which the master client (MC) field has been set to “1” to recognize that the client  51   a  is a master client for broadcasting transmission, returns an acknowledgement message in response to the OACK message ( 104 ), and waits for the data.  
         [0124]     Meanwhile, a second client  51   b  transmits a read request message to the server system  50  within “T” time ( 102 ), and the server system  50  returns an OACK in which the master client (MC) field has been set to “0” ( 103 ). In response, the second client  51   b  transmits an acknowledgement X message ( 105 ). At this time, since the master client (MC) field has been set to “0,” the second client  51   b  recognizes that the second client  51   b  is not a master client, and accordingly does not transmit an acknowledgement message when receiving the data.  
         [0125]     Next, the server system  50  broadcasts the data after the “T” time has elapsed ( 106 ). In response, only the first client  51   a , which is a master client, transmits an acknowledgement message ( 107 ), and the server system  50  transmits a subsequent packet when receiving the acknowledgement message ( 108 ).  
         [0126]     Meanwhile, if the server system receives a read request message after the “T” time has elapsed, the server system handles it in a one-to-one manner using a new TFTP program or performs a new broadcasting TFTP process, as in a conventional manner.  
         [0127]      FIG. 5  is a flow diagram illustrating a processing procedure upon occurrence of an error in a method for a Trivial File Transfer Protocol including a broadcasting function according to an embodiment of the present invention.  
         [0128]     Referring to  FIG. 5 , if the master client is dropped while broadcasting normal data as in  FIG. 4 , the server system  50  waits for the acknowledgement from the first client  51   a , which is a master client, for ‘A’ time and retransmits the data when not receiving the acknowledgement.  
         [0129]     The server system  50  transmits an OACK to authorize the second client  51   b  as a master client if the server system does not receive the acknowledgement even after the server system retransmits the data n times ( 208 ).  
         [0130]     At this time, at the client side, a timer with n*(A+a) time begins to operate after the clients receive the data, and the second client  51   b  confirms and discards the retransmitted data packet since the second client has already received the block # (block number).  
         [0131]     Meanwhile, the second client  51   b  confirms that the second client  51   b  is a master client when receiving the OACK, and then transmits an acknowledgement message ( 209 ,  211  and  213 ).  
         [0132]     If the server system  50  has a trouble and the clients cannot receive any packet, the TFTP operation is stopped and an error message is outputted at an instant when the n*(A+a) timer of the clients is timed out.  
         [0133]     Hereinafter, an embodiment in which a packet is more rapidly transmitted by redefining a block size along with a broadcast option according to an option extension protocol will be described.  
         [0134]      FIG. 6   a  is a diagram illustrating a case where actual numerical values are applied to a read request (RRQ) message redefined to use in another embodiment of the present invention.  
         [0135]     Referring to  FIG. 6   a , the operating code is defined as “1”, the file name as “foofile”, the transmission mode as “octet”, the first option field as a character string “Broadcast”, the mask bit field as “24”, the second option field as a character string “blksize” for block size, and the block size field as a block size value “1428”.  
         [0136]     Although upon transmitting and receiving files between the server and the client using the message extended with the broadcast option field, the block size has been fixed to “512” and the 512 octet (byte) has been transmitted and received in the above-stated embodiment, a data transmission unit upon transmitting and receiving files between the server and the client becomes a 1428 octet (byte) since the block size is redefined to “1428” in other embodiments.  
         [0137]      FIG. 6   b  is a diagram illustrating the case where actual numeric values are applied to an option acknowledgement (OACK) message, transmitted by a server system, redefined to use in another embodiment of the present invention.  
         [0138]     Referring to  FIG. 6   b , the operating code may be defined as “6”, the first option field as “broadcast”, the mask bit, port and master client (MC) field as “24,1768,1”, the second option field as “blksize”, and the block size field as “1428”.  
         [0139]     Accordingly, an actual file transmission process in the state where the system for the file transfer protocol including a broadcasting function has been configured and the block size in the message format has been redefined as described above will be discussed.  
         [0140]      FIG. 7  is a flow diagram of a method for a Trivial File Transfer Protocol including a broadcasting function according to another embodiment of the present invention.  
         [0141]     Referring to  FIG. 7 , the first client  51   a  transmits a read request message (RRQ) to the server system in order to download files. At this time, the message packet includes a newly defined option field with a “broadcast” option ( 300 ).  
         [0142]     The server system  50  receives the first read request message (RRQ), accepts a “broadcast” option, transmits an OACK with a block size, which is a data transmission unit, redefined to a 1428 octet ( 301 ), and then waits for ‘T’ time to see whether other clients are present. At this time, the MC value of the mask bit, port, and master client (MC) field in the OACK packet has been set to “1” to notify that the first client  51   a  is a master client.  
         [0143]     The first client  51   a  receives the OACK in which the master client (MC) value has been set to “1” to recognize that the first client  51   a  is a master client for broadcasting transmission and the data transmission unit has been redefined to a 1428 octet, sends an acknowledgement message (ACK) in response to the OACK message ( 304 ), and then waits the data.  
         [0144]     Meanwhile, the second client  51   b  transmits a read request message (RRQ) to the server system  50  in the T time ( 302 ) and, in response, the server system  50  transmits an OACK in which the MC value of the mask bit, port, and MC field has been set to “0” and the block size has been redefined to a 1428octet ( 303 ). In response, the second client  51   b  transmits an acknowledgement message (ACK) ( 305 ).  
         [0145]     At this time, the second client  51   b  is not a master client since the master client (MC) value has been set to “0,” and accordingly the client  251   b  does not transmit an acknowledgement message when receiving the data. Further, since the second client  51   b  has recognized block size 1428 octet information, the second client  51   b  determines that it is a normal state when receiving the data in a 1428 octet unit.  
         [0146]     Thereafter, the server system  50  broadcasts the data in a 1428octet unit after the T time has elapsed ( 306 ), and only the first client  51   a , which is a master client, transmits an acknowledgement message ( 307 ). The server system  50  broadcasts the next packet when receiving the acknowledgement message from the first client  51   a , which is a master client ( 308 ).  
         [0147]     In the case of the second embodiment, there is an advantage that actual file transmission speed becomes faster since it is possible to redefine a block size to broadcast.  
         [0148]     Thus, if the server or the client supports the TFTP broadcast option as described above, multiple clients can rapidly download files from one server.  
         [0149]     However, the following operation may occur if the server does not support such a broadcast option.  
         [0150]     First, the client transmits a read/write (RRQ) message with an option field checked to be broadcast to the server, and the server transmits an error message to the relevant client because the server does not support a broadcast option function indicated by this message. Alternatively, the relevant server can transmit an option acknowledgement (OACK) message, to the client, to which supportable functions are added. At this time, if the client does not accept such functions, the server transmits an error message.  
         [0151]     Unlike the above, the following operation may occur if the client does not support the broadcast option.  
         [0152]     In this case, since the client cannot select the broadcast option itself when initially transmitting a read/write (RRQ) message to the server, the message exchange is made in the same manner as the earlier art regardless of whether the server supports the broadcast option or not.  
         [0153]     Meanwhile, it should be noted that although the present invention has been described by way of example in which a client, sending a read/write message (RRQ) first and foremost, among a number of clients is selected as a master and the next data are sequentially transmitted after an acknowledgement (ACK) message is received from the master client, the present invention can be applied to a case where a network is unconditionally operated without selecting a master client according to an operating plan of a system operator if acknowledgement (ACK) messages are received from a plurality of clients or even though acknowledgement (ACK) messages are not received from the plurality of clients.  
         [0154]     Although the preferred embodiments of the present invention have been described in detail, it will be understood by those skilled in the art to which the present invention belong that several modifications or variations may be made to the present invention without departing the technical spirits and scope the present invention defined in the appended claims. Therefore, future changed embodiments of the present invention are included in the technique of the present invention.  
         [0155]     As described above, according to the present invention, there is an advantage that using the broadcast TFTP allows a transmission speed faster than that of an existing one-to-one transmission manner, which makes it possible for multiple clients to download files from one server in a quick and efficient manner.  
         [0156]     In addition, in the case of adding a block size option item in addition to the broadcast option item extension, the block size larger than a previous block size allows more rapid file transmission.  
         [0157]     Advantageously, it is possible to accomplish the most efficient file transmission by applying the method of the present invention to the case where a sub network is a broadcasting network, a number of clients exist, and simultaneous file transmission is required.  
         [0158]     Further, it is advantageously possible to maximize transmission operation efficiency while minimizing added functions since the TFTP is not used for equipment of which all network functions are substantially active.