winfs

21
WinFS New Storage Subsystem In Longhorn John Keefauver Manager .NET Business Development Ajilon Consulting

Upload: severus-prime

Post on 02-Jun-2015

1.000 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Winfs

WinFS New Storage Subsystem In Longhorn

John KeefauverManager.NET Business DevelopmentAjilon Consulting

Page 2: Winfs

Agenda

User and developer benefits of WinFS

What is WinFS?

WinFS Technology

- Data model

- Schemas

- APIs

- Synchronization

- InfoAgent

- Filesystem

Extending WinFS

WinFS implications

Page 3: Winfs

Key Points Integrated storage

Digital-born data

- Business processes generating more digital data

- Personal Memories, e.g. Digital photography and video

Search

- Knowledge workers spending hours daily searching for information

- Industry awaits next leap in productivity

Fortunately, technology supports these trends

- 70%/year individual disk capacity growth over last decade

- Longhorn will have WinFS

Page 4: Winfs

User Benefits

Find

- Data is easily found

- Information is organized in the way people think about it

- There is an integrated view of information Relate

- Discovery of data is easy

- Data is smarter and related together Act

- Data flow is controllable

- Preferences for how information is handled

- Work anywhere, anytime, anyplace

Page 5: Winfs

WinFS Developer Benefits

New filesystem capabilities

- Current applications continue to work on Longhorn, and benefit from new capabilities

- Metadata and relationships on most file formats

- Metadata handlers for custom file formats

New Windows primitives

- New things in the OS to integrate with

- Extensible to include additional data

New data subsystem capabilities

- Smart connected applications

- Data Sharing

- Branded data to other applications and the Shell

Page 6: Winfs

WinFS Is

All end-user data lives in Longhorn

New user experience in Longhorn Shell

A trustworthy place to store data

Data model built on relational database technology

Filesystem capabilities built on NTFS

Everyday Information - domain-specific schemas

Services that make data active

Page 7: Winfs

WinFS Is Not

Abandoning legacy applications

Forcing the world to rewrite everything

Complete yet!

- Fundamental model complete for Beta1

- Platform and User Experience complete in Beta2

Just a database

Page 8: Winfs

Communication

Avalon WinFS IndigoWindows Forms

ASP.NET

ObjectSpacesObjectSpaces

DataSetDataSet

SQL XMLSQL XML

ProvidersProviders

Fram

ework

ServicesSchemas

Data Model

ADO.NET

Connectivity

Synchronization(WinFS, Win32..)Synchronization(WinFS, Win32..)

InfoAgent(PreferenceRules..)InfoAgent(PreferenceRules..)

FileSystem Services(MetaDataHandlers..)FileSystem Services(MetaDataHandlers..)

CalendarCalendar MediaMedia

DocumentDocument ……

ItemsItems

RelationshipsRelationships

ExtensionsExtensionsCommunications Manager (Port)Communications Manager (Port)

Messaging Services

Transport Channels(IPC, HTTP, TCP…)Transport Channels(IPC, HTTP, TCP…)

Channels (Datagram, Reliable, Peer, …)

Channels (Datagram, Reliable, Peer, …)

Policy EnginePolicy Engine

MessageEncoderMessageEncoder

ChannelSecurityChannelSecurity

QueuingQueuing

EventingEventing

RoutingRouting

TransactionTransaction

Desktop ServicesDesktop Services

Desktop WindowManagerDesktop WindowManager

Presentation Object ManagerPresentation Object Manager

Desktop Composition EngineDesktop Composition Engine

Animation andCompositionAnimation andComposition

Media Services

Hardware RenderingHardware Rendering

MediaProcessingMediaProcessing

Capture and SourcingCapture and Sourcing

Software Renderingand SinksSoftware Renderingand Sinks

Adaptive UIEngineAdaptive UIEngine

Page/SiteCompositionPage/SiteComposition

Personalization andProfiling ServicesPersonalization andProfiling Services

Membership and Security ServicesMembership and Security Services

Designer ServicesDesigner Services

Controls Interop EngineControls Interop Engine

ControlsControls

Windows Forms

ApplicationServicesApplicationServices

PeoplePeople GroupGroup

Collaboration

People andGroupsPeople andGroups

CollaborationHistoryCollaborationHistory

Real-TimeActivitiesReal-TimeActivities

SignalingSignalingFederationFederation

System Services

