Back to table of contents | Back to the software page

----------------------------------------

Replicator

----------------------------------------

Table of Contents

Overview Introduction to Replicator, General Description, Purpose

Installation How To Install Replicator

Replication Settings How to set up a replication

Using Replicator How to use Replicator

Borderline Cases How Replicator reacts to marginal situations

Shareware Licensing and Registration, Support How to register and pay for Replicator and how to get support

RSU Remote Software Update installs and upgrades software over a network.

# Replicator (REPLICAT.EXE) is the name of this Windows file and directory replication program.

Overview

Replicator is a program which replicates the contents of directories. It is normally used over network connections to provide quick and inexpensive access to topical data while avoiding the cost of a leased line. Replicator is available as a Windows 3.1x program (download repl16.exe or similar) and as a Windows 95 and Windows NT program which can handle long filenames and UNC names (download replic.exe or similar).

Replicator's method is the same as that used by Lotus NotesTM, except that Notes works on documents within its databases, while Replicator works on files within directories. Its fundamental purpose is to keep the contents of directories equal. While synchronizing two directories, Replicator essentially provides the following function: If any change has occurred to a file on one side but not on the other, the change will be replicated to the other side. This includes:

1. A change in a file's contents

2. The creation of a new file

3. The deletion of an existing file

If Replicator discovers that a file has undergone any of the above on both sides since the previous replication, then this is deemed to be a replication conflict. In this case Replicator will retain all information, if necessary by keeping both files (renaming one), and will notify the users to the occurrence, so the case can be resolved by hand.

The only exception to this is if a file is deleted on both sides. In this case Replicator lets the deletion stand, since the result is the same on both sides anyway - the file disappears.

This method allows users to do chaotic criss-cross replications from and to any participant or more efficient hub-and-spoke replications for networks with a larger number of replicating sites. Replicator will keep track of all changes and thus ensure that the outcome is reliably the same for all participants. As long as the users make sure that each site replicates with each other site directly or indirectly (through other sites), replication will work.

Users also have to make sure that replication happens frequently enough to satisfy their needs for topical data. Replicator relies on the user or an independent scheduling program to get started in time.

To do its magic, Replicator has to keep track of changes. It does this in its own database file, named !REPLICA.INI, which it writes into each directory that is subject to replication. In this database it keeps track of all replications that happen in this directory, including deletions. Replicator remembers a deletion for a reasonable time (default = 99 days), then automatically forgets the file.

Replicator requires a local or network path. For example, on Windows NT or LAN Manager you have to enter a NET USE command first to establish a drive letter for the remote path. In Netware you first have to use the MAP command to establish a drive letter. Of course you can use Replicator over a Remote Access Services (RAS) link between computers running Windows for Workgroup or Windows NT.

Installation

The installation of Replicator consists of three steps:

1. Unpack the self extracting or zipped distribution package file.

The self extracting package file is named replic.exe or similar. To unpack it, put the file into an empty directory, then use the Windows File Manager and double-click on this self extracting distribution file. Answer Y to the question.

The zipped package file is named REPLICAT.ZIP or REPLIC.ZIP or similar. To unpack it, you need an unzip utility like PKUNZIP.EXE. Put the file into an empty directory, then use the File, Run command in Program Manager or File Manager and enter the command:

pkunzip replicat.zip

2. Move the unpacked files into a subdirectory on each computer where it should be used.

You can also move them to a file server and load and run Replicator from there.

If you like, remove the self extracting or zipped package file from the directory and keep it elsewhere.

You need a current copy of CTL3DV2.DLL in your SYSTEM subdirectory within the Windows directory. If you do not already have it or if yours is older, copy the one coming with Replicator into the SYSTEM directory.

Warning: Replicator will not run properly in some cases, for example on a Windows NT system, if a different version of CTL3DV2.DLL is in the same directory as Replicator itself. Remove CTL3DV2.DLL from the Replicator directory.

If you want to start Replicator by hand, then you can create a Program Manager icon with the File, New command in Program Manager.

