Install Iris Scan System - johnsonandjohnson/vxnaid GitHub Wiki

Install Iris Scan System

The Iris Scan system consists of an application – NServer – which performs biometric template matching and a database which stores the application user details and peoples’ biographic and Iris scan template.

The NServer requires activation of NServer and IrisMatcher licenses.

Database

Requirements

  • The running MySQL 5.7 database server is required.
  • The database server must be accessible from the server where the NServer application is going to be installed.
  • The database server can be shared with the OpenMRS backend application database server.

Configuration

Create new database schema and new user with privileges listed in command below. The schema and user are going to be used by the NServer.

GRANT INSERT, DELETE, UPDATE, SELECT, DROP, CREATE 
ON <schema>.* TO <db_user>@localhost IDENTIFIED BY '<password>'; 

Create the user table within the new schema

  • Create table
CREATE TABLE usertbl
  (
     template LONGBLOB NOT NULL,
     dbid     TINYTEXT NOT NULL,
     id       INT(11) NOT NULL auto_increment,
     PRIMARY KEY (`id`)
  )
  • Add the biographic fields
ALTER TABLE `<schema>`.`usertbl`
  ADD COLUMN `firstname` VARCHAR(50) NULL after `id`,
  ADD COLUMN `lastname` VARCHAR(50) NULL after `firstname`,
  ADD COLUMN `dateofbirth` VARCHAR(10) NULL after `lastname`,
  ADD COLUMN `phone` VARCHAR(15) NULL after `dateofbirth`,
  ADD COLUMN `address` VARCHAR(255) NULL after `phone`,
  ADD COLUMN `city` VARCHAR(20) NULL after `address`,
  ADD COLUMN `postalcode` VARCHAR(10) NULL after `city`,
  ADD COLUMN `creator` VARCHAR(50) NULL after `postalcode`,
  ADD COLUMN `creationdate` VARCHAR(50) NULL after `creator`,
  ADD COLUMN `modifiedby` VARCHAR(50) NULL after `creationdate`,
  ADD COLUMN `modificationdate` VARCHAR(50) NULL after `modifiedby`; 
  • Create Index
CREATE INDEX index_dbid
  ON usertbl (Dbid(10));

NServer Application Installation

The following steps describe how to obtain, configure and start the NServer application on a destination server. The destination server must run any 64-bit Linux distribution.

  1. Download the Neurotechnology licensed SDK and upload to the server where you want to install Iris NServer.

  2. Extract the SDK ZIP file “Neurotec_Biometric_10_0_SDK_2018-01-23.zip” in the server.

    1. Suggested extraction location: /opt/Neurotec_Biometric
  3. Internet License Setup

    1. Upload the NServer and IrisMatcher licenses to the server, save them in a known and safe path.
      1. Example location: /opt/Neurotec_Biometric/Licenses
    2. Create or modify pgd.conf file with NServer configuration. The mode has to be set to server . All license files have to be configured in the file.
      1. Example file content:
        Mode = server
        LicenseFile = /opt/Neurotec_Biometric/Licenses/MyCompany_IrisMatcher.lic
        LicenseFile = /opt/Neurotec_Biometric/Licenses/NServer.lic
    3. Activate the NServer licenses by executing activation shell script file with start argument:
      1. Note that the following script will access pserver.neurotechnology.com host using both TCP and UDP protocols on port 80. This must be possible. If needed, configure any firewall accordingly.
      2. Neurotec_Biometric_10_0_SDK/Bin/Linux_x86_64/Activation/run_pgd.sh start
    4. Configure environment variables in the host system for the NServer. NServer uses native libraries for their APIs to work. Set the library path, host name and ports as showed below. The default admin port is “24932” and the default client port is “25452”. You can use any port, but it must be ensured that they are open for the OpenMRS backend system.
      1. We advise to modify /etc/profile file and add the variables at the end.
      2. Example file content:
        export
        LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/Neurotec_Biometric_10_0_SDK/Lib/Linux_x86_64
        export NSERVER_ADMIN_PORT=24932
        export NSERVER_CLIENT_PORT=25452
        export NSERVER_HOST_URL=myHost
    5. Configure database connection between NServer and its database. Use the Nserver.ODBC_Sample.conf file to create Nserver.conf file, both files should be in Neurotec_Biometric_10_0_SDK/Bin/Linux_x86_64/NServer.
      1. The Nserver.ODBC_Sample.conf file snippet with explanation:

            # Address and port for client connections which NServer will bind on its host machine
            addressServer.ClientListenAddr = 0.0.0.0
            portServer.ClientListenPort = 8080
            
            # Address and port for admin connections which NServer will bind on its host machine
            addressServer.AdminListenAddr = 0.0.0.0
            portServer.Admi nListenPort = 8443
            
            # Log file
            nameServer.LogFileName = NServer.log
            # Logging method
            # 0-none, 1-stdout, 2-stderr, 4-syslog, 8-file, 16-remote
            loggerServer.DefaultLogMethod = 8
            
            # SQL driver name
            Server.SqlDriverName = ODBC
            
            # MySQL data source
            Server.SqDataSourceName = DSN=<schema_name>;CharSet=utf8;BIG_PACKETS=8;
            
            # SQL data query, data will be splitted to all nodes
            Server.SqlQueryPattern = select dbid,template,firstName,lastName,dateOfBirth,phone,address,city,postalCode,creator,creationDate,modifiedBy,modificationDate from usertbl
            
            # Data update query, data will be updated for all nodes
            Server.SqlUpdateQueryPattern = select dbid,template,firstName,lastName,dateOfBirth,phone,address,city, postalCode,creator,creationDate,modifiedBy,modificationDate from usertbl where dbid = ?
            
            # Insert query pattern
            Server.SqlInsertQueryPattern = insert into usertbl (dbid,template,firstName,lastName,dateOfBirth,phone,address,city,postalCode,creator,creationDate,modifiedBy,modificationDate) values (@dbid@,@template@,@firstName@,@lastName@,@dateOfBirth@,@phone@,@address@,@city@,@postalCode@,@creator@,@creationDate@,@modifiedBy@,@modificationDate@)
            
            # Query delete template
            Server.SqlDeleteQueryPattern = delete from usertbl where dbid = ?
            
            # Data query column name for splitting data to nodes
            Server.SqlUidColumnName = dbid
            
            # Data query column name for extracted fingerprint data
            Server.SqlTemplateColumnName = template
            
            # Biographic data schema
            Server.BiographicDataSchema = (firstName string, lastName string, dateOfBirth string, phone string, address string, city string, postalCode string, creator string, creationDate string ,modifiedBy string ,modificationDate string)
            
            # Maximum running task count
            Server.MaxTaskCount = 1000
            
            # Additional licensing components that are needed for extraction related operations. If specified more than one, components should be separated by semicolon (for ex. Biometrics.VoiceSegmentation,Biometrics.VoiceExtraction)
            #Licensing.AdditionalComponents =
        
    6. Start the NServer in the background using the following shell script: Neurotec_Biometric_10_0_SDK/Bin/Linux_x86_64/NServer/run_Nserver.ODBC.sh &
    7. Verify the startup by checking the log file: Neurotec_Biometric_10_0_SDK/Bin/Linux_x86_64/NServer/NServer.log
⚠️ **GitHub.com Fallback** ⚠️