1 effectively managing global engineering licenses kimberley a. dillman it solution architect –...
TRANSCRIPT
1
Effectively Managing Global Engineering Licenses
Kimberley A. DillmanIT Solution Architect – EngineeringDelphi Corporationemail: [email protected]
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 2
Delphi Overview and Vision
Leading global supplier of mobile electronics and transportation systems, including powertrain, safety, steering, thermal, and controls & security systems, electrical/electronic architecture, and in-car entertainment and communication technologies
Ranked 92 on the 2008 Fortune 500 company list
Global manufacturing footprint Strategically located to support our customers
Advanced technology and OE quality parts and service Automotive Independent aftermarket, consumer electronics businesses, medical,
commercial vehicles or other adjacent-market businesses
Vision Be Recognized By Our Customers As Their Best Supplier!
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 3
Overview
Introduction
The basic concepts of “licensing”
Managing the license files
Monitoring the license availability
Tracking historical usage
Analyzing capacity
Contract compliance
Cost of usage
Summary
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 4
Introduction
As the lead time for product design drastically decreases, the need for the use of computer-aided engineering tools, especially for simulation and analysis, rapidly increases to meet these new deadlines
Computer-generated models and simulations increase the quality and accuracy of the designs and reduce the overall design cycle time
These tools can be very expensive
The deployment and usage of these tools needs to be accurately tracked and managed to make the most efficient use of these assets
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 5
The Basic Concepts of “Licensing” - Diagram
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 6
The Basic Concepts of “Licensing” (1 of 2)
Enabling the Application
License server processes
License file
Log files
Application client
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 7
The Basic Concepts of “Licensing” (2 of 2)
Managing the Application
Managing the license files
Monitoring the license availability
Tracking historical usage
Analyzing capacity
Contract compliance
Cost of usage
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 8
Managing the License Files – Why?
Revision Control
History of license file revisions
Recording the differences
Accuracy
What was added?
What was removed?
What changed?
Testing
Verifying the changes
Implementation
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 9
Managing the License Files – What?
License File Attributes
Vendor name
Daemon names
Server names
Revision date (effective date)
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 10
Managing the License Files – What?
Feature Attributes
Name
Type (Increment, feature, etc.)
Expiration date
Quantity
Version
BORROW allowed? (and default time length)
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 11
Managing the License Files – How?
Database
Store the key fields from the license file
Record revision date for the license file
Parser Scripts
Used to extract key fields from the license file to be imported into the database
Reports
Vendor’s files that are “tracked”
Revisions of license files available for each vendor
Differences between license files (add/delete/change)
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 12
Managing the License Files – Ex. 1
Vendor License File Revision Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 13
Managing the License Files – Ex. 2
Vendor License File Comparison Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 14
Monitoring the License Availability - Why?
Detect Potential Problems or Outages
Prevent outages
Minimize down time due to outages
Monitor Usage Near Capacity
Detect and monitor periods of high usage
Identify very long running jobs
Additional compute resources needed?
Hung job or license?
Detect usage of large quantities of licenses by individual users
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 15
Monitoring the License Availability - What?
Are licenses available?
Are we nearing capacity?
Who is using the licenses?
How long?
How many?
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 16
Monitoring the License Availability - How?
Scheduled Jobs
Use license manager specific utilities to gather status information from the license server
Extract important information from the status output
Monitor
Send out emails if server appears to be “in trouble”
Send out emails if:
Near capacity
Excessive job run time
User has excessive licenses
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 17
Monitoring the License Availability – Ex. 1
Server Exception Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 18
Monitoring the License Availability – Ex. 2
User Overuse Exception Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 19
Tracking Historical Usage – Why?
Analysis of current usage issues
Analysis of capacity
Current
Future
Analysis for compliance to vendor contracts
Overdraft pool usage
Usage by location
Determine usage cost
Internal cost allocation
Relative tool cost
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 20
Tracking Historical Usage – What?
Users
Host and/or IP address
Features
Type of use
License quantities
Job time
Start
End
Client software version
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 21
Tracking Historical Usage – How?
Logs
License server records usage data
Database
Store key fields from usage data
Store additional user info
Store additional vendor info
Parse scripts
Extract data from text logs
Dump raw data from encrypted logs
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 22
Tracking Historical Usage – How?
Stored Procedures
Import data extracted with parser scripts into database
Manipulate raw data into form necessary for required reports
Provide calculations necessary for reports
Reports
Generate reports based on type of report required and format
Excel
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 23
Tracking Historical Usage – Diagram
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 24
Analyzing Capacity – Why?
Determine if new users can be supported with existing capacity
Determine reasons for denials and/or problems with license access
Determine usage efficiency of existing capacity for renewals
Predict future capacity needs based on analysis of current usage patterns and history
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 25
Analyzing Capacity – What?
Denials
Maximum concurrent usage (overall)
Maximum concurrent usage (user)
Length of job
Usage hours
Division
Location
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 26
Analyzing Capacity – How?
Denial reports
Reason for denial
Time period
High water mark
By time period
By user and/or division
Usage efficiency
By time period
By user and/or division
Usage summary
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 27
Analyzing Capacity – Ex. 1
Denial Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 28
Analyzing Capacity – Ex. 2
High Water Mark Report - Monthly:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 29
Analyzing Capacity – Ex. 3
High Water Mark Report - Daily:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 30
Analyzing Capacity – Ex. 3
Usage Efficiency Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 31
Contract Compliance – Why?
Provide vendor with usage information by location for their internal purposes
Distribution of support costs
Provide vendor with usage information by feature for their internal purposes
Distribution of support costs
Proof of compliance with license serving restrictions
site / regional / global
Overdraft pool usage frequency
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 32
Contract Compliance – What?
User’s location
Used feature
Length of time feature was used
Quantity of licenses used
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 33
Contract Compliance – How?
Total usage by location
Total usage by location and feature
High water mark
Usage efficiency
High water mark by location
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 34
Contract Compliance – Ex. 1
Vendor Usage Summary Report:
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 35
Allocating Cost of Usage – Why?
To allow fair distribution of total cost re-allocation internally
To compare vendor usage cost at various locations
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 36
Allocating Cost of Usage – What?
User’s location
Used feature
Length of time feature was used
Quantity of licenses used
Relative cost of feature (weighting factor)
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 37
Allocating Cost of Usage – How?
Total usage report spreadsheet
Division
Location
User
Feature (optional)
Time period
Duration hours and percentage of total vendor usage
Tokenized hours and percentage of total vendor usage
Weighted hours and percentage of total vendor usage
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 38
Summary
To effectively manage global engineering licenses, it is important to understand the following: what you have, where it is being used, who is using it, and how much it costs
The only way to understand it is to analyze it
The only way to analyze it is to track it
It is also important to monitor the availability of what you have. It is not cost effective nor productive to have resources frequently “unavailable” when required
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 39
Delphi Lessons Learned (1 of 3)
Each vendor may choose to implement the same license manager in a different way
Feature-based, token-based, or mixed
Many features for each “product”
“Duplicate” usage by host, display, and/or user
Analyzing the data and reports requires technical knowledge of how the vendor actually implements the license manager and licenses within their applications
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 40
Delphi Lessons Learned (2 of 3)
Different license managers require different methods to extract the usage data, however, most license managers log the same basic data so a common storage and reporting system can be used with a little “creative” thinking and design
The level of “accuracy” of license reporting needed can vary by application and this may determine the tools used for reporting
Whether or not a license should be shared globally usually depends on how that license is used (i.e. when, where, and for how long)
Managing Global Engineering Licenses Kimberley Dillman – Delphi 6/5/2008 41
Delphi Lessons Learned (3 of 3)
CAD license “usage models” can be very different than CAE license “usage models” due to the nature of software, the user, and the way it is used
There are various ways to provide license “redundancy” using the mechanisms built in to the current license managers, however, they all appear to have drawbacks. Providing a “failover” mechanism for the entire license pool is preferable when allowed by the vendor
42
Questions?