If you want to have Replicator started automatically, you have to put such an icon into the Startup group or you can have it started by a scheduler like AT.EXE on Windows NT.

3. Prepare the file REPLICAT.INI and put it into the main Windows directory.

REPLICAT.INI has to be set up by hand, using a text editor like NOTEPAD.EXE. It should contain one section labelled [Default] and, if desired, more sections for each kind of replication that should be performed. See Replication Settings for details.

4. Do a first replication.

Since Replicator has no knowledge of which files changed when, it will regard every discrepancy as a conflict in the first replication. Therefore it is a good idea to do one first replication while both sides are equal, so Replicator learns about all the files. After this first replication, the file and directory databases (stored in the !REPLICA.INI files in each replicated directory) will be in place, and Replicator can function fully in all subsequent replications.

Replication Settings

Introduction

Before you can use Replicator, you have to enter some settings into the file REPLICAT.INI, which you have to put into the main Windows directory (for example: C:\WINDOWS). The 32 bit version Replicator.exe also uses this same control file. A typical REPLICAT.INI file is a normal text file. You can create and edit it using the Windows Editor (NOTEPAD.EXE). This is an example of REPLICAT.INI:

[General]
KeepDeleted=99
Report=0
FinishWait=5
AlwaysWriteLog=0
LogFile=C:\TEMP\REPLICAT.LOG

[Default]
C:\USERDATA=F:\USERDATA,S

[Hub To Hub Server Traffic]
F:\USERDATA=H:\USERDATA,S
F:\SYSTEM\CONFIG=H:\SYSTEM\CONFIG,S,A

[Customer Exchange Servers]
F:\DATABASE\CUSEXCHG=T:\UPLINK\DBIMPEXP,S
F:\GENERAL\NEWS=T:\UPLINK\NEWS

[Central Maintenance Server]
F:\PUBLIC=S:\WORLD\PUBLIC,S
F:\SYSTEM\CONFIG=S:\WORLD\SYSTEM\CONFIG,S,A
F:\PUBLIC\ANNOUNCE=S:\WORLD\ANNOUNCE

Each section begins with the section header in brackets and ends in front of the next section header or the end of file. Empty lines are ignored.

This is a short example of a REPLICAT.INI file for the 32 bit version of Replicator, using long file and directory names and UNC names:

[General]
KeepDeleted=15
Report=1
FinishWait=2
AlwaysWriteLog=1
LogFile=\\Administrator\C$\Log Files\REPLICAT.LOG

[Default]
C:\Userdata=\\Hub NY\Userdata,S

[Hub To Hub Server Traffic]
\\Hub NY\Userdata=\\Hub London\Userdata,S
\\Hub NY\C$\System\Config=\\Hub London\C$\System\Config,S,A

[General]

The [General] section is optional. The example above shows its possible three settings, all with their default values. In other words, you could just as well remove this whole section or any of ist settings. But if you have it, you can change the defaults to different values.

The possible entries in the [General] section are:

KeepDeleted=99 This entry determines for how many days Replicator remembers deletions. You may change the default 99 to any number, even 0

Report=0 If you change this entry to Report=1, it allows you to have Replicator produce a report each time it runs. The report is shown in a window and can be saved to disk as REPLICAT.LOG by clicking on the respective button. The report is saved into the Windows directory, the same which holds REPLICAT.INI.

FinishWait=5 This entry determines for how many seconds the Replicator window will remain on screen until it closes automatically. This was done to allow clicking on one of Replicator's buttons even if the replication is performed very quickly.

AlwaysWriteLog=0 If you set this entry to AlwaysWriteLog=1, Replicator will always write a log file, regardless of the Report setting.

LogFile=C:\REP.LOG With this setting you can determine the name and path of Replicator's log file and set it to something other than the default.

[Default]

The [Default] section contains settings for all replication partners who do not have their own section. When you call REPLICAT.EXE or Replicator.exe without any command line parameters, the entries in this section are used for replication.

[Hub To Hub Server Traffic]

