Object-Oriented Discovery Framework for Network Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing discovery protocols for devices and services on computer networks are error-prone and difficult to implement, requiring developers to design protocol-specific libraries and change program flow, leading to significant rework when switching between similar protocols.

Innovation Solution

A programming framework that provides an object-oriented abstraction of discovery protocols, allowing developers to create discoverable applications by deriving from a generic discoverable class and configuring with attributes, minimizing protocol-specific knowledge and process flow impacts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If discovery protocols are implemented directly in applications, then discovery functionality is achieved, but implementation complexity and error-proneness increase significantly

Engineering Contradiction:
Improvediscovery implementation reliabilityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a discovery service as an intermediary component that handles all discovery protocol operations. Applications interact with this service through a simplified interface rather than implementing protocols directly. The service acts as a mediator between applications and the complex discovery protocols, abstracting away the complexity while maintaining reliable discovery functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the complex discovery protocol implementation from applications and places it in a separate discovery service. This separation removes the burden of protocol complexity from applications, allowing them to focus on their core functionality while the discovery service handles protocol-specific complexity and error handling.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If protocol-specific libraries are designed for each discovery protocol, then protocol functionality is achieved, but development time and rework increase when switching protocols

Engineering Contradiction:
Improveprotocol switching capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal discovery service that can handle multiple discovery protocols through a single standardized interface. The service is designed to be protocol-agnostic, allowing it to work with different protocols (such as SSDP, mDNS, or custom protocols) without requiring applications to be recompiled or reconfigured. This multi-functionality enables easy protocol switching while maintaining consistent application behavior.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The discovery service is designed with dynamic configuration capabilities, allowing it to adapt to different protocols and environments at runtime. The service can dynamically select and switch between different discovery protocols based on configuration or environmental conditions, providing flexibility without requiring application-level changes.

Inventive Principle:
Principle #15Dynamics

3Reliability

If applications are modified to embed discovery processes, then discoverability is improved, but program flow and programming logic are significantly impacted

Engineering Contradiction:
ImprovediscoverabilityVSAvoidprogram flow simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The discovery service acts as an intermediary that applications can query for discoverable devices and services. Applications maintain their existing program flow and only interact with the discovery service through simple method calls or interface queries. The service handles all complex discovery operations in the background, returning results that applications can use without disrupting their原有 programming logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the discovery functionality into a separate service module, allowing applications to remain focused on their core functionality. Applications can optionally integrate discovery capabilities by querying the discovery service, but this integration does not require fundamental changes to their program flow. The segmentation enables discoverability while preserving application simplicity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7685303B2Object-oriented discovery framework
Publication Date: 2010.03.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7685303B2 patent drawing
  • US7685303B2 patent drawing
  • US7685303B2 patent drawing

AI summary

An object-oriented programming framework allows developers to write applications for services and devices that are automatically “discoverable” by applications associated with other devices and services on a network. An attribute is added to a class in an application or web service object and an associated, generic discoverable base class is appended to the application to make the application discoverable on the network. The discovery framework imposes minimal requirements on the application in which it is embedded, so nearly every application can be converted into a “discoverable” application. The discovery protocol-dependent details are hidden from the application itself, so exchanging the discovery protocol can be done without affecting the application.