| |

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 |
|
|