Serverless computing using resource multiplexing

US12547461B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12547461-B2
Application numberUS-202218049125-A
CountryUS
Kind codeB2
Filing dateOct 24, 2022
Priority dateOct 24, 2022
Publication dateFeb 10, 2026
Grant dateFeb 10, 2026

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer implemented method manages function execution in a container. A dispatcher in the container running in a computer system executes a function initialization in response to a first request for a function. The dispatcher in the container running in the computer system creates group of handlers in response to receiving a group of requests for the function. The dispatcher in the container running in the computer system sends the group of requests to the group of handlers in response to receiving the group of requests. The dispatcher in the container running in the computer system executes the group of requests using the group of handlers.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer implemented method for managing function execution in a container, the computer implemented method comprising: executing, by a dispatcher in the container running in a computer system, a function initialization in response to a first request for a function; creating, by the dispatcher in the container running in the computer system, a group of handlers in response to receiving a group of requests for the function, wherein the group of handlers is at least two handlers; and executing, by the dispatcher in the container running in the computer system, the group of requests using the group of handlers. 2 . The computer implemented method of claim 1 further comprising: creating, by the dispatcher in the container running in the computer system, a new handler for the group of handlers in response to receiving a new request and processing resources being available to create the new handler. 3 . The computer implemented method of claim 1 further comprising: assigning, by the dispatcher in the container running in the computer system, processing resources to the container, wherein the processing resources is selected from one of a group of processor units and a group of cores. 4 . The computer implemented method of claim 1 further comprising: marking, by the dispatcher in the container running in the computer system, a handler in the group of handlers as blocked in response to the handler making a blocking call. 5 . The computer implemented method of claim 1 further comprising: recording, by the dispatcher in the container running in the computer system, a sequence order for the group of handlers based on when handlers in the group of handlers are created to handle requests. 6 . The computer implemented method of claim 5 further comprising: determining, by the dispatcher in the container running in the computer system, whether to suspend a handler in the group of handlers or resume the handler in the group of handlers based on the sequence order for the group of handlers. 7 . The computer implemented method of claim 5 further comprising: suspending, by the dispatcher in the container running in the computer system, a new handler, tracking the new handler, and marking the new handler as ready in response to a number of a set of cores for the container being unavailable for the new handler; and resuming, by the dispatcher in the container running in the computer system, the new handler based on the sequence order of the handler in response to the number of the set of cores becoming available for the new handler. 8 . The computer implemented method of claim 1 further comprising: intercepting, by the dispatcher in the container running in the computer system, blocking calls made by the group of handlers; tracking, by the dispatcher in the container running in the computer system, a state of a handler making a blocking call; making, by the dispatcher in the container running in the computer system, the blocking call; and passing, by the dispatcher in the container running in the computer system, a value received in a response to the handler making the blocking call. 9 . The computer implemented method of claim 8 further comprising: resuming, by the dispatcher in the container running in the computer system, the handler in response to a number of a set of cores being available for the handler. 10 . The computer implemented method of claim 8 further comprising: keeping, by the dispatcher in the container running in the computer system, the handler suspended and marking the handler as ready in response to a number of a set of cores being unavailable. 11 . The computer implemented method of claim 8 further comprising: resuming, by the dispatcher in the container running in the computer system, the handler in response to a younger running handler being present in the group of handlers; and suspending, by the dispatcher in the container running in the computer system, the younger running handler. 12 . The computer implemented method of claim 1 further comprising: coalescing, by the dispatcher in the container running in the computer system, remote data accesses by the group of handlers. 13 . The computer implemented method of claim 12 , wherein coalescing, by the dispatcher in the container running in the computer system, remote storage accesses by the group of handlers comprises: recording, by the dispatcher in the container running in the computer system, remote data access requests from handlers in the group of handlers for a same data; making, by the dispatcher in the container running in the computer system, a single remote data access request for the same data; and returning, by the dispatcher in the container running in the computer system, the response to the single remote data access request to the handlers in the group of handlers making the remote data access requests for the same data. 14 . The computer implemented method of claim 12 , wherein coalescing remote storage accesses by the group of handlers comprises: combining, by the dispatcher in the container running in the computer system, remote data access requests to access data in a same data source into a vector request. 15 . The computer implemented method of claim 1 further comprising: reading, by the group of handlers in the container running in the computer system, shared memory pages initialized for the function during the function initialization; creating, by a handler in the group of handlers in the container running in the computer system, a copy of a shared memory page in the shared memory pages for a handler in the group of handlers in response to a write; and reading and writing, by the handler in the group of handlers in the container running in the computer system, to the copy of the shared memory page on subsequent reads and writes to the shared memory page by the handler. 16 . The computer implemented method of claim 1 , wherein the group of handlers use a shared file used to execute the function, wherein a temporary file is created for a handler in the group of handlers for writes to the shared file, and wherein the temporary file is used by the handler for subsequent reads and writes in place of the shared file. 17 . A computer system comprising: a set of processor units, wherein the set of processor units executes program instructions to: execute, a dispatcher in a container running in a computer system, a function initialization in response to a first request for a function; create, by the dispatcher in the container running in the computer system, group of handlers in response to receiving a group of requests for the function, wherein the group of handlers is at least two handlers; and execute, by the dispatcher in the container running in the computer system, the group of requests using the group of handlers. 18 . The computer system of claim 17 , wherein the set of processor units executes the program instructions to: create a new handler for the group of handlers in response to receiving a new request, none of the group of handlers being available to handle the new request, and processing resources being available to create the new handler. 19 . The computer system of claim 17 , wherein the set of processor units executes the program instructions to: assign processing resources to the container, wherein the processing resources is selected from one of a group of processor units and a group of cores. 20 . The

Assignees

Inventors

Classifications

  • G06F9/52Primary

    Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • G06F9/5033Primary

    considering data affinity · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12547461B2 cover?
A computer implemented method manages function execution in a container. A dispatcher in the container running in a computer system executes a function initialization in response to a first request for a function. The dispatcher in the container running in the computer system creates group of handlers in response to receiving a group of requests for the function. The dispatcher in the container…
Who is the assignee on this patent?
IBM, Univ Of Illinois At Urbana Champaign
What technology area does this patent fall under?
Primary CPC classification G06F9/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 10 2026 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).