 |

Roaming users with Pam Taylor-Paris
by
Laura
Rutherford

 

Level: Intermediate
Works with: Notes/Domino Rnext
Updated: 05/01/2000

Related links:
Replication tuning for mobile users
Under the microscope: Domino replication
Doug Conmy: Mobile Controller

Get the PDF:
(98 KB)


|  |
The ability to have your Notes desktop available on any machine is the key concept behind being a roaming user. In this interview, Iris developer Pam Taylor-Paris talks about plans for roaming user features that will give you more flexibility while maintaining the same level of security and replication features that you have now.
[Editor's note: During May, 2000, Pam was collecting feedback on the plans for roaming user features. You can read the archived discussion in the Developer Spotlight Forum.]
Can you explain the concept of a roaming user?
A roaming user is a user who wants to use the Notes client from more than one machine and wants to have a consistent desktop in front of them. Basically it is a way of having your desktop follow you. Currently, the Notes desktop is essentially tied to one machine. We have a number of local databases that stay on a machine, and roaming user features are a way to get those databases and other desktop information to be available on other machines.
Why are you planning to include roaming user features in the next major release?
There was a big demand for it. Since R4, we’d been hearing more and more requests for it. It was on our radar screen, but it did not happen in R5. Then in R5, we actually introduced some additional local databases, which made it even harder for people to get this functionality out of our current product. So we decided after doing more reading on Notes.net and getting a lot of user feedback, that roaming user functionality is something our users really need. More and more of our customers are going to the model of having non-dedicated machines where several users share a machine, people move to different facilities, people work in different locations. And a lot of those companies don’t buy their employees laptops -- or it’s not feasible for them to. Currently the only way to have your Notes client desktop consistent wherever you go is to have a laptop and take it with you.
Can you give some profiles of the different types of roaming users?
The term roaming user forms a different impression for everyone. Basically, a roaming user is a user who wants to access their desktop from anywhere, who wants to have their desktop centrally located so they can roam over here and roam over there and have the same experience everywhere they go. There were three different roaming user and shared machine models that we saw a need for: a user who travels to different locations, multiple users who share one machine, and finally, users who travel to different locations and share machines when they get there.
The pure form of a roaming user is the user who travels to different locations and has a machine in each location that’s dedicated to them. For example, someone has a machine in Cambridge and a machine in Los Angeles, travels between those two offices frequently, and wants the machines to have the same desktop. In this case, the machines are dedicated to one user; no one else uses them.
The pure form of a multi-user machine or shared machine is when you have multiple users who share one machine and you need the machine to accommodate a different desktop for each user. Right now multiple users on one machine share a data directory so that they are, for example, using the same Personal Address Book and the same NOTES.INI file. Their desktop is not unique to them.
Roaming users on multi-user machines is when a group of users want their desktops centrally located and they share machines. For instance, we have a customer who has probably 500 people sharing 200 machines and no one has their own office, so in that model everyone’s desktop needs to be centrally located and every machine needs to be able to accommodate more than one Notes user data area.
What are some of the steps involved in giving users access to their desktops from multiple machines?
There are two pieces involved in that. One is getting your desktop centrally located -- getting the Bookmarks file and your Personal Address Book and ID files someplace central so you can get them from anywhere in the organization.
The second part is to actually get the desktop down in front of you onto the local machine once you get to where you’re going. Part of what we have been doing as we move toward this solution is to evaluate exactly what pieces of your desktop really define how you work. These are the pieces that should go with you. Then we’ve been looking at how to bring those pieces down to the machine and keep them synchronized and up-to-date with what is on the server and subsequently on other machines you’ve roamed to.
Those are the two main pieces: getting the information on the server initially and then getting the information from the server to your desktops.
If people are registered as roaming users, can they access their desktops from any machine?
Yes. We can leverage the Notes replication functionality we currently offer by using it to replicate any of the Notes database files that are part of your roaming desktop -- for instance, Personal Address Book, Bookmarks, and Headlines. This functionality allows us to very intelligently merge changes that occur in these databases between the different machines a user roams to. For instance, say that I add a contact to my Personal Address Book on one machine and then I replicate, or do something we are calling "resync roaming files" back to the server. Now, when I go to a different machine and resync that machine, I have the new contact perpetuated to this desktop as well.
Can you explain resyncing and how it differs from replication?
First let me explain the difference between working in server mode and in local mode. Users will have the option of working in either mode with roaming user functionality.
Server mode is where you would leave all of your stuff on the server and would access it there. The good part about that is that any changes to the roaming databases happen in real time. There is no resyncing needed in that case because you are accessing the actual roaming databases -- not local replicas of them. And if you move to another machine, you are accessing the databases there again. The bad part is that you are taking the network hit every single time you access one of those databases, which is pretty frequently when the database is Bookmarks or the Personal Address Book. So for the person who wants to have the perception of a faster client, bringing those databases locally is going to be a big win.
The trade off to bringing the databases locally is the use of local disk space. If you access the roaming databases on the server and don’t replicate them to the local machine, you connect up really quickly but then you take the hit every time you access them. If you bring them locally, you take the initial time hit on bringing them down. You also take the hit of using a local disk to store them, but then local access is much quicker.
So the idea of resync is if you bring the files locally, you then need some mechanism for getting whatever changes you make to them back to your centrally-located copy on the server so that your other desktops will reflect that. Issues around that have to do with what point do we resync you to the server, and how do we resync files that are not Notes databases.
Most of resyncing is replication. When we resync the user's roaming files, we replicate the Notes databases, but we also have to deal with file types that aren’t able to take advantage of replication -- things like your ID file, your dictionary, preferences from your NOTES.INI file, stuff like that. Resync is basically replication plus more.
Can you go over the benefits of working in local mode vs. server mode?
For local mode you don’t have the network hit (speed of access to the files). Your stuff is brought down locally and you access it there. If you are in local mode you can now unplug the machine and walk away. So in a situation where you have multiple people who share a laptop in a pool of laptops, where every week these people may be using a different machine and they want their personal desktops, it doesn’t matter which laptop they are using. They go into local mode on the laptop, resync their roaming files, and then they can disconnect and walk away. Local mode gives you the ability to have disconnected mobile access for multiple users on a single machine.
Server mode is the other side. Let’s say I walk up to a machine and I just want to do a few quick things; I don’t really want to bring all my stuff locally because I don’t want to take whatever perceived hit it takes to have it brought locally. Or maybe I just don’t want it to take up disk space on the local machine. My option is to leave it on the server and access it there. Also if a company doesn’t have large disks on their PC’s and doesn’t want everybody’s data directory coming down locally, they can require that people keep their stuff on the server and operate in server mode when roaming.
What kind of security will roaming user access provide for user files and databases?
Currently, the database security model is the Access Control List (ACL), which protects the database from being accessed by unauthorized users. The model will be the same with roaming users. You can also encrypt local databases, which means that they can only be unencrypted with your ID file and proper authentication. Encrypting would allow additional security on local databases. The ACL and database encryption features currently exist in Notes/Domino, so there’s nothing new there.
Will roaming user technology benefit from any operating system security?
Actually, yes. If you have your Windows NT system drive formatted as NTFS [NT File System], then users can’t see one another’s user profiles. We store your data directory under your user profile for the operating system, which means that your profile area is hidden from other people’s profile areas. So after I log into NT and go to the profiles section of the machine, I can’t see anybody else but me. If you’ve got your machine formatted as NTFS, you do gain that additional functionality. We just piggyback off that and say, you can still encrypt your databases, you’ve got the ACL, and now because of the operating system no one can even see where your data directory is.
Will users leave any data on the machine after they finish using it?
Users will have the option of either leaving their data there or doing what we call clean up. Clean up will basically remove their data directory from the local machine. You can see how, depending on your user model, which choice would be more relevant to you.
For instance, if I walk into your office to use your machine for the day because my office is being painted, I can have my desktop in front of me by bringing everything locally. At the end of the day, I know there is no reason for me to leave my stuff on your machine because I’ll never be back or I won’t be back for some period of time. I’ll be able to specify clean-up preferences that say when I shut down the client, get rid of me. Now obviously there is a resync first, so my local changes are pushed to the server before the clean up because I certainly don’t want to lose any of the changes I’ve made. So you make your changes locally, you shut down the client, and as part of shutdown, we resync your roaming files and we clean you off the machine.
How will users keep their settings, files, and databases current if they use different machines?
They use the resync mechanism that happens upon launching the client and shutting down the client. You also have the option of adding resync to your replicator page, which gives you the ability to resync on your replication schedule.
What is the process for registering a roaming user?
New user registration will involve a checkbox specifying this user is a roaming user. And then the administrator will specify the roaming server -- the server where this person’s roaming files will live. We will encourage the roaming server to be the same as the home mail server. A subdirectory will be created for the user on that roaming server and then the Personal Address Book, Bookmarks, and Headlines databases will be created there. When the new user launches the client from any machine, they will go through setup; setup will go to the roaming server and either access the roaming files there in server mode or get the roaming files and bring them down to the local machine in local mode.
We will also have upgrade tools that allow an existing user to push their roaming files to the server and an administrative tool that allows the administrator to say basically, "let these people roam."
Can people prevent roaming users from using their machines?
Yes. When you install the Notes client on your machine you will have the option of making the machine single or multi-user. If you make it a single-user machine, we will allow only one person to be set up on it. That person can roam to this machine, meaning that during setup they can get their files from a centrally located place, but no one else will be able to have their data directory on this machine.
We will still have the current functionality of switch ID, which allows a user to switch to an alternate user ID while the Notes client is running, but the user will not be able to have their own desktop or their own data directory on that machine.
Is the Notes roaming user technology different from other roaming user technology
Windows 2000 has the concept of a roaming user. They have taken a section of user profiles and they have said these are roaming profiles. Anything stored in this particular subdirectory of your user profile for the operating system automatically roams for you if you are specified as a roaming user. So you log onto the machine and all the files in that directory get copied down from the server, and when you log off they get copied back up. To be compliant with Windows 2000, we have to support that model. And we do support that model, meaning that you can still do that if you want.
Basically in Windows 2000, Microsoft has specified separate subdirectories under the user profiles where applications are supposed to store user-specific roaming data and user-specific nonroaming data. We are choosing to store our stuff in the user-specific nonroaming data area and "roam" it ourselves, meaning resync it ourselves. The reason for this is because replication and resyncing are much more powerful tools for merging changes you have made on multiple machines than the tools that Windows 2000 offers for roaming users. The tools that they offer are tools that are not really aware of what kind of files and information they are dealing with. They copy them up and copy them down. We are handling it on our own and out of that area because we have a much more informed way of dealing with the files. We know what kinds of databases we are dealing with. We have replication at our fingertips. And we choose to have this resynchronization occur with more frequency.
Do you think in the future more and more users will take advantage of roaming user technology?
I do. I had a Birds of Feather session at Lotusphere for this functionality this year and there were 155 people in the room, and about 20 people were turned away because the room was full. People were avid about this, saying, "You don’t know what we are going through to get this now." And I expect if you look two years back, we didn’t have as much of a push for it as we do now.
I am always walking the halls here saying, "In a world where you can read your e-mail and check your stock quotes from a browser phone, why would you want to be tied to a single machine?" We, as consumers, are not tied to any particular piece of hardware anywhere else right now. Everything is moving to a model where you can do anything from anywhere. If that is the direction the future is going, then roaming user technology is going to be more and more crucial.
ABOUT PAM
Pam Taylor-Paris is a Principal Software Engineer at Iris Associates and is the lead designer and developer of roaming user/multi-user features in the Notes client. She worked with the Internet Protocols team in R5, where she developed the IMAP client. Before joining Iris, Pam was a developer on Lotus Notes ViP and Lotus SmartSuite. Pam has a B.S. in Computer Science from the University of Vermont. She is mom to two small children, Trevor and Nicole, and enjoys skiing, gardening, and spending time on the water.
ABOUT LAURA
Laura worked as a user assistance writer for Lotus until she had her daughter, Kate, in January, 1999. Now she spends a good amount of time with some sort of baby food mush on her clothing, daydreaming about the days when "sleeping late" involved an hour later than 7:00 AM. Some of Laura's favorite things include her daughter (of course), her husband, her two dogs, and taking long hikes with all of them. Other favorite things include frozen cappuccinos, cheese pizza, and margaritas (plain, on the rocks, and without salt) from Sierras restaurant in Sudbury.
|