Novell iFolder: Your Data Where You Want It, When You Want It
Articles and Tips: article
01 May 2001
Editor's Note: Typically, when we say "you" in Novell Connection, we mean "you" in your role as network administrator. However, we believe that as a network administrator, you have as much use for Novell iFolder as any other user on your network. Hence, this article addresses "you" in your roles as both network administrator and user. In other words, whether we're talking about how to deploy and manage Novell iFolder or how users use Novell iFolder, we're talking to you.
Yesterday, you went home prepared to finish the presentation you had been working on all day--at least, you thought you were prepared. In reality, the disk you needed was on your desk in your dark office, miles away.
Today, you find that your presentation--which is now 1.5 MB--has outgrown the space available on one disk and still needs a few finishing touches. As you do so often, you send yourself an e-mail message with a file attached--in this case, your presentation.
Tonight you're at a hotel, where you plug in your laptop, dial your Internet service provider (ISP), and wait (and wait) while the 1.5 MB file attachment downloads over a 56 Kbps connection. You save the attachment to your hard drive, overwriting the file you'd given the same name--an unfortunate mistake. The file on your hard drive contained two slides that you hadn't yet saved to the file you just downloaded. Begrudgingly, you recreate the slides and polish the presentation before going to bed, tired and cranky.
Tomorrow, you will take a taxi to your client's office, nervous but prepared with your presentation on your laptop. Upon arrival, you will pay the driver and step from the cab. The cab will swerve back into traffic a split second before you realize that your laptop is still on the seat behind the driver. The only complete version of your presentation will thus vanish with the exhaust of a New York taxi.
Don't you hate when that happens?
YOUR DATA WHERE YOU NEED IT, WHEN YOU NEED IT
Everybody hates when this happens, and "this"--problems storing and retrieving your data--happens all of the time. Granted, laptops don't disappear every day, but they can be lost, stolen, broken, or even forgotten at inopportune moments. The point is, your data is everywhere--at work, on your home computer, on your laptop--but often, that data manages to be nowhere you need it. On the occasions when your data is where you need it, when you need it, it's frequently the wrong version (an irritating testament to Murphy's Law).
Within the next two months, Novell will offer Novell iFolder--a solution to the universal, pain-in-the-neck problems associated with storing and retrieving data. Novell will offer this solution to Internet and Application service providers (xSPs), which in turn can enhance their services by offering Novell iFolder to their customers.
More important in the context of this article, Novell will also offer Novell iFolder to companies. Hence, you (and other network administrators) can deploy and offer Novell iFolder solutions to all of your company's network users.
Novell iFolder ensures that the latest version of your data is always where you need it, when you need it, and safely hidden from all eyes but your own--on the server and over the wire. Novell iFolder, in effect, is quintessential Net services software that simplifies, accelerates, and secures access to your data across the Internet. (For more information about Net services software, visit http://www.novell.com/.)
CONVENIENTLY COOL
The fact that Novell iFolder ensures that you will always have access to the latest version of your data only hints at--rather than sums up--what is cool about this new storage solution. Arguably Novell iFolder's coolest characteristic is how convenient it is to use. This convenience is difficult to sum up in a sentence or two but should become apparent to you as you read this article.
For now, understand at least this much: Novell iFolder allows you to create and publish a folder--your personal iFolder--on a Novell iFolder server. You can then download and install the Novell iFolder client on every computer you use regularly.
When you install the Novell iFolder client on the computers you use regularly, the contents of your personal iFolder exist both on the Novell iFolder server and on these computers. These computers conceptually subscribe to your published iFolder. Novell iFolder automatically, transparently, and efficiently updates the contents of your personal iFolder between the server and across all of the subscribing computers.
You should also know this from the outset: You access and manage your personal iFolder from subscribing computers in the same way you access and manage the other folders located on these computers' hard drives.
You can even use Novell iFolder when you're not using one of your own computers. All you need to access and manage your personal iFolder files is an Internet connection and a Java-enabled browser. (See Figure 1.)
If you are tempted to reduce Novell iFolder to an existing category of storage solutions, don't. Summing up Novell iFolder as being like this or that type of storage solution is a mistake. Chances are, warns Jeff Hawkins, Novell's vice president of storage services, whatever category you're thinking of provides "an inferior solution to the [personal storage] problem," when compared to Novell iFolder. After all, as Hawkins points out, "iFolder really revolutionizes the way people use and manage their productivity data."
DEPLOYMENT BASICS
To make Novell iFolder's services available to you and to other users, you must first set up a Novell iFolder server. Of course, the specifics of how you deploy Novell iFolder vary, depending on your company's unique characteristics--such as its size. (For more information about deploying Novell iFolder, see "Setting Up the Server: Just the Gist.") Regardless of your company's unique characteristics, however, the basics of deploying the Novell iFolder server remain the same:
Install Novell iFolder 1.0 software on at least one web server. Novell iFolder currently supports the following platforms:
NetWare 5.1 with Support Pack 2 installed and running Apache Web Server software
Microsoft Windows NT 4.0 (or above) running either Apache Web Server or Microsoft Internet Information Server (IIS)
Future releases of Novell iFolder will also support the Linux and Solaris platforms.
Point the Novell iFolder server to any directory (such as NDS eDirectory) that supports Lightweight Directory Access Protocol (LDAP) version 3.0. This directory is the source for user authentication information. You can use an existing directory tree for this purpose, or you can create a new one. You can then place this directory tree on either the same or a separate server as you install Novell iFolder.
Determine whether or not you want to make Novell iFolder services available across your company's intranet, extranet, or the Internet and place the server accordingly. For example, to make services available across the Internet, you must place the Novell iFolder server either outside of the firewall or within your DMZ. (As you probably know, the DMZ is the subnetwork that forms the logical "demilitarized zone" between your private network and your company's firewall.)
If you place the Novell iFolder server behind the firewall, you need to configure the firewall to accept packets from Novell iFolder clients. The good news is that Novell iFolder is built on standard Internet protocols, namely TCP/IP and HTTP. More specifically, Novell iFolder uses Novell's Internet Folder Protocol (IFP), which is tunneled within HTTP (and rides on top of TCP/IP). Thus, assuming you have opened your firewall's HTTP port--port 80--you do not have to open more ports to enable remote users to access your Novell iFolder server.
Set basic configuration options, including the following:
Disk Space Utilization. The disk space utilization option enables you to specify a quota--that is, a size limit--on iFolders created on the Novell iFolder server. (The default setting is 200 MB.)
User Preference Settings. User preferences include settings such as the following:
Automatic sync (Yes/No) Synchronize to server delay (in seconds) Synchronize from server interval (in seconds) Remember password Remember pass phrase
You can set and enforce these and other user preferences, so users do not have the option to change your initial settings. Alternately, you can set defaults for user preferences, enabling users to change your initial settings via their Novell iFolder client.
Security. The security options enable you to specify which of the available three types of personal iFolders you will allow users to create on your Novell iFolder server. You can choose to make one, two, or all of the following options available to users:
Clear text only Encrypted with pass phrase Encrypted with pass phrase using an escrowed key
Note. The pass phrase referred to in these options is really just a password. So why not call a spade a spade? In this case, the special term draws attention to the differences between your iFolder pass phrase--which you use to encrypt iFolder contents--and your iFolder password--which you use to log in to your iFolder account.
A LITTLE PRIVACY, PLEASE!
As you can guess, if you enable users to create only clear-text iFolders, then the contents of their personal iFolders will not be secure. Contents of clear-text iFolders are transmitted and stored on the server in clear text.
In contrast, if you enable users to create either one of the encrypted types of iFolders, the contents of their personal iFolders will be secure. Contents to encrypted iFolders are transmitted and stored encrypted on the server.
To encrypt the contents of personal iFolders, Novell iFolder uses an encryption scheme called Blowfish. The only thing you really need to know about Blowfish is that, as far as encryption schemes go, it's pretty fast.
In fact, Blowfish was designed to be fast. In 1993, Bruce Schneier designed the Blowfish symmetric block cipher as a fast alternative to the Data Encryption Standard (DES). Blowfish can use keys that vary from 32 to 448 bits in length to encrypt blocks of text. For Novell iFolder, Blowfish uses a 128-bit key.
When you (and any other Novell iFolder user) create an encrypted iFolder, you are prompted to create a pass phrase. Novell iFolder uses this pass phrase to generate the 128-bit symmetric key, which is thereafter used to encrypt and decrypt the contents of a personal iFolder.
The difference between the two types of encrypted iFolders is where this key is stored and whether or not the key is recoverable. Keys to normal pass-phrase-protected folders are stored--if at all--on the Novell iFolder client, where the password is entered. (Users can choose not to store the key.) As a result, if the user who creates the password leaves the company, the contents of this user's iFolder are likely unrecoverable because the key is likely unrecoverable. (You would have to know the password to recover the key, and theoretically only the user who created the password knows that password.)
On the other hand, escrowed keys are stored on an escrow server to which at least your company's security officer has access. The contents of a personal iFolder that has been encrypted with an escrowed key are recoverable--even if the user who created the password leaves the company. The security officer can recover the key from the escrow server, and the key can then be used to decrypt the contents of the user's iFolder.
Encrypted iFolders offer a couple of benefits. First, the contents of encrypted iFolders are obscured over the wire and on the server. As a result, only you can view the contents of your personal iFolder. That is, even someone with rights and access to the Novell iFolder server cannot view the contents of encrypted personal iFolders. In fact, such a person could not even see an encrypted iFolder's directory structure because it too is encrypted.
Second, because the contents of encrypted iFolders are secure, you do not necessarily need to deploy a Virtual Private Network (VPN) solution. You are thus spared the hassle of setting up a VPN solution, and arguably more important, you (and other users) are spared the hassle of using the VPN solution.
For you and other techno-savvy users, installing and configuring a VPN client may be irritating but not that big of a deal. To the many other users who are not so techno-savvy, however, the process of setting up a VPN client can be downright harrowing. Of course, you have to deal with the VPN client installation process only once--but you have to deal with the extended VPN login every time you use the VPN. With Novell iFolder, in contrast, you get security without inconvenience.
CLIENT DOWNLOAD
After you have allowed or disallowed encrypted iFolders and have otherwise completed the Novell iFolder server installation, Novell iFolder automatically generates a bare bones home page on this server. Naturally, you can modify the default home page, which is an HTML file.
The default home page includes little information. However, you'll find everything you really need, including a link to download the Novell iFolder client.
To take advantage of Novell iFolder services, you (and other users) will need to download the Novell iFolder client. You can download the client on one, several, or all of the computers you use regularly--such as your laptop, your office workstation, and your home computer. The lightweight Novell iFolder client runs on any Windows 2000, NT, 98, or 95 workstation.
The Novell iFolder client is small (about 2 MB). Consequently, you could miss the whole downloading process with one upward glance, assuming you're using a T1 line, T3 line, or Digital Subscriber Line (DSL). If you're downloading the client over a 56 Kbps connection, the process will take just long enough for you to notice (theoretically about 20 seconds).
After you download the Novell iFolder client, the Novell iFolder server prompts you to log in. The server then uses the information you enter to authenticate you against the LDAP directory with which the server communicates. Assuming the username and password you enter are legitimate, the Novell iFolder server automatically creates your personal iFolder. The size of the iFolder matches the quota you specified when you installed the server software.
After you download the Novell iFolder client, an icon for this client appears in whichever directory you named as the target directory. To unpack and launch the Novell iFolder client's installation wizard, you simply double-click the icon. Reading and clicking through this wizard's handful of dialog boxes take only a few seconds.
CLIENT INSTALLATION
By downloading and installing the Novell iFolder client, you create a personal iFolder on the Novell iFolder server--and a matching iFolder on your hard drive. (In the future, Novell iFolder will enable you to create and publish multiple iFolders, which you may make either personal or shared. For more information, see "Plan for the Future.")
After you install the Novell iFolder client, you will find your new iFolder conveniently located in C:/MyDocuments/iFolder/username/Home. In addition, a shortcut to this directory appears on your desktop. (See Figure 2.) This folder looks and behaves like any other folder on your hard drive. To publish data to your iFolder, you drag-and-drop or copy-and-paste folders or files to the MyDocuments/iFolder/username/Home directory.
The folders and files that you publish to your iFolder are physically located on both your hard drive and the Novell iFolder server. Consequently, you can open and edit these files just as you open and edit any other file on your computer. In fact, you don't even have to be connected to the Internet.
For example, you can click Open from the File pull-down menu from within an application, and then browse and click to open a file in your iFolder. (See Figure 2.) You can also open your iFolder files simply by double-clicking them from the Windows Explorer-type view that appears when you open the shortcut. (See Figure 3.)
SYNC 'EM
Suppose that you have installed the Novell iFolder client on your home computer and on your laptop. Further suppose that while you were using your home computer, you opened and edited C:/MyDocuments/iFolder/username/Home/IFOLDER.PPT by changing the word synchronize to update. When you opened IFOLDER.PPT from the iFolder on your laptop, would you find the edited version with the word update rather than synchronize?
The answer, as you can guess, is "absolutely" (assuming, of course, that you connected to the Internet before opening the file). The computers on which you install the Novell iFolder client conceptually subscribe to the personal iFolder containing the data you have published to the server. What this means, in effect, is that these subscribing computers communicate regularly with the Novell iFolder server. By doing so, the subscribing computers ensure that all instances of your iFolder--on the server and on your subscribing computers--are the same.
For example, suppose the Novell iFolder client and server determine that their instances of your personal iFolder were not the same. In this case, the server and the client would locate what you have changed and update the instance of the iFolder (either on the server or on the client) that does not yet reflect that change. (For an explanation about how the Novell iFolder server and client compare and update your iFolder, see "Time-Saving Syncs.")
The Novell iFolder server and Novell iFolder clients compare and update (when necessary) the instances of your iFolder during any of the following moments:
When you first open your iFolder while connected to the Internet
At preset automatic synchronization intervals
When you manually synchronize (unnecessary but optional) (See Figure 4.)
Consider again the scenario in which you changed the word synchronize to update. During the next automatic synchronization interval, the Novell iFolder server and client would determine that you had changed the contents of your iFolder. Based on this information, the Novell iFolder server and client would then locate the change as the word update in the IFOLDER.PPT file. To update the instance of your iFolder running on the server, the client would send only the portion (or portions) of the file that included the "update" edit.
Did you catch that? The Novell iFolder server and clients do not send entire files every time you connect to the Internet nor when they synchronize. Novell iFolder uses a far more efficient method that enables the client and server to send only the portion or portions of a file that have changed. In fact, the entire synchronization method--from determining that a change has occurred, to locating the change, to making the change--is notably efficient. (For more information, see "Time-Saving Syncs.")
TITANIC SYNC'ING ADVANTAGES
The fact that Novell iFolder automatically and efficiently updates all of the instances of your Novell iFolder is good news for several reasons. For one thing, this fact implies that you no longer need to send yourself e-mail messages with files attached and that you no longer have to save your files to disks or to lug around your laptop. With Novell iFolder, the latest version of your data is always available from your subscribing computers (and from a browser).
The fact that Novell iFolder maintains multiple instances of your personal iFolder also means, obviously, that you always have multiple backups of your data. In fact, the hard drive on your laptop could crash, and you would have to deal only with the nuisance of repairing or replacing the drive. You would not have to deal with the effects of data loss--which can be devastating.
Furthermore, because Novell iFolder sends only the portion or portions of a file that have changed, you save time. For example, consider the scenario presented in the introduction to this article: When you were connecting to your ISP over an 56 Kbps connection, you would not have to wait for the entire 1.5 MB PowerPoint presentation to download because Novell iFolder would not send the entire presentation. Instead, the Novell iFolder server and client would compare their versions of the presentation. After the server and the client determined what portion of that presentation had changed, the server would send the client on your laptop only that changed portion.
Finally, with Novell iFolder, if during one of these synchronization intervals, you accidentally overwrite a version of a file that you had intended to keep, you can recover it. To do so, you right-click the Novell iFolder icon near the date and time in the Windows tray across the bottom of your desktop. (See Figure 4.) From this pop-up menu, you select the View Deleted Files option, and Novell iFolder displays the contents of your iFolder that were overwritten or deleted during the last synchronization. You can restore any of the files displayed here. If you restore a file, Novell iFolder synchronizes this change--as it does with any change--across all of your subscribing computers.
JUST BROWSING
Having efficient access to the latest version of your personal iFolder from any of your subscribing computers is convenient. However, being able to access iFolder via a subscribing computer does not help much when you can't (or do not want to) use one of your own computers. For example, what do you do when you leave your laptop on the back seat of a taxi?
Fortunately, Novell iFolder also enables you to access your personal iFolder from any computer that has Internet access and a Java-enabled browser. (Java-enabled browsers for Windows NT 4.0, 98, and 95 include Internet Explorer 4.0 and above, Netscape Navigator 3.04 and above, and Netscape Communicator 4.04 and above. For Windows 2000, you will need to use Microsoft Internet Explorer 5.0.)
To access your personal iFolder via a browser, you need to connect to the Internet, enter the URL for your Novell iFolder server's home page, and log in when you are prompted to do so. Novell iFolder responds by automatically downloading and launching a small Java applet.
The Java applet looks like a small window running within your browser. This window displays the contents of your personal iFolder in a directory-tree fashion--in a format that is similar to what you see in the left pane of a Windows Explorer view. From this window, you can create, delete, move, and rename folders and files. You can also download and upload files.
In addition, this Java applet provides the cryptographic functions necessary to decrypt and recrypt the contents of encrypted iFolders. Novell iFolder's Java applet thus ensures that the contents of your personal iFolder are available from virtually anywhere.
YOUR DATA: UNFAILINGLY CURRENT AND ONLY CLICKS AWAY
Admittedly, the week described in the introduction of this article is an unusually bad week--but not an unbelievably bad week. Now consider what would happen during the same week if you used Novell iFolder. Aside from losing your laptop, the week wouldn't be bad at all.
When you left the office assuming you were prepared to work from home, you would be right. The latest version of your presentation would be stored in the C:/MyDocuments/iFolder/username/Home directory on your home computer--and you would not have to bother saving your presentation to a disk or sending yourself an e-mail message with a file attachment.
When you opened your presentation on your laptop, you would not have to wait for the entire 1.5 MB file to download over the 56 Kbps connection. Novell iFolder would not send the entire file. Instead, the server would send only the portions of the file that had changed since the last synchronization interval. If somehow you managed to overwrite a version of the file you wanted to keep (an unlikely scenario with Novell iFolder), no problem: You could simply restore that version.
When your laptop disappeared--wait! Scratch that. With Novell iFolder in the picture, you would probably leave your laptop at the hotel (if not at home)--on purpose. After all, why haul that extra baggage when you know that you can access all of your data, including your presentation, from any computer with Internet access?
Nevertheless (for the sake of argument), let's assume that you had grown attached to your laptop, so you brought it with you. When your precious laptop disappeared in a yellow blur down a shadowy street in New York, you would still complain. (After all, losing your laptop is disheartening under even the best of circumstances.) However, you would be comforted, knowing that your presentation was only a couple of clicks away. You would calmly ask your client to point you in the direction of any computer with Internet access, and simply download your presentation from that computer.
In other words, if you're using Novell iFolder, you can access the latest version of your data always--with or without your laptop.
Now wouldn't you just love if that could happen?
Linda Kennard works for Niche Associates, a technical writing and editing agency located in Sandy, Utah. Linda has been writing articles for Novell Connection for four years.
Plan for the Future
Novell has plans for future releases of Novell iFolder. Many of these plans are already in the works.
For example, Novell plans to enable you to create and publish more than one iFolder. Using Novell iFolder 1.0, you can create, publish to, and subscribe to only one iFolder. This one iFolder is physically located on the Novell iFolder server and on the hard drive of subscribing computers in the MyDocuments/iFolder/username/Home directory.
In future releases of Novell iFolder, you will be able to create and publish additional folders. For example, you may want to create and publish an iFolder for your photos, which may be stored in the MyDocuments/iFolder/username/Photos directory.
In addition, future releases of Novell iFolder will enable you to create a link from your subscribing computers to your iFolder. These links will enable you to easily access folders that are physically stored only on the Novell iFolder server. This feature will enable you to create large folders--folders that may be too large for the hard drives on your subscribing computers--so that you have a single storage space for literally all of your data.
In future releases of Novell iFolder, you will be able to create and publish both private and shared iFolders. When you create a shared iFolder, you will be able to select the users you want to have access to this folder. To do so, you will simply select one or more users from an available list of all of the iFolder users on the network.
This means, of course, that you and these other users will be able to open, view, and work on a file from wherever you are, whenever you want to, and even at the same time. Thus, the results will be nearly as good as, and in some respects better than, working together in the same room.
Setting Up the Server: Just the Gist
When this article was written, Novell iFolder was only in early beta, and many specific deployment issues had not yet been resolved. However, Novell has had various beta versions of Novell iFolder up and running on its own network since last February. By reading this brief description of Novell's beta deployment, you should at least get the gist of what deploying Novell iFolder on your own network may involve.
SERVER AND SAN
Novell engineers installed the beta Novell iFolder software on one NetWare 5.1 server that was running the open-source Apache Web Server 1.3.14. Novell had also installed Support Pack 2 on the NetWare 5.1 server. (When this article was written, Novell was running Apache Web Server 1.3.17 in its labs. This version will probably be live by the time you read this article.)
The Apache Web Server is purportedly the most widely used web server on the Internet, a claim that is not hard to believe in light of the fact that it is free and it works. (You can download Apache Web Server for NetWare from www.apache.org/dist/httpd/binaries/netware. For installation and security tips, see "How To Use NDS eDirectory To Secure Apache Web Server for NetWare," Novell AppNotes, Feb. 2001. You can download this article from http://support.novell.com/techcenter/articles/ana20010202.html.)
Novell engineers then configured the Novell iFolder server to use XIOtech Corp.'s MAGNITUDE, a Storage Area Network (SAN) solution. This solution includes the fibre channel switch by which the server is able to communicate with several storage systems. Novell's storage systems collectively provide one TB of raw storage and are configured in Redundant Array of Independent Disks (RAID) Level 5 to provide 680 GB of fault-tolerant, usable space.
FIREWALL FUNDAMENTALS
To make the beta services available over the Internet, Novell engineers physically located the Novell iFolder server within Novell's DMZ--and thus behind Novell's firewall. (The DMZ is the subnetwork that forms the logical "demilitarized zone" between your private network and your company's firewall.) Novell engineers then configured the firewall to allow external users to access the Novell iFolder server, which they assigned the Domain Naming Service (DNS) name of iFolder.novell.com.
Because Novell iFolder is built on Internet protocols, Novell did not have to open a new port on the firewall to enable access to Novell iFolder. Instead, engineers configured the firewall to accept packets addressed to iFolder.novell.com that come through Port 80 (the HTTP port).
DIRECTORY DETAILS
After configuring access through the firewall to the server, Novell enabled the server to use a particular NDS tree as the source for authentication information. In this case, Novell engineers pointed the Novell iFolder server to an NDS tree created and used for Novell's corporate portal, i-login.net. (For more information about i-login.net, see Novell Connection, Dec. 2000, pp. 6-20.)
This NDS tree, called the Authentication tree, essentially includes only Novell employees' usernames and passwords. This Authentication tree is physically located within the DMZ and is integrated with Novell's corporate directory tree via DirXML. (DirXML is Novell's metadirectory tool that you can use to integrate some or all of the directories on your network. For more information about DirXML, see "Too Many Directories? Synch 'Em With DirXML," Novell Connection, May 2000, pp. 8-14.)
QUOTA QUOTIENT
Finally, Novell engineers set the default quota on the size of users' iFolders. In this case, the engineers left the default setting, which is 200 MB. You will have the option to set this quota to a size that suits your particular needs and storage configuration.
Novell iFolder enables you to raise or lower this default quota for all folders or for particular folders at any time. To make changes such as these, you use the HTML-based management console. At the time this article was written, this management console was a work in progress. However, when Novell iFolder is released, the management console will be ready and will provide monitoring, diagnostic, and configuration options that you will be able to access using only a web browser.
Time-Saving Syncs
A Novell iFolder server works together with Novell iFolder clients to ensure that instances of your personal iFolder (that exist on the server and on any computer on which you have installed the client) are current.
This statement is true--but it's not the point. The point is that Novell iFolder has an efficient method of synchronizing the instances of your personal iFolder. In fact, this synchronization method is so efficient that, depending on the speed of your Internet connection, you probably won't realize when Novell iFolder is updating the contents of your personal iFolder. Even if you are using a 56 Kbps Internet connection, Novell iFolder's synchronization method leaves little time for drumming your fingers.
To update the contents of your personal iFolder on the server or on one of the computers on which you have installed the client (that is, one of your subscribing computers), Novell iFolder uses a three-step process:
Novell iFolder determines whether or not the client iFolder is up-to-date with your server iFolder.
If the client iFolder is not up-to-date, the client updates its iFolder by pulling changes from the server.
If the server iFolder is not up-to-date, the client updates the server by pushing those changes to the server iFolder.
HAVE A BYTE--OR FOUR
When you make a change to the iFolder on one of your subscribing computers, Novell iFolder pushes that change to your server iFolder during the next synchronization interval. The server then makes this change and adds an increment to the four-byte number that the server maintains to represent the synchronization state of your server iFolder. (In fact, the Novell iFolder server maintains a four-byte number for every iFolder on the server and adds an increment to each iFolder's number when it makes a change to that iFolder.)
At the end of a synchronization interval, the Novell iFolder server sends this number to the client. The client then saves the number.
At the start of the next synchronization interval, the client (on your subscribing computer) sends the Novell iFolder server the four-byte number that it saved, which reveals one of the following things:
If the number the client sends matches the server's current number for this client's iFolder, then the server knows this client iFolder is up-to-date.
If the number the client sends is different than the server's current number for this iFolder, then the server knows that this client iFolder is not up-to-date.
PULLING CHANGES FROM THE SERVER
When the server determines from the four-byte number that the client iFolder is not up-to-date, the server uses this iFolder's directory metadata to determine where the change occurred. The server can determine from the directory metadata which folders have been changed (if any) and how these folders have been changed. The server can also determine which file or files have been changed.
After determining what has changed in the server iFolder, the server notifies the client, and the client in turn pulls those changes from the server. For example, depending on the changes, the client might download new files from the server iFolder or create, rename, and delete files and folders in the client iFolder.
Assuming the change was made within a particular file, the client does not--as you might expect--download the entire server file. Instead, the server and the client first work together to determine which portion or portions of the file have been changed. Then, the client downloads only the portion or portions of the file that were changed since the last synchronization interval.
PUSHING CHANGES TO THE SERVER
When the client has downloaded the necessary changes and thus ensured that the client is up-to-date with the server iFolder, the client then determines whether or not the server iFolder is up-to-date with the client iFolder. The Novell iFolder client monitors activity in and records any changes to the client's iFolder. At the end of a synchronization interval, the Novell iFolder client pushes these changes to the server iFolder.
For example, depending on the changes that were made to the client iFolder, the Novell iFolder client may upload new files to the server or may create, rename, and delete files and directories in the server iFolder. Again, if the changes were made within particular files, the Novell iFolder client pushes only the portions of the file or files that changed; it does not upload entire files.
ONCE MORE FROM THE TOP
Suppose you were running the Novell iFolder client on your home computer and on your laptop. Further suppose that you edited a file--IFOLDER.PPT--in the iFolder on your laptop: You changed the word synchronize to update. Finally suppose that you synchronized your laptop and server iFolder to update your iFolder on the server.
What would happen the next time you synchronized your home computer and the Novell iFolder server? The client (on your home computer) would begin the process by sending the server the four-byte number that the client saved at the end of the last synchronization interval. In this case, the number the client sends would be different than the server's current number because you changed the IFOLDER.PPT file on your laptop. That change would be recorded in the server iFolder but would not yet be recorded in the client iFolder on your laptop.
Recognizing that the iFolder on your laptop is not up-to-date, the server iFolder would then consult your server iFolder's directory metadata to determine where the change occurred. The server would notify the Novell iFolder client running on your laptop that the change occurred in the IFOLDER.PPT file.
Subsequently, the Novell iFolder server and client would work together to find which portion (or portions) of the IFOLDER.PPT file had been changed. In this case, they would find that you changed synchronize to update. The Novell iFolder client on your laptop would then download only the portion of the NIF.PPT file that contained the "update" edit.
If you had made any changes to the iFolder on your laptop and these changes had not yet been pushed to the server iFolder, the Novell iFolder client on your laptop would next send these changes.
The Novell iFolder server would then send the Novell iFolder client on your laptop the four-byte number that represents the current synchronization state of your server iFolder. The Novell iFolder client on your home computer would save this number, and thus end this synchronization interval.
EFFICIENCY: THINK ABOUT IT
Among the more important points to remember about this synchronization process is that when a file is changed in a server or client iFolder, the Novell iFolder client does not have to download or upload entire files. Instead, it downloads or uploads only the portion (or portions) of the files that have been changed. Consequently, the Novell iFolder server and client seldom send entire files. In general, they send only an entire file once--when that file is first created.
You don't have to think about this synchronization process long to realize that sending only portions of files is considerably more efficient than sending entire files each time a change occurs.
* Originally published in Novell Connection Magazine
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.