MLchartDataset catalogue

Patent · US10715388B2 · B2 · US

Using a container orchestration service for dynamic routing

(11) Publication number
US10715388B2
(21) Application number
16/214,356
(22) Filing date
2018-12-10
(30) Priority date
2018-12-10
(43) Publication date
2020-07-14
(45) Date of grant
2020-07-14
(51) IPC
H04L 12/24; H04L 29/08; G06F 15/173
(52) CPC
  • H04L Transmission of digital information, e.g. telegraphic communication: 41/0846, 67/10
  • G06F Electric digital data processing: 2009/4557, 9/45558, 9/505, 9/5083
(73) Assignee
SAP SE
(72) Inventors
Ulf Fildebrandt; Sapreen Ahuja
(54) Title
Using a container orchestration service for dynamic routing
(57) Abstract

The disclosure generally describes methods, software, and systems for using resources in the cloud. An integration flow (iFlow) is deployed as a resource by a cloud integration system. The resource is assigned by a container orchestration service to one or more pods. An iFlow definition that is mapped to the resource is copied into a corresponding pod by a pod sync agent. A unique label is assigned by the pod sync agent to each resource based on iFlows deployed into the pod. A service is created as an endpoint to the resource by the cloud integration system with a rule redirecting calls to the one or more pods containing the resource.

Full text
View on Google Patents

Claims (20)

  1. A computer-implemented method comprising: deploying, by a cloud integration system, an integration flow (iFlow) as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.
  2. The computer-implemented method of claim 1, further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.
  3. The computer-implemented method of claim 2, wherein the low load is based on one or more of central processor unit (CPU) usage or memory usage.
  4. The computer-implemented method of claim 2, wherein determining current loads of pods containing the specific resource is performed by a load balancer.
  5. The computer-implemented method of claim 1, further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.
  6. The computer-implemented method of claim 2, further comprising performing load balancing of resources running on the pods.
  7. The computer-implemented method of claim 6, wherein the load balancing uses the container orchestration service accessing uniform resource locators (URLs) that expose endpoints to the services.
  8. A system comprising: memory storing tables storing deployed resources/iFlows and iFlow definitions; and a server performing operations comprising: deploying, by a cloud integration system, an iFlow as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.
  9. The system of claim 8, the operations further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.
  10. The system of claim 9, wherein the low load is based on one or more of CPU usage or memory usage.
  11. The system of claim 9, wherein determining current loads of pods containing the specific resource is performed by a load balancer.
  12. The system of claim 8, the operations further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.
  13. The system of claim 9, the operations further comprising performing load balancing of resources running on the pods.
  14. The system of claim 13, wherein the load balancing uses the container orchestration service accessing URLs that expose endpoints to the services.
  15. A non-transitory computer-readable media encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: deploying, by a cloud integration system, an iFlow as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.
  16. The non-transitory computer-readable media of claim 15, the operations further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.
  17. The non-transitory computer-readable media of claim 16, wherein the low load is based on one or more of CPU usage or memory usage.
  18. The non-transitory computer-readable media of claim 16, wherein determining current loads of pods containing the specific resource is performed by a load balancer.
  19. The non-transitory computer-readable media of claim 15, the operations further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.
  20. The non-transitory computer-readable media of claim 16, the operations further comprising performing load balancing of resources running on the pods.

Description

The present disclosure relates to handling load distributions of applications running in the cloud. Some cloud integration systems can struggle with load distributions of message exchange, for example, when too many integration scenarios run on one runtime node. Existing techniques for distributing integration scenarios to multiple nodes encounter limitations in defining routing information in a dynamic way. The distribution of integration scenarios can be done in many ways. For example, some conventional systems use a separate runtime such as NGINX or another load balancer to do routing for web applications. Separate instances can be installed in a distributed system, and the configuration can be run in a separate system, but this creates a disadvantage in that the separate system has to be maintained and updated. The use of separate runtimes can interfere with a platform and can create problems that have to be solved with additional complexity.

This disclosure generally describes computer-implemented methods, software, and systems for using techniques to achieve the distribution of integration scenarios in the cloud.

Citations (27)

  • US7770103B2
  • US7461346B2
  • US7584457B2
  • US7590614B2
  • US7814491B1
  • US7873942B2
  • US7757204B2
  • US7774745B2
  • US7840935B2
  • US7840936B2
  • US7853923B2
  • US7734560B2
  • US7962892B2
  • US8689174B2
  • US8126961B2
  • US8341593B2
  • US20120209947A1
  • US20140068075A1
  • US9411665B2
  • US8978035B2
  • US20140351443A1
  • US20160034318A1
  • US20160357535A1
  • US9996344B2
  • US20190102226A1
  • US20190163536A1
  • US20190243687A1
