Home > Products & Solutions > Products > iData Software > IrisAccelerator
Products
IrisAccess 4000
iData Software
iData EAC
iData SDK
iData Eclipse
INSiDE
IrisAccelerator
Integration
Heritage of Innovation
Solutions
Technology
IrisAccess in Action
IrisAccess Adoption
Demo
Literature

IrisAccelerator is a system that provides a fast iris matching facility using LG iris recognition technology. IrisAccelerator supports up to 12 million iris templates per IBM® BladeCenter® chassis. IrisAccelerator will be expanded to a multi-chassis system to support more than 12 million iris templates in Q3 ‘07. IrisAccelerator is composed of COTS hardware and LG developed software.



IBM BladeCenter Chassis
BM BladeCenter eServers (HS20)
   
 1 IrisController
  - 3.6 GHz Dual Intel Xeon Processors
- 2 GB of DDR2 RAM
- 36 GB of HDD
   
 12 Active IriSABREs
  - 3.6 GHz Dual Intel Xeon Processors
- 2 GB of DDR2 RAM
- No HDD
   
 1 Standby IriSABRE
  - 3.6 GHz Dual Intel Xeon Processors
- 2 GB of DDR2 RAM
- No HDD
IBM redundant power supplies
IBM switch modules
 
Gigabit Ethernet Switches
IBM BladeCenter Management Module






Software of IrisAccelerator is composed of three components: IrisAccelerator system software, IrisAccelerator SDK, and Device Manager. IrisAccelerator system software runs on top of commercially available blade server platforms using Linux operating system and IrisAccelerator SDK is ActiveX DLLs that provide APIs to communicate to IrisAccelerator on Microsoft Windows platforms. Device Manager software is a tool to control, manage and monitor IrisAccelerator system.

IrisAccelerator system and SDK use the client-server architecture as shown in Figure 2. IrisAccelerator is accessed by TCP/IP network using LG IrisAccelerator SDK. IrisAccelerator supports virtually unlimited number of connections. Using the SDK, customer applications can send add/remove/match requests to IrisAccelerator and receive responses from IrisAccelerator.

High-level IrisAccelerator client-server architecture 


IrisAccelerator system software, in turn, consists of IrisController™ and IriSABRE™ software. In order to reduce the searching time, IrisAccelerator matches iris templates in parallel fashion.

IrisController is control module software, which manages a local database, receives client requests and distributes them to IriSABREs, and receives responses from IriSABREs and consolidates the response back to the client. This module resides in the 1st slot of the chassis.

IriSABRE is the iris matching software, which runs on each IriSABRE blades. Iris templates in the local database are equally divided and distributed to each IriSABREs. For each client match request, the iris template list is searched simultaneously in each blade.

Device Manager is an application that allows administration and monitoring of IrisAccelerator™ system. This displays the state of IrisController and all the IriSABREs in the system. Using this application, operators can be created in the system. This application communicates with IrisController using an SDK built into an application.






IrisAccelerator has a local database system in the IrisController. The local database system stores all the IrisAccelerator configuration parameters as well as iris templates. When an iris template is added through SDK, it is stored in the local database and added to one of IrisCode list in a round-robin fashion.

When the system starts, the configuration parameters and iris template stored in the database are used to bring the system back to previously known state.



In order to increase iris search speed, the entire database is equally divided into 1/N, where N is the number of active IriSABREs. IrisCodes are divided in the round-robin fashion among active IriSABREs. It is called a load balancing in the context and performed in each system restart.

A new iris record is added in a round-robin fashion as well.

During operation, iris templates can be added and removed to/from the database and IrisCode list so that IriSABREs might not maintain exactly the same number of iris templates in each list.

Simplified data structure of IrisCode Linked-List inside the IriSABRE



Once the connection is established between SDK and IrisAccelerator, IrisController starts processing the client requests. IrisController broadcasts the received request to all active IriSABREs so that the iris can be match in parallel. Each IriSABRE independently matches IrisCodes against its own IrisCode list and return the match results back to IrisController. As a complete search from top to bottom of IrisCode list, the response from an IriSABRE might include multiple (Record ID, HD) pairs. Then IrisController consolidates the responses from IriSABREs and applies the threshold rules to select the final candidates.



IrisAccelerator has a capability of adjusting hamming distance threshold. IrisAccelerator apply two different thresholds: both-eye matching and single-eye matching. Operator has a choice of manual or automatic settings.

When an automatic setting is chosen, the following threshold values will be used:

one-eye case: Th = 0.315 - 0.01*log10(N+1)
two-eye case: Th = 0.360 - 0.01*log10(N+1)

where, N is the total number of IrisCodes in the system.



In order to increase reliability of the system, all the system activity is monitored. IriSABRE’s health is monitored by IrisController using periodic heartbeat signals from IriSABREs. When the heartbeat signals are missing 3 consecutive times, IrisController will raise an alarm to Device Manager and fail over the IriSABRE to the standby IriSABRE.

Device Manager program can monitor all the system activities such as load balancing, system load, IriSABRE health, match/non-match statistics, any system events and alarms.



IrisAccelerator and SDK use the PKI based mutual authentication. All the communication connections are encrypted by SSL using Triple-DES cryptography. IrisCodes are encrypted with AES cryptography and stored in the encrypted form in the database.



Iris matching speed is one of the important factors of IrisAccelerator. Each blade can search IrisCodes in the speed of 1 Million records in 1 second. When IrisAccelerator is fully populated, the total matching speed is 12 Million IrisCodes/second.



We have accommodated 1:N APS (Automatic Protection Switch) type of protection scheme. When one of N IriSABREs fails, a standby IriSABRE takes over the role.

To allow maintenance of blades in the BladeCenter and avoid downtime due to load balancing process, a standby IriSABRE is required in the IrisAccelerator. IrisController designates the last slot as the standby slot and excludes this standby IriSABRE from all regular request processing and load balancing process. This IriSABRE is used only when one of the active IriSABREs fails. Instead of initiating a load balancing on all other IriSABREs, IrisController moves IrisCodes assigned to the failed IriSABRE to the standby IriSABRE making it participate in all request processing on behalf of the failed IriSABRE. Once the failed IriSABRE reconnects, IrisCodes is again moved to the original IriSABRE and standby IriSABRE that was operational is set to standby state.



IrisAccelerator system software can be upgraded using Device Manager program





The IriSABRE SDK provides the device management functions so that the business process application can control the devices. That includes device configuration, status monitoring, alarm management, and software upgrade.

IriSABRE Control Module and IriSABRE also support the following functions:

Configuration/Setup
Watchdog
Alarm
Software Version Management
System Monitoring
Software version management
System configuration


Main page Control Module IriSABRE