IP Library › Granted Patent US 11,809,219
Granted Patent B2
US 11,809,219 · App. 17/256,526 · Granted Nov 7, 2023

System implementing multi-threaded applications

Inventors: Ori Zakin (Sde Varburg, IL); Amir Krayden (Hertzelia, IL); Or Sadeh (Pardes-Hanna, IL); Yuval Lev (Gan Yavne, IL)
Assignee: DRIVENETS LTD.
G06F9/4881
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,809,219
App. No.
17/256,526
Granted
Nov 7, 2023
Kind
B2
Abstract

A method for executing instructions embedded in two threads stored in a system including two operating units and a virtual managing entity for holding queues for virtual objects (VO) waiting to use a respective operating unit and diverting them between queues. Each VO is associated with two virtual timers, one measuring a time period during which the VO is held in the queue (TIQ) and the other providing time period during which the VO will remain in an alive state (TTL). The method includes receiving information relating to VOs associated with the two threads; operating on VOs for which their TTLs have expired; upon emerging from its respective queue, determining whether each VO should be diverted to another queue; upon diverting the VO, resetting its TIQ timer; and allocating an access time to each VO based on a number of threads requiring that VO and the TIQ associated therewith.

Claims (12)

1. A method of executing instructions embedded in at least two threads stored in a processor system comprising at least two operating units and a virtual managing entity configured to hold a plurality of queues for virtual objects waiting to use a respective operating unit, and wherein said virtual managing entity is further configured to divert virtual objects from one of the queues to one other of the queues,

wherein each virtual object when held in one of said queues is associated with two virtual timers for dynamically tracking time periods linked to said virtual object, one being a virtual timer configured to measure a period of time during which said virtual object is being held in the queue (TIQ) whereas the other one of said two virtual timers is configured to provide a period of time during which said virtual object will remain in an alive state (TTL), said method comprising the steps of:

receiving by the virtual managing entity information that relates to virtual objects that are associated with the at least two threads;

operating on virtual objects which their respective TTLs have expired;

upon emerging from its respective queue, determining whether each virtual object should be diverted by said virtual managing entity to another one of said plurality of queues, and if in the affirmative, said virtual object would be diverted by the virtual managing entity to a queue having a largest timeout value which is smaller than the value of the TTL associated with the respective virtual object;

resetting the virtual timer configured to measure a period of time during which the virtual object is being held in the queue (TIQ); and

allocating an access time to each virtual object upon emerging from its respective queue, wherein said access time is determined based on a number of threads requiring said virtual object and the TIQ associated with said respective virtual object.

2. The method of claim 1 , further comprising a step of updating the access time for each virtual object, based on updates received from each of the at least two threads, and wherein said updates provide information regarding time at which said virtual object was last accessed by the respective updating thread.

3. The method of claim 1 , wherein the TTL associated with each respective virtual object is calculated upon emerging of the virtual object from its respective queue.

4. The method of claim 1 , wherein the step of operating on virtual objects that their TTL has expired, comprises discarding these virtual objects from their respective queues.

5. The method of claim 1 , wherein the step of operating on virtual objects that their TTL has expired from their respective queues, is carried out by said virtual managing entity in accordance with said virtual objects' time of entering their respective queues.

6. The method of claim 1 , wherein the virtual managing entity is further configured to manage the at least two operating units while retaining a minimal number of queues.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2022
From: AT&T SERVICES, INC.
To: DRIVENETS LTD.
Reel/Frame 058770/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: ZAKIN, ORI; KRAYDEN, AMIR; SADEH, OR; LEV, YUVAL
To: DRIVENETS LTD.
Reel/Frame 054839/0298 →
ASSIGNMENT OF 1% OF RIGHTS Recorded Jan 7, 2021
From: DRIVENETS LTD.
To: AT&T SERVICES, INC.
Reel/Frame 054914/0383 →
Continuity (2)
Provisional Application 62692912 · Jul 2, 2018
Related Publication 20210279096A1 · Sep 9, 2021