Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?

549 views

Published on

HFDM - What, why & how? With Kai Schroeder

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?

  1. 1. © Autodesk, Inc. 2017 HFDM - What, Why and How ? Arno Zinke Cloud Platforms October, 2017
  2. 2. High Frequency Data Management
  3. 3. Quantum | Fusion Forge HFDM Data at the Center!
  4. 4. Forge HFDM Data at the Center! Opened to you! Early next year
  5. 5. © Autodesk, Inc. 2017 Miami Aquarium: Shark Tank
  6. 6. © Autodesk, Inc. 2017
  7. 7. © Autodesk, Inc. 2017 Temporary wooden form as can be seen on the slide
  8. 8. © Autodesk, Inc. 2017 ©CW Keller & Associates, Inc. Manufactured
  9. 9. © Autodesk, Inc. 2017
  10. 10. © Autodesk, Inc. 2017
  11. 11. © Autodesk, Inc. 2017 Architect Bulding Design Formwork Detailed Design Woodwork Manufacture Data Shoring Design
  12. 12. © Autodesk, Inc. 2017 Architect Bulding Design Formwork Detailed Design Woodwork Manufacture Data Shoring Design
  13. 13. © Autodesk, Inc. 2017 Architect Bulding Design This file is huge! Formwork Detailed Design Woodwork Manufacture Data Shoring Design
  14. 14. © Autodesk, Inc. 2017 Architect Bulding Design Formwork Detailed Design Woodwork Manufacture Data Shoring Design I don’t want my full design to be available to Keller!
  15. 15. © Autodesk, Inc. 2017 Architect Bulding Design Formwork Detailed Design Woodwork Manufacture Data Shoring Design
  16. 16. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design I need to write a Revit plugin or manually copy it!
  17. 17. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design
  18. 18. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design I need to write a Fusion plugin or manually import it!
  19. 19. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design I need to write a Fusion plugin or manually import it!
  20. 20. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design We can't manufacture this!
  21. 21. © Autodesk, Inc. 2017 We can't manufacture this! Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design
  22. 22. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design
  23. 23. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design
  24. 24. © Autodesk, Inc. 2017 Formwork Detailed Design Woodwork Manufacture Data Shoring Design Architect Bulding Design What has actually changed?
  25. 25. © Autodesk, Inc. 2017 2 Years Later
  26. 26. © Autodesk, Inc. 2017 What are the relationships between all these files? 2 Years Later ? ? ?
  27. 27. © Autodesk, Inc. 2017 What did the project look like 6 months ago? 2 Years Later
  28. 28. © Autodesk, Inc. 2017 History and Relationships ● What are the relationships between all these design files? ● Can I go back in time to look at an older version? Granular data access ● Why do I need send complete files? ○ The next in line only needs a small part. ○ I made only a small change. ● I don’t want to share my IP Data Management Needs Internal collaboration ● Design exploration ● Collaborative design Custom workflows ● Autodesk does not always have to right functionality. ● I don’t want to write a plugin for every possible CAD application.
  29. 29. © Autodesk, Inc. 2017 Use Forge HFDM to manage your data
  30. 30. © Autodesk, Inc. 2017 http://boredomtherapy.com/wp-content/uploads/2015/04/02-fake-animal-hybrids.jpg
  31. 31. © Autodesk, Inc. 2017 ○ Generic branch and merge ○ Real-time ○ Offline mode What is Forge HFDM? Secure and efficient HF cloud data store Collaboratively change data Granular Access Control ○ Communicate and store HF Changes ○ Full and fine grained history ○ GDPR, SOC compliant ○ Users own certain parts of the data ○ Clients can subscribe to parts of the data ○ Owners can restrict access to their data Service that allows:
  32. 32. © Autodesk, Inc. 2017 What is Forge HFDM? JavaScript, C++, C#
  33. 33. © Autodesk, Inc. 2017 Drawing Application Example ○ Allows to draw shapes on a canvas. ○ Make modifications to these shapes. ○ Automatically saves to cloud storage. Application that: Cloud Storage
  34. 34. © Autodesk, Inc. 2017 Drawing Application Example ○ Allows to draw shapes on a canvas. ○ Make modifications to these shapes. ○ Automatically saves to cloud storage. Application that: Cloud Storage
  35. 35. © Autodesk, Inc. 2017 Naive Way: Send full datamodel
  36. 36. © Autodesk, Inc. 2017 Storing Full Views (naive way)
  37. 37. © Autodesk, Inc. 2017 Shapes: Circle_1: Type: circle center: (x: 2, y: 2) radius: 2 color: “blue” Storing Full Views (naive way)
  38. 38. © Autodesk, Inc. 2017 Storing Full Views (naive way) Shapes: Circle_1: Type: circle center: (x: 2, y: 2) radius: 2 color: “blue” Rect_1: Type: rectangle center: (x: 4, y: 5) width: 2 height: 3 color: “blue”
  39. 39. © Autodesk, Inc. 2017 Storing Full Views (naive way) Shapes: Circle_1: Type: circle center: (x: 2, y: 2) radius: 2 color: “blue” Rect_1: Type: rectangle center: (x: 4, y: 5) width: 2 height: 3 color: “red”
  40. 40. © Autodesk, Inc. 2017 Storing Full Views (naive way) Shapes: Circle_1: Type: circle center: (x: 2, y: 2) radius: 2 color: “blue” Rect_1: Type: rectangle center: (x: 4, y: 5) width: 3 height: 3 color: “red”
  41. 41. © Autodesk, Inc. 2017 Storing Full Views (naive way) Shapes: Circle_1: Type: circle center: (x: 2, y: 2) radius: 2 color: “blue” Rect_1: Type: rectangle center: (x: 5, y: 5) width: 3 height: 3 color: “red”
  42. 42. © Autodesk, Inc. 2017 Storing and sending full datamodels is inefficient Client StorageFiles
  43. 43. © Autodesk, Inc. 2017 Storing and sending full datamodels is inefficient In the use of network bandwidth Client StorageFiles
  44. 44. © Autodesk, Inc. 2017 Storing and sending full datamodels is inefficient With regards to memory consumption Client StorageFiles
  45. 45. © Autodesk, Inc. 2017 Storing and sending full datamodels is inefficient Common “solution”: no history Client StorageFiles
  46. 46. © Autodesk, Inc. 2017 Sending and Storing Changes Forge HFDM Way
  47. 47. © Autodesk, Inc. 2017 Storing Changes (HFDM way)
  48. 48. © Autodesk, Inc. 2017 Add: type: circle id: circle-1 center: (x: 2, y: 2) radius: 2 color: “turquoise” Storing Changes (HFDM way)
  49. 49. © Autodesk, Inc. 2017 Add: Type: rect id: rect-1 center: (x: 4, y: 5) width: 2 Height: 3 color: “blue” Storing Changes (HFDM way)
  50. 50. © Autodesk, Inc. 2017 Modify: id: rect-1 color: “red” Storing Changes (HFDM way)
  51. 51. © Autodesk, Inc. 2017 Modify: id: rect-1 width: 3 Storing Changes (HFDM way)
  52. 52. © Autodesk, Inc. 2017 Modify: id: rect-1 Center: x: 5 Storing Changes (HFDM way)
  53. 53. © Autodesk, Inc. 2017 Is efficient ● bandwidth: we send only what has changed ● storage: circle data is stored only once And we can reconstruct the full history of the data. Storing Changes (HFDM way) Cloud Storage
  54. 54. © Autodesk, Inc. 2017 High Frequency Data Streams and Persistency Upload File Update File Upload File Upload File Update File Update File Low frequency file handling
  55. 55. © Autodesk, Inc. 2017 Upload File Update File Upload File Upload File Update File Update File Low frequency file handling change change change change change change change change Incremental high frequency changes High Frequency Data Streams and Persistency
  56. 56. © Autodesk, Inc. 2017 Fine Grained History
  57. 57. © Autodesk, Inc. 2017 Grained History
  58. 58. © Autodesk, Inc. 2017 Grained History
  59. 59. © Autodesk, Inc. 2017 Grained History
  60. 60. © Autodesk, Inc. 2017 Grained History
  61. 61. © Autodesk, Inc. 2017 Grained History
  62. 62. © Autodesk, Inc. 2017 Asynchronous Collaboration
  63. 63. © Autodesk, Inc. 2017 Branching
  64. 64. © Autodesk, Inc. 2017 Branching Branch
  65. 65. © Autodesk, Inc. 2017 Branching Branch
  66. 66. © Autodesk, Inc. 2017 Merging Branch Merge
  67. 67. © Autodesk, Inc. 2017 Merging Branch Merge
  68. 68. © Autodesk, Inc. 2017 Merging Branch Merge
  69. 69. © Autodesk, Inc. 2017 Merging Branch Merge
  70. 70. © Autodesk, Inc. 2017 Merging Branch Merge
  71. 71. © Autodesk, Inc. 2017 3 Options to resolve conflicts ● Standard Operational Transformation (OT) ● Automatic custom conflict resolution functionality ● Custom conflict resolution with user intervention Three options:
  72. 72. © Autodesk, Inc. 2017 Branching and Merging Allows : Design exploration By creating multiple branches Asynchronous collaboration By merging changes of two branches Client Client Changes
  73. 73. © Autodesk, Inc. 2017 Real-time Collaboration
  74. 74. © Autodesk, Inc. 2017 Real-time collaboration allows : ● Multiple collaborators Manipulating the branches simultaneously ● Continuous merging Of the local and global branches Client Client Changes
  75. 75. © Autodesk, Inc. 2017 Granular Access Control
  76. 76. © Autodesk, Inc. 2017 ● A client can choose which data to fetch ● A user owns certain parts of the data ● Owner can control user access Granular access Changes Client Forge HFDM Client All data Circles only
  77. 77. © Autodesk, Inc. 2017 Client types
  78. 78. © Autodesk, Inc. 2017 Reactive, Distributed Clients Forge HFDM Changes
  79. 79. © Autodesk, Inc. 2017 Reactive, Distributed Clients and Services Forge HFDM Changes
  80. 80. © Autodesk, Inc. 2017 Interoperability: data schema’s { typeid: 'example:colored_point-1.0.0', properties: [ { id: 'position', properties: [ { id: 'x', typeid: 'Float32' }, { id: 'y', typeid: 'Float32' }, { id: 'z', typeid: 'Float32' } ]}, { id: 'color', properties: [ { id: 'r', typeid: 'Float32' }, { id: 'g', typeid: 'Float32' }, { id: 'b', typeid: 'Float32' } ]} ] }
  81. 81. © Autodesk, Inc. 2017 ○ Generic branch and merge ○ Real-time ○ Offline mode What is Forge HFDM? Secure and efficient HF cloud data store Collaboratively change data Granular Access Control ○ Communicate and store HF Changes ○ Full and fine grained history ○ GDPR, SOC compliant ○ Users own certain parts of the data ○ Clients can subscribe to parts of the data ○ Owners can restrict access to their data Service that allows:
  82. 82. © Autodesk, Inc. 2017 Miami Aquarium: Shark Tank
  83. 83. © Autodesk, Inc. 2017 What are the relationships between all these files? ? ? ?
  84. 84. © Autodesk, Inc. 2017 History and Relationships ● What are the relationships between all these design files? ● Can I go back in time to look at an older version? Granular data access ● Why do I need send complete files? ○ The next in line only needs a small part. ○ I made only a small change. ● I don’t want to share my IP Data Management Needs Internal collaboration ● Design exploration ● Collaborative design Custom workflows ● Autodesk does not always have to right functionality. ● I don’t want to write a plugin for every possible CAD application.
  85. 85. © Autodesk, Inc. 2017 Bring the Data to the Center Players store data in HFDM Shoring FormworkArchitect Woodwork Forge HFDM
  86. 86. © Autodesk, Inc. 2017 Dealing with Large Models Only changes are communicated Players only subscribe to the data they need. Shoring FormworkArchitect Woodwork Forge HFDM
  87. 87. © Autodesk, Inc. 2017 Read-Only IP Issues Access Control: Read, Write, Read / Write To the part of the data that needs to be shared Shoring FormworkArchitect
  88. 88. © Autodesk, Inc. 2017 IP Issues Access Control: to Read, Write, Read / Write To the part of the data that needs to be shared Formwork Read-Only Shoring Woodwork
  89. 89. © Autodesk, Inc. 2017 Custom Workflow Write microservices in any language Interoperable through open data schemas that can run anywhere. Shoring Architect Woodwork Formwork
  90. 90. © Autodesk, Inc. 2017 Data at the center with Forge HFDM
  91. 91. © Autodesk, Inc. 2017 HFDM is a Key Technology Ubiquitous ● Available client libraries: JavaScript, C++, C# ● Interfaces with Autodesk core products and services HFDM enables connected applications and collaborative workflows ● Directly access Revit, Inventor or Fusion data from anywhere, even in the browser ● Build custom end-to-end workflows through a common data interface
  92. 92. HFDM: Working with a Shared State
  93. 93. HFDM: Working with a Shared State ▪ HFDM works best with reactive, data-centric applications ▪ Applications react to data model changes
  94. 94. HFDM: Working with a Shared State ▪ HFDM works best with reactive, data-centric applications ▪ Applications react to data model changes ▪ Data model changes drive the business logic of an applications
  95. 95. Cloud HFDM ● A simple HFDM-based browser application that renders shapes Rendering App Working with a Shared State A Simple Example
  96. 96. Cloud HFDM ● A simple HFDM-based browser application that renders shapes State (data model in local HFDM) Rendering App Working with a Shared State A Simple Example
  97. 97. Canvas RenderingBusiness Objects (code) ● A simple HFDM-based browser application that renders shapes State (data model in local HFDM) Working with a Shared State A Simple Example Cloud HFDM Rendering App
  98. 98. Canvas Rendering ● Fetch an existing commit (PropertySet data state) from HFDM Business Objects (code) { Circle: center = (2.0,3.0) color = “red” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Rendering App Working with a Shared State A Simple Example
  99. 99. Canvas RenderingBusiness Objects (code) ● Instantiate and bind business objects to state CircleRenderObject CircleRenderObject TriangleRenderObject RectangleRenderObject { Circle: center = (2.0,3.0) color = “red” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Rendering App Working with a Shared State A Simple Example
  100. 100. Business Objects (code) CircleRenderObject CircleRenderObject TriangleRenderObject RectangleRenderObject Canvas Rendering ● Canvas gets updated { Circle: center = (2.0,3.0) color = “red” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Rendering App Working with a Shared State A Simple Example
  101. 101. { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Canvas RenderingBusiness Objects (code) ● Data state mutation by application: circle color change in state CircleRenderObject CircleRenderObject TriangleRenderObject RectangleRenderObject Cloud HFDM Rendering App Working with a Shared State A Simple Example
  102. 102. Business Objects (code) CircleRenderObject CircleRenderObject TriangleRenderObject RectangleRenderObject Canvas Rendering ● Business object gets informed about this change and canvas gets updated { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Rendering App Working with a Shared State A Simple Example
  103. 103. Canvas RenderingBusiness Objects (code) ● Change gets written to HFDM CircleRenderObject CircleRenderObject TriangleRenderObject RectangleRenderObject { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Rendering App Working with a Shared State A Simple Example
  104. 104. ● A Forge console app that prints the state (shape types) Canvas RenderingBusiness Objects (code) TextObject TextObject TextObject TextObject { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State (data model in local HFDM) Cloud HFDM Console App Circle Circle Triangle Rectangle Console Working with a Shared State A Different Application
  105. 105. ● Apps and services share the same state, enabling real-time collaboration Circle Circle Triangle Rectangle { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State(data) { Circle: center = (2.0,3.0) color = “blue” Circle: ... Triangle: ... Rectangle: ... } State(data) Working with a Shared State Data-Centric Collaboration
  106. 106. © Autodesk, Inc. 2017
  107. 107. © Autodesk, Inc. 2017
  108. 108. Forge HFDM Powering the future of Autodesk!
  109. 109. Autodesk and the Autodesk logo are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2017 Autodesk. All rights reserved.

×