IP Library Granted Patent US 12,367,012
Granted Patent B2
US 12,367,012 · App. 16/181,785 · Granted Jul 22, 2025

Controlling storage accesses for merge operations

Inventors: Bruce C. Giamei (Lagrangeville, NY); Martin Recktenwald (Schoenaich, DE); Donald W. Schmidt (Stone Ridge, NY); Timothy Slegel (Staatsburg, NY); Aditya N. Puranik (Pune, IN); Mark S. Farrell (Pleasant Valley, NY); Christian Jacobi (West Park, NY); Jonathan D. Bradbury (Poughkeepsie, NY); Christian Zoellin (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F7/16G06F16/215
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 12,367,012
App. No.
16/181,785
Granted
Jul 22, 2025
Kind
B2
Abstract

Storage accesses for merge operations are minimized. A plurality of records of a plurality of input lists are merged. The merging includes determining that an input list of the plurality of input lists has become empty, and checking, based on determining that the input list has become empty, a control specific for the input list. The control is used to determine how to proceed, such as whether to end merging or continue merging.

Claims (82)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

at least one computer readable storage medium readable by at least one processor and storing instructions for performing a method comprising:

merging, by one or more processors, a plurality of records of a plurality of input lists, wherein the merging includes:

determining that an input list of the plurality of input lists has become empty;

obtaining a control to be checked based on the input list becoming empty, the control being an input to the merging and being set prior to the merging and not updated during the merging, the control including:

one indicator having one or more bits, the one indicator of the control being assigned to a selected input list of the plurality of input lists to control processing based on the selected input list becoming empty during the merging; and

another indicator, separate from the one indicator and having one or more other bits, the another indicator of the control being assigned to remaining input lists of the plurality of input lists, the remaining input lists excluding the selected input list, and the another indicator of the control to control processing based on a remaining input list of the remaining input lists becoming empty during the merging;

determining that the input list that has become empty is the selected input list of the plurality of input lists;

checking, based on determining that the selected input list has become empty, the one indicator of the control specifically assigned to the selected input list to determine how to proceed based on the selected input list becoming empty during the merging; and

performing processing, based on the one indicator of the control that is set prior to merging and not updated during the merging, wherein the one indicator of the control is set to one value indicates that the merging is to continue based on the selected input list becoming empty.

2. The computer program product of claim 1 , wherein based on the one indicator of the control being set to another value, the merging is to end based on the selected input list becoming empty.

3. The computer program product of claim 1 , wherein the remaining input list has become empty during the merging and the another indicator of the control set to a selected value indicates that the merging is to end based on the remaining input list becoming empty during the merging.

4. The computer program product of claim 1 , wherein the control is included in a parameter block that is input to the merging and used by the merging.

5. The computer program product of claim 1 , wherein the method further comprises:

determining that an indication of the input list that has become empty is to be stored in a select location, the determining being based, at least in part, on the control; and

storing the indication of the input list in the select location, based on the determining specifying that the indication is to be stored.

6. The computer program product of claim 5 , wherein the determining that the indication is to be stored comprises checking another control, the other control set to a select value indicates the indication is to be stored in the select location, the other control being set, based in part, on the control.

7. The computer program product of claim 6 , wherein the method further comprises setting the other control, the setting comprising:

checking that the control is a defined value; and

determining that a particular condition code has been set, wherein the other control is set to the select value based on the control being the defined value and the particular condition code being set.

8. The computer program product of claim 1 , wherein the control is specified by an instruction and set prior to commencing the merging.

9. The computer program product of claim 8 , wherein the instruction comprises a sort instruction, the sort instruction being defined based on a selected instruction set architecture.

10. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method comprising:

merging, by one or more processors, a plurality of records of a plurality of input lists, wherein the merging includes:

determining that an input list of the plurality of input lists has become empty;

obtaining a control to be checked based on the input list becoming empty, the control being an input to the merging and being set prior to the merging and not updated during the merging, the control including:

one indicator having one or more bits, the one indicator of the control being assigned to a selected input list of the plurality of input lists to control processing based on the selected input list becoming empty during the merging; and

another indicator, separate from the one indicator and having one or more other bits, the another indicator of the control being assigned to remaining input lists of the plurality of input lists, the remaining input lists excluding the selected input list, and the another indicator of the control to control processing based on a remaining input list of the remaining input lists becoming empty during the merging;

determining that the input list that has become empty is the selected input list of the plurality of input lists;

checking, based on determining that the selected input list has become empty, the one indicator of the control specifically assigned to the selected input list to determine how to proceed based on the selected input list becoming empty during the merging; and

performing processing, based on the one indicator of the control that is set prior to merging and not updated during the merging, wherein the one indicator of the control set to one value indicates that the merging is to continue based on the selected input list becoming empty.

11. The computer system of claim 10 , wherein based on the one indicator of the control being set to another value, the merging is to end based on the selected input list becoming empty.

12. The computer system of claim 10 , wherein the control is included in a parameter block that is input to the merging and used by the merging.

13. The computer system of claim 10 , wherein the method further comprises:

determining that an indication of the input list that has become empty is to be stored in a select location, the determining being based, at least in part, on the control; and

storing the indication of the input list in the select location, based on the determining specifying that the indication is to be stored.

14. The computer system of claim 13 , wherein the determining that the indication is to be stored comprises checking another control, the other control set to a select value indicates the indication is to be stored in the select location, the other control being set, based in part, on the control.

15. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

merging, by at least one processor, a plurality of records of a plurality of input lists, wherein the merging includes:

determining that an input list of the plurality of input lists has become empty;

obtaining a control to be checked based on the input list becoming empty, the control being an input to the merging and being set prior to the merging and not updated ring the merging, the control including:

one indicator having one or more bits, the one indicator of the control being assigned to a selected input list of the plurality of input lists to control processing based on the selected input list becoming empty during the merging; and

another indicator, separate from the one indicator and having one or more other bits, the another indicator of the control being assigned to remaining input lists of the plurality of input lists, the remaining input lists excluding the selected input list, and the another indicator of the control to control processing based on a remaining input list of the remaining input lists becoming empty during the merging;

determining that the input list that has become empty is the selected input list of the plurality of input lists;

checking, based on determining that the selected input list has become empty, the one indicator of the control specifically assigned to the selected input list to determine how to proceed based on the selected input list becoming empty during the merging; and

performing processing, based on the one indicator of the control that is set prior to merging and not updated during the merging, wherein the one indicator of the control set to one value indicates that the merging is to continue based on the selected input list becoming empty.

16. The computer-implemented method of claim 15 , wherein based on the one indicator of the control being set to another value, the merging is to end based on the selected input list becoming empty.

17. The computer-implemented method of claim 15 , wherein the control is included in a parameter block that is input to the merging and used by the merging.

18. The computer-implemented method of claim 15 , further comprising:

determining that an indication of the input list that has become empty is to be stored in a select location, the determining being based, at least in part, on the control; and

storing the indication of the input list in the select location, based on the determining specifying that the indication is to be stored.

19. The computer-implemented method of claim 18 , wherein the determining that the indication is to be stored comprises checking another control, the other control set to a select value indicates the indication is to be stored in the select location, the other control being set, based in part, on the control.

20. The computer-implemented method of claim 15 , wherein the control is specified by an instruction and set prior to commencing the merging.

21. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

at least one computer readable storage medium readable by at least one processor and storing instructions for performing a method comprising:

merging, by one or more processors, a plurality of records of a plurality of input lists, wherein the merging includes:

determining that an input list of the plurality of input lists has become empty;

obtaining a control to be checked based on the input list becoming empty, the control being an input to the merging and being set prior to the merging and not updated during the merging, the control including:

one indicator having one or more bits, the one indicator of the control being assigned to a selected input list of the plurality of input lists to control processing based on the selected input list becoming empty during the merging; and

another indicator, separate from the one indicator and having one or more other bits, the another indicator of the control being assigned to remaining input lists of the plurality of input lists, the remaining input lists excluding the selected input list, and the another indicator of the control to control processing based on a remaining input list of the remaining input lists becoming empty during the merging;

determining that the input list that has become empty is the remaining input list of the remaining input lists;

checking, based on determining that the remaining input list has become empty, the another indicator of the control specifically assigned to the remaining input lists to determine how to proceed based on the remaining input list becoming empty during the merging; and

continuing merging, based on the another indicator of the control that is set prior to merging and not updated during the merging being set to one value indicating that the merging is to continue based on the remaining input list becoming empty.

22. The computer program product of claim 21 , wherein based on the another indicator of the control being another value, the merging is to end based on the remaining input list becoming empty.

23. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

at least one computer readable storage medium readable by at least one processor and storing instructions for performing a method comprising:

merging, by one or more processors, a plurality of records of a plurality of input lists, wherein the merging includes:

determining that an input list of the plurality of input lists has become empty;

obtaining a control to be checked based on the input list becoming empty, the control being an input to the merging and being set prior to the merging and not updated during the merging, the control including:

one indicator having one or more bits, the one indicator of the control being assigned to a selected input list of the plurality of input lists to control processing based on the selected input list becoming empty during the merging; and

another indicator, separate from the one indicator and having one or more other bits, the another indicator of the control being assigned to remaining input lists of the plurality of input lists, the remaining input lists excluding the selected input list, and the another indicator of the control to control processing based on a remaining input list of the remaining input lists becoming empty during the merging;

determining that the input list that has become empty is the selected input list of the plurality of input lists;

checking, based on determining that the selected input list has become empty, the one indicator of the control specifically assigned to the selected input list to determine how to proceed based on the selected input list becoming empty during the merging;

continuing merging, based on the one indicator of the control that is set prior to merging and not updated during the merging being set to one value indicating that the merging is to continue based on the selected input list becoming empty; and

storing an indication of the input list that has become empty, based on determining that a particular condition code has been set and that another control is set to a selected value.

24. The computer program product of claim 23 , wherein the method further comprises:

determining that the indication of the input list that has become empty is to be stored in a select location, the determining comprising checking the another control, the another control set to the selected value indicates the indication is to be stored in the select location, the another control being set, based in part, on the control.

25. The computer program product of claim 24 , wherein the method further comprises setting the another control, the setting comprising:

checking that the control is a defined value; and

determining that the particular condition code has been set, wherein the another control is set to the selected value based on the control being the defined value and the particular condition code being set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2018
From: GIAMEI, BRUCE C.; RECKTENWALD, MARTIN; SCHMIDT, DONALD W.; SLEGEL, TIMOTHY; PURANIK, ADITYA N.; FARRELL, MARK S.; JACOBI, CHRISTIAN; BRADBURY, JONATHAN D.; ZOELLIN, CHRISTIAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047424/0944 →
Continuity (1)
Related Publication 20200142669A1 · May 7, 2020
References Cited (172)
US 4779192A · Torii et al. · 1988 [cited by applicant]
US 4890220A · Nakagawa et al. · 1989 [cited by applicant]
US 5210870A · Baum et al. · 1993 [cited by applicant]
US 5274777A · Kawata · 1993 [cited by applicant]
US 5475822A · Sibigtroth et al. · 1995 [cited by applicant]
US 5475882A · Sibigtroth · 1995 [cited by applicant]
US 5517611A · Deering · 1996 [cited by applicant]
US 5796997A · Lesartre · 1998 [cited by applicant]
US 5799167A · Lesartre · 1998 [cited by applicant]
US 5909544A · Kawata · 1999 [cited by applicant]
US 5941983A · Gupta · 1999 [cited by applicant]
US 6308254B1 · Sollars · 2001 [cited by applicant]
US 6343288B1 · Lindsay · 2002 [cited by examiner]
US 6460121B1 · Bonola · 2002 [cited by applicant]
US 6523030B1 · Horowitz · 2003 [cited by applicant]
US 6795966B1 · Lim et al. · 2004 [cited by applicant]
US 6820153B2 · Yanagi · 2004 [cited by applicant]
US 7080159B2 · Chu et al. · 2006 [cited by applicant]
US 7107320B2 · Busser · 2006 [cited by applicant]
US 7464254B2 · Sharangpani · 2008 [cited by applicant]
US 7500089B2 · Iwanaga · 2009 [cited by applicant]
US 7502888B2 · Fowles · 2009 [cited by applicant]
US 7561571B1 · Lovett · 2009 [cited by applicant]
US 7778990B2 · Ito · 2010 [cited by applicant]
US 7933405B2 · Knowles · 2011 [cited by applicant]
US 7945789B2 · Nutter et al. · 2011 [cited by applicant]
US 7987158B2 · Boyd et al. · 2011 [cited by applicant]
US 8230410B2 · Loen · 2012 [cited by applicant]
US 8266112B1 · Beatty et al. · 2012 [cited by applicant]
US 8695010B2 · Frazier et al. · 2014 [cited by applicant]
US 8850423B2 · Barkie et al. · 2014 [cited by applicant]
US 8935512B2 · Kumura · 2015 [cited by applicant]
US 9015083B1 · Monga et al. · 2015 [cited by applicant]
US 9405538B2 · Ioffe · 2016 [cited by applicant]
US 9405549B2 · Igura · 2016 [cited by applicant]
US 9513916B2 · Gschwind et al. · 2016 [cited by applicant]
US 9600442B2 · Hughes · 2017 [cited by applicant]
US 9665626B1 · Foster · 2017 [cited by examiner]
US 9710874B2 · Palmer et al. · 2017 [cited by applicant]
US 9727594B2 · Larson et al. · 2017 [cited by applicant]
US 9766888B2 · Gueron · 2017 [cited by applicant]
US 9990198B2 · Abdallah · 2018 [cited by applicant]
US 9990206B2 · Wang et al. · 2018 [cited by applicant]
US 9990314B2 · Rozas et al. · 2018 [cited by applicant]
US 10089075B2 · Chhugani · 2018 [cited by applicant]
US 10162859B2 · Barsness · 2018 [cited by applicant]
US 10203958B2 · Zbiciak · 2019 [cited by applicant]
US 10261790B2 · Mishaeli · 2019 [cited by applicant]
US 10496371B2 · Li · 2019 [cited by applicant]
US 10514927B2 · Lechanka · 2019 [cited by applicant]
US 10698792B2 · Nelson · 2020 [cited by applicant]
US 10942748B2 · Guntur · 2021 [cited by applicant]
US 20020078011A1 · Lee · 2002 [cited by examiner]
US 20050283588A1 · Yamishita · 2005 [cited by applicant]
US 20060005097A1 · Ichikawa · 2006 [cited by applicant]
US 20060136923A1 · Kaln · 2006 [cited by applicant]
US 20080301408A1 · Kranich · 2008 [cited by applicant]
US 20100223297A1 · Li · 2010 [cited by examiner]
US 20120054731A1 · Aravamundan et al. · 2012 [cited by applicant]
US 20140089646A1 · Diewald · 2014 [cited by applicant]
US 20150095615A1 · Abdallah et al. · 2015 [cited by applicant]
US 20150178243A1 · Lowery et al. · 2015 [cited by applicant]
US 20150370558A1 · Gschwind et al. · 2015 [cited by applicant]
US 20160139934A1 · Sarangi et al. · 2016 [cited by applicant]
US 20160162293A1 · Hooker et al. · 2016 [cited by applicant]
US 20160224349A1 · Ge et al. · 2016 [cited by applicant]
US 20170017486A1 · Guntur et al. · 2017 [cited by applicant]
US 20170109385A1 · Aronovich et al. · 2017 [cited by applicant]
US 20170109921A1 · Hasselgren et al. · 2017 [cited by applicant]
US 20170185415A1 · Mishra et al. · 2017 [cited by applicant]
US 20170212727A1 · Chbugani et al. · 2017 [cited by applicant]
US 20170285959A1 · Mishaeli · 2017 [cited by applicant]
US 20170308381A1 · Zbiciak · 2017 [cited by applicant]
US 20170337145A1 · Rozas et al. · 2017 [cited by applicant]
US 20170371977A1 · Connolly et al. · 2017 [cited by applicant]
US 20180004520A1 · Gueron et al. · 2018 [cited by applicant]
US 20180011768A1 · Bradbury et al. · 2018 [cited by applicant]
US 20180107417A1 · Shechter · 2018 [cited by applicant]
US 20180113797A1 · Breslow et al. · 2018 [cited by applicant]
US 20200142696A1 · Giamei et al. · 2020 [cited by applicant]
US 20200142705A1 · Giamel et al. · 2020 [cited by applicant]
US 20200142706A1 · Giamel et al. · 2020 [cited by applicant]
US 20200348940A1 · Giamei et al. · 2020 [cited by applicant]
US 20210011719A1 · Giamei et al. · 2021 [cited by applicant]
US 20210096876A1 · Giamei et al. · 2021 [cited by applicant]
AU 2019376835A1 · 2021 [cited by applicant]
CA 3118174A1 · 2020 [cited by applicant]
CN 1614570A · 2005 [cited by applicant]
CN 108351786A · 2018 [cited by applicant]
CN 112930532A · 2021 [cited by applicant]
CN 112955867A · 2021 [cited by applicant]
CN 112970000A · 2021 [cited by applicant]
CN 112970001A · 2021 [cited by applicant]
EP 0516266A2 · 1992 [cited by applicant]
EP 1217540A1 · 2002 [cited by applicant]
EP 3118738A1 · 2017 [cited by applicant]
EP 3877840A1 · 2021 [cited by applicant]
EP 3877841A1 · 2021 [cited by applicant]
EP 3877842A1 · 2021 [cited by applicant]
EP 3877886A1 · 2021 [cited by applicant]
HK 40047089 · 2021 [cited by applicant]
HK 40047090 · 2021 [cited by applicant]
IL 281734A · 2021 [cited by applicant]
IL 282055A · 2021 [cited by applicant]
JP S60134973A · 1985 [cited by applicant]
JP WO2014208205A1 · 2017 [cited by applicant]
JP 2022503925A · 2022 [cited by applicant]
JP 2022503970A · 2022 [cited by applicant]
JP 2022504860A · 2022 [cited by applicant]
JP 2022505091A · 2022 [cited by applicant]
KR 1020150112781A · 2015 [cited by applicant]
KR 1020210055771A · 2021 [cited by applicant]
RU 2382396C2 · 2010 [cited by applicant]
TW 201606646A · 2016 [cited by applicant]
TW 201741867A · 2017 [cited by applicant]
TW 201804322A · 2018 [cited by applicant]
WO WO0189098A2 · 2001 [cited by applicant]
WO WO2008121862A1 · 2008 [cited by applicant]
WO WO201188696A2 · 2013 [cited by applicant]
WO 2020094600A1 · 2020 [cited by applicant]
WO 2020094601A1 · 2020 [cited by applicant]
WO 2020094602A1 · 2020 [cited by applicant]
WO 2020094603A1 · 2020 [cited by applicant]
Anonymous, “Dynamic Sorting Method with Combined Criteria in a Smart and Efficient Manner,” IPCOM000227818D, May 2013, pp. 1-8 (+ cover). [cited by applicant]
Anonymous, “Hot-Patching a VM/guest Snapshot,” IPCOM000244666D, Jan. 2016, pp. 1-2 (+ cover). [cited by applicant]
Anonymous, “Stable Bitonic Storing,” IPCOM000213459D, Dec. 2011, pp. 1-6 (+ cover). [cited by applicant]
Arnold et al., “An Application-Specific Instruction Set For Accelerating Set-Oriented Database Primitives,” SIGMOD'14 ACM International Conference on Management of Data, Jun. 2014, pp. 767-778. [cited by applicant]
Cabri, Giacomo et al., “Enabling Java Mobile Computing on the IBM Jikes Research Virtual Machine,” Aug. 2006, pp. 62-71. [cited by applicant]
Fouts, Martin et al., “Brevix Design 1.01,” Apr. 1993, pp. 1-87. [cited by applicant]
Fukai, Takaaki, et al., “OS-Independent Live Migration Scheme for Bare-metal Clouds,” Dec. 2015, pp. 80-89. [cited by applicant]
He et al., “Realtional Joins on Graphics Processors,” SIGMOD'08 ACM SIGMOD International Conference on Management of Data, Jun. 2008, pp. 511-524. [cited by applicant]
Hollingsworth, Jeffrey et al., “MDL: A Language and Compiler for Dynamic Program Instrumentation,” May 1997, pp. 1-21. [cited by applicant]
IBM, “Metadata Driven Mechanism for Recovery in Complex Script Based Process Failure,” IPCOM00019094D, Nov. 2009, pp. 1-3 (+ cover). [cited by applicant]
IBM, “Methodology Improvements Lost Interrupt State Handling Software Recovery for Instruction Tracing,” IPCOM000010547D, Dec. 2002, p. 1 (+ cover). [cited by applicant]
IBM, “z/Architecture—Principles of Operation,” IBM Publication No. SA22-7832-11, Twelfth Edition, Sep. 2017, pp. Jan. 1902. [cited by applicant]
Mell, Peter and Tim Grance, “The NIST Definition of Cloud Computing,” National Institute of Standards and Technology, Information Technology Laboratory, Special Publication 800-145, Sep. 2011, pp. 1-7. [cited by applicant]
Moore, James J. et al., “A Resiliency Model For High Performance Infrastructure Based on Logical Encapsulation,” Jun. 2012, pp. 283-294. [cited by applicant]
Pelley, Steven, “Database and System Design for Emerging Storage Technologies,” 2014 (no further date information available), pp. 1-160. [cited by applicant]
Sintorn et al., “Fast Parallel GPU-Sorting Using A Hybrid Algorithm,” Journal of Parallel and Distributed Computing, vol. 68, Issue 10, Oct. 2018, pp. 1381-1388. [cited by applicant]
Wu et al., “Kernel Weaver: Automatically Fusing Database Primitives for Efficient GPU Computation”, 45 [cited by applicant]
Zurich, Eth, “Work Sharing Data Processing Systems,” 2014 (no further date information available), pp. 1-228. [cited by applicant]
Giamei, Bruce C. et al., “Migration of Partially Completed Instructions,” U.S. Appl. No. 16/181,751, filed Nov. 6, 2018, pp. 1-96. [cited by applicant]
Giamei, Bruce C. et al., “Sort and Merge Instruction for a General-Purpose Processor,” U.S. Appl. No. 16/181,923, filed Nov. 6, 2018, pp. 1-92. [cited by applicant]
Giamei, Bruce C. et al., “Saving and Restoring Machine State Between Multiple Executions of an Instruction,” U.S. Appl. No. 16/182,017, filed Nov. 6, 2018, pp. 1-96. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, Mar. 6, 2019, pp. 1-2. [cited by applicant]
Giamei, Bruce C. et al., “Saving and Restoring Machine State Between Multiple Executions of an Instruction,” U.S. Appl. No. 16/933,037, filed Jul. 20, 2020, pp. 1-95. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, Aug. 27, 2020, pp. 1-2. [cited by applicant]
Giamei, Bruce C. et al., “Saving and Restoring Machine State Between Multiple Executions of an Instruction,” U.S. Appl. No. 17/122,084, filed Dec. 15, 2020, pp. 1-95. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, Mar. 10, 2021, pp. 1-2. [cited by applicant]
Notice of Acceptance for Patent Application, IP Australia Application No. 2019376835, Sep. 19, 2022, pp. 1-3. [cited by applicant]
Examination Report No. 1 for Standard Patent Application, IP Australia Application No. 2019376835, Nov. 16, 2021, pp. 1-3. [cited by applicant]
Examination Report No. 1 for Standard Patent Application, IP Australia Application No. 2019377216 Nov. 23, 2021, pp. 1-3. [cited by applicant]
Examination Report No. 2 for Standard Patent Application, IP Australia Application No. 2019377216 Sep. 23, 2022, pp. 1-3. [cited by applicant]
Notice of Reasons for Refusal, Japanese Patent Application No. 2021-517826, (Original and English Translation), Jan. 17, 2023, 6 pages. [cited by applicant]
Notice of Reasons for Refusal, Japanese Patent Application No. 2021-517672, (Original and English Translation), Jan. 17, 2023, 6 pages. [cited by applicant]
Notice of Acceptance for Patent Application, Application No. 2019377216, Nov. 10, 2022, 3 pages. [cited by applicant]
Notice of Reasons for Refusal, Japanese Patent Application No. 2021-520996, (English Translation), Jun. 5, 2023, 5 pages. [cited by applicant]
Notice of Reasons for Refusal, Japanese Patent Application No. 2021-520341, (English Translation). Jun. 5, 2023, 5 pages. [cited by applicant]
Decision to Grant a Patent, JP Application No. 2021-520341, Jul. 22, 2024, 2 pages (English Translation). [cited by applicant]
Communication Pursuant to Article 94(3) EPC, UK Application No. 19 800 964.9-1218, Dec. 20, 2023, 5 pages. [cited by applicant]
Decision to Grant a Patent, JP Application No. 2021-520996, Dec. 12, 2023, 2 pages. [cited by applicant]
The State Intellectual Property Office of People's Republic of China, “First Office Action”, Feb. 15, 2025, 13 Pages, CN Application No. 201980073710.8. [cited by applicant]
The State Intellectual Property Office of People's Republic of China, “Second Office Action”, Feb. 15, 2025, 14 Pages, CN Application No. 201980071487.3. [cited by applicant]
Innovation, Science and Economic Development Canada, “Office Action,” Dec. 12, 2024, 5 Pages, CA Application No. 3118173. [cited by applicant]
Canadian Patent Office, “Examination Search Report,” Dec. 5, 2024, 10 Pages, CA Application 3118174. [cited by applicant]
European Patent Office, “Office Action 94(3),” Dec. 21, 2021, 10 Pages, EP Application 19798279.6. [cited by applicant]
European Patent Office, “Office Action 94(3),” May 19, 2022, 5 Pages, EP Application 19798280.4. [cited by applicant]
European Patent Office, “Summon to Attend Oral Proceedings,” Mar. 3, 2023, 11 Pages, EP Application 19798280.4. [cited by applicant]
Indian Patent Office, “Examination report”, Feb. 14, 2022, 8 pages Application No. IN 202147019660. [cited by applicant]
International Searching Authority, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, Dec. 11, 2019, 12 pages, International Application No. … [cited by applicant]
International Searching Authority, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, Feb. 4, 2020, 17 pages, International Application No. P… [cited by applicant]
International Searching Authority, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, Feb. 6, 2020, 15 pages, International Application No. P… [cited by applicant]