Distributed Database Client-Side Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems either push the complexity of indexing and querying onto application developers, consuming additional memory resources, or add a layer of abstraction that compromises performance by separating records from database clients.

Innovation Solution

A distributed database system with a layered software stack that includes a hardware abstraction layer, runtime layer, management layer, and interface layer, utilizing shared memory regions and replication clients to manage data records and maintain data coherency across multiple processing nodes, allowing each client process to have a unique perspective on data records through different abstract data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If database systems use internal keys for indexing records, then record retrieval is enabled, but additional memory resources are consumed

Engineering Contradiction:
Improverecord retrieval speedVSAvoidmemory resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts the indexing function from the database system itself and relocates it to client processes. Each client maintains its own abstract data structure (such as a hash table or tree) that maps keys to record locations in shared memory. This eliminates the need for the database to store and manage internal keys, freeing up memory resources while maintaining fast retrieval through client-side indexing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces abstract data structures as intermediary components between clients and the shared memory database. These data structures serve as local indexes that mediate between client queries and the actual data records in shared memory, enabling efficient key-based retrieval without requiring the database to maintain global indexing structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If database contains knowledge of internal representation to perform complex queries, then querying capability is improved, but performance deteriorates due to added abstraction layer

Engineering Contradiction:
Improvequerying capabilityVSAvoidquery performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent segments the database system into distinct functional components: the shared memory database stores raw data records without interpretation, while client processes maintain abstract data structures tailored to their specific querying needs. This segmentation allows each client to optimize its own query performance for its particular workload without imposing a universal abstraction layer on the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing each client process to have its own customized abstract data structure with properties optimized for that client's specific requirements. Different clients can use different data structure types (hash tables, B-trees, etc.) and different key schemes based on their individual querying patterns, rather than forcing a one-size-fits-all approach.

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple client processes access shared memory database, then system scalability is improved, but data coherency becomes difficult to maintain

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through version vectors or timestamp-based validation that allow client processes to detect and resolve conflicts when accessing shared records. When a client reads a record, it receives version information; subsequent writes from other clients can be detected through version mismatches, triggering appropriate conflict resolution protocols that maintain data coherency across the distributed system.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action through optimistic concurrency control where clients perform reads and writes without immediate locking, but validate their operations against version information before committing changes. This preliminary validation approach allows high concurrency and scalability while ensuring that only coherent data states are committed to shared memory.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7761485B2Distributed database
Publication Date: 2010.07.20 TELLABS COMM CANADA
  • US7761485B2 patent drawing
  • US7761485B2 patent drawing
  • US7761485B2 patent drawing

AI summary

A technique for storing a plurality of data records in a database. Client processes link to the database to access the data records of the database. Each client process has a specified scope. The scope defines to which of the data records within the database each of the client processes has access.