Transaction Resources for Stateless IoT Messaging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional RESTful protocols in IoT systems face challenges with multi-state transactions, lacking effective coordination between initiators and responders, and providing no guarantee for protocol progression or data cleanup in case of aborts.
Innovation Solution
The implementation of transactional resources that coordinate multiple RESTful message exchanges, using a resource property state machine to manage sequences of messages and ensure proper progression or cleanup, even across re-established connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If stateless messaging protocols are used to improve scalability, then device complexity is reduced and interoperability is improved, but coordination of multi-state transactions cannot be guaranteed
Solution Approach 1:
The patent introduces transaction resources as intermediary components that mediate between the stateless messaging protocol and the application layer. These transaction resources maintain transaction state information and coordinate multi-state transactions without requiring the messaging protocol itself to be stateful, thus preserving interoperability while enabling reliable transaction coordination.
Solution Approach 2:
The patent separates transaction state management from the messaging protocol by introducing a new dimension - transaction resources that operate at the application layer. This dimensional separation allows the protocol to remain stateless for scalability while the transaction resources provide state management for reliability, solving the contradiction by operating at different architectural levels.
2Reliability
If protocol state is maintained to ensure transaction progression, then transaction reliability is improved, but device complexity increases
Solution Approach 1:
The patent segments the system into core resources that handle stateless messaging and transaction resources that handle state management. This segmentation isolates complexity to specific components (transaction resources) while keeping the core messaging protocol simple and stateless, thus improving transaction progression reliability without uniformly increasing device complexity across the entire system.
Solution Approach 2:
Transaction resources act as intermediaries that assume the burden of state management, shielding the core messaging protocol from complexity. The transaction resources maintain protocol state information and use it to coordinate transactions, ensuring progression reliability while containing complexity within a dedicated intermediary layer rather than distributing it throughout the protocol.
3Productivity
If connection re-establishment is allowed to maintain communication, then system availability is improved, but transaction state consistency cannot be guaranteed
Solution Approach 1:
The patent implements feedback mechanisms where transaction resources monitor transaction state and use this feedback to determine appropriate actions after connection re-establishment. The transaction resources can detect whether a transaction was in progress before connection loss and coordinate resumption or cleanup accordingly, maintaining state consistency while allowing communication availability through re-establishment.
Solution Approach 2:
The transaction resources prepare for potential connection failures by maintaining transaction state information that can guide recovery actions. This beforehand cushioning allows the system to handle connection re-establishment gracefully by using the preserved state information to restore consistency, rather than losing state and requiring complete transaction restart.
Data Source
AI summary
A communications device, such as an Internet-of-Things device, includes an entity resource to originate or consume data, and core resources to facilitate stateless messaging with a remote device, with the messaging being associated with the entity resource. Transaction resources are provided to manage a transaction with the remote device. The transaction includes a sequence of messages associated with the entity resource. The transaction resources include a transaction state machine to represent a current intra-transactional ephemeral state from among a plurality of intra-transactional ephemeral states representing progression of the transaction, a commit handler to institute a persistent state change related to the entity resource in response to a successful completion of the transaction, and a transaction communicator to conduct intra-transaction communications via the core resources directed to corresponding transactional resources of the remote device.


