29
PDSG NYU 1 Using Views for Customizing Reusable Components in Component-Based Frameworks Anca-Andreea Ivan Vijay Karamcheti New York University

Using Views for Customizing Reusable Components in Component-Based Frameworks

  • Upload
    lavi

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

Using Views for Customizing Reusable Components in Component-Based Frameworks. Anca-Andreea Ivan Vijay Karamcheti New York University. Application Adaptation. Motivation: Applications run in heterogeneous environments. Network state changes over time. Problem: - PowerPoint PPT Presentation

Citation preview

Page 1: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

1

Using Views for Customizing Reusable Components in

Component-Based Frameworks

Anca-Andreea Ivan Vijay Karamcheti

New York University

Page 2: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

2

Application Adaptation

Motivation: Applications run in heterogeneous environments. Network state changes over time.

Problem: Changes in environment state often impact application

performance in a negative way.

Solution: Flexibly adapt the application to environment changes.

Page 3: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

3

Choices for Application Adaptation

Two classes of application adaptation: Applications adapt by themselves

Requires code modification

Systems adapt applications: Applications expose knobs: Tunability Framework Systems adapt applications by deploying components:

• Static linkages: CCM, .NET

• Dynamic linkages: Partitionable Services Framework-PSF,

CANS

Page 4: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

4

Running Example: Web-Based Mail Application

Components:

Clients can require certain quality of service levels: Minimum operation time (send/receive). Confidentiality : privacy required (or not).

CipherWeak Mail

ClientMail ClientCache

Mail Server

Mail Server

Page 5: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

5

Partitionable Services Framework

secure, fastinsecure, slow

A BPSF

Page 6: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

6

Partitionable Services Framework - Protocol

User makes request

PSF creates plan

PSF deploys comp

Nodes link/run comp

PSF authorizes nodes

PSF extracts properties

PSF customizes comp

PSF authorizes user

Nodes authorize comp

Page 7: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

7

Challenges

Descriptive application specification that comprises general application properties. [HPDC 2002]

Efficient planning process that considers application and environment properties. [IPDPS 2003]

Efficient and flexible component customization. Distributed, single sign-on, cross-domain authorization. Efficient and secure deployment process.

Page 8: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

8

Challenges

Descriptive application specification that comprises general application properties. [HPDC 2002]

Efficient planning process that considers application and environment properties. [IPDPS 2003]

Efficient and flexible component customization. Distributed, single sign-on, cross-domain authorization. Efficient and secure deployment process.

Page 9: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

9

Component Customization - Summary

Definition of component customization

Advantages of component customization

View definition Example

View run-time support View generator View deployment system

Page 10: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

10

Component Customization

“Component customization” denotes the automatic creation of new components based on old components and a few simple rules.

Base component is and implements• MessageInterface

• AddressInterface

• NotesInterface

One possible component is and implements• MessageInterface

• AddressInterface

Page 11: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

11

Advantages of Component Customization

Increased chances to find a valid deployment plan: New components can have different properties.

Customized, single sign-on access control: Customizing / removing / adding methods. Distributing only the minimum necessary code to users . No need to access sources (Java bytecode modification).

Ease the programming effort: Defining simple rules instead of duplicating code.

Page 12: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

12

View Definition

A view ( ) represents a component, if

Its functionality is derived from the component functionality.

is a for

Its data is a subset of the data used by the component.

is a for

Page 13: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

13

view WeakMailClientclass MailClient

Using Views

MessageInterface

m1 x = 3

MessageInterface

m1 x = 3

AddressInterface

m2 y = 4

NotesInterface

m3 z ++z ++

AddressInterface

m2 y = 4

NotesInterface

m3 z ++

y = 6

m4a = 10

Page 14: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

14

XML View Description

<View name = WeakMailClient />

<Represents name = MailClient />

<Restricts>

<Interface name = MessageInterface />

<Interface name = AddressInterface />

<Adds_Methods>

<MSign> m4

<MBody> a = 10

<Customizes_Methods>

<MSign> m2

<MBody> y = 6

Page 15: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

15

View Generation Tool - VIG

VIG is an automatic view generator. Input: original component + view definition rules Output: new component (e.g. view) Based on bytecode modifier (Javassist)

