Hypermedia Custom Operation Invocation via Segmented URL

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional REST-based data services are inadequate in effectively representing and invoking custom operations, as they intermingle data and operational representations, making it difficult to describe and invoke custom operations in a common way.

Innovation Solution

A mechanism is introduced where a service application receives an HTTP method and a network resource locator identifying an operation associated with a resource instance, associating the resource instance with the operation and invoking it using the HTTP method based on the resource's state, allowing for flexible specification and invocation of custom operations through the network resource locator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional REST-based data services use built-in HTTP verbs for CRUD operations, then standard operations can be performed, but custom operations cannot be effectively represented or invoked

Engineering Contradiction:
Improvecustom operation supportVSAvoidoperation representation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The network resource locator is segmented into distinct portions: a first portion identifying the resource instance and a second portion identifying the custom operation. This segmentation allows clear separation between resource identification and operation specification, enabling effective representation of custom operations without increasing overall system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the structured network resource locator with distinct portions) that mediates between the resource instance and the custom operation. This intermediary structure enables the invocation of custom operations while maintaining the simplicity of the REST interface

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If data and operational representations are intermingled in a single resource representation, then a unified structure is maintained, but it becomes difficult to describe and invoke custom operations

Engineering Contradiction:
Improveoperation invocation easeVSAvoidrepresentation structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The representation is segmented into distinct portions within the network resource locator: one portion for resource identification and another for operation identification. This segmentation enables easy invocation of custom operations while maintaining a structured, organized representation format

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the resource representation by including a second portion in the network resource locator that specifically identifies the operation. This dimensional expansion allows operations to be specified separately from resource data, improving operability without creating chaos

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10698969B2Representation/invocation of actions/functions in a hypermedia-driven environment
Publication Date: 2020.06.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10698969B2 patent drawing
  • US10698969B2 patent drawing
  • US10698969B2 patent drawing

AI summary

The subject disclosure relates to techniques for performing an operation on a resource, based on a state of the resource, by invoking a hypertext transfer protocol (HTTP) request on a universal resource locator (URL) indicating the operation. An interface component can receive a request including an HTTP method and a URL including a first portion indicating a resource and a second portion indicating an operation. Further, an invocation component, in response to the operation being associated with the resource, can invoke the operation on the resource utilizing the HTTP method based on a state of the resource. Other embodiments relate to conditionally returning the operation within a return payload, for example, alone or within a feed, based on an applicability of the operation according to a state of an associated resource.