IP Library Granted Patent US 11,336,754
Granted Patent B1
US 11,336,754 · App. 15/793,054 · Granted May 17, 2022

Method and system for concurrent web based multitasking support

Inventor: Sheng Tai Tsao (Fremont, CA)
Assignee: Sheng Tai Tsao
H04L69/18G06F9/45558G06F9/526G06F9/54H04L41/0806H04L47/783H04L67/02H04L67/06H04L67/10G06F2009/45595G06F2209/541
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,336,754
App. No.
15/793,054
Granted
May 17, 2022
Kind
B1
Abstract

This invention presents a method and apparatus for solving a specific problem of web browser's display being blocked after a user submitted a task that will render the web browser becoming useless to a user for a period of time to prevent the user submitting other tasks. The success of solving this problem actually leads to the successful implementation of concurrent web based multitasking that improves the efficiency of utilizing resource for a computing device.

Claims (84)

1. A method implemented by a device to prevent blocking of a web browser, comprising:

executing a local web browser on the device to display information for facilitating a user, through the information displayed, to submit tasks;

executing a local web server on the device, the local web server managing task distribution and controlling processing of the tasks, where the local web server performs the steps including:

identifying a first task in response to the first task being submitted by the user through the information displayed in the local web browser;

storing information of the first task into a user space task list, including invoking lock protection for protecting the storing of the information of the first task;

processing the first task, via communication with one or more remote servers on a network, according to the stored information of the first task, the processing performed in the background and without blocking the local web browser;

responding to a second task before completion of the first task, where the second task is run in parallel with the first task when the user, through the local web browser, submits the second task;

removing the stored information of the first task from the user space task list after the completion of the first task;

wherein the local web server is further operable to accept remote requests from remote web browsers executing on remote clients, where the local web server further performs the steps including:

identifying a third task in response to the third task being submitted by a remote user through information displayed in a remote web browser;

storing information of the third task into a user space task list and invoking a lock protection for protecting the storing of the information of the third task;

processing the third task, via communication with one or more external servers on a network, according to the stored information of the third task, in the background and without blocking the remote web browser.

2. The method of claim 1 , wherein said identifying the first task comprises:

identifying information related to the first task, including identifying identification and objective information of the first task.

3. The method of claim 1 , wherein said storing information of the first task comprises:

allocating a “not used” entry on the user space task list;

storing the information of the first task into the “not used” entry; and

marking the entry as “used” to prevent storing information of another task.

4. The method of claim 1 , wherein said removing the stored information of the first task comprises:

marking the entry, stored with the information of a task, on the user space task list as “not used” for allowing storing information of another task.

5. The method of claim 1 , wherein said invoking lock protection comprises:

acquiring a non-conventional lock by a first thread before said storing;

releasing the non-conventional lock by a second thread after said storing; and marking the entry as “not used”.

6. The method of claim 1 , wherein said invoking a lock protection comprises:

acquiring a lock by a thread before said storing and releasing the lock by the same thread after said storing.

7. The method of claim 1 , wherein said processing the first task without blocking the local web browser comprises:

the local web server obtaining a response, comprising the status of processing the first task; and

the local web server delivering the response to the local web browser before completion of the first task to enable the user to perform other tasks, including monitor the processing of the first task.

8. The method of claim 1 , wherein said processing the first task in the background comprises:

creating a new thread and designating the created thread to process the first task.

9. The method of claim 1 , wherein said responding to a second task comprises:

storing information of the second task into a “not used” entry on the user space task list;

invoking lock protection for protecting the storing via marking the entry as “used”;

processing the second task before completion of the first task according to the stored information of the second task via processing the second task parallel with the first task;

marking the entry as “not used” after completion of the second task to allow storing information of another task.

10. A device comprising:

a hardware processor, and

one computer-readable storage device comprising program instructions which, when executed by the device, configure the device to control processing tasks, the device configured to:

execute a local web browser to display information for facilitating a user, through the information displayed, to submit tasks;

execute a local web server for managing task distribution and controlling processing of the tasks, where the local web server performs the steps including:

identifying a first task in response to the first task being submitted by the user through the information displayed in the local web browser;

