SlideShare a Scribd company logo
1 of 25
Operational Transformation in Real-Time Group Editors : Issues, Algorithms, and Achievements Chengzheng Sun  Charence (Skip) Ellis   School of Computing and IT  Dept. of Computer Science Griffith University  University of Colorado  Brisbane, Queensland 4111  Boulder, CO 80309-0430 Australia  United States C.Sun@cit.gu.edu.au  [email_address] http://www.cit.gu.edu.au/~scz  http://www.cs.colorado.edu/~skip/Home.html
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a real-time CE system ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
One significant challenge ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operation dependence relationship ,[object Object],[object Object],[object Object],[object Object],O 1 O  2 O 3
Three inconsistency problems ,[object Object],[object Object],[object Object],[object Object],O1 O 2 O3
Traditional approaches ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operational transformation: an innovation ,[object Object],[object Object],[object Object],[object Object],OT Algorithm O Executed independent operations O’
GROVE an dOPT algorithm   Ellis et al. (MCC, SIGMOD’89). ,[object Object],[object Object],O1 O2 O3 T(O2,O1) T(O1,O2) T(O1,O2) ,[object Object],[object Object]
The dOPT puzzle:  O2 || (O3     O1) O2 O2 is  context-equivalent  to O 3 O1 is  context-deferent  from O 2 O1 O3 Site 3 Site 1 Site 2 O1’ O1 [ O2,  O3’ ] Log dOPT T At site 2 No At site 3 and 1 O2’ O2 [ O3,  O1] Log dOPT T T Yes
The Jupiter approach Nichols et al (Xerox PARC, UIST95) Server Star-like communication topology (0, 0) (2, 0) (0, 1) (1, 0) (2, 2) (2, 1) (0, 2) (1, 1) (1, 2) server client Initial state 2-dimentional state space
The dOPT puzzle in another form O2 || (O3     O1) O1 O3 O2 client server O1 O3
Jupiter solution to the puzzle (0, 0) (2, 0) (0, 1) (1, 0) server client Initial state 2-dimentional state space O1 O3 O2 client server O3 O2 O1 (2, 1) O2’’ O1’ O2’ (1, 1) O3’
The adOPTed approach   Ressel et al (U. of Stuttgart, CSCW96) Transformation Property 2: T(T(O, Ob), Oa’)  = T(T(O, Oa), Ob’) Transformation Property 1:  Oa    Ob’     Ob o Oa’ O a Ob’=T(Ob,Oa) O O b Oa’=T(Oa,Ob) N -dimentional Interaction Model S0 S1 S2 Oa Ob T(O,Ob) T(Ob,O) T(O,Oa) T(Oa,O) Ob’=T(Ob,Oa) Oa’=T(Oa, Ob) S3
adOPTed solution to the puzzle O2 O1 O 2 O3 Path taken by site 3 and 1 Path taken by site 2 Site 3 Site 1 Site 2 O1 O3 O2’’=T(O2’, O1) O1’=T(O1, O2’) O3’=T(O3, O2) O2’=T(O2, O3)
The REDUCE approach  Sun et al (Griffith Uni. TOCHI 5(1), 98) ,[object Object],[object Object],[object Object],[object Object],GOT (IT/ET) O HB O’ Oa Oa’ Ob + Oa Oa’ Ob _ Oa _ Oa’ Oa + Ob
REDUCE solution to the puzzle  O2 O2 || (O3     O1) O1 [ O2,  O3’ ] O1’ HB GOT + + O1 O3 O3 _ _
An optimized algorithm: GOTO Sun and Ellis (CSCW98) O1 [ O2,  O3’ ] O1’ HB GOTO O2 O1 O3 + [ O3,  O2’ ] _ transpose +
Major achievements (1)  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Major  achievements (2)  ,[object Object],[object Object],[object Object],[object Object]
Major  achievements (3)  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Future directions (1) ,[object Object]
Future directions (2) ,[object Object]
Future directions (3) ,[object Object],[object Object],[object Object],[object Object]
The End

More Related Content

Viewers also liked

Plone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessPlone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessRikupekka Oksanen
 
Axsys Technologies Software Offerings
Axsys Technologies Software OfferingsAxsys Technologies Software Offerings
Axsys Technologies Software OfferingsSuvadeep Sarkar
 
会社案内20080705 Md
会社案内20080705 Md会社案内20080705 Md
会社案内20080705 MdHiroshi Asaeda
 
Beatrobo Midem 2013 presentation
Beatrobo Midem 2013 presentation Beatrobo Midem 2013 presentation
Beatrobo Midem 2013 presentation Hiroshi Asaeda
 
Sosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleSosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleRikupekka Oksanen
 
