Abstract:
In a remote computer, a method for providing a file comprises the steps of receiving a request for this file, identifying this file as being stored in a distant server, requesting the distance server to send the file, identifying this file as being used, and forwarding this file. Further, in a local server, a method for transferring a file from a home server comprises the steps of receiving a request for this file, this request comprising the home server identification, checking that this file is not locally stored, requesting this file to the home server, identifying the file as being locally used, and forwarding this file.

Description:
BACKGROUND OF THE INVENTION 
   1. Technical Field 
   The present invention relates to files transfer between a remote server and a local server. Such a transfer is necessary when a user is temporarily connected to a local server different from a remote home server to which this user is usually connected. 
   2. Description of the Related Art 
   It is now very common that someone who travels needs to have access to a set of files, system files, data files or application files. So, this person can bring a portable computer with him, all the necessary files being stored in this computer. It is often not very convenient to carry such an equipment. Moreover, nowadays, the files of a computer user are often stored on a server, the home server. In this case, the user has to transfer all his files on the portable computer and he can forget some of these files. Thus, solutions have been developed to allow a user to access transparently to his own computer from another personal computer, generally by means of a local server. 
   A first method, TELNET, allows a user connected to a network with a local computer to access a remote computer such that the local computer is a terminal of the remote computer. The term TELNET refers to a remote connection on the INTERNET that is made with the TELNET protocol. When using electronic mail or FTP, a file transfer protocol, the local computer limits the interaction with the remote computer and the file management between both computers is not very practical. It is also possible to open an interactive session with TELNET. Accordingly, once the connection has been established, the local computer is transparent and the user works as if he were directly attached to the remote computer. During the session, both computers are connected, that means that access times could be long, especially when the remote computer is overburdened. 
   Another method is known as directory replication, a feature offered by servers equipped with MICROSOFT WINDOWS NT (registered trademark). Directory replication allows to set up and maintain identical directories on multiple stations such as servers or personal computers. Updates made to the files or directories on one server are periodically replicated to other stations in import directories. Replication is well adapted for read only files since import directories that receive copies of the files are overwritten each time replication occurs. Any modification made on a file in an import directory is lost at the next replication. Consequently, the user cannot be sure that the modifications he has made in an import directory will be saved; the saving procedure has to be done manually, by means of specific commands. 
   SUMMARY OF THE INVENTION 
   It is therefore a general object of the present invention to provide for a method which allows to access a file in a remote computer from a local computer in an efficient way and to insure that any modification of this file is saved. 
   According to the invention, in a remote computer, a method for providing a file comprises the following steps:
         receiving a request for this file,   identifying this file as being stored in a distant server,   requesting the distant server to send the file,   identifying this file as being used, and   forwarding this file.       

   Besides, in a local server, a method for transferring a file from a home server comprises the following steps:
         receiving a request for this file, this request comprising the home server identification,   checking that this file is not locally stored,   requesting this file to the home server,   identifying the file as being locally used, and   forwarding said file.       

   A method for sending back the file to the home server, wherein is stored an information according to which said file is locally stored, comprises the following steps:
         receiving a request for this file, the request comprising the home server identification,   checking that the file is locally stored,   forwarding the file to the home server when it has been locally modified, and   deleting the information according to which this file is locally stored.       

   Advantageously, this method comprises a further step for sending an information to the home server when the file has not been locally modified. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Embodiments of the present invention are described below by way of example only with reference to the accompanying drawings, wherein: 
       FIG. 1  represents the equipments involved in the invention, 
       FIG. 2  represents the main components of a local file server, 
       FIG. 3  represents the main components of a home file server, 
       FIG. 4  is a diagram showing the messages exchange between the client, the local server and the home server, and 
       FIG. 5  is a flow chart of the method used in the local server. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   With reference to  FIG. 1 , a personal computer or client  10  is connected to a local file server  11  by means of a local area network  12  itself connected to a wide area network  15 , generally with a router  14 . In addition, a remote home file server  17  is also connected to the wide area network  15  such as Internet either directly or through another router (not shown) and another local area network (not shown). 
   With reference to  FIG. 2 , the local file server  11  comprises a first LAN adapter,  21  where LAN means “Local Area Network”. This adapter is used to transmit and receive messages on the network with the client  10  and with the home file server  17 . Another component of the local file server  11  is a first disk controller  22  such as a SCSI adapter (SCSI for “Small Computer System interface”) or a RAID adapter (RAID for “Redundant Array of Inexpensive Disks”). The local server also comprises a first processor  23  to perform the method which will be described further. 
   The local file server  11  comprises in addition a first memory  25  which includes two specific tables, the local client table LT 1  and the guest client table GT 1 . Each entry in these tables corresponds to a user and gives a pointer on one directory called the directory file. 
   With reference to  FIG. 3 , the remote home file server  17  is very similar to the local file server  11 . It comprises a second LAN adapter  31 , a second disk controller  32 , a second processor  33  and a second memory  35 . This memory includes also a local client table LT 2 , a guest client table GT 2  and it further includes a remotely logged client table RT 2 . 
   With reference to  FIG. 4 , a file transfer between the home file server  17 - 402  and the client  10 - 400  will now be described. There is a set of messages between the client and the local server  11 - 401  and another set of messages between the local server and the home server. There is no direct exchange between the client  400  and the home server  402 . 
   When the client or personal computer  400  is powered on, it first runs the BIOS program  403  stored in a read only memory located in a LAN adapter. The BIOS program performs a remote boot  406  on the local file server  401 , using any usual protocol such as DHCP (“Dynamic Host Configuration Protocol”) or BOOTP (“Bootstrap protocol”). The BIOS program sends a Connection request  404  to the local server  401  which sends back a login application  405 . The adapter of the personal computer  400  uses a file transfer protocol such as TFTP (“Trivial File Transfer Protocol”), FTP (“File Transfer Protocol”), or CIFS (“Common Investment File System”) for downloading this login file from the local server  401 . Subsequently, the personal computer  400  runs the login file which prompts a user of this computer to enter a user identification and eventually a password  407 . The local file server  401  checks whether the user is one of its clients or not referring to the first local client table LT 1   408 . Assuming the user is not one of its clients and is a guest, this user should be stored in the guest client table GT 1  if this not already done. The local server now requests the user to enter a home file server identification  409 – 410 . When this identification is received, the local server forwards  411  the client request to the home file server  402 . In response, the home server checks  412  that the user is one of its clients (referring to the second local client table LT 2  for instance) and acknowledges  413  the local server to accept this user. In addition, the home server informs the local server of the operating system files needed for this user. Usually, most of these files are available at the local server and therefore need not to be transferred between both servers. Eventually, the home server sends a file including user specific data. The local server can transfer the operating files to the client station  414  and the personal computer  400  can perform the loading of the operating system  415 . 
   Additional information on Internet protocols can be found in a IBM Company publication entitled: TCP/IP tutorial and technical overview GG24-3376-05, October 1998, edited by the International Technical Support Organization. 
   With reference to  FIG. 5 , a first transfer  50  is now described from the local server. First, a test  51  determines whether the client (user) using the client station is a guest or a local known client. 
   If the client is a local known user (“no” answer), the requested file is simply transmitted to the client  54 . 
   If the client is a guest and requests a new file transfer, the local server first checks  52  whether the file is in the local client directory or not by means of the guest client table GT 1 . 
   If the file is in the local server (“yes” answer), the local server sends the file to the client  54 . 
   If the file is not in the local server (“no” answer), the local server requests the file from the home server  53 , stores this file in its memory and its identification in the guest client table, and then forwards the file to the client. The files modifications made by the client on the personal computer are saved in the local server. Moreover, an indication that the file has been modified is stored in the guest client table. According to an optional feature, this indication is also forwarded to the home server. 
   On the other hand, when this file is requested by the home server, the local server checks whether it has been modified or not. 
   If the file has not been modified (answer “no”), this information is forwarded to the home server. 
   If the file has been modified (answer “yes”), the modified file is forwarded to the home server. In any case, the file is deleted and the identification of this file is removed from the guest client table GT 1 . 
   In the home file server  17 , when a file has been requested by a first local server, or when according to the above mentioned optional feature a file is modified in this local server, a corresponding information is stored in the remotely logged client table RT 2  together with the identification of the local server. Thus, when later this file is requested again by the user from another server or from the home server itself, the home server first checks if it appears in the remotely logged client table RT 2 . If it is the case, this file is first requested from the local server identified in the table RT 2  and it is overwritten on the version stored in the home server. The information according to which the file is in the first local server is then deleted in the remotely logged client table RT 2 . 
   It then appears that the latest version of the file is always available, either in the home server or in a server identified in a table of the home server. 
   The scope of the present invention is in no way limited to the above embodiments. In particular, any means or steps could be replaced by equivalent means, respectively steps.