Transactions Storage

Protocols

Network Services

Kernel M

ode

Base Class LibrariesBase Class Libraries

Memory ManagerMemory Manager

Hosting LayerHosting Layer

Code ExecutionCode Execution LoaderLoader SecuritySecurity SerializationSerialization

LightweightTransactionsLightweightTransactions

TransactionCoordinatorTransactionCoordinator

KernelTransactionManager

KernelTransactionManager

LoggingServiceLoggingService

KernelKernel

Hardware Abstraction LayerHardware Abstraction Layer

ProcessManagerProcessManager

SecurityReference Monitor

SecurityReference Monitor

LPCFacilityLPCFacility

MemoryManagerMemoryManager

PowerManagerPowerManager

ConfigManagerConfigManager

Plug andPlayPlug andPlay

TransactedNTFSTransactedNTFS

Cache ManagerCache

ManagerUniversalData Format

UniversalData Format

FilterEngineFilterEngine

TCP, UDPIPV4, IPV6TCP, UDPIPV4, IPV6 IPSECIPSEC QOSQOS HTTP

ListenerHTTPListener

Internet Connection FirewallInternet Connection Firewall

Demand Activation and Protocol HealthDemand Activation and Protocol Health

PNRPPNRP NativeWiFiNativeWiFi SIPSIP TCP

ListenerTCP Listener

UDP ListenerUDP Listener

IPC ListenerIPC Listener

Network Class LibraryNetwork Class Library

GDI/GDI+GDI/GDI+ WindowManagerWindowManager

GlobalAudio Engine

GlobalAudio Engine

Direct 3DGraphicsDirect 3DGraphics

Graphics driversGraphics drivers

DDIDDI InputManagerInputManager

AudioDriversAudioDrivers

DirectX GraphicsMini port

DirectX GraphicsMini port

RedirectorsRedirectors

SCSI/FCSCSI/FC 802.3802.3 802.11802.11 ....

Device Drivers

ManagementServices

(Event Logs,Tracing,Probes,

Auto Update,Admin)

ManagementServices

(Event Logs,Tracing,Probes,

Auto Update,Admin)

IO ManagerIO Manager

Application DeploymentEngine (Click-Once)

Application DeploymentEngine (Click-Once)

Identity &SecuritySystem

Identity &SecuritySystem

FAT 16/32FAT 16/32

FilterManagerFilterManager

DistributedFile SystemDistributedFile System

Virtual ShadowCopy ServiceVirtual ShadowCopy Service

File ReplicationServiceFile ReplicationService

Virtual DiskServiceVirtual DiskService

Models

ServiceServiceObjectObject T/SQLT/SQL XMLXMLDocumentDocument UIUI MediaMedia

CLR

Presentation Data Communication

Base Operating System Services

Avalon WinFS Indigo

WinFS Overview

Complete Data SubSystem- Object, Relational, and XML

Schema Framework- Extensible “everyday info” schemas- ISV-built schemas

Data store and Model - Items- Relationships- Extensions

Data Services- Synchronization- InfoAgent- Filesystem Services

NTFS- NTFS Semantics

for Filestreams- Backwards Compatible

with Win32

Complete Data SubSystem- Object, Relational, and XML

Schema Framework- Extensible “everyday info” schemas- ISV-built schemas

Data store and Model - Items- Relationships- Extensions

Data Services- Synchronization- InfoAgent- Filesystem Services

NTFS- NTFS Semantics

for Filestreams- Backwards Compatible

with Win32

Page 9: Winfs

WinFS Data Model

Items

- The new atomic unit of data Items have subsumed Files Copy, put in Folders, etc.

- A group of simple and complex types that represent data Defined in a schema, arranged

in types

- Structured or semi-structured

- Persisted

Relationships- Explicitly relate Items together

E.g.; Author binds Document to Contact

- Schema can model complex items- Containment, reference, embedding,

categories, etc. Extensions

- Provide ability to add new data to existing Item types

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 10: Winfs

Data Model Goals

Mechanism to schematically model complex items

- Documents, pictures, people, video, sound, etc.

- Provide mechanism to implement complex item behavior

- Embedding links to model compound items

OLE Document Files

Mail messages and attachments

Provide organizational facilities for items

- Relationships as first class entities to relate items

- Queries as way to retrieve and classify items

- Folders as a mechanism for explicitly organize items

Page 11: Winfs

