Clock acceleration of CPU core based on scanned result of task for parallel execution controlling key word
Summary by NHIP
Keyword-based CPU clock acceleration
The method scans task keywords to determine if a task meets clock acceleration criteria before scheduling it. A software scheduler increases the first core speed while decreasing the second core speed, then assigns the task to the accelerated core.
Claim Score by NHIP
Abstract
In a computing system having a multi-core central processing unit (CPU) having at least two cores, it is determined that a task to be scheduled meets clock acceleration criteria such as requiring a number of threads less than or equal to a pre-defined threshold and/or having tasks that will run above a pre-determined amount of time. Thereafter, a clock speed of a first core of the CPU is increased and a clock speed of a second core of the CPU is decreased. Once the clock speeds have been adjusted, the task is scheduled to be executed by the first core. Related apparatus, systems, techniques and articles are also described.

Term
5.3 yearsleft in the term
Expires 1 January 2032, including 544 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
14 claims: 3 independent, 11 dependent
- 1A method for implementation on a computing system having a multi-core central processing unit (CPU) having at least two cores, the method comprising:determining, by a software implemented task scheduler executing at an application layer, that a task to be scheduled meets clock acceleration criteria, each task comprising at least one thread;calling, by the software implemented task scheduler, an interface of an operating system of the computing system to increase a clock speed of a first core of the CPU and to decrease a clock speed of a second core of the CPU;and scheduling the task to be executed by the first core;wherein: the task is encoded with at least one key word, and the determining that the task meets the clock acceleration criteria comprises scanning the task to identify key words that control parallel execution.
- 8An article of manufacture comprising:computer executable instructions stored on non-transitory computer readable media, which, when executed by a computer, causes the computer to perform operations comprising: determining, by a software implemented task scheduler executing at an application layer, that a task to be scheduled meets clock acceleration criteria, each task comprising at least one thread;calling, by the software implemented task scheduler, an interface of an operating system of the computing system to increase a clock speed of a first core of the CPU and to decrease a clock speed of a second core of the CPU;and scheduling the task to be executed by the first core;wherein: the task is encoded with at least one key word, and the determining that the task meets the clock acceleration criteria comprises scanning the task to identify key words that control parallel execution.
- 14Broadest claimClaim Score 56, average(NHIP)A method for implementation on a computing system having a multi-core central processing unit (CPU) having at least two cores, the method comprising:scanning, by a software implemented task scheduler executing at an application layer, a code of a coded task to identify at least one key word to control parallel execution, each task comprising at least one thread;calling, by the software implemented task scheduler and based on the at least one identified key word, an interface of an operating system of the computing system to increase a clock speed of a first core of the CPU and to decrease a clock speed of a second core of the CPU;and scheduling the task to be executed by the first core.
Independent claims3
32 paragraphs in 5 sections, as filed
TECHNICAL FIELD
p-0002The subject matter described herein relates to selectively increasing clock speed of a core in a multi-core central processing unit (CPU).
BACKGROUND
p-0003The current trend in CPU architecture is to increase the number of cores per CPU. Such an increase in cores differs from past trends in which the main focus was on increasing CPU clock speed because decreasing clock speed can act to reduce power consumption.
p-0004Using multi-core CPUs and the accompanying hardware, execution times of long running processes which are executed mainly using single threads will become even longer. This can have a negative impact because for batch processes which utilize only one or a small number of threads and which are not effectively parallelized (or parallelizable). For example, for certain operations, parallelization is not possible, or difficult to achieve. In most convention software architectures, automated parallelization of tasks by the compiled and other infrastructure is limited. Thus, parallelization is not broadly available, but rather, only available for those tasks where the developer of the underlying software has explicitly design same for parallelization. As a result, all other long running tasks will experience an increasing execution runtime.
SUMMARY
p-0005In one aspect, in a computing system having a multi-core central processing unit (CPU) having at least two cores, it is determined that a task to be scheduled meets clock acceleration criteria such as requiring a number of threads less than or equal to a pre-defined threshold and/or requiring a run time above or equal to a pre-defined amount of time. Thereafter, a clock speed of a first core of the CPU is increased and a clock speed of a second core of the CPU is decreased. The task is then scheduled to be executed by the first core.
p-0006The following variations may be implemented singly or in combination depending on the desired configuration. In some implementations, the pre-defined threshold is a single thread while in other implementations it is several threads (e.g., three threads, etc.). The second core of the CPU can be stopped so that the clock speed of the second core of the CPU is zero or substantially zero. The CPU clock speed can be increased by calling an interface of an operating system of the computing system to increase the clock speed of the corresponding core. Similarly, the CPU clock speed can be decreased by calling the interface of the operating system of the computing system to decrease the clock speed of the corresponding core. Once the task has been scheduled, it can be executed by the first core. The determination of whether the task to be scheduled meets the acceleration criteria can include identifying an attribute associated with at least one of the threads of the task which indicates that it will run above a pre-defined amount of time and/or scanning a code of the task to identify key words that control parallel execution. The CPU can dynamically assign the first core and the second core based on processing states of such cores (such that in some situations a core clock speed is increased and in other situations the clock speed for that same core can be decreased).
p-0007In another aspect, in a computing system having a multi-core central processing unit (CPU) having at least a first core and a second core, the first core operating at a clock speed greater than the second core, it is determined that a first task meets clock acceleration criteria. Thereafter, the first task is scheduled to be executed by the first core. It is also determined that a second task to be scheduled requires a number of threads greater than a pre-defined threshold so that the second task is scheduled to be executed by the second core.
p-0008Articles of manufacture are also described that comprise computer executable instructions permanently stored (e.g., non-transitorily stored, etc.) on computer readable media, which, when executed by a computer, causes the computer to perform operations herein. Similarly, computer systems are also described that may include a processor and a memory coupled to the processor. The memory may temporarily or permanently store one or more programs that cause the processor to perform one or more of the operations described herein.
p-0009The subject matter described herein provides many advantages. For example, the current subject matter increases throughput for single/small thread applications while keeping power consumption (and as a result cooling demand) of a CPU below a certain threshold (which is according to the sizing of the power unit and cooling capacity of the computer system). In addition, the current subject matter allows for the runtime of the “long running” single thread task to be reduced independently of the design of the task through the increased clock speed. This approach also provides benefit for tasks which have not been designed for parallel execution (which as stated above comprises a vast majority of tasks in conventional computing systems).
p-0010The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGS
p-0011<figref idrefs="DRAWINGS">FIG. 1</figref> is a process flow diagram illustrating scheduling of a task meeting clock acceleration criteria by increasing clock speed of a first core of a CPU and decreasing clock speed of a second core of the CPU;
p-0012<figref idrefs="DRAWINGS">FIG. 2</figref> is a process flow diagram illustrating scheduling of a task meeting clock acceleration criteria by assigning at least a portion of the task to a first core of a CPU which is operating at a higher clock speed than a second core of the CPU;
p-0013<figref idrefs="DRAWINGS">FIG. 3</figref> is a diagram illustrating a conventional scheduling system;
p-0014<figref idrefs="DRAWINGS">FIG. 4</figref> is a diagram illustrating a scheduling system for implementing a method as in <figref idrefs="DRAWINGS">FIG. 1</figref>; and
p-0015<figref idrefs="DRAWINGS">FIG. 5</figref> is a diagram illustrating a scheduling system for implementing a method as in <figref idrefs="DRAWINGS">FIG. 2</figref>.
p-0016Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
p-0017<figref idrefs="DRAWINGS">FIG. 1</figref> is a processing flow diagram illustrating a method <b>100</b> for implementation on a computing system having a multi-core central processing unit (CPU) having at least two cores in which, at <b>110</b>, it is determined that a task to be scheduled meets certain clock acceleration criteria. Thereafter, at <b>120</b>, a clock speed of a first core of the CPU is increased while, at <b>130</b>, a clock speed of a second core of the CPU is decreased (such actions can occur in any sequence or in parallel). Later, the task is scheduled, at <b>140</b>, to be executed by the first core.
p-0018<figref idrefs="DRAWINGS">FIG. 2</figref> is a processing flow diagram illustrating a method <b>200</b> for implementation on a computing system having a multi-core central processing unit (CPU) having at least a first core and a second core. In such arrangement, the first core operates or can operate at a clock speed greater than the second core. With the method <b>200</b>, it is determined, at <b>210</b>, that a first task to be scheduled meets clock acceleration criteria which results in, at <b>220</b>, the first task being executed by the first core. It can be also determined, at <b>230</b>, that a second task to be scheduled requires a number of threads greater than a pre-defined threshold which in turn results in, at <b>240</b>, the second task being scheduled to be executed by the second core.
p-0019The clock acceleration criteria can be based on, for example, the task having a number of threads less than or equal to a pre-defined threshold. In most cases, this pre-defined threshold is a single thread while in other cases it can be a few threads. The clock acceleration criteria can alternatively or additionally include whether the task (or a portion of the task) will run for longer than a pre-defined amount of time. Other clock acceleration criteria can be utilized based on a variety of factors. In some implementations, the determination of whether certain acceleration criteria are met is based on the application layer because the CPU core cannot characterize tasks in such a fashion.
p-0020The current subject matter utilizes a CPU with at least two cores. In some arrangements, each core of the CPU has similar features such as clock speed and ability to modify clock speed while in other arrangements certain features differ among the cores. The corresponding CPU architecture utilized by the current subject matter provides an option to selectively increase clock speed of a designated core of a CPU while at the same time reducing the clock speed or simply switching off one or more other cores of the CPU.
p-0021A software implemented task scheduler can be used to manage the execution of the scheduling of tasks (e.g., a scheduler within an application server). Such a task scheduler can identify if a task meets clock acceleration criteria such as requiring one or a small number of threads (e.g., by an attribute provided by the creator of the batch job, etc.). If a task is to be scheduled, which meets the clock acceleration criteria, the scheduler can call an interface of the operating system configuring and/or implementing the CPU to increase the clock speed of a first core to execute the thread. Optionally, the scheduler can also call the interface of the operating system to decrease the clock speed of one or more other cores (e.g., a second core) to decrease (including stopping altogether) the corresponding clock speed. In some implementations, the thread started can be provided with an attribute that it meets the clock acceleration criteria (e.g., it will run “long”, etc.). The CPU can use this attribute to execute the task on the first core with increased clock speed.
p-0022The demand to increase the clock sped of the first core can be passed as one request to the CPU. The related reduction of power consumption and cooling demand can be managed by the CPU using its internal policies or mechanisms. For example, the clock speed of several other cores can be reduced to avoid shutting one core down completely.
p-0023The task scheduler can identify that a certain task meets clock acceleration criteria such as it being executed by a single thread only (or by a pre-defined number of threads in excess of 1). This identification can be achieved by providing an attribute with the task (to be maintained, for example, by the author of the task), or (if an interpreted language is used) by scanning the code of the task for key words which control parallel execution (e.g., with SAP system, and ABAP key word “submit”). For compiled languages, such identification can be achieved by the compiler setting the attribute for the program (using known/recognizable key words).
p-0024The task scheduler can evaluate task parallelization ability at any point in time. If a task is a single-thread (or “small” thread) operation, the task scheduler can call the operating system command to provide a “speed-up” core (i.e., an instruction to increase the clock speed of a core, etc.). The executable program passed to the core is provided with an attribute that it is a “long” running operation such that the CPU evaluate this information and hands the program to the “speed-up” core.
p-0025<figref idrefs="DRAWINGS">FIGS. 3-5</figref> illustrate various arrangements for scheduling tasks with the diagram <b>300</b> of <figref idrefs="DRAWINGS">FIG. 3</figref> illustrating a conventional arrangement while <figref idrefs="DRAWINGS">FIGS. 4 and 5</figref> illustrating the current subject matter. With reference to <figref idrefs="DRAWINGS">FIG. 3</figref> a system is illustrated that involves a system <b>300</b> that includes an application <b>310</b>, an operating system <b>320</b>, and a multi-core CPU <b>330</b>. An application task scheduler <b>314</b> associated with the application <b>310</b> selects a task from a task queue <b>318</b> which results in the application task scheduler <b>314</b> calling the operating system <b>320</b> to execute the selected task. Thereafter, an operating task scheduler <b>324</b> calls the CPU <b>330</b> to execute the selected task. The CPU <b>330</b> in turn has a CPU scheduler <b>332</b> which causes one of a plurality of cores <b>334</b>, <b>336</b>, <b>338</b> to execute the selected task without regard to factors such as a number of threads associated with such task. This selection can be based on factors such as processing availability of the selected core.
p-0026<figref idrefs="DRAWINGS">FIG. 4</figref> is a diagram <b>400</b> of a system including an application <b>410</b>, an operating system <b>420</b>, and a multi-core CPU <b>430</b>. An application scheduler <b>412</b> handles a tasks queue <b>414</b> which includes tasks that can meet certain clock acceleration criteria such as including attributes identifying a corresponding number of threads required for such tasks or requiring a run time above a pre-defined amount of time. This identification can take the form of a task code <b>416</b> and/or a task attribute <b>418</b>. If the application scheduler <b>412</b> determines that a task to be scheduled within the task queue <b>414</b> requires a number of threads below a predetermined level (e.g., one or less, two or less, etc.) and/or will run above the pre-defined amount of time, then the application scheduler <b>412</b> can call the operating system <b>420</b>. An operating system scheduler <b>424</b> can then call the CPU <b>430</b> to speed-up a core for which the task has been assigned/scheduled. The CPU <b>430</b> can include three cores <b>434</b>, <b>436</b>, <b>438</b>. The call from the operating system <b>420</b> can cause a CPU scheduler <b>432</b> to increase a clock speed of the third core <b>438</b> (for which the task has been assigned). Optionally, the CPU scheduler <b>430</b> can cause the clock speed of the second core <b>436</b> to decrease. In addition, the clock speed of the first core <b>434</b> can be unaltered.
p-0027<figref idrefs="DRAWINGS">FIG. 5</figref> is a diagram <b>500</b> that illustrates an arrangement similar to that of the diagram <b>400</b> of <figref idrefs="DRAWINGS">FIG. 4</figref>. However, in such arrangement, the clock speed of the third core is already “sped up” (whether through previous modification such as that illustrated in <figref idrefs="DRAWINGS">FIG. 4</figref> or by manufacturer design or other variations) and selective tasks can be executed by such third core <b>438</b> without the CPU scheduler <b>432</b> changing any speeds of the cores <b>434</b>, <b>436</b>, <b>438</b> (or at least the third core <b>438</b>). <figref idrefs="DRAWINGS">FIG. 5</figref> can correspond to the method of <figref idrefs="DRAWINGS">FIG. 2</figref> in which clock speeds of cores differ so that tasks can be assigned accordingly based on thread number or other attribute that affects processing consumption levels.
p-0028Various implementations of the subject matter described herein may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
p-0029These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
p-0030To provide for interaction with a user, the subject matter described herein may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
p-0031The subject matter described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
p-0032The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
p-0033Although a few variations have been described in detail above, other modifications are possible. For example, the logic flow depicted in the accompanying figures and described herein do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other processing attributes other than threads can be used to determine whether to selectively change the speed of a core scheduled to process the corresponding tasks. Moreover, the term task can be construed, unless explicitly stated otherwise, to include jobs and other broader groupings of related computing activities. Other embodiments may be within the scope of the following claims.
Contents5
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10452646B2 | Cited by | United States of America | Applicant |
| US10977212B2 | Cited by | United States of America | Applicant |
| US11269717B2 | Cited by | United States of America | Applicant |
| US10684999B2 | Cited by | United States of America | Applicant |
| US11551141B2 | Cited by | United States of America | Applicant |
| US10491700B2 | Cited by | United States of America | Applicant |
| US11030164B2 | Cited by | United States of America | Applicant |
| US11249812B2 | Cited by | United States of America | Applicant |
| US10685007B2 | Cited by | United States of America | Applicant |
| US10740315B2 | Cited by | United States of America | Applicant |
| US9563465B2 | Cited by | United States of America | Search report |
| US10268472B2 | Cited by | United States of America | Applicant |
| US10915551B2 | Cited by | United States of America | Applicant |
| US10700949B1 | Cited by | United States of America | Applicant |
| US10659449B2 | Cited by | United States of America | Applicant |
| US11310328B2 | Cited by | United States of America | Applicant |
| US10536461B2 | Cited by | United States of America | Applicant |
| US10956150B2 | Cited by | United States of America | Applicant |
| US10936624B2 | Cited by | United States of America | Applicant |
| US10789220B2 | Cited by | United States of America | Applicant |
| US9898279B2 | Cited by | United States of America | Applicant |
| US10673962B2 | Cited by | United States of America | Applicant |
| US9703554B2 | Cited by | United States of America | Applicant |
| US11561836B2 | Cited by | United States of America | Applicant |
| US12013843B2 | Cited by | United States of America | Applicant |
| US10523662B2 | Cited by | United States of America | Applicant |
| US10891217B2 | Cited by | United States of America | Applicant |
| US11537364B2 | Cited by | United States of America | Applicant |
| US10642609B1 | Cited by | United States of America | Applicant |
| US10686882B2 | Cited by | United States of America | Applicant |
| US2013298137A1 | Cited by | United States of America | Pre-grant |
| US11379211B2 | Cited by | United States of America | Applicant |
| US10268692B2 | Cited by | United States of America | Applicant |
| US10740318B2 | Cited by | United States of America | Applicant |
| US10230708B2 | Cited by | United States of America | Applicant |
| US10437795B2 | Cited by | United States of America | Applicant |
| US10733168B2 | Cited by | United States of America | Applicant |
| US10303665B2 | Cited by | United States of America | Applicant |
| US11232126B2 | Cited by | United States of America | Applicant |
| US10871962B2 | Cited by | United States of America | Applicant |
| US11121943B2 | Cited by | United States of America | Applicant |
| US9668277B2 | Cited by | United States of America | Search report |
| US10715405B2 | Cited by | United States of America | Applicant |
| US11354302B2 | Cited by | United States of America | Applicant |
| US11693945B2 | Cited by | United States of America | Applicant |
| US10621167B2 | Cited by | United States of America | Applicant |
| US10298591B2 | Cited by | United States of America | Applicant |
| US10534585B1 | Cited by | United States of America | Applicant |
| US10706170B2 | Cited by | United States of America | Applicant |
| US12561225B2 | Cited by | United States of America | Applicant |
| US10482080B2 | Cited by | United States of America | Applicant |
| US12499116B2 | Cited by | United States of America | Applicant |
| US11797879B2 | Cited by | United States of America | Applicant |
| US10942892B2 | Cited by | United States of America | Applicant |
| US11561956B2 | Cited by | United States of America | Applicant |
| US2014269522A1 | Cited by | United States of America | Pre-grant |
| US11218388B2 | Cited by | United States of America | Applicant |
| US10983762B2 | Cited by | United States of America | Applicant |
| US10853693B2 | Cited by | United States of America | Applicant |
| US10657276B2 | Cited by | United States of America | Applicant |
| US10713277B2 | Cited by | United States of America | Applicant |
| US10055215B2 | Cited by | United States of America | Applicant |
| US10185552B2 | Cited by | United States of America | Applicant |
| US10693989B2 | Cited by | United States of America | Applicant |
| US12541616B2 | Cited by | United States of America | Applicant |
| US2009313629A1 | Cites | United States of America | Search report |
| US7428651B2 | Cites | United States of America | Search report |
| US8112754B2 | Cites | United States of America | Search report |
| US8219994B2 | Cites | United States of America | Search report |
| US8347303B2 | Cites | United States of America | Search report |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2012011389A1 | United States of America | A1 | |
| US8560876B2This record | United States of America | B2 |
40 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response to Election / Restriction FiledELC. | ELC. | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Restriction RequirementMCTRS | MCTRS | |
| Restriction/Election RequirementCTRS | CTRS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 08560876
- Application
- 83108610
Titles
- English
- Clock acceleration of CPU core based on scanned result of task for parallel execution controlling key word
Patent term adjustment
- A delay
- +449 daysthe office missed an examination deadline
- B delay
- +101 dayspendency past three years
- Applicant delay
- −6 days
- Net adjustment
- 544 days
Classification
- CPC, 3
- G06F1/3203
- G06F1/324
- Y02D10/00
- IPC, 1
- G06F1 04
- USPC, 2
- 713600000
- 713322000