Operations allowed when defining a view: Add new fields; copy fields from the original component; Add new methods; copy or customize methods from the

original component; Restrict interfaces; add new interfaces.

Page 16: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

16

Views – Run-Time System

User makes request. PSF authorizes user. PSF customizes components. PSF extracts link & node &

component properties. PSF creates a valid plan. PSF authorizes nodes. PSF deploys components on

nodes. Nodes authorize components. Nodes run & link components.

APSF

Page 17: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

17

Challenges in deploying views

Expressing views properties (environment properties): General properties (e.g. privacy, OS - version) Different administrators.

Authorizing users, node, views: Different domains. No centralized certification authority. No total knowledge about the credential space.

Linking views: Secure communication channels. Continuous monitoring of the trust relationships.

Page 18: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

18

View – Run-Time System

Distributed trust managements system Each domain has its own certification root and defines its

own meaningful credentials. dRBAC [ICDCS 2002]

Communication abstraction to establish secure, authenticated, and continuously monitored links between components. Switchboard [RESH 2002]

Page 19: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

19

Using Views, dRBAC, and Switchboard

A

PSF

[ →A.partner]A[ → Dell.linux ] Dell

A.user

A.partner[Dell.linux→Mail.Node] Mail

[ → A.comp ] A

[ → A.comp ] A

Page 20: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

20

Current status

JDK 1.4 Bouncycastle 1.16 Linux, Windows 2000 (XP) Partitionable Services Framework

http://www.cs.nyu.edu/pdsg/pdsg.htm - Software/PSF PSF, VIG, Sekitei

Disco: http://www.cs.nyu.edu/pdsg/pdsg.htm - Software dRBAC, Switchboard

Page 21: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

21

Related Work

Cross-domain authorization: DCE, DCOM, Corba Multiple certification roots No requirement for total knowledge

Expressing environment properties: CANS, Ninja, previous version of PSF Translating between environment and application props.

Granularity of access control: DCE, Corba, DCOM Flexible, single sign-on access control

Page 22: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

22

Contributions

Automatic creation of new components (e.g. views) by customizing old components Increased chances of successful planning Customized, single sign-on access control

Distributed trust management and role-based access control system (dRBAC) Expressing component and environment properties

Secure communication channels with continuous monitoring of trust relationships (Switchboard)

Page 23: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

23

Thank you

[email protected]

http://www.cs.nyu.edu/~ivan

Page 24: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

24

Partitionable Services Framework - Protocol

User makes request to access service. PSF authorizes user before granting access to service. PSF customizes the set of available components. PSF extracts link & node properties. PSF creates a valid plan. PSF authorizes nodes before deploying components. PSF deploys components on the nodes. Nodes authorize components before running them. Nodes link & run components on nodes.

Page 25: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

25

dRBAC – Distributed RBAC

Self-certifying delegations:

[ NY.user ]NY

Third-party delegations:

[ NY.user ] SE

Assignment delegations:

[ SE NY.user ‘] NY

Attributes for delegations

[ NY.user w/ BW=100kb ] NY

Page 26: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

26

User Authorization

[ NY.user ] NY

[ SE NY.user ‘ ] NY

[ NY.user ] SE

New York

Seattle

Page 27: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

27

Distributed Authorization

[ NY.user ] NY

[ SE NY.user ‘ ] NY[ SE NY.user ‘ ] NY

[ NY.user ] SE[ NY.user ] SE

? NY.user

Page 28: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

28

Node Authorization & Translation Environment Properties

[ Dell.linux ] Dell

[ IBM.xp ] IBM

[ IBM.xp Mail.node w/ Secure= F ] Mail

[ Dell.linux Mail.node w/ Secure= T ] Mail

New York

Seattle

Mail

Page 29: Using Views for  Customizing Reusable Components in  Component-Based Frameworks

PDSGNYU

29

Component Authorization

New York

Seattle

[ NY.exec w/ CPU = 100 ] NY

[ NY.exec w/ CPU = 100 ] NY

[ NY.exec w/ CPU = 100 ] NY

[ NY.exec w/ CPU = 100 ] NY

[NY.exec SE.exec w/ CPU = 80 ] NY