Embedding Application Servers in Distributed Datastores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional client/server architectures face inefficiencies in scaling the storage tier and managing data locality, leading to increased network hops and data transfer, especially in 'big data' environments with multiple servers.
Innovation Solution
Embedding application servers within distributed datastores to utilize data locality information, reducing remote procedure calls and data transfer by leveraging the datastore's replication and failover capabilities, thereby improving time and bandwidth efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional client/server architecture with separate compute and storage tiers is used, then isolation and scaling of compute tier is improved, but network hops and data transfer between tiers increase
Solution Approach 1:
The patent embeds application servers within the distributed datastore infrastructure, merging compute and storage tiers into a unified architecture. Application server instances run alongside datastore nodes, allowing data processing to occur at the location where data resides, thereby eliminating network hops between separate compute and storage tiers while maintaining scaling capabilities.
2Ease of operation
If data is fetched and processed from remote storage tier, then data access flexibility is improved, but time and bandwidth efficiency deteriorate
Solution Approach 1:
The system pre-positions application server instances within the distributed datastore infrastructure, so that compute resources are already located near the data before processing is needed. This preliminary placement eliminates the need to fetch data across the network during operation, reducing data processing time while maintaining access flexibility through the distributed architecture.
3Adaptability or versatility
If application servers are deployed separately from datastore, then application independence is improved, but fault tolerance and availability deteriorate
Solution Approach 1:
The patent implements a nested architecture where application server instances are embedded within the distributed datastore node structure. Each datastore node can host application server instances, creating a hierarchical arrangement where applications inherit the fault tolerance and availability properties of the underlying distributed datastore while maintaining their functional independence through isolated process execution.
Data Source
AI summary
Described embodiments provide systems and methods for building client server applications. The application server code is deployed within a distributed datastore and utilizes the datastore's data locality information to fulfill requests with minimal remote procedure calls (RPC), reduced transfer of data between servers, and shared data caches. The application server inherits the properties of the distributed datastore such as statefulness, replication and failover. Described embodiments also enable the fetching and processing of data in a “big data” environment—a system that contains multiple servers' worth of data, with improved time and bandwidth considerations.


