COVID19 Policy Brief-Realizing the Full Potential of ... - OCC
Brief Introduction to InishTech and the Software Potential Service
-
Upload
inishtech -
Category
Technology
-
view
80 -
download
1
Transcript of Brief Introduction to InishTech and the Software Potential Service
About InishTech
• Spin out from Microsoft, privately held, based in Ireland, Microsoft
own 24%
• Mature, stable, proven technology platform
• Software Licensing & Monetization cloud service
• Built on the Windows Azure platform, designed from the ground
up for the .NET ecosystem
• Enabling the ISV to easily manage and control how their software
is bought, used and consumed
The Software Potential Platform
• Complete Software Licensing Management & Platform & Code
Protection Service
• Designed from the ground up for the .NET ecosystem
• Provided as a cloud service for ISVs
• Built on Windows Azure, provided from the Microsoft cloud
• Handles all types of licensing, and allows for you to protect your
applications from misuse - Unique, patented code protection &
transformation mechanisms at its core
What does licensing provide for the
ISV?
• Software Entitlement Management
– Create, assign, distribute & maintain license entitlements to
your software in the market
– Why?
• Customer management
• Software monetization
• Customer satisfaction
What does licensing provide for the
ISV?
• Agile Software Packaging
– The ability to separate development (engineering task) from
product configuration & packaging (non engineering task)
– Build once / configure ∞ – Why?
• Reduced dev costs
• Customer choice
• Product differentiation
Agile Software Packaging: Total SKU Versatility
Software Engineering Team
Application
Single Code Base
Functions Features
Software Product Management Team
Trial Edition SKU 1
Lite Edition SKU 2
Pro Edition SKU 3
Custom SKU 4
Time
Price
Other
Usage
Key Wins: Faster Time to Market
& Lower Maintenance Cost
Key Wins: Sales Agility & Customer
Alignment
InishTech SaaS SDK
What does licensing provide for the
ISV?
• Software Protection
– The ability to protect your code from unauthorised and illegal
misuse
• Piracy
• Tampering / Reverse Engineering
• Casual misuse
– Why?
• Compliance = monetization
• Software fidelity & reputation
• Malware
What does licensing provide for the
ISV?
• Sales Model Versatility
– Price based on SKU
– Time- and / or usage-based pricing
– Pay as you Go models
– Why?
• Customer choice
• Price versatility
• Market reach
• Up-selling, renewals & upgrades
What does licensing provide for the
ISV?
• Analytics / Feedback
– Who are my customers?
– SKU / feature popularity
– License compliance
– Why?
• Customer info for CRM
• Usage info for tech / marketing
• Licensing info for finance / sales
Which aspects of your business are
affected?
Develop
Deploy Operate
Package
Developer protects
code & assign
attributes to license
features (i.e. hooks to
Software Potential)
Product Managers
define products,
features, Editions etc.
Install / provisioning –
activation of software
for customer – often
automated
License validated at
runtime, automated
entitlement
decisioning
Your Application • Code transformation is controlled by a Permutation that is
either vendor or optionally product specific
• Permutation is downloaded to Code Protector tool
• Code Protector converts CIL into Secure Virtual Machine
Language (SVML) using Permutation settings
• All benefits of .NET managed code retained
• Runtime DLLs packaged with ISV application to run SVML
• Application runs as normal except the SVML is executed by the
Secure Runtime
Code Protection
Transformed Code is Protected
Code
private static System.Data.DataRow AddPatient()
{
…..
uint MaxPatients = MaxPatientsFeature.Limit.TotalUsageCount;
uint CurrentPatients = (uint)GetNewPatientCount();
if (CurrentPatients < MaxPatients)
{
string connectionString=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=MedicalImage.mdb;Password=medical”;
OleDbCommand insertCommand = new OleDbCommand(insertString, connectionString);
insertCommand.ExecuteNonQuery();
return GetPatientRow(patientID);
}
else
{
MessageBox.Show("The maximum number of patients for this license has been reached.");
return null;
}
}
Ori
gin
al
Fu
ncti
on
Tra
nsfo
rmed
Fu
ncti
on
public static DataRow AddPatient()
{
object[] args = new object[0];
object obj2 = SLMRuntime.SVMExecMethod(null, "ed036b16124148cab8f47aa5dbf86e22", args);
return (DataRow) obj2;
}
One-way
transformation
www.softwarepotential.com
Thank You!