Patentable/Patents/US-9710315
US-9710315

Notification of blocking tasks

PublishedJuly 18, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A computing device may be configured to generate and execute a task that includes one or more blocking constructs that each encapsulate a blocking activity and a notification handler corresponding to each blocking activity. The computing device may launch the task, execute one or more of the blocking constructs, register the corresponding notification handler for the blocking activity that will be executed next with the runtime system, perform the blocking activity encapsulated by the blocking construct to request information from an external resource, cause the task to enter a blocked state while it waits for a response from the external resource, receive an unblocking notification from an external entity, and invoke the registered notification handler to cause the task to exit the blocked state and/or perform clean up operations to exit/terminate the task gracefully.

Patent Claims
15 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method of executing a blocking task in a computing device, comprising: executing, via a processor of the computing device, a thread that performs the blocking task, wherein the blocking task defines a plurality of blocking constructs; executing a blocking construct of the plurality of blocking constructs defined within a body of the blocking task, wherein the blocking construct encapsulates a specific blocking activity and an associated notification handler; registering the associated notification handler with a runtime system of the computing device; performing the specific blocking activity encapsulated by the executed blocking construct; causing the blocking task to enter a blocked state; receiving an unblocking notification from an external entity; and invoking the registered notification handler in response to receiving the unblocking notification from the external entity.

Plain English Translation

A computer executes a program with sections that pause and wait for external data (blocking tasks). The program defines multiple "blocking constructs," each containing a specific activity that waits for data (like a network request) and a notification handler. When a blocking construct is encountered, the notification handler is registered with the operating system. The blocking activity is then executed, and the program enters a blocked state. When the external data arrives, the OS sends an "unblocking notification," triggering the registered notification handler to resume or gracefully terminate the blocked task.

Claim 2

Original Legal Text

2. The method of claim 1 , further comprising determining whether the blocking task is in the blocked state, and wherein invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises invoking the registered notification handler in response to determining that the blocking task is in the blocked state and receiving the unblocking notification from the external entity.

Plain English Translation

In the blocking task execution, the computer checks if the task is actually in a blocked state before invoking the notification handler. The notification handler is only called if the task is confirmed to be blocked AND an unblocking notification has been received from an external entity, ensuring that handlers are not called prematurely or in error. This adds a layer of validation before the handler is triggered.

Claim 3

Original Legal Text

3. The method of claim 1 , wherein receiving the unblocking notification from the external entity comprises receiving a cancellation notification from the external entity.

Plain English Translation

The unblocking notification received from an external entity in the blocking task execution is specifically a "cancellation notification." This means the external data is not expected, or the request has been cancelled. The notification handler is then used to handle the cancellation, such as cleaning up resources or notifying the user about the cancelled operation.

Claim 4

Original Legal Text

4. The method of claim 1 , wherein registering the associated notification handler with the runtime system of the computing device comprises storing information included in the body of the associated notification handler in an internal data structure.

Plain English Translation

When registering the notification handler with the operating system's runtime system for blocking task execution, the computer stores the code of the handler in an internal data structure. This involves saving the handler's instructions or a reference to its location in memory, enabling the runtime system to invoke it when an unblocking notification is received. The body of the handler is available to be quickly invoked.

Claim 5

Original Legal Text

5. The method of claim 1 , wherein invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises: identifying the specific blocking activity that was performed; and invoking only the associated notification handler that corresponds to the identified blocking activity.

Plain English Translation

When an unblocking notification is received and the notification handler is invoked during blocking task execution, the computer first identifies the specific blocking activity that was in progress when the task blocked. It then invokes ONLY the notification handler associated with that specific blocking activity, ensuring the correct handler is executed. This prevents unintended actions and ensures that the correct clean-up or continuation code is run.

Claim 6

Original Legal Text

6. A computing device for executing a blocking task, comprising: a memory; a processor coupled to the memory, wherein the processor is configured with processor-executable instructions to perform operations comprising: executing a thread that performs the blocking task, wherein the blocking task defines a plurality of blocking constructs; executing a blocking construct in the plurality of blocking constructs that is defined within a body of the blocking task, wherein the blocking construct encapsulates a specific blocking activity and an associated notification handler; registering the associated notification handler with a runtime system; performing the specific blocking activity encapsulated by the executed blocking construct; causing the blocking task to enter a blocked state; receiving an unblocking notification from an external entity; and invoking the registered notification handler in response to receiving the unblocking notification from the external entity.

Plain English Translation

A computer system runs programs that contain blocking tasks. The system includes memory and a processor. The processor executes a program that defines multiple "blocking constructs." Each blocking construct includes a blocking activity (e.g., network request) and a notification handler. When a blocking construct is reached, the notification handler is registered with the operating system. The blocking activity is executed, causing the program to block. When external data arrives, an "unblocking notification" is received, and the registered notification handler is invoked to resume or terminate the blocked task.

Claim 7

Original Legal Text