Note: The text above, "Hub To Hub Server Traffic", is only an example. You can invent and use any other text just as well.

Each subsequent section contains one set of replication settings. When, for example, REPLICAT.EXE is called with the following command line:

REPLICAT.EXE HUB TO HUB SERVER TRAFFIC

then Replicator will search REPLICAT.INI for a section named [HUB TO HUB SERVER TRAFFIC] or [Hub to Hub Server Traffic] or [hub to hub server traffic], then execute that section.

Replication Settings

Each section must contain at least one line:

<directory1>=<directory2>

When Replicator finds a line like C:\USERDATA=F:\USERDATA, then the actual replication will occur. Replicator will create any of the two directories (even both), if it doesn't exist yet. It will then use its own database file !REPLICA.TXT in each of the two directories and check all files. Finally it will copy those files that need to be copied for proper replication. Replication conflicts files will be renamed and a conflict message will be added to the log file REPLICAT.LOG.

Each replication line in REPLICAT.INI has the following format. Text between the "<" and ">" signs needs to be replaced by real names. Do not type the characters "<" or ">". The brackets "[" and "]" denote optional parts that can be left out. Do not type these brackets.

<directory1>=<directory2>[,<option>]...

Options can be:

S Subdirectories - replicate all subdirectories below the given directories

A Attributes - copy and overwrite system files and read-only files

Without the A option system files are ignored and therefore not copied. A read-only file is copied if it does not exist in the target directory, including its read-only attribute, but is later neither changed nor overwritten nor deleted, because the read-only attribute is respected.

With the A option all attributes are functionally ignored, but they are copied with the files, except for the archive attribute. This means that system and read-only files can be copied, overwritten or deleted. Only the archive attribute retains its normal function and is set only when a file is written or changed.

Regardless of the A parameter, the hidden attribute is ignored but is always copied with the file. The archive attribute is always set when a file is written or changed and otherwise ignored.

Due to the use of the equals sign (=) in the control file syntax Replicator cannot deal with files or directories whose names contain an equals sign.

Using Replicator

Replicator needs to be called with a command line parameter that indicates the section in the INI file REPLICAT.INI to be used for this replication.

