Functions #4699
richburdon
started this conversation in
General
Functions
#4699
Replies: 1 comment
-
Spec for functions #4743 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Functions
Status
As of Q4 2023, we have a prototype of functions running within the Agent as a plugin. The implementation does not address scalability or security considerations and all functions have access to the user’s client and spaces.
The next phase of the project will include the creation of a product requirements specification, technical design, and project plan targeting a Q1 2024 release. The plan should also include research experiments to evaluate prior art and get feedback about requirements.
Background
ECHO is a decentralized realtime graph database made up from an unbounded number of Spaces, which represent individual database realms. Spaces control user permissions and contain a graph of typed Objects and References that have data consistency within the Space. Users can run special peer nodes called Agents, which have access to the user’s Spaces. Agents can be configured to run DXOS infrastructure services, and user-programmable functions that can query and mutate the user’s data graph.
Functions are short-lived single threaded subroutines that implement a similar programming model to AWS Lamba and other serverless platforms. Functions are triggered by various kinds of events, which may represent external HTTP requests, platform API calls, timers, message queues, and ECHO database updates via subscriptions. Functions may directly and indirectly trigger other functions, forming a dependency graph, which we may call a computational hypergraph.
Use Cases
Functions may fall into the following categories:
User Stories
Design Considerations
Execution Model
Programming Model
Security
Development
Misc
Beta Was this translation helpful? Give feedback.
All reactions