1 Effectively Managing Global Engineering Licenses Kimberley A. Dillman IT Solution Architect – Engineering Delphi Corporation
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/20082 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 LicensesKimberley Dillman – Delphi6/5/20083 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 LicensesKimberley Dillman – Delphi6/5/20084 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 LicensesKimberley Dillman – Delphi6/5/20085 The Basic Concepts of “Licensing” - Diagram
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/20086 The Basic Concepts of “Licensing” (1 of 2) Enabling the Application License server processes License file Log files Application client
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/20087 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 LicensesKimberley Dillman – Delphi6/5/20088 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 LicensesKimberley Dillman – Delphi6/5/20089 Managing the License Files – What? License File Attributes Vendor name Daemon names Server names Revision date (effective date)
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Managing the License Files – Ex. 1 Vendor License File Revision Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Managing the License Files – Ex. 2 Vendor License File Comparison Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Monitoring the License Availability - What? Are licenses available? Are we nearing capacity? Who is using the licenses? How long? How many?
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 s if server appears to be “in trouble” Send out s if: Near capacity Excessive job run time User has excessive licenses
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Monitoring the License Availability – Ex. 1 Server Exception Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Monitoring the License Availability – Ex. 2 User Overuse Exception Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 PDF
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Tracking Historical Usage – Diagram
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Analyzing Capacity – What? Denials Maximum concurrent usage (overall) Maximum concurrent usage (user) Length of job Usage hours Division Location
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Analyzing Capacity – Ex. 1 Denial Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Analyzing Capacity – Ex. 2 High Water Mark Report - Monthly:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Analyzing Capacity – Ex. 3 High Water Mark Report - Daily:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ Analyzing Capacity – Ex. 3 Usage Efficiency Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Contract Compliance – What? User’s location Used feature Length of time feature was used Quantity of licenses used
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ Contract Compliance – Ex. 1 Vendor Usage Summary Report:
Managing Global Engineering LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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 LicensesKimberley Dillman – Delphi6/5/ 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?