起業家が「それが大事」を真に受けた結果www
起業家が「それが大事」を真に受けた結果www起業家が「それが大事」を真に受けた結果www
起業家が「それが大事」を真に受けた結果wwwHiroshi Asaeda
 
About Meltingdots(Japanese)
About Meltingdots(Japanese)About Meltingdots(Japanese)
About Meltingdots(Japanese)Hiroshi Asaeda
 
By the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläBy the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläRikupekka Oksanen
 
Plugair Pitch FIBC2016-en-slideshare
Plugair Pitch FIBC2016-en-slidesharePlugair Pitch FIBC2016-en-slideshare
Plugair Pitch FIBC2016-en-slideshareHiroshi Asaeda
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!Rikupekka Oksanen
 
Introduction to computer hardware
Introduction to computer hardwareIntroduction to computer hardware
Introduction to computer hardwaremite6025.hku
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. pptNaveen Sihag
 

Viewers also liked (14)

Plone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessPlone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of Happiness
 
Axsys Technologies Software Offerings
Axsys Technologies Software OfferingsAxsys Technologies Software Offerings
Axsys Technologies Software Offerings
 
会社案内20080705 Md
会社案内20080705 Md会社案内20080705 Md
会社案内20080705 Md
 
Beatrobo Midem 2013 presentation
Beatrobo Midem 2013 presentation Beatrobo Midem 2013 presentation
Beatrobo Midem 2013 presentation
 
Meltingdots Corporate
Meltingdots CorporateMeltingdots Corporate
Meltingdots Corporate
 
Sosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleSosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolle
 
起業家が「それが大事」を真に受けた結果www
起業家が「それが大事」を真に受けた結果www起業家が「それが大事」を真に受けた結果www
起業家が「それが大事」を真に受けた結果www
 
About Meltingdots(Japanese)
About Meltingdots(Japanese)About Meltingdots(Japanese)
About Meltingdots(Japanese)
 
By the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläBy the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of Jyväskylä
 
Plugair Pitch FIBC2016-en-slideshare
Plugair Pitch FIBC2016-en-slidesharePlugair Pitch FIBC2016-en-slideshare
Plugair Pitch FIBC2016-en-slideshare
 
Fountain project model
Fountain project modelFountain project model
Fountain project model
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!
 
Introduction to computer hardware
Introduction to computer hardwareIntroduction to computer hardware
Introduction to computer hardware
 
Computer hardware component. ppt
Computer hardware component. pptComputer hardware component. ppt
Computer hardware component. ppt
 

Similar to Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements

The Maze of Deletion in Ontology Stream Reasoning
The Maze of Deletion in Ontology Stream Reasoning The Maze of Deletion in Ontology Stream Reasoning
The Maze of Deletion in Ontology Stream Reasoning Jeff Z. Pan
 
PyCon Ukraine 2017: Operational Transformation
PyCon Ukraine 2017: Operational Transformation PyCon Ukraine 2017: Operational Transformation
PyCon Ukraine 2017: Operational Transformation Max Klymyshyn
 
PAGOdA paper
PAGOdA paperPAGOdA paper
PAGOdA paperDBOnto
 
Complexity analysis - The Big O Notation
Complexity analysis - The Big O NotationComplexity analysis - The Big O Notation
Complexity analysis - The Big O NotationJawad Khan
 
Sienna 2 analysis
Sienna 2 analysisSienna 2 analysis
Sienna 2 analysischidabdu
 
Euler lagrange equations of motion mit-holonomic constraints_lecture7
Euler lagrange equations of motion  mit-holonomic  constraints_lecture7Euler lagrange equations of motion  mit-holonomic  constraints_lecture7
Euler lagrange equations of motion mit-holonomic constraints_lecture7JOHN OBIDI
 
Interaction Networks for Learning about Objects, Relations and Physics
Interaction Networks for Learning about Objects, Relations and PhysicsInteraction Networks for Learning about Objects, Relations and Physics
Interaction Networks for Learning about Objects, Relations and PhysicsKen Kuroki
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IMohamed Loey
 
Presentation IDETC
Presentation IDETCPresentation IDETC
Presentation IDETCXiao Wang
 
Stack squeues lists
Stack squeues listsStack squeues lists
Stack squeues listsJames Wong
 
Stacksqueueslists
StacksqueueslistsStacksqueueslists
StacksqueueslistsFraboni Ec
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsYoung Alista
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsTony Nguyen
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsHarry Potter
 
19. algorithms and-complexity
19. algorithms and-complexity19. algorithms and-complexity
19. algorithms and-complexityshowkat27
 

Similar to Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements (20)

