A Case for Dynamic File System Views - ITEC - Operating Systems ...

27
A Case for Dynamic File System Views Konrad Miller <[email protected]> KIT - System Architecture Group | EuroSys DW, April 2011 KIT – Universit¨ at des Landes Baden-W ¨ urttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Transcript of A Case for Dynamic File System Views - ITEC - Operating Systems ...

A Case for Dynamic File System ViewsKonrad Miller <[email protected]>

KIT - System Architecture Group | EuroSys DW, April 2011

KIT – Universitat des Landes Baden-Wurttemberg und

nationales Forschungszentrum in der Helmholtz-Gemeinschaft

www.kit.edu

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2a/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2b/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2c/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2d/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2e/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2f/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2g/5

Motivation 1/2

With classical file systems and package managers it is hardor impossible to . . .

. . . install software from different distributions side-by-side

. . . use multiple versions of the same software at the same time

. . . automatically fetch and replace packages on demand

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 2/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3a/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3b/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3c/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3d/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3e/5

Motivation 2/2

. . . easily install any app without root privileges

. . . set different file access rights for different apps of the same userEver tried to jail users to their home for ssh sessions?Allow Firefox to see only the “downloads” folder?

These shortcomings all stem fromNaming conflictsImprecise specification of packagesSecurity/access rights issues

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 3/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4a/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4b/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4c/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4d/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4e/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4f/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4g/5

Approach

A generic solution can be to break up the static, unified namespace thuscreating Dynamic File System Views!

Sandbox apps by giving every (user, app) tuple its own namespaceMade up of the application itself and its dependencies (e.g., shared objects)Enhance privacy by making visibility of user content optional and explicit

Separate handling of meta data from binaries and user contentCreate view from meta dataStorage of objects and thus sharing of data stays intactHDD is a cache for app data, but persistent storage for user content

The app and everything the app needs is fetched and cached transparentlyInstallation is integrating the application into the desktop

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 4/5

Challenges

How does desktop integration work?How do you start apps?How do you share data between apps and users?How do apps interplay?

What happens if you click a mailto: link in a browser?

How do you find the min. dependency set?RPM’s dependency list is incomplete and based on names

How high is the toll you need to pay?Runtime, storage, bandwidth overhead?

Let’s talk about itThere are plenty of design options to enhance the state of the art(0-install, packaging concepts, chroot, compartments, virtualization, . . . )I am looking forward to hearing your commentsCome to my poster for implementation ideas and discussions

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 5a/5

Challenges

How does desktop integration work?How do you start apps?How do you share data between apps and users?How do apps interplay?

What happens if you click a mailto: link in a browser?

How do you find the min. dependency set?RPM’s dependency list is incomplete and based on names

How high is the toll you need to pay?Runtime, storage, bandwidth overhead?

Let’s talk about itThere are plenty of design options to enhance the state of the art(0-install, packaging concepts, chroot, compartments, virtualization, . . . )I am looking forward to hearing your commentsCome to my poster for implementation ideas and discussions

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 5b/5

Challenges

How does desktop integration work?How do you start apps?How do you share data between apps and users?How do apps interplay?

What happens if you click a mailto: link in a browser?

How do you find the min. dependency set?RPM’s dependency list is incomplete and based on names

How high is the toll you need to pay?Runtime, storage, bandwidth overhead?

Let’s talk about itThere are plenty of design options to enhance the state of the art(0-install, packaging concepts, chroot, compartments, virtualization, . . . )I am looking forward to hearing your commentsCome to my poster for implementation ideas and discussions

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 5c/5

Challenges

How does desktop integration work?How do you start apps?How do you share data between apps and users?How do apps interplay?

What happens if you click a mailto: link in a browser?

How do you find the min. dependency set?RPM’s dependency list is incomplete and based on names

How high is the toll you need to pay?Runtime, storage, bandwidth overhead?

Let’s talk about itThere are plenty of design options to enhance the state of the art(0-install, packaging concepts, chroot, compartments, virtualization, . . . )I am looking forward to hearing your commentsCome to my poster for implementation ideas and discussions

c©K. Miller – A Case for Dynamic File System Views EuroSys DW, April 2011 5/5