WinFS Schemas

Windows Everyday Information- Documents, Messages,

Annotations, Notes- Media, Audio, Video, Images- Events, Appointments,

Locations, UserTask Windows System

- SystemTasks, Config, Programs- Explorer, Help, Security

New Schemas- Developers can define own

data shape comprised of Scalars Complex Types XML Binary/Filestream

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 12: Winfs

WinFS APIs

Objects- VB, C#, etc. strongly

typed classes- The way to program to WinFS- Lots of WinFS helper functions- System.Search

T/SQL- ADO.NET- Standard relational language for

complex queries- Enables view integration with other

data sources- Read only

XML- WinFS Items can be serialized into

XML- Enables data interop

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 13: Winfs

API Examples

VB Managed API

Dim personItem As Person

For Each personItem In Person.FindAll(context, “PersonalNames.Surname=’Smith’)

...

Next

• T-SQLselect p._Item from [System.Storage.Contacts.Store].

[Person] p where exists (select * from unnest

(p.PersonalNames) n where n.Surname=‘Smith')

Page 14: Winfs

WinFS ServicesFilesystem

“File-backed” Items

- Items with traditional filestream parts within

- Uses real NTFS streams and file handles

- Any file can be imported into WinFS as a File-back Item

WinFS is backwards compatible with Win32

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 15: Winfs

Longhorn And Filesystems

Files can live solely in an NTFS volume

- Available for boot E.g., C:\Windows is in NTFS

- Volume can be mounted on down level machine E.g., Firewire drive on both XP and Longhorn

Items can live solely in WinFS

- File-backed Items Accessible through standard Win32 APIs

Metadata Handlers get data in and out of file streams

- User data moved into WinFS I.e., C:\Documents and Settings

- Has Import/Export utilities

Page 16: Winfs

WinFS ServicesOperations

Security Config

Manageability

Backup/Restore

App install

- Schemas, classes, replication adaptors, preference rules, etc.

- Versioning

Snapshot/TimeWarp

Anti Virus

Quota

Admin Tools

Import/Export

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 17: Winfs

WinFS ServicesSynchronization

Synchronize one WinFS with another

- Keep My Contacts and My Files in sync across my home machines

- Peer to Peer sharing

Synchronize WinFS with other data sources

- Keep My Contacts in sync with online email contacts, enterprise CRM, etc.

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 18: Winfs

WinFS ServicesInfoAgent

Users want to control how their PCs behave

- It’s called a personal computer after all

- Every aspect of the system can be personalized

InfoAgent enables rich, flexible customization

- “When I receive a high priority email from a customer, show me a popup message if I’m at my desk, otherwise forward it to my cell phone”

- “When I download new photos from my camera, relates them to the events on my calendar”

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent (Rules, …)InfoAgent (Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

Page 19: Winfs

Notifications And InfoAgent

‘Active Data’ – Subscribe to WinFS changes

Item change subscriptions

Item Domain containment/query subscriptions

InfoAgent Integration

Inclusive set of events, contexts, and actions

Preferences stored as WinFS items

Unified management of notification rules

ActionsActionsPreferencesPreferences

EventsEvents

ContextsContexts

Page 20: Winfs

Fram

ework

Models

Core WinFS ItemsItems

RelationshipsRelationships

ExtensionsExtensionsFilesystem Srvcs (Handlers, …)Filesystem Srvcs (Handlers, …)

OperationsOperations

Data Model

NTFSNTFS

Relational EngineRelational Engine

ServicesPeoplePeople

DocumentsDocuments

……InfoAgent(Rules, …)InfoAgent(Rules, …)

Synchronization(WinFS, …)Synchronization(WinFS, …)

Schemas

XMLXMLAPIs

T/SQLT/SQLObjectsObjects

WinFS Extensibility Points

11

22

33

44

55

Extend and Relate Windows types

Build your own Types

Build Metadata handlers for

custom file formats

Build Synchronization adaptors and custom resolution handlers

Build on InfoAgent

66 Integration with Longhorn Shell

11

22

33

44

55

66

Page 21: Winfs

WinFSWhat does this mean?

The new way to think about data

- Being a Data Geek not required!

Exposes data in a way that makes a user’s data more useful to them

New managed APIs for new entities in Windows, and for new data

An storage subsystem layer enabling you to do more and do it quickly and easily

A significant leap forward that’s 100% backwards compatible