The Maze of Deletion in Ontology Stream Reasoning
The Maze of Deletion in Ontology Stream Reasoning The Maze of Deletion in Ontology Stream Reasoning
The Maze of Deletion in Ontology Stream Reasoning
 
PyCon Ukraine 2017: Operational Transformation
PyCon Ukraine 2017: Operational Transformation PyCon Ukraine 2017: Operational Transformation
PyCon Ukraine 2017: Operational Transformation
 
PAGOdA paper
PAGOdA paperPAGOdA paper
PAGOdA paper
 
Complexity analysis - The Big O Notation
Complexity analysis - The Big O NotationComplexity analysis - The Big O Notation
Complexity analysis - The Big O Notation
 
Qnsrbio
QnsrbioQnsrbio
Qnsrbio
 
Sienna 2 analysis
Sienna 2 analysisSienna 2 analysis
Sienna 2 analysis
 
Euler lagrange equations of motion mit-holonomic constraints_lecture7
Euler lagrange equations of motion  mit-holonomic  constraints_lecture7Euler lagrange equations of motion  mit-holonomic  constraints_lecture7
Euler lagrange equations of motion mit-holonomic constraints_lecture7
 
Interaction Networks for Learning about Objects, Relations and Physics
Interaction Networks for Learning about Objects, Relations and PhysicsInteraction Networks for Learning about Objects, Relations and Physics
Interaction Networks for Learning about Objects, Relations and Physics
 
Tdbasicsem
TdbasicsemTdbasicsem
Tdbasicsem
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
 
Presentation IDETC
Presentation IDETCPresentation IDETC
Presentation IDETC
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Stack squeues lists
Stack squeues listsStack squeues lists
Stack squeues lists
 
Stacksqueueslists
StacksqueueslistsStacksqueueslists
Stacksqueueslists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
19. algorithms and-complexity
19. algorithms and-complexity19. algorithms and-complexity
19. algorithms and-complexity
 
F023064072
F023064072F023064072
F023064072
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements

  • 1. Operational Transformation in Real-Time Group Editors : Issues, Algorithms, and Achievements Chengzheng Sun Charence (Skip) Ellis School of Computing and IT Dept. of Computer Science Griffith University University of Colorado Brisbane, Queensland 4111 Boulder, CO 80309-0430 Australia United States C.Sun@cit.gu.edu.au [email_address] http://www.cit.gu.edu.au/~scz http://www.cs.colorado.edu/~skip/Home.html
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. The dOPT puzzle: O2 || (O3  O1) O2 O2 is context-equivalent to O 3 O1 is context-deferent from O 2 O1 O3 Site 3 Site 1 Site 2 O1’ O1 [ O2, O3’ ] Log dOPT T At site 2 No At site 3 and 1 O2’ O2 [ O3, O1] Log dOPT T T Yes
  • 11. The Jupiter approach Nichols et al (Xerox PARC, UIST95) Server Star-like communication topology (0, 0) (2, 0) (0, 1) (1, 0) (2, 2) (2, 1) (0, 2) (1, 1) (1, 2) server client Initial state 2-dimentional state space
  • 12. The dOPT puzzle in another form O2 || (O3  O1) O1 O3 O2 client server O1 O3
  • 13. Jupiter solution to the puzzle (0, 0) (2, 0) (0, 1) (1, 0) server client Initial state 2-dimentional state space O1 O3 O2 client server O3 O2 O1 (2, 1) O2’’ O1’ O2’ (1, 1) O3’
  • 14. The adOPTed approach Ressel et al (U. of Stuttgart, CSCW96) Transformation Property 2: T(T(O, Ob), Oa’) = T(T(O, Oa), Ob’) Transformation Property 1: Oa  Ob’  Ob o Oa’ O a Ob’=T(Ob,Oa) O O b Oa’=T(Oa,Ob) N -dimentional Interaction Model S0 S1 S2 Oa Ob T(O,Ob) T(Ob,O) T(O,Oa) T(Oa,O) Ob’=T(Ob,Oa) Oa’=T(Oa, Ob) S3
  • 15. adOPTed solution to the puzzle O2 O1 O 2 O3 Path taken by site 3 and 1 Path taken by site 2 Site 3 Site 1 Site 2 O1 O3 O2’’=T(O2’, O1) O1’=T(O1, O2’) O3’=T(O3, O2) O2’=T(O2, O3)
  • 16.
  • 17. REDUCE solution to the puzzle O2 O2 || (O3  O1) O1 [ O2, O3’ ] O1’ HB GOT + + O1 O3 O3 _ _
  • 18. An optimized algorithm: GOTO Sun and Ellis (CSCW98) O1 [ O2, O3’ ] O1’ HB GOTO O2 O1 O3 + [ O3, O2’ ] _ transpose +
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.