24
DVTDS Christian Hollstein, TeraCortex www.teracortex.com

Distributed Virtual Transaction Directory Server

  • Upload
    ldapcon

  • View
    531

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Distributed Virtual Transaction Directory Server

DVTDS

Christian Hollstein, TeraCortex

www.teracortex.com

Page 2: Distributed Virtual Transaction Directory Server

Presentation of DVTDS

Distributed Virtual Transaction Directory Server

By TeraCortex

● Background

● Architecture

● Virtualization

● Performance

Page 3: Distributed Virtual Transaction Directory Server

Background: LDAP in Mobile Networks

MediaServerIMSAS

CSCF

IMSdomain

Provisioning System

LDAPTransactions

LDAP

LDAP

SGSN

GGSN

MSC

3GnetworkHLR

MME

HSS

4Gnetwork

3Com CoreBuilder 5000TM Switching Hub

mgt fb fb fb fb fb fb fb fbtpl6tpl6 5302m

SDMDirectory

LDAP

Page 4: Distributed Virtual Transaction Directory Server

LDAP based Subscriber Data Management

● 3GPP standard rules LDAP as central repository

● Several hundred mobile operators / deployments worldwide

● Major vendors: Ericsson, Huawei, NSN, ZTE, Alcatel

● NSN alone serves 3.2 billion subscriber records

● Several dozen entries per subscriber record

● Probably largest directories worldwide

Page 5: Distributed Virtual Transaction Directory Server

Consequences for Directory Products

● Millions of subscriber records → billions of entries

● Data federation / distribution

● High availability → geo -redundant deployment / replication

● Consistent provisioning → transaction safeness

● Update signaling to applications → triggers

● Multi application environments → data model virtualization

● High volume traffic → near real time behavior

Page 6: Distributed Virtual Transaction Directory Server

DVTDS

New Solution Coming Up:

Page 7: Distributed Virtual Transaction Directory Server

DVTDS Distributed Architecture

Client… > 1000

Client Client Client

DVTDS (chained)

LDAPChaining

...

LDAP

LDAPChaining

• LDAP protocol for chaining• Multi level hierarchy• Leaves may be any LDAP server• Sessions span over several servers• Servers may be replicated• Distributed transactions

Possiblesessionpath

DVTDS 1000 million keyson 64 GB machine (mirrored)

...

(chained, mirrord)

...

Page 8: Distributed Virtual Transaction Directory Server

Data Replication

(Mirror 0)

LDAP Mirror

• Symmetrical Multi Master Replication• No single point of failure• Logical DSA concept• Compatible with LDAP chaining• Priority based conflict resolving, real time• LDAP protocol• Up to eight servers per DSA, fully meshed• Transaction safe

Logical DSA

Client

Sessionpath

LDAPconnection toany of themirrors

(Mirror 1)

(Mirror 2) (Mirror 3)

Page 9: Distributed Virtual Transaction Directory Server

Replication and Conflict Resolving

DVTDSSite APrio 2

UserPrio 7

LDAPDeletePrio 0

LDAPMirror

• Conflicts recognized and handled in real time• Based on request, user and server priority• Keeps to ACID paradigm• Data consistent across sites under attack• Winner gets “Success”. Looser gets “Busy”

Sessionpath

DVTDSSite BPrio 5

LDAPModifyPrio 1

Sessionpath

UserPrio 4

ObjectResolverObject

ResolverObject

ResolverObject

Resolver

Page 10: Distributed Virtual Transaction Directory Server

System Integrationand External Interfaces

...Client Port

AdminPort

LDAP

...Capture Port

Log FileTrigger...

...DataFederation

...DataReplication

...

Restore / DataMigration

...

Reports...

Backup / DataMigration

...

SOAP/HTTP

CSV

LDAP

LDAP LDAP

CSV

LDIF

CSV

LDIF

LDIF

CSVLDIF

LDAP

BinaryASN.1

OAMSystem

Applications /Provisioning

Page 11: Distributed Virtual Transaction Directory Server

Internal Architecture

...Client Ports Capture Ports

Session ...

Protocol Stack

Object Resolver

Execution Unit

Protocol Stack

Object Resolver

Execution Unit

Protocol Stack

Object Resolver

Execution Unit...

Interfaces:TriggerBackupRestoreMigrationReportsAdminLog filesChainingReplication

ConfigurationSchemaBackup/RestoreTraffic controlTuningDNSLicensesLogging/Audits

Interlocking sub system

DirectoryInformation Tree

Central Data Area

DVTDS

Session, queuecontrol

Hard disk sub system

Page 12: Distributed Virtual Transaction Directory Server

Architectural Features

● Free configurable client ports

● Each client port serves a number of sessions

● Each session lives inside its own worker thread

● Object level locking system

● Direct data allocation on memory mapped hard disk volumes

● Volumes maybe cooked or raw file space

Page 13: Distributed Virtual Transaction Directory Server

LDAP Data Model Virtualization

HLRMMS

HSS

PCRFFixedNet

MNP

AAA IMS

M2M

Social Networks

Data access viaapplication views

