Data Flow Tokens for Serverless Service Tracing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In serverless architectures, debugging and diagnosing issues are challenging due to the lack of access to underlying virtual machines, making it difficult for developers to manage and troubleshoot applications effectively.
Innovation Solution
The implementation of data flow tokens (DFTs) within the service provider network to track data flows, allowing for the recreation of service sequences and identifying performance bottlenecks, along with an auto-scaler that adjusts resources based on execution times to meet service level agreements (SLAs).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If serverless architecture is used to eliminate virtual machine management, then operational simplicity is improved, but debugging and diagnosis capability deteriorates
Solution Approach 1:
The patent introduces data flow tokens as intermediary elements that carry identification information through the serverless architecture. These tokens enable tracing and tracking of data flows across multiple services without requiring access to underlying virtual machines, thus maintaining operational simplicity while restoring debugging capability through the intermediary token mechanism
Solution Approach 2:
The system implements feedback mechanisms by collecting and analyzing data flow token information to provide visibility into service execution. This feedback loop allows developers to monitor, debug, and diagnose applications by tracking token propagation through the serverless infrastructure, effectively bridging the information gap created by abstracted virtual machine management
2Difficulty of detecting and measuring
If data flow tokens are implemented to track data flows, then debugging capability is improved, but system complexity increases
Solution Approach 1:
The patent segments the tracking system into independent data flow tokens that can be generated, propagated, and analyzed separately. Each token carries specific identification information that can be independently tracked through the system, allowing debugging capability to be added without creating a monolithic complex system - instead, the complexity is distributed across many simple, independent token instances
Solution Approach 2:
The data flow tokens serve multiple functions simultaneously: they identify data flows, enable tracing across services, provide debugging information, and support performance analysis. This multi-functionality reduces overall system complexity by using a single versatile mechanism rather than multiple separate systems for each function
Data Source
AI summary
A service provider network offers various services to users. Some of the services may be stateless services. Data flow tokens may be generated and embedded in packets that are provided to the various services. A data flow token uniquely identifies the data flow for a set of services that are invoked by, for example, an application programming interface (API) call to the service provider network. The various services that are invoked as part of a common data flow write diagnostics data to a diagnostics log service. The diagnostics data may include the data flow token as well as a time stamp when the service was invoked and a time stamp when the service completes. The time stamps can be used to determine the period of time that the service took to execute. Analysis of the execution times can assist in, for example, auto-scaling the services for better performance.


