Hybrid GATT Database Structure for Limited Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Bluetooth GATT databases face inefficiencies due to the inflexibility of static implementations, which consume less volatile memory but lack flexibility, while dynamic databases, although more flexible, consume more volatile memory, posing challenges for devices with limited memory resources.
Innovation Solution
A hybrid GATT database structure that combines a static portion stored in non-volatile memory with a dynamic portion in volatile memory, using an attribute index array to manage data location, allowing for flexible and efficient memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a static GATT database is stored in non-volatile memory, then volatile memory consumption is minimized, but flexibility to modify the database is lost
Solution Approach 1:
The GATT database is divided into two segments: a static portion stored in non-volatile memory and a dynamic portion stored in volatile memory. The static portion contains immutable services and characteristics, while the dynamic portion allows runtime modifications. This segmentation resolves the contradiction by allowing the system to minimize volatile memory usage for static data while providing flexibility through the dynamic portion.
Solution Approach 2:
The patent implements a hybrid database structure where the dynamic portion can be modified at runtime through program interfaces. This dynamic component allows the database to adapt to changing requirements while the static portion maintains memory efficiency. The system transitions from a purely static model to a partially dynamic model, resolving the flexibility constraint.
2Adaptability or versatility
If a dynamic GATT database is implemented in volatile memory, then database flexibility is improved, but volatile memory consumption increases
Solution Approach 1:
By segmenting the database into static and dynamic portions, the patent allows the dynamic portion to provide flexibility while occupying only the necessary volatile memory. The static portion resides in non-volatile memory, preventing unnecessary volatile memory consumption. This segmentation enables the system to achieve flexibility without paying the full memory cost of a completely dynamic database.
Solution Approach 2:
The patent applies local quality by providing different storage characteristics to different parts of the database. The static portion uses non-volatile memory storage with read-only characteristics, while the dynamic portion uses volatile memory with write-access characteristics. This localized differentiation allows each part to optimize for its specific requirements, resolving the memory consumption issue while maintaining overall flexibility.
3Quantity of substance
If a hybrid GATT database structure is implemented, then memory usage is optimized, but system complexity increases
Solution Approach 1:
The patent introduces an intermediary attribute index array that manages the hybrid database structure. This index array serves as a mediator between the static and dynamic portions, tracking which attributes are stored where and enabling efficient access. The intermediary handles the complexity of managing two storage locations, allowing the overall system to achieve memory optimization without exposing the full complexity to users.
Solution Approach 2:
The hybrid database structure provides multi-functionality by supporting both static and dynamic operations within a single unified interface. The system can perform read-only operations on the static portion and read-write operations on the dynamic portion through common program interfaces. This universality allows the system to achieve memory optimization while maintaining a relatively simple interface, as the complexity is handled internally rather than requiring separate interfaces for different operation types.
Data Source
AI summary
In one aspect, an apparatus includes: a volatile memory to store a dynamic portion of a hybrid generic attribute (GATT) database structure; and a non-volatile memory coupled to the volatile memory to store a static portion of the hybrid GATT database structure, where the volatile memory is to store an attribute index array to identify whether an attribute datum of the hybrid GATT database structure is stored in the volatile memory or the non-volatile memory.


