brief introduction to inishtech and the software potential service

17
Software Potential from Unlocking the Commercial Potential in your Software

Upload: softwarepotential

Post on 01-Jul-2015

37 views

Category:

Technology


0 download

DESCRIPTION

Brief presentation on InishTech, the Software Potential Code Protection and Licensing service and how ISVs can benefits from using smart licensing.

TRANSCRIPT

Page 1: Brief Introduction to InishTech and the Software Potential Service

Software Potential from Unlocking the Commercial Potential in your Software

Page 2: 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

Page 3: Brief Introduction to InishTech and the Software Potential Service

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

Page 4: Brief Introduction to InishTech and the Software Potential Service

>140 tech companies use Software

Potential

Page 5: Brief Introduction to InishTech and the Software Potential Service

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

Page 6: Brief Introduction to InishTech and the Software Potential Service

Complete Software Licensing

Lifecycle Management

Page 7: Brief Introduction to InishTech and the Software Potential Service

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

Page 8: Brief Introduction to InishTech and the Software Potential Service

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

Page 9: Brief Introduction to InishTech and the Software Potential Service

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

Page 10: Brief Introduction to InishTech and the Software Potential Service

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

Page 11: Brief Introduction to InishTech and the Software Potential Service

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

Page 12: Brief Introduction to InishTech and the Software Potential Service

Software Potential Key Elements

Page 13: Brief Introduction to InishTech and the Software Potential Service

Software Potential How does it work?

Page 14: Brief Introduction to InishTech and the Software Potential Service

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

Page 15: Brief Introduction to InishTech and the Software Potential Service

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

Page 16: Brief Introduction to InishTech and the Software Potential Service

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