From an overview perspective, the communication of the client-side file with the server-side databases is explained in the following figure:
panagenda MarvelClient - Architecture Overview
The client component communicates with IBM Domino servers via NRPC (Notes remote procedure calls) = Port 1352 and is entirely based on the security architecture of IBM Notes and Domino.
Client management and control with MarvelClient is exercised by creating so called Actions in the server-side MarvelClient Configuration database. For example, an Action can add, change or remove one or multiple notes.ini variables, add and/or position a database icon (stack), create a replica and configure it on the replicator page, add or modify a workspace page, or even apply mass changes (such as changing all links across desktops, bookmarks and replicator pages from one server to another) – to name just a few examples.
On the client-side, MarvelClient synchronizes new and changed Actions with a local file in the so called MarvelClient Working Directory. At certain run times (so called RunTypes e.g., during client startup, whilst the client is running or during client shutdown; also see: RunTypes/Times/Sections), MarvelClient compares this information with a view in the Configuration database and downloads new and changed Actions incrementally. Hence, if there are no new or changed Actions, client-server communication is reduced to the absolute minimum – usually less then one (1) kilobyte of traffic. New or changed Actions are between 2 and 5 kilobytes in uncompressed size – thereby even 50 or 100 Actions lead to only very little traffic, all of which only occurs once due to the incremental update architecture.
In addition to downloading new and changed Actions from the MarvelClient Configuration database, information about each end-user’s client configuration is also uploaded into the MarvelClient Analyze database, again incrementally: All relevant files (desktop and bookmark information, notes.ini details and more) are checked for changes and only transferred if a generated checksum has changed. Furthermore all files are zipped (a raw XML of ~1 MB is compressed into ~25 KB).
Also, MarvelClient does not increase the load on servers on which the MarvelClient databases reside (though it is advisable to carefully plan out the collecting, processing and replication of the Analyze database in very large environments with many 10,000 users).
The following numbers show typical traffic as per download from the Configuration database and upload into the Analyze database:
- 0.5-4 KB download from the Configuration database
- 25 KB upload (75 KB for a newly created Analyze record) into the Analyze database