file access over a network

Status
Not open for further replies.

Spike

Posts: 2,122   +0
I'm about to talk to somebody at an environmental project about sorting out their IT requirements. Basically, they are putting up the cash for two computers, and I'm building, installing and networking them (volunteering - not getting paid for this - It's a not-for-profit organisation I sincerely believe in and want to contribute to.).

Anyways, they already have one existing computer, and in all likelyhood, they'll all be networked through a netgear ADSL router. All machines will be running windows XP - two of them proffesional, and one of them (already there) may possibly be XP home.

Another volunteer (my housemate) is writing an MSAccess 2003 database for them.

Basically, all three computers will have access to the internet, and because the computeres are not all likely to be used at the same time, each computer will need to have a copy of things like application forms etc.

Then there's the database - it needs to be accessable by all three computers. This presents me with a bit of a problem. To keep the database up to date on all three machines, it could reside on one computer and the others would access it over the network. Unfortunately this would mean that that machine would have to be on all the time. The other option is to have a copy on each machine, but then there would be three different databases, depending on which machine data was entered on.

Firstly, is there a way of synchronising a folder on all three machines so that when a file is added or updated in it, it immediately adds or updates the file in the corresponding folder on the other machines - this would solve the documents problem.

Secondly, the database is causing me severe headaches. If the above method was used for the database, then if data was entered on two different machines, data could potentially be lost. I suspect that the database file from eache machine would have to be merged with the database files on the others instead of overwritten/updated. Is there a way to do this?

Also, each computer would need to check that it's documents and database is up to date with the others on the network when shut down, and would have to check and synchronise its files with the others when booted up.

Hopefully, I've explained what I think needs to be done well enough, and so if anybody here can help, I'd appreciate it gladly. I know there are a few sys admins on here, so hopefully somebody will know? (fingers crossed) or will be able to tell me I've got it wrong and what I really need to do.
 
Ok, question: Are these PC's going to be in the same Building?

I'll give you a standard solution for Networking PC's in one building. If the PC's are each in a diffferent building, then you need something that can be accessed across the internet.

A SMALL MS NETWORK

This is what you need: 1 Router, the router connects to your High Speed Internet Device, Cable Modem OR DSL - It is not possible, or rather, not practical to use dialup internet for this, you have to have High Speed, cos all the connections go through the router.

I suggest either D-Link (easy to set up) Or LinkSys/Cisco Routers.

Connect each PC to the router through the Ethernet, all cables are Cat 5, straight through cable, not xover cable.

Define a machine that is MASTER/SERVER- On this system, install ALL of the programs, and the master DATABASE. You can either share a folder, or the whoile drive. MOST LIKLEY you will be sharing ONE folder, where all the work will be going.

On this SERVER, Right Click My Computer, go to COMPUTER NAME and give it the name SERVER. Use Network ID, which opens a Wizard, or simply hit the CHANGE ID box and name the PC Server and make a name for the workgroup. Just use "Workgroup" or WG or something simple. It will say "To rename this computer or join a domain, hit here" and it says CHANGE - Name the PC and the Workgroup there.

Then find MY NETWORK PLACES. If it is not showing right click on the START button and find PROPERTIES. We want START MENU properties, go to CUSTOMISE and ADVANCED and put a checkmark in MY NETWORK PLACES. Then hit OK, and get out of there.

Now, when you open the start menu, you will see My Network Places near My Computer - We want both My Computer and My Network Places ON the desktop, so put them there, right click, and select "Show On Desktop"

So, now, go fing My Network Places, and right click on it, and select PROPERTIES. Now, look inside there, and find your LOCAL AREA CONNECTAION... If you have more then one, find the one that corresponds to your Ethernet Adapter, or select both of them and make a bridge. But you just want to RIGHTY CLICK on Local Area Connection, and select Properties:

Now, you will see "Connect Using" amd your Ethernet Card will be shown as a device in the property sheet. It has a green icon. Make Sure that the name of the device with the green icon is the same device as your Ethernet connection, in the back of your PC. Most Motherboards have a built in SIS Ethernet Card, some of them have a Realtek card, some of them have a VIA Rhine II Fast Ethernet card, and also, there are 3-Dom, D-Link, etc.

what brand does not matter, just that all PC's in this network HAVE a card in each one that works. Getting back to the settings, you have tyhe proerty sheet for the card UP, and you see some protocols and such. These are the Clients you want installed:

Client for Microsoft Networks
File and Print Sharing for Microsoft Networks
QoS Packet Sheduler

Then you need to install THESE Protocols, hit Install, and add whatever Protocol opr Clients are missing:

NWLink NetBios (Needed by some programs so that they can run across a network)
NWLink IPX/SPX/NetBios Compatible Transport Protocol - You have to have this!
TCP/IP - This is the main protocol that allows all the PCs to see each other and for them to work together in a LAN. Windows 98 used to have one more Protocol, called NetBEUI - But this is no longer required, IPX/SPX and TCP/IP does most of it.

FINALLY, we have to create an area where the document templates will be stored, and another are where the user documents will be saved. Just use Windows Explorer to Browse the C drive on the Server, and create two folders, call one TEMPLATES or DATABASE and the other DOCUMENTS - Right Click on the DATABASE folder and we want to give that one READ ONLY ACCESS: RIGHT CLICK on the FOLDER to be shared and select "Sharing and Security"- You may see some XP bullpoop that warns you about file sharing, just ignore it. If you are asked, just choose "Just enable File Sharing" - Next, you will see "Network Sharing and Security" and a box that says "Share This Folder on the Network" Give it a SHARE NAME, and you will see a check box, "Allow network uses to change files" - This will NOT be checked for the DATABASE folder- At least for now, we may eneed to enable wroting priveleges for this folder for the database to work correctly.

Next, we make a folder for storing users documents, just call it DOCUMENTS and set it up the same way, THIS time we will ALOOW network users to change.

So, we remember the path to these folders are \\server\database and \\server\documents

Finally, locate the PRINTER on the Server Machine, and we will SHARE the Printer, right click on the printer, and look for SHARING, give it a share name, if it is a HP Printer, then call it HP. When a FOLDER, Hard Drive, Printer, or other resopurce is Shared, you will see a small blue HAND icon under the resource appear. Before we go any further, make SURE that the Database folder, the Documents folder, and the Printer all have little blue cupoped hands underneath - If not, then the device is not shared.

So, now you have the server set up. Next, install the first workstation, and using the method given above, change the name of the PC to "WS-1" - Or whatever name you wish to give it, perhaps the name of the person who will be using it. Make sure that this computer has all the same protocols that the server has installed also installed, and make sure that it is ON THE SAME WORKGROUP! With XP, Sometimes we can have several workgroups accessible for various PC's but for this one group of computers, we only want ONE name. Just use "WORKGROUP" that is the easiest to remember.

Once you have ALL of the protocols instaklled and the PC rteboots, you should NOW be able to usde the Network Browser to find the other resourses on the Network - Open MY NETWORK PLACES and look for ENTIRE NETWORK. You will see THREE Green World Icons, the middle one is Microsoft Windows Network - THIS is the network we are using! double click, or right-click and select OPEN. This will show you the workgroup, and you ought to see an icon with three computers in a triasd, with your network name assigned - You want to right click on THAT and select OPEN again. Once you get it open, wou will see TWO computers. You will see, THE WORKSTATION, and you will also see THE SERVER.

From this point, open the icon for the SERVER PC, and if you open THAT icon, right click, and OPEN, you will see ALL shared resources on the server.

Finally, we want to CONNECT to the shared resources, So, right click on the DATABASE folder, and you will see as a selection "MAP NETWORK DRIVE" - choose that, and then you will be asked to MAP the drive. Now, for reasons of my own, I always start the mapping at Drive M. So, use the drop down box- This allows you to select which local drive name will be mapped to the remote resource. You will also see a c heckbox, "Reconnect at Logon" - THIS must be checked too. Click FINISH and your computer will connect across the network to the shared folder on the SERVER machine. Repeat this process for the DOCUMENTS folder, and then also for the PRINTER. Amd then, congrats, you have officially set up a Network... and No Novell was needed, it is all there, everything you need is in MS Networking.

When you get the rest of the workstations set up. repeat the process until all computers have those two drives mapped as local folders/drives.

Now, it is up to the programmer, now this will work, you can store Access/Excell templates on the Server, the users can log in and open the Termplates, do the work, and then save it back to the server.

You can also do this, you can create for each user a folder for themselves, one that only they (and the admin) can get into: this way, nobody makes a mistake or fooks with anyone else's documents. Tis is a bot more complicatewd though, Under Windows 2000 we can simply "set up a new share" and then assign a password to get in... But under XP, all this stuff is hidden in the Administrative Tools, which you can't get to unless you un-hide it, though Start>Properties>Start Menu>Customise>Advanced and find Show Administrative Tools.

Or Right Click on the My Computer icon, and find MANAGE, this gives you access to some of the administrative tools, and I am not sure where to go in there, to assign passwords to the shares, I'll have to look in there and see how to do it-

I have 4 PC's set up in a kind of star formation like this (Server in the center is a Star formation) and I am sharing all of my hard drives with every workstation, so I am not working on the folder level, I ma using all 4 of my computers as a sort of Ubercomputer (I hate using that) - And this is simply for reasons of storage.

You can also set up Terminal Services, if you install Windows 2003 Server as the SERVER, you can make a different account for every user, and then each user can user Terminal Server to use and share the MS Databases.

But it is ALL based on MS Networking, which is much simpler than using Novell.
 
Oh yah, one thing about using a Router...

If you are not familiar with a router, there is a URL that will give you access to the Router's functions: For Dlink it is

192.168.0.1 and user is admin (lowercase) - no password

For Linksys it is

192.168.1.0 and the user is blank and the password is admin lower case

You can set up a Static DHCP to each PC - This means, on the LAN, the Server can be 192.168.0.100

WS-1 would be 192.168.0.101

etc and up the line, I have never seen any mroe than 5 PC's set up using this networking system, abover 10 PC's you will NEED Novell. But MS Networking works very well for a small network.

Now the thing I say about the way I do it being like one PC, is that on my pc all of the hard drives are shared, and I have several programs that are network programs, and I install the HOST to one PC, and each member of the workstation has a workstation installed, thich access the HOST.

The HOST PROGRAM creates an Interface in which ALL of the users can be using the program at the same time, each person working on different accounts, and sharing a COMMON database, which is encrypted so that no one can run off with it.

The encrypted database is set up to be backed up and reparied at various intervals - A DB Repair program was created and it runs, when I am alseep.

I actuyaly have this installed, and running on all of my PCs so I can access the DB on any Workstation.

So, this is all a job for your programmer, all of these programs use MYSQL or MDAC - Actually MDAC works better.

I had someone develoep my system for me, it is based on MDAC, it uses protected and encrypted MBD, Microsoft Database files, you can actually open the files with Access or Excell or what, but they are noncense cos they are encrypted. So I am just saying, if you have a good enough programmer, he can make an interface that you can use to manipulate the DB rather easily. It wold be some kind of template.

I use mine to keep track of stuff I have bought, who I sold it to, and what else I did for them, how much they paid me, how much gas I used, etc and ad nauseum: But it is my personal interface, but it works right out of MS Office.
 
Thankyou for your lengthy reply, some of which acctually was quite new to me.

I do unfortunately have to say though, that I do know the basics of networking itself - it's the database sharing and folder synchronisation that's bugging me. That said, I should imagine that this thread will be of great use to anybody wishing to network more than two pc's and has never done it before.

In your advice above, I do believe that the entire network would depend on one computer (the file server) being running all day (IE, whenever somebody might want to use the database or resources). This would mean that I would have only two workstations instead of three.

The router would almost certainly be a Netgear DG834 (http://www.netgear.com/products/details/DG834.php) - it's readily availiable from any shop around here, and other brands aren't so much available.

What I would really like to do is to have each computer have a copy of each file - documents in one folder and a database in another. The documents folder would be updated on each machine as soon as a file in that folder i modified or a new file created on any of the machines. In this way, each machine would carry a copy of the most current and up-to-date document/template available

The database is a little more complex (overwriting would loose data). Would the database HAVE to be used in the way you describe, or would it be possible to run the database in a similar way to the documents folder (as I have just described) except that new information in the database is ADDED to the files on the other computers as soon as it's added on one of them, and taken away when deleted on one of them.

Also, is it possible to make each computer check the other computers on the network for updated files when booted up, and also before shutting down?

Is what I want to do possible? and if not, does it have to be done as you have said?
 
You definently need a "master" machine of some kind. The other two slaves would always update their local databases from and to the master when it is available.

You need to put time tags on all the records so when synchonising with master you know whether you have the latest version of the data. And tags to know who (which machine) is the author of a record. Also some sort of a revision control system that would allow you to roll back changes in case the synchronisation screws up (keep the last two copies of the data?)
 
Status
Not open for further replies.
Back