Distributed Service Discovery via Local Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In networked computing systems, the need for a central coordinator device to maintain dynamic records of available services leads to high demands on bandwidth, throughput, and computational load, especially when numerous devices provide services and their availability changes frequently.
Innovation Solution
Implementing a system with dispatcher and forwarder applications on service providing and requesting devices that maintain local caches of available services, allowing for local decision-making and reducing reliance on a central service list device, thereby distributing the load and eliminating the need for frequent queries to a central coordinator.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a central coordinator device is used to maintain a database of available services, then service information can be centrally managed and queried, but the coordinator device experiences high computational load, bandwidth consumption, and throughput demands
Solution Approach 1:
The patent segments the centralized service information management into distributed components. Each device maintains local service information and can independently query or provide service data without requiring all queries to pass through a central coordinator. This segmentation reduces the computational load and bandwidth demands on any single device while maintaining service information availability across the network.
2Reliability
If a central coordinator device maintains real-time service availability information, then accurate service discovery is enabled, but the system requires expensive and difficult to operate highly-available, high-bandwidth, and high-throughput infrastructure
Solution Approach 1:
The patent implements self-service mechanisms where devices autonomously manage and update their own service information in local databases. When a device starts or stops a service, it automatically updates its local record and can notify peers. This self-service approach eliminates the need for complex centralized infrastructure while maintaining reliable service discovery through distributed peer-to-peer queries.
3Adaptability or versatility
If numerous devices frequently start and stop services, then service dynamism and adaptability are improved, but the central coordinator device must process large numbers of requests, increasing its operational demands
Solution Approach 1:
The patent applies preliminary action by having devices pre-register their service capabilities and maintain updated local service databases before being queried. When services start or stop, devices proactively update their local information rather than waiting for coordinator queries. This preliminary maintenance of service information reduces the number of requests that need to be processed in real-time, decreasing the operational demands on the coordinator device while maintaining high adaptability to service changes.
Data Source
AI summary
The described embodiments perform operations to enable access to services provided by applications executing on service providing devices by applications executing in service requesting devices. In the described embodiments, a service providing device executes a “dispatcher” system service that performs operations for interfacing between service-providing applications and service requesting devices. For example, the dispatcher application performs operations for advertising the availability of services on the service providing device and for proxying communication between the service and service requesting devices. In addition, service requesting devices execute a “forwarder” system service that performs operations for interfacing between service-requesting applications and service providing devices. For example, the forwarder application performs operations for recognizing when applications are to access services, selecting an available service for an application to access, and for proxying communication between the application and a service providing device.