For manual use enter one Replicator icon for each replication setting into Program Manager. To do this:

  • 1. Activate the desired group in Program Manager.
  • 2. Enter the command Program, New.
  • 3. Enter "Replicator" into the description field and append a word of description of this particular setting.
  • 4. Enter the path and file name (REPLICAT.EXE or Replicator.exe) into the command line field. Raplicator does not need any working directory.
  • 5. If the icon is to use a section in REPLICAT.INI other than [Default], write the section behind the file name (REPLICAT.EXE or Replicator.exe), separated by a space. The section name may also contain spaces.
  • 6. Click on Ok.
  • To actually use Replicator, double-click on the icon with the desired settings.

    You can also start Replicator by entering the command line, optionally with a REPLICAT.INI section name, into the File, Run command line of Program Manager or File Manager.

    Try to make sure that the clocks on the computers are synchronized, since Replicator relies on file dates and times to decide which file is newer in case of conflicts. This matters only for conflicts, i.e. cases in which files have been changed on both sides since the last replication. If a clock is off, then Replicator could mistake an older file for a newer one. Both files will still be preserved, but in a conflict Replicator always renames the older one and keeps the newer one under its original name.

    Borderline Cases

    1. First Replication

    When Replicator replicates any directory for the very first time, it does not have its file database (!REPLICA.INI) yet. Therefore Replicator will not be able this time to detect that a file has changed on one side only. Even if one of the two directories to be replicated had already been replicated with another and therefore has its database already, this information will not be fully evaluated. Every file difference will be handled as if the file had been changed on both sides, i.e. as a conflict. Files and directories only on one side will be copied to the other side without any problems.

    Therefore it is recommended to do one initial replication before beginning to modify files.

    2. Deleting Whole Directories

    If you delete a whole directory, Replicator will propagate the deletion, i.e. this directory will eventually be deleted on all replicas of the parent directory. However, with the directory the file !REPLICA.INI inside that directory will also be deleted, taking all memories of files that once were in that directory with it.

    Normally this does not matter. You only need to know that, if you ever reinstate that directory by creating it anew, Replicator will not remember the files that were once in it.

    3. Deleting, Then Reintroducing Files

    If a file is deleted and later re-introduced and copied back into its original place again Replicator will detect this and cancel the deletion throughout the network. In later replications this file will again propagate.

    4. Long Filenames and UNC names

    Replicator comes as a 16 bit version for Windows 3.1x (download repl16.exe) and as a 32 bit version for Windows 95 and Windows NT (download replic.exe). The 16 bit version understands neither long filenames nor UNC names (like //Server/Share/Subdir). It will still replicate properly, but it will only see, and hence only create, the shortened 8 + 3 character filenames.

    The 32 bit version understands both long filenames and UNC names.

    5. Inability to Write or Create Files

    If Replicator tries to write to a file that is read-only or otherwise unwriteable, it will write an error message into the log file (default filename REPLICAT.LOG).

    6. No Delete Propagation on Windows NT

    We have observed cases in which Replicator does not forward deletions. Instead it keeps copying a deleted file back.

    This is apparently due to a defect in Windows NT (observed in version 3.51 with Wervice Pack 3 installed), where NT reports a false file date. The problem could not be resolved yet. No workaround is known, other than deleting the offending files by other means.

    Shareware Licensing and Registration, Support

    Replicator including its documentation files is Copyright © 1995 Burkhard Daniel and Hans-Georg Michna. It is distributed under the Shareware concept. Its use on no more than two computers, for example to synchronize only one notebook with only one desktop computer, is free.

    As soon as Replicator is used to synchronize directories on three or more computers, then each computer which uses Replicator to replicate to two or more other computers, is called a "replication server" for the purpose of this definition. Each replication server requires one license after a free 30 day trial period. If the license fee is not paid 30 days after installation then the Replicator program must be deleted.

    The purpose of this licensing agreement is to charge only for "replication servers", i.e. for computers that can forward replicated data to or from two or more other computers. For example, you may synchronize hundreds of computers from one replication server in a star topology fashion. As long as a computer is the end point of a replication chain and replicates only to the replication server and not to any further computer, it does not need a license. Only replication servers, which replicate with two or more other computers, need a license. Example for a setup with 2 × 5 workstations, 1 notebook computer and 2 file servers:

     

    In this example, the two file servers are replication servers and need one license each. 9 of the 10 workstations replicate only with one other computer, a replication server. One workstation, however, replicates further to a notebook computer. Since it replicates with two other computers, it also requires a license. For the purpose of this definition, it is also a replication server.

    The shareware fee for Replicator version 1 is US $98.00 or DM 179.00 (German Mark) for each computer which replicates with two or more other computers. If Replicator is used only to synchronize two computers, then its use is free. Prices may change in future versions if the exchange rate changes considerably. Future enhanced versions of Replicator may be more expensive.

    In Germany, add the legally prescribed Value Added Tax (currently 15%).

    The program contains no technical means to enforce payment other than noting the requirement on screen when an unregistered copy of Replicator is started.

    To pay the fee through CompuServe log on to CompuServe and enter the command: GO SWREG. Search for the keyword Replicator and register according to the choices you get on screen. Each single registration or license is good for up to 100 users.

    Alternatively, send a check and your e-mail address (or fax number) to one of the following addresses.

    USA: Ms. Birgit Liebl, 196 Dorrence Rd., Granville, OH 43023
    (Important: Make check payable to: Liebl !)

    World: Hans-Georg Michna, Notingerweg 42, 85521 Riemerling, Germany

    In Europe use a Eurocheque made out in the appropriate amount in DM (German Mark) for each license.

    In Germany add the legally prescribed Value Added Tax (VAT, currently 15%).

    If you require an invoice, please ask for it by e-mail or send a purchase order to Hans-Georg Michna in Germany. But please keep bureaucracy to a minimum. If you have to have an invoice, within the European community please add your VAT ID. Our VAT ID is: DE200173914

    Please understand that, at such low prices, we cannot handle paper mail or any other time consuming task over and above the absolute minimum required for tax purposes.

    When you license Replicator, you will receive a short confirmation by e-mail, but you will not normally receive any paper mail. Neither will you receive the program itself, which is available only on CompuServe and on the Internet. You should retrieve updates from wherever you received the program in the first place. From time to time you may receive information on upgrades and related programs.

    The program may be freely distributed as long as the files stay together unaltered and packed in one file using an archiving program like PKZIP, LHA or similar. It is not allowed to add any other files other than minor additions that do not exceed the size of the original files. It is not allowed to distribute Replicator as part of another program or package because we fear that this might look as if Replicator may no longer require its shareware fee payment which it always does according to the rules outlined above.

    Upgrading: You have to download the new versions on your own. You don't have to pay anything again for any upgrades to Replicator version 1. Should there be a significant technological change, for example a new operating system, then there might be an entirely new version of Replicator, which will be handled differently, possibly as an entirely separate product.

    Support

    Support is available via email. This support is free. In our experience, luckily, Replicator needs very little support, because it doesn't seem to cause many problems. But if you need help, usually in the beginning, please feel free to send e-mail. The same holds for questions, remarks or proposals for future enhancements of Replicator.

    How to obtain Replicator

    Replicator is Shareware.

    You can download Replicator as one file named replic.exe or repl16.exe from http://michna.com/software.htm.

    Replicator is also available from various software libraries.

    If you upgrade, do keep a copy of your previous version for the rare case that the new version doesn't work as expected.

    Disclaimer

    At the present state of software technology it is not possible to create error-free software. Replicator may contain errors. Anybody using it should take precautions like creating safety backups in case a defect causes damage to any computer or data, especially when trying it for the first time. The authors of Replicator can under no circumstances be held responsible for any damage.

    Microsoft® is a trademark of Microsoft, Inc. Lotus® is a trademark of Lotus Corp.

    Remote Software Update

    Remote Software Update (RSU) is also available as shareware.

    RSU updates the software on many individual workstation PCs connected to a file server. The file server, when equipped with RSU, becomes an RSU server.

    The RSU program does not run on the RSU server, however. It runs only on the workstations. The RSU server consists only of subdirectories and files on the file server.

    Sample RSU installation

    The fundamental idea is that all workstation configurations are stored on the RSU server. RSU then copies the appropriate modules to each workstation while retaining individual settings or individual software on the workstations.

    The file server used for RSU does not have to be the same file server that is used for normal work. It is necessary, of course, that users log in to the RSU server from time to time to get the topical remote software update.

    Since the file server does not usually run DOS a separate RSU test workstation is needed to develop and test the configurations. If testing on different hardware is needed then one RSU test workstation is needed for each hardware setup. RSU test workstations can be used for other work when they are not being used for RSU development. Their RSU related configuration has to be totally reset, however, before it is used for testing. RSU can

  • copy predetermined files from the RSU server to the workstations,
  • change the contents of subdirectories, even whole subdirectory trees, on the workstation PCs such that they become equal to their parents on the RSU server, by adding, deleting or overwriting files on the target PC,
  • exclude certain subdirectories and files from directory replication,
  • report all changes when synchronizing directories,
  • add, change, copy or delete certain sections or certain lines in INI files like WIN.INI and SYSTEM.INI,
  • copy or delete sections in text files like AUTOEXEC.BAT and CONFIG.SYS,
  • find out whether each workstation is already up to date and skip the updating process,
  • detect BIOS signatures of certain hardware and, for example, automatically install the appropriate drivers.
  • RSU is available in the same places where Replicator can be found (see Shareware Licensing and Registration, Support for details).

    ----------------------------------------

    Back to table of contents | Back to the software page

    hits since 2007-11-01
    Free PHP scripts by PHPJunkYard.com