Abstract:
A diskless PC network communication agent system includes a host, a network communication agent, a physical network connecting the network communication agent to the host, and diskless PCs connected to the network communication agent. The network communication agent has network packet filtering and transferring functions so that a virtual private network is established between the network communication agent and the diskless PCs for enabling each diskless PC to use a preboot execution environment communication protocol to catch dynamic host configuration protocol information, to start up network bootstrap, and to request the host for the services of remote installation, boot and access to virtual disk.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to network communication technology and more particularly, to a diskless PC network communication agent system, which establishes a virtual private network between each network communication agent and each diskless PC so that each diskless PC can normally use preboot environment communication protocol to catch dynamic host configuration protocol information for booting through the network. 
         [0003]    2. Description of the Related Art 
         [0004]    In order to overcome the problem that a big number of diskless PCs (personal computers) cannot be flexibly deployed due to standard preboot execution environment (PXE) technical limitations, different techniques are developed. Exemplars are seen in U.S. Pat. No. 6,735,692B1; U.S. Pat. No. 6,871,210B1; U.S. Pat. No. 7,085,021B2. These techniques either add extra management devices to the preboot execution environment network or extend the preboot execution environment communication protocol by adding management messages for computer arrangement. The techniques applied by the aforesaid patented designs, however, do not consider the limitation that dynamic configuration protocol (DHCP) information for PXE-enable PCs to boot through network is broadcasted on the network where is divided into segments in natural. In consequence, the broadcast-based DHCP information cannot go through network segments. Adding an extra management device to a preboot execution environment network facilitates management, however, this method cannot effectively avoid the congenital defects of preboot execution environment techniques, such as the problem that when multiple DHCP servers may interfere with one another if they exist in one same network segment, causing instability of preboot execution environment techniques. 
       SUMMARY OF THE INVENTION 
       [0005]    The present invention has been accomplished under the circumstances in view. It is the main object of the present invention to provide a diskless PC network communication agent system, which overcomes network environment limitations, allowing flexible arrangement and management of a big number of diskless computers spread in the network environment of multiple segments. 
         [0006]    To achieve this and the objects of the present invention, a diskless PC network communication agent system comprises a host, a network communication agent, a physical network connecting the network communication agent to the host, and diskless PCs connected to the network communication agent, wherein the network communication agent has network packet filtering and transferring functions so that a virtual private network (VPN) is established between the network communication agent and the diskless PCs for enabling each diskless PC to use a preboot execution environment (PXE) communication protocol to catch dynamic host configuration protocol (DHCP) information, to start up network bootstrap, and to request the host for the services of remote installation, boot, and access to virtual disks. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  is a schematic drawing illustrating an arrangement of a diskless PC network communication agent system in accordance with the present invention. 
           [0008]      FIG. 2  is a block diagram of the diskless PC network communication agent system in accordance with the present invention. 
           [0009]      FIG. 3  is a flow chart illustrating the operation of the diskless PC network communication agent system upon receipt of a network packet by the primary interface from one diskless PC in the virtual private network. 
           [0010]      FIG. 4  is a flow chart illustrating the operation of the diskless PC network communication agent system upon receipt of an external network packet by the secondary interface. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0011]    Referring to  FIG. 1 , a diskless PC network communication agent system in accordance with the present invention includes a host  400 , at least one network communication agent  200 , a physical network  300  connecting each network communication agent  200  to the host  400 , and at least one diskless PC (personal computer)  100  connected to each network communication agent  200  to constitute a VPN (virtual private network)  500  between the network communication agents  200  and the diskless PCs  100 . 
         [0012]    Further, the host  400  can be a storage server, a management server or a game server. In this embodiment, a storage server is used for the host  400  for easy explanation. 
         [0013]    Referring to  FIG. 2  and  FIG. 1  again, each network communication agent  200  comprises a multi-interface switch  210 , a DHCP (dynamic host configuration protocol) server  220 , a protocol translator  230  and a cache  240 . 
         [0014]    The multi-interface switch  210  is adapted for connecting the respective diskless PC  100  and the physical network  300  for data exchange, comprising a primary interface  211 , a secondary interface  212  and a packet filter  213 . The primary interface  211  is adapted for connecting the respective diskless PCs  100  and handling the exchanging data in the VPN  500  between the primary interface  211  and the diskless PCs  100  and the exchanging data between diskless PCs  100 . The primary interface  211  is a high speed interface in the computer system, such as the Ethernet, the wireless network, USB, eSATA or PCI express. The secondary interface  212  is adapted for connecting the physical network  300  and handling the exchanging data between the physical network  300  and the host  400 . Further, the secondary interface  212  is a high speed interface in the computer system, such as the Ethernet or the wireless network. The packet filter  213  is adapted for analyzing and filtering network packets to discriminate the VPN  500  packets from the physical network  300  packets. 
         [0015]    The DHCP server  220  is adapted for handling and responding to DHCP requests, providing the DHCP information required for the diskless PC  100  in the VPN  500  using PXE, and also providing DHCP information that can be set manually or by a computer at an external physical network segment by means of a communication protocol control. 
         [0016]    The protocol translator  230  is adapted for transferring communication protocol packets issued by the diskless PCs  100  at the VPN  500  for accessing to a remote storage device on the host  400  at the physical network  300 , and also for transferring data blocks returned from the host  400  to the respective diskless PCs  100 . During transfer, the protocol translator  230  can use a communication protocol different from what is used by the diskless PCs  100  and the host  400  and make a translation therebetween. 
         [0017]    The cache  240  is adapted for temporarily storing the data blocks processed by the protocol translator  230  in a memory space for quick data access by the diskless PCs  100 . The cache  240  also provides an asynchronous write buffer, enabling data to be temporarily stored in the cache  240  when one of the diskless PCs  100  is writing to the host  400  so that the cache  240  can synchronously provide the data to the host  400  at the proper time. 
         [0018]    Referring to  FIGS. 1-3 , when the primary interface  211  of the network communication agent  200  receives a network packet from one diskless PC  100  at the VPN  500 , it runs subject to the following steps: 
         [0019]    S 101 : Handle the network packet of the diskless PC  100  to the packet filter  213 . 
         [0020]    S 102 : The packet filter  213  analyzes and filters the network packet. 
         [0021]    S 103 : The packet filter  213  determines whether or not the network packet is a DHCP type? And then it proceeds to step S 104  when positive, or step S 105  when negative. 
         [0022]    S 104 : Handle the network packet to the DHCP server  220 , and provide the DHCP information set by the manager and required for the diskless PC  100  for remote boot by means of PXE technique to the diskless PC  100  through the primary interface  211 , and then proceed to step S 212 . 
         [0023]    S 105 : The packet filter  213  determines whether or not the network packet is a communication protocol packet for access to the host  400 ? And then, proceed to step S 105  when positive, or step S 111  when negative. 
         [0024]    S 106 : Handle the network packet to the protocol translator  230  for processing, and then proceed to step S 107 . 
         [0025]    S 107 : The protocol translator  230  determines whether or not the diskless PC  100  and the host  400  use the same communication protocol? And then, proceed to step S 109  when positive, or step S 108  when negative. 
         [0026]    S 108 : The protocol translator  230  converts the network packet into a communication protocol communicable to the respective diskless PC  100  and the host  400 . And then, proceed to step S 109 . 
         [0027]    S 109 : The protocol translator  230  determines whether or not the network packet contains a data block necessary for the diskless PC  100  to make disk access? And then, proceed to step S 110  when positive, or step S 111  when negative. 
         [0028]    S 110 : Handle the data block of the network packet, the related disk address, data length, and the version number to the cache  240  for registration, and then proceed to step S 111 . 
         [0029]    S 111 : Handle the network packet to the secondary interface  212  for delivery, and then proceed to step S 112 . 
         [0030]    S 112 : End. 
         [0031]    Referring to  FIG. 4  and  FIGS. 1 and 2  again, when the secondary interface  212  of the network communication agent  200  receives an external network packet, it runs subject to the following steps: 
         [0032]    S 201 : The secondary interface  212  handles the received network packet to the packet filter  213 . 
         [0033]    S 202 : The packet filter  213  analyzes and filters the network packet. 
         [0034]    S 203 : The packet filter  213  determines whether or not the destination of this external network packet is the diskless PC  100 ? And then proceed to step S 205  when positive, or step S 204  when negative. 
         [0035]    S 204 : Return this external network packet to the external network by means of the secondary interface  212 , and then proceed to step S 212 . 
         [0036]    S 205 : The packet filter  213  determines whether or not this external network packet is responded by the host  400 ? And then, proceed to step S 206  when positive, or step S 211  when negative. 
         [0037]    S 206 : Handle this external network packet to the packet filter  213 , and then proceed to step S 207 . 
         [0038]    S 207 : The protocol translator  230  determines whether or not the diskless PC  100  and the host  400  use the same communication protocol? And then, proceed to step S 209  when positive, or step S 208  when negative. 
         [0039]    S 208 : The protocol translator  230  converts this external network packet into a communication protocol communicable to the respective diskless PC  100  and the host  400 . And then, proceed to step S 209 . 
         [0040]    S 209 : The protocol translator  230  determines whether or not this external network packet contains a data block necessary for the diskless PC  100  to make disk access? And then, proceed to step S 210  when positive, or step S 211  when negative. 
         [0041]    S 210 : Handle the data block of this external network packet, the related disk address, data length, and the version number to the cache  240  for registration, and then proceed to step S 211 . 
         [0042]    S 211 : Handle this external network packet to the primary interface  211  for delivery to the diskless PC  100 , and then proceed to step S 212 . 
         [0043]    S 212 : End. 
         [0044]    In conclusion, the invention uses a network communication agent  200  to isolate diskless PCs  100  in a VPN  500 , in which diskless PCs  100  can normally use PXE and DHCP techniques to boot without affecting the flexibility of its arrangement due to the setting of the physical network  300 . Further, a network communication agent  200  in accordance with the present invention comprises a cache  240  for quick read/write data cache, lowering the work load of the host  400  and the network bandwidth and improving the boot speed or application program execution speed of the diskless PCs  100 . 
         [0045]    Therefore, using the present invention effectively eliminates the problems of lack of flexibility in deployment of a big number of diskless PCs  100  in complex network environment. Also, it can greatly lowers the work load of the host  400  and the network bandwidth. 
         [0046]    Although a particular embodiment of the invention has been described in detail for purposes of illustration, various modifications and enhancements may be made without departing from the spirit and scope of the invention.