7. The computing device of claim 6 , wherein: the processor is configured with processor-executable instructions to perform operations further comprising determining whether the blocking task is in the blocked state; and the processor is configured with processor-executable instructions to perform operations such that invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises invoking the registered notification handler in response to determining that the blocking task is in the blocked state and receiving the unblocking notification from the external entity.

Plain English Translation

The computer system that runs programs with blocking tasks also checks if the task is truly in a blocked state before calling the notification handler. The handler is only triggered if the task is blocked AND an unblocking notification has been received. This prevents premature or erroneous handler calls, adding a validation step.

Claim 8

Original Legal Text

8. The computing device of claim 6 , wherein the processor is configured with processor-executable instructions to perform operations such that receiving the unblocking notification from the external entity comprises receiving a cancellation notification from the external entity.

Plain English Translation

In the computer system that runs programs with blocking tasks, the unblocking notification received is specifically a cancellation notification. This indicates the blocking activity has been cancelled, and the notification handler is used to handle the cancellation, like cleaning up resources.

Claim 9

Original Legal Text

9. The computing device of claim 6 , wherein the processor is configured with processor-executable instructions to perform operations such that registering the associated notification handler with the runtime system comprises storing information included in the body of the associated notification handler in an internal data structure.

Plain English Translation

In the computer system that runs programs with blocking tasks, registering the notification handler involves storing its code in an internal data structure within the operating system. The handler's instructions are saved or referenced, allowing quick invocation upon receiving an unblocking notification.

Claim 10

Original Legal Text

10. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured cause a processor in a computing device to perform operations for executing a blocking task comprising: executing a thread that performs the blocking task, wherein the blocking task defines a plurality of blocking constructs; executing a blocking construct in the plurality of blocking constructs that is defined within a body of the blocking task, wherein the blocking construct encapsulates a specific blocking activity and an associated notification handler; registering the associated notification handler with a runtime system; performing the specific blocking activity encapsulated by the executed blocking construct; causing the blocking task to enter a blocked state; receiving an unblocking notification from an external entity; and invoking the registered notification handler in response to receiving the unblocking notification from the external entity.

Plain English Translation

A computer-readable storage medium stores instructions that, when executed, cause a computer to run programs with blocking tasks. The program defines "blocking constructs," each with a blocking activity and a notification handler. When a construct is reached, the handler is registered. The blocking activity executes, causing the program to block. Upon receiving an "unblocking notification," the registered handler is invoked to resume or terminate the blocked task.

Claim 11

Original Legal Text

11. The non-transitory processor-readable storage medium of claim 10 , wherein: the stored processor-executable instructions are configured to cause the processor to perform operations further comprising determining whether the blocking task is in the blocked state; and the stored processor-executable instructions are configured to cause the processor to perform operations such that invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises invoking the registered notification handler in response to determining that the blocking task is in the blocked state and receiving the unblocking notification from the external entity.

Plain English Translation

The storage medium containing instructions for blocking task execution also includes instructions for checking if the task is genuinely blocked before invoking the handler. The handler is only called if the task is confirmed to be blocked AND an unblocking notification has been received, ensuring the handler is called at the correct time.

Claim 12

Original Legal Text

12. The non-transitory processor-readable storage medium of claim 10 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that receiving the unblocking notification from the external entity comprises receiving a cancellation notification from the external entity.

Plain English Translation

The storage medium containing instructions for blocking task execution specifies that the unblocking notification is a cancellation notification, used to handle cancelled operations by cleaning up resources.

Claim 13

Original Legal Text

13. The non-transitory processor-readable storage medium of claim 10 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that registering the associated notification handler with the runtime system comprises storing information included in the body of the associated notification handler in an internal data structure.

Plain English Translation

The storage medium containing instructions for blocking task execution indicates that registering the handler involves storing its code in an internal data structure within the runtime system, allowing quick access and invocation upon notification.

Claim 14

Original Legal Text

14. The computing device of claim 6 , wherein the processor is configured with processor-executable instructions to perform operations such that invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises: identifying the specific blocking activity that was performed; and invoking only the associated notification handler that corresponds to the identified specific blocking activity.

Plain English Translation

In the computer system that runs programs with blocking tasks, when a notification handler is invoked, the computer identifies the specific blocking activity that was in progress. It then invokes only the notification handler associated with that specific activity, ensuring the correct handler is executed for cleanup or continuation.

Claim 15

Original Legal Text

15. The non-transitory processor-readable storage medium of claim 10 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations such that invoking the registered notification handler in response to receiving the unblocking notification from the external entity comprises: identifying the specific blocking activity that was performed; and invoking only the associated notification handler that corresponds to the identified specific blocking activity.

Plain English Translation

The storage medium containing instructions for blocking task execution specifies that when invoking the notification handler, the computer identifies the specific blocking activity that was in progress. Only the handler linked to that activity is invoked, ensuring correct cleanup or continuation actions.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

January 19, 2015

Publication Date

July 18, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Notification of blocking tasks” (US-9710315). https://patentable.app/patents/US-9710315

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-9710315. See llms.txt for full attribution policy.