IP Library Granted Patent US 11,157,341
Granted Patent B1
US 11,157,341 · App. 16/918,814 · Granted Oct 26, 2021

Data contracts

Inventors: Pi Lanningham (New York, NY); John Benlin Lee (New York, NY); Nicholas Ford (New York, NY); Richard Noad (New York, NY)
Assignee: ADP, LLC
G06F9/547G06Q10/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,157,341
App. No.
16/918,814
Granted
Oct 26, 2021
Kind
B1
Abstract

A method for facilitating communication between application components is provided. The method comprises invoking, by a data consumer, a data contract by requesting data, wherein the data contract specifies communication parameters between application components. The data contract identifies and invokes a provider component in response to the invocation by the data consumer. The provider translates input data from the data consumer to construct a producer request and sends the producer request to a data producer. The data producer sends output data to the provider in response to the producer request. The provider translates and sends the output data to the data contract, and the data contract send the translated output data to the data consumer.

Claims (48)

1. A computer-implemented method for facilitating communication between application components, the method comprising:

using a number of processors to perform the steps of:

invoking, by a data consumer component, a data contract by requesting data, wherein the data contract specifies communication parameters between application components and wherein the data contract identifies and invokes the provider component according to a protocol that pairs the provider component with a defined configuration to use when invoking the provider component;

identifying, by the data contract, a provider component in response to the invocation by the data consumer component;

invoking, by the data contract, the provider component;

translating, by the provider component, input data from the data consumer to construct a producer request;

sending, by the provider component, the producer request to a data producer component;

sending, by the data producer component, output data to the provider component in response to the producer request;

translating, by the provider component, the output data;

sending, by the provider component, the translated output data to the data contract; and

sending, by the data contract, the translated output data to the data consumer component.

2. The method of claim 1 , wherein the data consumer component invokes the data contract by sending input data to the data contract according to an input schema defined in the data contract.

3. The method of claim 2 , wherein the input schema is a local schema.

4. The method of claim 2 , wherein the input schema is a remote schema.

5. The method of claim 1 , wherein the data producer component fulfills the data contract in a manner selected by the data producer component without need for reference to the data consumer component.

6. The method of claim 1 , wherein the provider component translates the output data according to an output schema defined in the data contract.

7. The method of claim 6 , wherein the output schema is a local schema.

8. The method of claim 6 , wherein the output schema is a remote schema.

9. A system for facilitating communication between a plurality of application components, the system comprising:

a storage device configured to store program instructions; and

one or more processors operably connected to the storage device and configured to execute the program instructions to cause the system to:

invoke, by a data consumer component, a data contract by requesting data, wherein the data contract specifies communication parameters between application components and wherein the data contract identifies and invokes the provider component according to a protocol that pairs the provider component with a defined configuration to use when invoking the provider component;

identify, by the data contract, a provider component in response to the invocation by the data consumer component;

invoke, by the data contract, the provider component;

translate, by the provider component, input data from the data consumer to construct a producer request;

send, by the provider component, the producer request to a data producer component;

send, by the data producer component, output data to the provider component in response to the producer request;

translate, by the provider component, the output data;

send, by the provider component, the translated output data to the data contract; and

send, by the data contract, the translated output data to the data consumer component.

10. The system of claim 9 , wherein the data consumer component invokes the data contract by sending input data to the data contract according to an input schema defined in the data contract.

11. The system of claim 10 , wherein the input schema is a local schema.

12. The system of claim 10 , wherein the input schema is a remote schema.

13. The system of claim 9 , wherein the application components are Label Distribution Protocol components.

14. The system of claim 9 , wherein the data producer component fulfills the data contract in a manner selected by the data producer component without need for reference to the data consumer component.

15. The system of claim 14 , wherein the output schema is a local schema.

16. The system of claim 14 , wherein the output schema is a remote schema.

17. A computer program product for facilitating communication between application components, the computer program product comprising:

a computer-readable storage medium having program instructions embodied thereon to perform the steps of:

invoking, by a data consumer component, a data contract by requesting data, wherein the data contract specifies communication parameters between application components and wherein the data contract include an input schema for the data consumer component to invoke the data contract according to a protocol that pairs the provider component with a defined configuration to use when invoking the provider component, and an output schema for the provider component to translate the output data;

identifying, by the data contract, a provider component in response to the invocation by the data consumer component;

invoking, by the data contract, the provider component;

translating, by the provider component, input data from the data consumer to construct a producer request;

sending, by the provider component, the producer request to a data producer component;

sending, by the data producer component, output data to the provider component in response to the producer request;

translating, by the provider component, the output data;

sending, by the provider component, the translated output data to the data contract; and

sending, by the data contract, the translated output data to the data consumer component.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: LANNINGHAM, PI; LEE, JOHN BENLIN; FORD, NICHOLAS; NOAD, RICHARD
To: ADP, LLC
Reel/Frame 053103/0734 →