+ All Categories
Home > Technology > Brief Introduction to InishTech and the Software Potential Service

Brief Introduction to InishTech and the Software Potential Service

Date post: 01-Jul-2015
Category:
Upload: softwarepotential
View: 37 times
Download: 0 times
Share this document with a friend
Description:
Brief presentation on InishTech, the Software Potential Code Protection and Licensing service and how ISVs can benefits from using smart licensing.
17
Software Potential from Unlocking the Commercial Potential in your Software
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


Recommended