Record as JSON
{
  "publication_number": "US10715388B2",
  "country": "US",
  "kind": "B2",
  "title": "Using a container orchestration service for dynamic routing",
  "abstract": "The disclosure generally describes methods, software, and systems for using resources in the cloud. An integration flow (iFlow) is deployed as a resource by a cloud integration system. The resource is assigned by a container orchestration service to one or more pods. An iFlow definition that is mapped to the resource is copied into a corresponding pod by a pod sync agent. A unique label is assigned by the pod sync agent to each resource based on iFlows deployed into the pod. A service is created as an endpoint to the resource by the cloud integration system with a rule redirecting calls to the one or more pods containing the resource.",
  "claims": [
    "1. A computer-implemented method comprising: deploying, by a cloud integration system, an integration flow (iFlow) as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.",
    "2. The computer-implemented method of claim 1, further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.",
    "3. The computer-implemented method of claim 2, wherein the low load is based on one or more of central processor unit (CPU) usage or memory usage.",
    "4. The computer-implemented method of claim 2, wherein determining current loads of pods containing the specific resource is performed by a load balancer.",
    "5. The computer-implemented method of claim 1, further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.",
    "6. The computer-implemented method of claim 2, further comprising performing load balancing of resources running on the pods.",
    "7. The computer-implemented method of claim 6, wherein the load balancing uses the container orchestration service accessing uniform resource locators (URLs) that expose endpoints to the services.",
    "8. A system comprising: memory storing tables storing deployed resources/iFlows and iFlow definitions; and a server performing operations comprising: deploying, by a cloud integration system, an iFlow as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.",
    "9. The system of claim 8, the operations further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.",
    "10. The system of claim 9, wherein the low load is based on one or more of CPU usage or memory usage.",
    "11. The system of claim 9, wherein determining current loads of pods containing the specific resource is performed by a load balancer.",
    "12. The system of claim 8, the operations further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.",
    "13. The system of claim 9, the operations further comprising performing load balancing of resources running on the pods.",
    "14. The system of claim 13, wherein the load balancing uses the container orchestration service accessing URLs that expose endpoints to the services.",
    "15. A non-transitory computer-readable media encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: deploying, by a cloud integration system, an iFlow as a resource; assigning, by a container orchestration service, the resource to one or more pods; copying, by a pod sync agent, an iFlow definition mapped to the resource into a corresponding pod; assigning, by the pod sync agent, a unique label to the pod based on iFlows deployed into the pod; and creating, by the cloud integration system, a service as an endpoint to the resource, with a rule redirecting calls to the one or more pods containing the resource.",
    "16. The non-transitory computer-readable media of claim 15, the operations further comprising: receiving, by the cloud integration system, a request to call to the service of a specific resource; determining, using rules, a specific pod to which to direct the request; determining, by the cloud integration system, current loads of pods containing the specific resource; and forwarding, using a unique label, the request to a pod with a low load.",
    "17. The non-transitory computer-readable media of claim 16, wherein the low load is based on one or more of CPU usage or memory usage.",
    "18. The non-transitory computer-readable media of claim 16, wherein determining current loads of pods containing the specific resource is performed by a load balancer.",
    "19. The non-transitory computer-readable media of claim 15, the operations further comprising maintaining, using the pod sync agent, information regarding resources running on each pod.",
    "20. The non-transitory computer-readable media of claim 16, the operations further comprising performing load balancing of resources running on the pods."
  ],
  "description_excerpt": "The present disclosure relates to handling load distributions of applications running in the cloud. Some cloud integration systems can struggle with load distributions of message exchange, for example, when too many integration scenarios run on one runtime node. Existing techniques for distributing integration scenarios to multiple nodes encounter limitations in defining routing information in a dynamic way. The distribution of integration scenarios can be done in many ways. For example, some conventional systems use a separate runtime such as NGINX or another load balancer to do routing for web applications. Separate instances can be installed in a distributed system, and the configuration can be run in a separate system, but this creates a disadvantage in that the separate system has to be maintained and updated. The use of separate runtimes can interfere with a platform and can create problems that have to be solved with additional complexity.\n\nThis disclosure generally describes computer-implemented methods, software, and systems for using techniques to achieve the distribution of integration scenarios in the cloud.",
  "cpc": [
    "H04L 41/0846",
    "G06F 2009/4557",
    "G06F 9/45558",
    "G06F 9/505",
    "G06F 9/5083",
    "H04L 67/10"
  ],
  "ipc": [
    "H04L 12/24",
    "H04L 29/08",
    "G06F 15/173"
  ],
  "assignees": [
    "SAP SE"
  ],
  "inventors": [
    "Ulf Fildebrandt",
    "Sapreen Ahuja"
  ],
  "filing_date": "2018-12-10",
  "publication_date": "2020-07-14",
  "grant_date": "2020-07-14",
  "priority_date": "2018-12-10",
  "application_number": "US-201816214356-A",
  "family_id": "68583142",
  "cited_by_count": 30,
  "citations": [
    "US7770103B2",
    "US7461346B2",
    "US7584457B2",
    "US7590614B2",
    "US7814491B1",
    "US7873942B2",
    "US7757204B2",
    "US7774745B2",
    "US7840935B2",
    "US7840936B2",
    "US7853923B2",
    "US7734560B2",
    "US7962892B2",
    "US8689174B2",
    "US8126961B2",
    "US8341593B2",
    "US20120209947A1",
    "US20140068075A1",
    "US9411665B2",
    "US8978035B2",
    "US20140351443A1",
    "US20160034318A1",
    "US20160357535A1",
    "US9996344B2",
    "US20190102226A1",
    "US20190163536A1",
    "US20190243687A1"
  ]
}

Record 2,071 of 8,000 in Patents full text (MLC-0201). Request the full dataset.