Dustin Mihalik's Blog

Blog from the middle of everywhere

PDC: WinFS Syncronization

  • WinFS Syncronization
  • WinFS Item Store
    • Similar to what we've before
    • Focusing on WinFS Syncronization and Objects
  • Syncronization Schnarios
    • At home:
      • Keep my data in sync across my home machines
      • Share pictures with friends and family
      • Take my music with me
        • Sync music with devices
        • Push music to car
    • At work
      • Share documents with coworkers
        • When documents change, want to see them quickly
      • Keep my contacts in sync with enterprise servers and onine services
        • Sharepoint, etc
      • Sync with PDA's, Cameras, etc
  • User Benefits
    • Duh.
  • Developer Benefits
    • Turns a single-user app into a collab app
    • Best way to pull data from external sources into winfs
    • Better user experience
      • Standard methods for solving issues
  • Sync overview
    • Approach
      • Multi-master replications
        • Replicas make changes independently
      • Net change syncronization
        • Looking at cumulative changes, not logs
      • Set of common services for all data sources and schemas
        • Change tracking, change enumeration, conflict handling
    • Extending
      • Schema design
        • Granularity of change unites is declared in the WinFS Schemas
      • Custom conflict resolution handlers
        • Extend the system conflic policies with code
      • Sync adapters
        • Outside data sources for one way or bidirectional...
  • Demo Using Synchronizatioin
    • Location in chicago with site report
      • Has text, contacts,
    • Site report is replicated, then photos are added
    • Report is then replicated back.
    • Demos Sync & InfoAgent
      • InfoAgent uses Itemwatcher API
    • Very clean demo of a report being syncronized and popup showing up.
  • How do we make this work?
    • Change tracking
      • WinFS records change tracking information in every item
        • Maintains versions and tombstoesn through all operations
          • Can remember what state of each item is
          • tombstone when stuff is deleted
        • Common service for Sync, InfoAgent, and all WinFS applications
        • Occurs at the level of *change units*
    • Change units are defined by schema designer:
      • Reduce conflits
      • Reducce transport load
        • Only stuff that has changed will sync
      • Chop up stuff into parts that can be changed together.
  • Demo of Creating a replica
    • This stuff is built on more current version
    • He used the term "Uniquified"
    • Handles creating replicas and conflict handling
  • Architecture
    • Web portals into WinFS
    • Hotmail into WinFS
    • AD & Exchange into WinFS
      • MS already wrote exchange
    • Smartphone & PDA's
  • Syncronization Adaptor
    • Outbound from WinFS
      • Figure out what changed
      • Transform to external data
      • Apply to remote
      • Resolve conflicts on remote
    • Inbound to WinFS
      • Enumerate changes from external store
      • WinFS sync will resolve conflicts
  • Change enumeration
    • Starts with the replica and the caller's state
    • Finds new, changed, deleted items
  • Sync Adaptors are not really easy to write
  • Key Takeaways
    • Sync support built into WInFS & Longhorn
    • Enabling for you application is easy
    • Also very powerful
  • PDC build does not contain SyncAPI
  • PDC build does not schematize Sync config data

Comments

Ajay [MVP .NET] said:

hi..can you post the ppt also ?

ajay
# November 3, 2003 7:21 AM

TrackBack said:

# April 14, 2004 2:07 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)