Database Client Example - PowerPoint PPT Presentation

1 / 6
About This Presentation
Title:

Database Client Example

Description:

A client establishes connection and requests data periodically every 1 sec. It randomly chooses a server and tries to establish network connection with ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 7
Provided by: moonj3
Category:

less

Transcript and Presenter's Notes

Title: Database Client Example


1
Database Client Example
www.upenn.edu
www.microsoft.com
www.drexel.edu
Receive data
Network Connection
Request data
DBClient
2
Description of the DBClient
  • A client establishes connection and requests data
    periodically every 1 sec
  • It randomly chooses a server and tries to
    establish network connection with timeout 3 ms.
    It repeats this for 3 tries
  • It requests data with timeout 1 ms. It repeats
    this for 4 tries
  • Fault tolerant
  • A client uses old data in case that it can not
    get new data due to either connection failure or
    request failure

3
Properties Monitored
  • Fault Tolerant
  • Old data is used only when new data cant be
    obtained due to connection failure or
    unresponsive server
  • Other properties
  • Time-out Events
  • Connection timeout and request timeout
  • Periodicity
  • The client is periodic, i.e., every 1 sec it
    tries to query new data
  • Miss Ratio of Network Connection
  • The ratio of number of successful connection over
    number of total connection tries

4
MEDL Script
  • ReqSpec DBClient
  • import event startPgm, periodStart, conStart,
    conFail, queryResend, oldDataUsed
  • var long periodTime
  • var long lastPeriodStart
  • var int numRetries
  • var int numConStart
  • var int numConFail
  • var int numConFailPeriod
  • /_of_connection_retry3, _of_read_retry4/
  • alarm wrongFT
  • oldDataUsed when
  • ( (numConFailPeriod lt 3) (numRetries lt 4 ) )
  • property periodic (periodTime gt 900)
    (periodTime lt 1100)
  • startPgm -gt
  • periodTime 1000
  • lastPeriodStart time(startPgm)
    numRetries 0
  • numConStart 0
  • numConFail 0
  • numConFailPeriod 0
  • periodStart -gt
  • periodTime time(periodStart) -
    lastPeriodStart
  • lastPeriodStart time(periodStart) numRetries
    0
  • numConFailPeriod 0
  • queryResend -gt
  • numRetries numRetries 1
  • conStart -gt
  • numConStart numConStart 1
  • conFail -gt
  • numConFail numConFail 1
  • numConFailPeriod numConFailPeriod1
  • End

5
PEDL Scripts
MonScr DBClient export event startPgm,
periodStart, conStart, conFail, queryResend,
oldDataUsed monobj int DBClient.connect().index
monmeth void DBClient.main(String) monmeth
void DBClient.run() monmeth void
ConnectTry.ConnectTry(String,int) monmeth void
DBClient.failConnection(ConnectTry) monmeth
Object DBClient.retryGetData(int) monmeth void
DBClient.processOldData() event conFail0
startM(DBClient.failConnection(ConnectTry))
when DBClient.connect().index 0 ... Event
conFail conFail0 conFail1 confFail2
event queryResend0 startM(DBClient.retryGet
Data(int)) when DBClient.connect().index
0 ... event queryResend queryResend0
queryResend1 queryResend2 event oldDataUsed
startM(DBClient.processOldData()) event
startPgm startM(DBClient.main(String
)) event periodStart startM(DBClient.run()
) event conStart startM(ConnectTry.Connect
Try(String,int)) end
6
DB Client Monitoring Structure at Run-time
Receive data
Network Connection
Request data
Instrumented DBClient
GUI
Write a Comment
User Comments (0)
About PowerShow.com