1. High Level
Plan and Design Documentation
Project name FlexBook Reservation Platform
State In progress
Lead architect David Pasek
Technical designers David Pasek (Software & Infrastructure Architecture)
Reviewers Petr Kos, Jan Redl
Investor Community project
Distributed Catalog & Reservation Platform
Conceptual Architecture
3. GRRID Philosophy
Concept
Human civilization is moving from a materialistic (own resources) based society to resource
sharing society.
GRRID (Global Resource and Reservation Information Database) is Global Distributed System
(aka GDS) allowing resource providers to provide resources to resource consumers and
helping them to find and reserve resources.
GRRID is providing online resource availability, ticketing, notifications, and payment
methods.
GRRID is policy based system enforcing specific reservation policies, discount polices,
and notification polices to achieve desired business goals.
GRRID can distribute and reserve any type of resource, event or service across distributed
resource network allowing federation of resource providers leveraging the concept of super
and sub providers.
GRRID prototype and pilot implementation is available as open-
source software available at
https://flexbook.info and via GitHub software hub repository.
4. Core
Global Resource and Reservation Information Database Overview
Concept - Metada Catalog Platform Overview
GRRID - Information Science Platform
FlexBook.Software
SPARQL
R
E
S
T
G
r
a
p
h
Q
L
jQuery
V
u
e
.
j
s
Community Driven - Open-
source software
N
E
X
T
?
W
e
b
C
o
m
p
o
n
e
n
t
s
RDF Query Language
Web Components
A
P
I
A
P
I
N
e
x
t
I
n
t
e
r
f
a
c
e
?
GRRID Catalog
Core
5. Global Resource and Reservation Information Database Overview
Concept - Global Distribution System (GDS)
Resource
Consumer
Resource
Provider
Resource
POI (Point of Interest)
Event
Service
Resource Description Format (RDF)
Resource
Distributor
Resource
Availability
Resource
Condition
Polices
Global Resource Catalog
and Distributed Reservation Database
Notification
Polices
Ticketing
Polices
GRRID - Global Distributed System
Online Payment
Gateway
Book
Resource
Objects
9. GRRID - Objects Taxonomy - Object Types
Logical design
Object
Name
Description
Date-
create
Date-
modified
Local Identifier (id)
Global Identifier (uuid)
Tags / Thesaurus terms
Object_Type
Object_Type_ID
Object_Type_Name
N..1
Resource, Events and Services are core Objects in resource oriented database
Object type
Type
10. GRRID - Inter Provider Object Ontology (Custom Attributes)
Logical design
Object
Name
Description
Type
Date-
create
Date-
modified Element_Attribute_Types
Attribute_Category
Attribute_ID
Attribute_Name
Attribute_Type
Element_Attribute_Values
Element_ID
Element_Attribute_Type N..1
Local Identifier (id) N..1
Element_Attribute_Value
Global Identifier (uuid)
Tags / Thesaurus terms
Resource, Events and Services are core Elements in GRRID resource oriented database
Object custom attribute values
RDF Statement = subject → predicate → object
Subject
The element we are claiming
something about
Object
The value of particular attribute
[Element_Attribute_Value]
Predicate
[Attribute_Type]
Object predicates
12. Database
RDF SPARQL
Endpoint
App Server
REST API Endpoint
GRRID Node API
Single Node GRRID - API Architecture
Concept
GRRID Node
Mobile App
End User
Web App
Information
Specialist
Resource Consumer
(Customer)
Resource Provider
(BackOffice User)
RDF Query Language
SPARQL queries
Resource Catalog
& Reservation Database
Backup Store
13. Database
App Server
FlexBook REST API Endpoint
FlexBook GRDR API
Single Node GRRID - Multitenancy Architecture
Concept
FlexBook Node
Local Multi-
Tenant
Reservation Database
FlexBook External
Applications
FlexBook Web
JavaScript Component
Operating System
Reservation Database
Provider A Provider B
Provider C Provider D
Reservation Back Office API
Web Page on External WebSites
JS Components
AJAX
HTML Component
Composer
REST
REST
Mobile Apps Web Apps
15. GRRID Cluster
Clustered Resource Catalog & Reservation Database
Clustered GRRID - API Architecture
Distributed Application Concept
GRRID Node GRRID Node GRRID Node
REST API Endpoint
GRRID Node API
Mobile App
End User
Web App
Resource Consumer
(Customer)
Resource Provider
(BackOffice User)
RDF SPARQL
Endpoint
Information
Specialist
RDF Query Language
SPARQL queries
16. Clustered GRRID - Multi-
tenancy Architecture
Multi-
tenancy Concept
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Node Provisioning
Node Inventory
FlexBook Cluster Manager A
Node Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Inc
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
Ingress Controller
Proxy Server
Internet
FlexBook Cluster A
Backup
Store
A
Backup
Store
B
19. Federated GRRID - API Architecture
Conceptual view
GRRID Federation
Globally Distributed Resource Catalog & Reservation
Database
GRRID Cluster
RDF SPARQL
Endpoint
REST API Endpoint
GRRID Node API
Mobile App
End User
Web App
Information
Specialist
Resource Consumer
(Customer)
Resource Provider
(BackOffice User)
RDF Query Language
SPARQL queries
GRRID Cluster GRRID Cluster
20. Federated GRRID - Global Distributed Resource Catalog
Conceptual View
Internet
Global Distributed Resource Catalog
WEBSEARCH FOR A PLANET: THE GOOGLE CLUSTER ARCHITECTURE
https://static.googleusercontent.com/media/research.google.com/en//archive/googlecluster-
ieee.pdf
Catalog Server
Catalog Server
Catalog Server
Catalog Server
Catalog Cluster
21. GDS - Global Search
Hierarchical Search Topology
Global
Search Engine
Cluster 1
Search Engine
Cluster 2
Search Engine
Cluster Cn
Local Search Engine
Node 1
Search Helper
Node n
Search Helper
Node 1
Search Helper
Node n
Search Helper
Node 1
Search Helper
Node n
Search Helper
Conceptual View
23. GDS - Provider Graph Topology
Oriented (Loop Free) Graph Topology of sub & super providers
Provider A
Provider B1 Provider B2 Provider Bn
Provider C1-1 Provider C1-
n Provider C2-1 Provider C2-
n Provider C3-1 Provider C3-
n
Provider D2-1-1 Provider D2-1-2 Provider D2-1-3
Conceptual View
24. GDS - Cross Provider Object Reference - External Ontology
Conceptual View
Resources, events and services are elementary objects in GRRID.
GRRID is the global content network of objects having inter object relations.
Objects (resources, events, services) can be federated across Global Federated Distribution Network.
Super/Sub Providers provide cross provider object reference
Provider A
(Super Provider)
Provider B
(Sub Provider)
Resource Resource Resource
Event
External
Predicate
GDS
Global Distributed System
Resource Resource
External
Predicate
Resource Pool A
Resource Pool B
Provider C
(Sub Provider)
Resource
Resource Pool C
Event
Event
Internal
Predicate
E
x
t
e
r
n
a
l
P
r
e
d
i
c
a
t
e
26. Manageability - FlexBook Cluster Manager - Management
Logical View
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Nodes Provisioning
Nodes Inventory
FlexBook Cluster Manager A
(REST API EndPoint)
Nodes Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Sync
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
FlexBook Cluster A
FlexBook Cluster Manager Client
(REST API HTML5 Client)
Web Portal
(REST API proxy)
REST API REST API
REST API
27. Manageability - FlexBook Cluster Monitor - Monitoring
Logical View
Node Exporter localhost:9100
Prometheus Server localhost: 9090
FlexBook Node
FlexBook Cluster Monitor
Provider A Provider B
FlexBook Cluster A
Database
OS
Monitoring Stack
Prometheus Aggregator
Log Management Stack
Loki
Metrics
Graphana
Apache
30. Recoverability - FlexBook Cluster Manager - Backup
Logical View
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Nodes Provisioning
Nodes Inventory
FlexBook Cluster Manager A
(REST API EndPoint)
Nodes Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Sync
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
FlexBook Cluster A
Remote
Backup
Store
A
S3 Storage
FlexBook Cluster Manager Client
(REST API HTML5 Client)
Web Portal
(REST API proxy)
REST API
REST API
Local Backup Store
File System
Remote
Backup
Store
B
S3 Storage
32. Architect
Architecture Design
David Pasek
App BackEnd Developer
Petr Kos
DevOps Engineer
Jan Redl
App FrontEnd Developer
Martin Edlman
10 FlexBook Core Team Members
Each member has 10% of shares and votes
UX Designer
Albert Edlman
35. #2 - The Resource
Everything is about Resources.
Events and Services are related to resources.
FlexBook Common Rules :-)
#8 - Complexity
Keep max of Ten (10) components in every layer of complexity.
KISS, Divide and Conquer
The Power of Ten (10)
https://www.youtube.com/watch?
v=0fKBhvDjuy0
#3 -
Sharing
Sharing is as old as humankind itself; what is new are digital technologies
#4 - Booking
For optimal usage, the limited shared resources must be bookable.
Resource Management = Time Management
#1 - The Book
What is not written down, it doesn’t exist!
#10 - Openness
All software must be open with the most permissive open-
source license.
We use the "Simplified BSD License"
#7 - Equality
We are all equal
https://en.wikipedia.org/wiki/Social_equality
Everybody reports to somebody else. Everybody need somebody.
#6 - Flexibility
Flexibility achieved by Abstraction and Generalization.
While abstraction reduces complexity by hiding irrelevant detail,
generalization reduces complexity by replacing multiple entities which
perform similar functions with a single construct.
#5 - Online
Information and knowledge in speed of light
299 792 458 metres per second
1 080 000 000 kilometres per hour
#9 Reliability by Responsibility
Every component is self manage and responsible for itself.
The system reliability depends on responsibility of each component.