Physical dataaccess (No views)

ViewLayer

Provisioning System

Application Data

CoreData

Page 14: Distributed Virtual Transaction Directory Server

Supported LDAP View Mechanisms

● Transparent aliases

● Rule based bidirectional DN conversion

● Virtual objects

● Virtual and real attributes can be mixed in any object

● Soon: Rule based bidirectional attribute/value conversion

● Integrated in the DVTDS kernel → little overhead

● Online configurable → no service interruption

Page 15: Distributed Virtual Transaction Directory Server

ou=MOBILE ou=FiXEDou=EMAIL

Data Aggregation by Virtualization:Physical Telco Model

UID=777888000000001

oc: inetOrgPerson

oc: imsiUidAlias

dc=IMSI

oc: dcObject

o=<BusinessUnit>

oc: organization

ou=subscriberData

oc: organizationalUnitt IMSI=777888000000001

Access Path

ou=IDENTITY

oc: imsiAlias

dc=IMSI

oc: dcObject

IMSI=262011100000001

oc: imsiUidAlias

dc=IMSI

oc: dcObject

IMSI=777888000000001

oc: msisdnAlias

dc=MSISDN

oc: dcObject

MSISDN=4916096220958

oc: imsiUidAlias

dc=IMSI

oc: dcObject

IMSI=777888000000001

oc: mailAlias

dc=EMAIL

oc: dcObject

[email protected]

dc=IMSI

oc: dcObject

dc=Enterprise

oc: dcObject

dc=IMSI

oc: dcObject

dc=configurableViews

oc: dcObject

oc: imsiUidAlias

dc=IMSI

oc: dcObject

IMSI=777888000000001

oc: accountlAlias

dc=ACCOUNT

oc: dcObject

account=1234abcd

dc=FIXED

oc: fixedNetDataparam4: real valueparam5: real value...Fixed Net: reference

dc=IDENTITY

oc: identityDataparam6: real valueparam7: real value...Identy: reference

dc=EMAIL

oc: eMailDataparam2: real valueparam3: real value...Email: referencedc=MOBILE

oc: mobileDataparam0: real valueparam1: real value...Mobile: reference

Fixednet data

SubscriberIdentities

Email DataMobile

Data

...

Page 16: Distributed Virtual Transaction Directory Server

View Mechanism Properties

● Each subscriber has individual data below uid=...

● Accessed via transparent aliases

● Application view data outside of subscriber data

● Found by two stage resolving algorithm

● Different applications can share physical data

Page 17: Distributed Virtual Transaction Directory Server

Example: Server – Side DN Conversion

Server Side Conversion Rule:

clientDn: *,impi=(sip):([0-9]+)@(ims.telekom.de),dc=IMPI

serverDn: imsi=#3(2),dc=IMSI

DN as sent by the client:

ou=mobile,impi=sip:[email protected],dc=IMPI

DN as used by the server:

ou=mobile,imsi=262000000000000,dc=IMSI

Page 18: Distributed Virtual Transaction Directory Server

Throughput in absolute numbers

200000

Entryload

LDAPSearch

LDAPModify

Op

erat

ions

/ s

DVTDSIntel I7 4960X6 Cores @4.6 GHz32 GB RAM7 x SATA 7200 RPM28 Million entries

Oracle OIDSparc T5-232 cores @3.6 GHz512 GB RAMFlash disk array50 million entries

LDAPCompare

LDAPAdd

100000

300000

400000

500000

600000

700000

800000

900000

1000000

Page 19: Distributed Virtual Transaction Directory Server

Throughput per GHz CPU speed

6000

Entryload

LDAPSearch

LDAPModify

Op

erat

ions

/ s

DVTDSIntel I7 4960X6 Cores @4.6 GHz= 27.6 GHz

Oracle OIDSparc T5-232 cores @3.6 GHz= 115.2 GHz

LDAPCompare

LDAPAdd

3000

9000

12000

15000

18000

21000

24000

27000

Page 20: Distributed Virtual Transaction Directory Server

Throughput Scaling

Page 21: Distributed Virtual Transaction Directory Server

Notes on 3D Server Throughput Diagram

● 2 Variables: queue length and number of clients

● Throughput increases with bigger queue length

● Throughput scales by number of cores and clients

● Saturation on 6 core machine at 6 clients

● Degradation when operated beyond saturation

● Linear scaling if not bottle - necked by memory bandwidth

Page 22: Distributed Virtual Transaction Directory Server

Scaling the Data

• 540 million entries in less than 2 hours• Naming attribute was indexed• Indexing time included, no setup time• Multi threaded object loader• LDAP protocol / BER object format• 30 GB RAM, 366 GB data base size

540 Million entries

inetOrgPerson22 AttributesLDIF size: 532 bytes

114 Minutes load time

Linear sc

aling

Page 23: Distributed Virtual Transaction Directory Server

Roadmap 2014

● Automatic replica reconciliation after mirror network faults

● Free configurable indices

● User level documentation

● Free demo version download

Page 24: Distributed Virtual Transaction Directory Server

Thank you for your attention!

www.teracortex.com