Understanding File Management System
File management system manages uploading and downloading file data between clients and volumes in both two-tier and four-tier teamcenter architecture.
It centralizes data storage while enabling fast access of data to user. FMS is responsible for data storage (volumes), caching (FSC & FCC), distribution (via file servers at remote locations) and access system (no direct access to files).
Generic diagram to explain downloading and uploading of files through FMS:
FMS servers do not permit direct access to volume data or cached data.Access is provided when a valid security ticket is presented by requestor.
FMS provides:
- Server Cache for data access
- Client Cache for rich clients
- Volume servers for file management
- Transient datastore for transporting reports,plmxml and other non-volume data
FMS Server Cache (FSC)
FMS Server Cache is responsible for file upload and downloads to other FSCs and to FCCs. It is a FMS process that runs on a server host and performs as one or more listed server:
Volume Server
When FSC runs on a host where volume is located or directly mounted, it performs as Volume Server. FSC can contain zero to multiple mounted volumes .It will read /write files from volumes.
Cache Server
When FSC runs on a host, where either volume is not located or not directly mounted or requested data is not directly available on mounted volume, it performs as Cache Server. This FSC has no direct access to the volume containing the file, so it caches data from other FSCs.
Configuration Server
FMS configuration information has to be passed to all FSCs and FCCs. When this information is passed by the FSC in question to other FSCs and/or to file client caches, it is performing as configuration server. This configuration server reads the fmsmaster.xml configuration file to distribute the information to FSCs and FCCs.
Transient Server
When FSC delivers transient files like PLMXML and generated reports (non-volume data) to clients, it is performing as transient server. FSC performs as transient server only in four-tier teamcenter architecture. Each business logic server in enterprise tier reads and writes file to a temporary disk location (transient volume).This FSC has the capability to deliver this temporary data (generated files in temporary disk location) to and from the client. The transient volume must reside on the same machine as the FSC and the Pool Manager.
Teamcenter server resides on the client machine in two-tier architecture, so it writes and read files from the temporary disk location on the client machine itself. There is no need to deliver the data to client by FSC, so there is no FSC performing as transient server in two-tier architecture. FCC will directly process the read files from the transient volume. That means, FCC is performing as transient server in two-tier architecture.
Note: There can be one or more than one FSCs for one teamcenter installation. FSCs can be deployed for each volume created. FSCs can be deployed to perform as one or more of the servers as mentioned above.
Also, FSC manages two caches for files (Write Cache & Read Cache).
FMS Client Cache (FCC)
FCC is a FMS process that runs on a client host .FMS Client Cache uploads files to FSC, requests files from FSC and it also caches files to client host. Each teamcenter rich client host requires a local FCC. FCC manages two caches for files. Write cache containing files uploaded to teamcenter volume and read cache containing files downloaded from teamcenter volume. FCC caches are high performance cache that accelerates file downloads over noisy WAN lines for remote sites. Required software for WAN acceleration comes along with base FMS install.
How file consistency is maintained in cache?
FMS system uses a file GUID for file contents. This identifier determines when to pull a file from its local cache, rather than retrieving the file from a far lying default volume. Every file in teamcenter storage has a single file GUID associated with every replicated copy of the file. If file is moved, copied, renamed, reassigned to a new owner, its file GUID remains the same. However, if file content is changed, a new file GUID must be created to describe the file’s new contents. So, there are no issues or conflicts with change of file and cache consistency is maintained. This holds true for both client and server cache.
Understanding FMS Configuration & Configuration Files
There can be several different FMS configurations required to transfer files and data. Few of them are listed below to understand that such scenarios can be handled by File Management System.
- Single FSC deployed for teamcenter installation
- Multiple FSC deployed for the teamcenter installation
- Client is situated faraway from volume server containing the file
- Client may need access to multiple database
- Files need to be transferred over the WAN to remote site
- Files need to be transferred between multiple PLM systems
To achieve the above configurations, File Management System (FMS) uses three files:
- fmsmaster.xml– FMS Master configuration file
- fsc.xml– FMS Server configuration file
- fcc.xml-FMS Client configuration file
Parameters and elements defined in these files will help us achieve different configurations ranging from simple to much more complicated ones.
FMS Installation & Initializing Configuration
When File Management system is installed, it initially installs and configures FSC server, FMS Master configuration file and FSC configuration file(s). For multiple deployed FSCs, FMS Master configuration information is retrieved from master FSC .For non-master FSC, address to master FSC is provided for FMS master configuration information. Initial FCC configuration is downloaded from FSC (bootstrap address of FSC is mentioned in FCC configuration file) .In FCC configuration file, FSC can be assigned to route data requests from FCC.
Below diagram depicts an installation with four FSCs deployed, FSC3 being master FSC.FCC configuration is downloaded from FSC( diagram assumes the shown FSC bootstrap address, mentioned in FCC configuration file).
FMS Master Configuration File
FMS Master Configuration file describes the FMS network, defining the group of deployed FSCs and their read-write cache location. Default values defined in fmsmaster.xml can be overridden with values defined in fsc.xml & fcc.xml file. An example of fmsmaster.xml file is as shown below:
Key elements of this file include:
- fmsenterprise –This element contains definition of FSC default, FCC default, FSC and its assigned volumes. It also includes an ID attribute that should match the unique identifier of database
- fscdefaults – specifies where FSC read & write cache files are stored.
- fccdefaults – specifies the default location of user’s cache.
- fscGroup –contains list of all FSCs installed as part of LAN configuration .They cannot be deployed across WAN and file transfer between two FSCs are directly routed.
- fsc – defines the fsc identifier and denotes its address.
- volume -Each volume must have entry under fsc .Multiple volumes can be defined under one fsc. Volume statement specifies the root directory for each volume, which can be located on the disk or mounted over the network.
- clientmap -Specifies that all clients on a particular network address (146 prefixed) are assigned a specific fsc (assignedfsc).
- transientVolume-Specifies the temporary directory used by teamcenter business servers for writing and reading temporary files (generated report, PLMXML etc.) in four-tier configurations.
FSC Configuration file
FSC Configuration file configures an individual FMS Server Cache (FSC) .This file defines values such as address of master FSC. It can also define default values for FCCs and other FSCs. An example of fsc.xml file is as follows:
Key elements of this file include:
- fscmaster –Specifies that this FSC is the master configuration server .Other FSCs will download the FMS Master configuration file from this FSC (specifies address of this FSC with non-master FSCs)
- fsc– Specifies the FSC ID of this installed FSC.
FCC Configuration file
This file specifies the (bootstrap) address of FSC configuration server (FSC) that allows the FCC configuration to be downloaded. Also routes FCC data requests to assigned FSC. An example of fcc.xml file is as follows:
Key elements of this file include:
- parentfsc – This element identifies which parent FSC to use for initial configuration download for FCC. Multiple parentfsc can be specified to provide for failover.
- FCC cache location – Windows client contains FCC cache at the location specified by this xml attribute.
- assignment mode- FCC data requests is routed to assigned fsc. FSC can be assigned to FCC through two assignment mode – clientmap or parentfsc (preferred when client changes network).This element of FCC can override the default client mapping in FMS Master configuration file.
In order to upload & download files with high performance in different possible configurations (remote user configuration, multiple FSC configuration, FSC cache configuration etc.), the three files (fmsmaster.xml, fsc.xml, and fcc.xml) can be configured effectively. In the next few posts, examples of configuring these files for different scenarios will be explained. Also, we will talk about administering FMS and other important details related to file management system.
Also Read:
FMS Configuration for Multiple FSCs & Cache Server
FMS Configuration for Remote Clients
Troubleshooting FSC Failure to Start
Teamcenter Two-Tier & Four-Tier Architecture
Structure Manager in Teamcenter