storing information of the first task into a user space task list, including invoking lock protection for protecting the storing of the information of the first task;

processing the first task, via communication with one or more remote servers on a network, according to the stored information of the first task, the processing performed in the background and without blocking the local web browser;

responding to a second task before completion of the first task, where the second task is run in parallel with the first task when the user, through the local web browser, submits the second task;

removing the stored information of the first task from the user space task list after the completion of the first task;

wherein the local web server is further operable to accept remote requests from remote web browsers executing on remote clients, where the local web server further performs the steps including:

identifying a third task in response to the third task being submitted by a remote user through information displayed in a remote web browser;

storing information of the third task into a user space task list and invoking a lock protection for protecting the storing of the information of the third task;

processing the third task, via communication with one or more external servers on a network, according to the stored information of the third task, in the background and without blocking the remote web browser.

11. The device of claim 10 , wherein said identifying the first task comprises:

identifying information related to the first task, including identifying identification and objective information of the first task.

12. The device of claim 10 , wherein said storing information of the first task comprises:

allocating a “not used” entry on the user space task list;

storing the information of the first task into the “not used” entry; and

marking the entry as “used” to prevent storing information of another task.

13. The device of claim 10 , wherein said removing the stored information of the first task comprises:

marking the entry, stored with the information of a task, on the user space task list as “not used” for allowing storing information of another task.

14. The device of claim 10 , wherein said invoking lock protection comprises:

acquiring a non-conventional lock by a first thread before said storing;

releasing the non-conventional lock by a second thread after said storing, and marking the entry as “not used”.

15. The device of claim 10 , wherein said invoking a lock protection comprises:

acquiring a lock by a thread before said storing and releasing the lock by the same thread after said storing.

16. The device of claim 10 , wherein said processing the first task without blocking the local web browser comprises:

the local web server obtaining a response, comprising the status of processing the first task; and

the local web server delivering the response to the local web browser before completion of the first task to enable the user to perform other tasks, including monitor the processing of the first task.

17. The device of claim 10 , wherein said processing the first task in the background comprises:

creating a new thread and designating the created thread to process the first task.

18. The device of claim 10 , wherein said responding to a second task comprises:

storing information of the second task into a “not used” entry on the user space task list;

invoking lock protection for protecting the storing via marking the entry as “used”;

processing the second task before completion of the first task according to the stored information of the second task via processing the second task parallel with the first task;

marking the entry as “not used” after completion of the second task to allow storing information of another task.

19. A non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations, comprising:

execute a local web browser to display information for facilitating a user, through the information displayed, to submit tasks;

execute a local web server for managing task distribution and controlling processing of the tasks, where the local web server performs the steps including:

identifying a first task in response to the first task being submitted by the user through the information displayed in the local web browser;

storing information of the first task into a user space task list, including invoking lock protection for protecting the storing of the information of the first task;

processing the first task, via communication with one or more remote servers on a network, according to the stored information of the first task, the processing performed in the background and without blocking the local web browser;

responding to a second task before completion of the first task, where the second task is run in parallel with the first task when the user, through the local web browser, submits the second task;

removing the stored information of the first task from the user space task list after the completion of the first task;

wherein the local web server is further operable to accept remote requests from remote web browsers executing on remote clients, where the local web server further performs the steps including:

identifying a third task in response to the third task being submitted by a remote user through information displayed in a remote web browser;

storing information of the third task into a user space task list and invoking a lock protection for protecting the storing of the information of the third task;

processing the third task, via communication with one or more external servers on a network, according to the stored information of the third task, in the background and without blocking the remote web browser.

Assignments (2)
REASSIGNMENT Recorded Mar 18, 2026
From: STT WEBOS, INC. (TEXAS)
To: STT WEBOS, INC. (DELAWARE)
Reel/Frame 075137/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2019
From: TSAO, SHENG TAI
To: STT WEBOS, INC.
Reel/Frame 050473/0985 →
Continuity (3)
Continuation 14267831 · May 1, 2014
Continuation 12075314 · Mar 4, 2008
Continuation 10713904 · Aug 6, 2002