Sdn-based api controller
Abstract
Techniques, described herein, may enable a software defined network (SDN) to determine application program interfaces (APIs) for providing network services. For instance, when a customer submits a request to access media content (e.g., images, music, videos, etc.), the SDN may determine the APIs to enable the network service to be provided to the user with little or no operator involvement. In some implementations, the APIs may be derived by the network dynamically. In some implementations, the APIs may be derived from API records that are stored by the SDN. Additionally, when new APIs are derived for a network service, the APIs may be recorded in case the same request for network services is later received (e.g., from another customer) in which case the record may be promptly used to determine the appropriate APIs for the requested network service.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system, comprising:
one or more processors configured to:
identify a plurality of sets of attributes associated with a network service provided by a software-defined network (SDN);
determine a respective identifier associated with each attribute of the plurality of sets of attributes;
generate a plurality of codes that each correspond to a respective set of attributes of the plurality of sets of attributes,
wherein a particular code for a particular set of attributes, of the plurality of sets of attributes, includes the respective identifiers associated with the attributes of the particular set of attributes;
compare the generated plurality of codes to a plurality of application programming interface (API) records that are each associated with a respective set of APIs, the API records each including a respective code;
select, based on the comparing, one or more APIs that are associated with API records that each include a same code as at least one code of the generated plurality of codes; and
provide the selected one or more APIs to the SDN, wherein providing the one or more APIs to the SDN enables the SDN to implement the one or more APIs.
2 . The system of claim 1 ,
wherein selecting the one or more APIs includes identifying a particular API record that includes a completed API chain corresponding to the requested network service, and wherein selecting the one or more API records further includes selecting the completed API chain as the selected one or more API records.
3 . The system of claim 1 , wherein the network service is a first network service, wherein the one or more processors are further configured to:
create a first API record that associates the plurality of sets of attributes to the selected one or more APIs; and store the first API record in the repository, the first API record being used to provide the one or more APIs for a subsequent request for a second network service having the same attributes as the first network service.
4 . The system of claim 1 , wherein selecting the one or more APIs comprises:
receiving a request to modify the network service; determining that an existing API chain exists for the network service; and modifying, based on the request to modify the network service, the existing API chain to create an updated API chain.
5 . The system of claim 1 , wherein generating the particular code for the particular set of attributes comprises:
concatenating the respective identifiers associated with the attributes included in the particular set of attributes, the particular code including the concatenated respective identifiers.
6 . The system of claim 1 ,
wherein selecting the one or more APIs includes determining a sequence of the one or more APIs; and wherein providing the selected one or more APIs to the SDN includes indicating the sequence of the one or more APIs, wherein indicating the sequence of the one or more APIs enables the SDN to implement the APIs in the determined sequence.
7 . The system of claim 1 , wherein selecting the one or more APIs comprises:
determining that a first API record and a second API record, of the plurality of API records, include the same code; determining that the first API record consumes fewer resources than the second API record; and selecting the first API record in lieu of the second API record based on the determination that the first API record consumes fewer resources than the second API record.
8 . A non-transitory computer-readable medium, storing a plurality of processor-executable instructions to:
identify a plurality of sets of attributes associated with a network service provided by a software-defined network (SDN); determine a respective identifier associated with each attribute of the plurality of sets of attributes; generate a plurality of codes that each correspond to a respective set of attributes of the plurality of sets of attributes,
wherein a particular code for a particular set of attributes, of the plurality of sets of attributes, includes the respective identifiers associated with the attributes of the particular set of attributes;
compare the generated plurality of codes to a plurality of application programming interface (API) records that are each associated with a respective set of APIs, the API records each including a respective code; select, based on the comparing, one or more APIs that are associated with API records that each include a same code as at least one code of the generated plurality of codes; and provide the selected one or more APIs to the SDN, wherein providing the one or more APIs to the SDN enables the SDN to implement the one or more APIs.
9 . The non-transitory computer-readable medium of claim 8 ,
wherein the processor-executable instructions, to select the one or more APIs, further include processor-executable instructions to identify a particular API record that includes a completed API chain corresponding to the requested network service, and wherein the processor-executable instructions, to select the one or more API records, further include processor-executable instructions to select the completed API chain as the selected one or more API records.
10 . The non-transitory computer-readable medium of claim 8 , wherein the network service is a first network service, wherein the processor-executable instructions further comprise processor-executable instructions to:
create a first API record that associates the plurality of sets of attributes to the selected one or more APIs; and store the first API record in the repository, the first API record being used to provide the one or more APIs for a subsequent request for a second network service having the same attributes as the first network service.
11 . The non-transitory computer-readable medium of claim 8 , wherein the processor-executable instructions, to select the one or more APIs, further include processor-executable instructions to:
receive a request to modify the network service; determine that an existing API chain exists for the network service; and modify, based on the request to modify the network service, the existing API chain to create an updated API chain.
12 . The non-transitory computer-readable medium of claim 8 , wherein the processor-executable instructions, to generate the particular code for the particular set of attributes, further include processor-executable instructions to:
concatenate the respective identifiers associated with the attributes included in the particular set of attributes, the particular code including the concatenated respective identifiers.
13 . The non-transitory computer-readable medium of claim 8 ,
wherein the processor-executable instructions, to select the one or more APIs, further include processor-executable instructions to determine a sequence of the one or more APIs; and wherein the processor-executable instructions, to provide the selected one or more APIs to the SDN, further include processor-executable instructions to indicate the sequence of the one or more APIs, wherein indicating the sequence of the one or more APIs enables the SDN to implement the APIs in the determined sequence.
14 . The non-transitory computer-readable medium of claim 8 , wherein the processor-executable instructions, to select the one or more APIs, further include processor-executable instructions to:
determine that a first API record and a second API record, of the plurality of API records, include the same code; determine that the first API record consumes fewer resources than the second API record; and select the first API record in lieu of the second API record based on the determination that the first API record consumes fewer resources than the second API record.
15 . A method, comprising:
identifying a plurality of sets of attributes associated with a network service provided by a software-defined network (SDN); determining a respective identifier associated with each attribute of the plurality of sets of attributes; generating a plurality of codes that each correspond to a respective set of attributes of the plurality of sets of attributes,
wherein a particular code for a particular set of attributes, of the plurality of sets of attributes, includes the respective identifiers associated with the attributes of the particular set of attributes;
comparing the generated plurality of codes to a plurality of application programming interface (API) records that are each associated with a respective set of APIs, the API records each including a respective code; selecting, based on the comparing, one or more APIs that are associated with API records that each include a same code as at least one code of the generated plurality of codes; and providing the selected one or more APIs to the SDN, wherein providing the one or more APIs to the SDN enables the SDN to implement the one or more APIs.
16 . The method of claim 15 ,
wherein selecting the one or more APIs includes identifying a particular API record that includes a completed API chain corresponding to the requested network service, and wherein selecting the one or more API records further includes selecting the completed API chain as the selected one or more API records.
17 . The method of claim 15 , wherein the network service is a first network service, the method further comprising:
creating a first API record that associates the plurality of sets of attributes to the selected one or more APIs; and storing the first API record in the repository, the first API record being used to provide the one or more APIs for a subsequent request for a second network service having the same attributes as the first network service.
18 . The method of claim 15 , wherein selecting the one or more APIs further includes:
receiving a request to modify the network service; determining that an existing API chain exists for the network service; and modifying, based on the request to modify the network service, the existing API chain to create an updated API chain.
19 . The method of claim 15 , wherein generating the particular code for the particular set of attributes includes:
concatenating the respective identifiers associated with the attributes included in the particular set of attributes, the particular code including the concatenated respective identifiers.
20 . The method of claim 15 ,
wherein selecting the one or more APIs includes determining a sequence of the one or more APIs; and wherein providing the selected one or more APIs to the SDN includes indicating the sequence of the one or more APIs, wherein indicating the sequence of the one or more APIs enables the SDN to implement the APIs in the determined sequence.Join the waitlist — get patent alerts
Track US2020067797A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.