IP Library Granted Patent US 12,554,562
Granted Patent B2
US 12,554,562 · App. 17/388,127 · Granted Feb 17, 2026

Intersystem processing employing buffer summary groups

Inventors: Peter Dana Driever (Poughkeepsie, NY); David Harold Surman (Milton, NY); Peter Kenneth Szwed (Rhinebeck, NY); Andrew Walter Piechowski (Lagrangeville, NY); Steven Neil Goss (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/544G06F9/542G06F9/546G06F2009/45583
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,554,562
App. No.
17/388,127
Granted
Feb 17, 2026
Kind
B2
Abstract

A buffer summary group of a plurality of buffer summary groups is accessed. The buffer summary group includes one or more summary indicators for one or more buffers assigned to the buffer summary group. A summary indicator of the one or more summary indicators of the buffer summary group is checked to determine whether an event has occurred for at least one buffer of the one or more buffers assigned to the buffer summary group. Based on the checking indicating that the event has occurred, one or more actions are performed.

Claims (49)

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

one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media to perform a method comprising:

executing, using at least one processor of the computing environment, at least one computer instruction to assign a plurality of buffers to a plurality of buffer summary groups defined for the computing environment, the computing environment configured to include the plurality of buffer summary groups, wherein the plurality of buffer summary groups are allocated in a select location, and wherein assigning one or more buffers of the plurality of buffers to a buffer summary group of the plurality of buffer summary groups includes determining which of the plurality of buffers are assigned to be used by one or more selected processors of a plurality of processors in intersystem communications within the computing environment and assigning, using a computer instruction of the at least one computer instruction, those one or more buffers assigned to be used by the one or more selected processors to the buffer summary group, the computer instruction including an identifier of the buffer summary group to be used for instruction operation, the buffer summary group identified in the computer instruction including one or more summary indicators for the one or more buffers assigned to the buffer summary group;

accessing the buffer summary group, wherein the one or more summary indicators of the buffer summary group specify whether one or more events that were assigned to be indicated in the buffer summary group have occurred for at least one buffer of the one or more buffers assigned to the buffer summary group, and wherein the one or more summary indicators include a command active summary indicator used to indicate when a message command block arrives on a recipient primary buffer assigned to the buffer summary group, a secondary arrival summary indicator used to indicate when a message command block arrives on a recipient secondary buffer assigned to the buffer summary group, a response active summary indicator used to indicate when a message response block arrives on an originator secondary buffer assigned to the buffer summary group, a final data active summary indicator used to indicate when data active is set at a selected buffer assigned to the buffer summary group, and a primary completion summary indicator used to indicate when a message response block arrives on an originator primary buffer assigned to the buffer summary group;

checking a summary indicator of the one or more summary indicators within the buffer summary group to determine that an event has occurred for the at least one buffer of the one or more buffers assigned to the buffer summary group, the event including an arrival of a message block at a buffer of the one or more buffers assigned to the buffer summary group, wherein the arrival of the message block at the buffer sets the summary indicator for the buffer summary group; and

performing one or more actions, based on the checking indicating that the event has occurred.

2 . The computer program product of claim 1 , wherein the one or more summary indicators include a plurality of summary indicators and the one or more buffers include multiple buffers, wherein the buffer summary group includes the plurality of summary indicators for the multiple buffers assigned to the buffer summary group.

3 . The computer program product of claim 1 , wherein the at least one computer instruction includes a prepare channel buffer instruction.

4 . The computer program product of claim 1 , wherein the one or more buffers are assigned to the buffer summary group based on execution of a send message instruction, the send message instruction to use a selected buffer of the one or more buffers to send a message.

5 . The computer program product of claim 1 , wherein the one or more events include receipt of a message in a selected buffer of the one or more buffers, and the performing the one or more actions includes performing processing relating to the message included in the selected buffer.

6 . The computer program product of claim 5 , wherein the one or more events include an indication that processing of data associated with the message is complete, and the performing the one or more actions includes sending a response indicating that the data has been processed.

7 . The computer program product of claim 1 , wherein the checking replaces a polling operation via an instruction to look for work in buffers of the computing environment.

8 . The computer program product of claim 1 , wherein the method further comprises dynamically altering a buffer summary group assignment of a selected buffer of the one or more buffers of the buffer summary group, wherein the selected buffer is reassigned from the buffer summary group of the plurality of buffer summary groups to another buffer summary group of the plurality of buffer summary groups.

9 . The computer program product of claim 1 , wherein the method further comprises defining a buffer summary response area in the select location, the buffer summary response area to include the plurality of buffer summary groups.

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

a memory; and

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

executing at least one computer instruction to assign a plurality of buffers to a plurality of buffer summary groups defined for the computing environment, the computing environment configured to include the plurality of buffer summary groups, wherein the plurality of buffer summary groups are allocated in a select location, and wherein assigning one or more buffers of the plurality of buffers to a buffer summary group of the plurality of buffer summary groups includes determining which of the plurality of buffers are assigned to be used by one or more selected processors of a plurality of processors in intersystem communications within the computing environment and assigning, using a computer instruction of the at least one computer instruction, those one or more buffers assigned to be used by the one or more selected processors to the buffer summary group, the computer instruction including an identifier of the buffer summary group to be used for instruction operation, the buffer summary group identified in the computer instruction including one or more summary indicators for the one or more buffers assigned to the buffer summary group;

accessing the buffer summary group, wherein the one or more summary indicators of the buffer summary group specify whether one or more events that were assigned to be indicated in the buffer summary group have occurred for at least one buffer of the one or more buffers assigned to the buffer summary group, and wherein the one or more summary indicators include a command active summary indicator used to indicate when a message command block arrives on a recipient primary buffer assigned to the buffer summary group, a secondary arrival summary indicator used to indicate when a message command block arrives on a recipient secondary buffer assigned to the buffer summary group, a response active summary indicator used to indicate when a message response block arrives on an of indicator secondary buffer assigned to the buffer summary group, a final data active summary indicator used to indicate when data active is set at a selected buffer assigned to the buffer summary group, and a primary completion summary indicator used to indicate when a mess response block arrives on an originator primary buffer assigned to the buffer summary group;

checking a summary indicator of the one or more summary indicators within the buffer summary group to determine that an event has occurred for the at least one buffer of the one or more buffers assigned to the buffer summary group, the event including an arrival of a message block at a buffer of the one or more buffers assigned to the buffer summary group, wherein the arrival of the message block at the buffer sets the summary indicator for the buffer summary group; and

performing one or more actions, based on the checking indicating that the event has occurred.

11 . The computer system of claim 10 , wherein the one or more summary indicators include a plurality of summary indicators and the one or more buffers include multiple buffers, wherein the buffer summary group includes the plurality of summary indicators for the multiple buffers assigned to the buffer summary group.

12 . The computer system of claim 10 , wherein the one or more events include receipt of a message in a selected buffer of the one or more buffers, and the performing the one or more actions includes performing processing relating to the message included in the selected buffer.

13 . The computer system of claim 10 , wherein the method further comprises dynamically altering a buffer summary group assignment of a selected buffer of the one or more buffers of the buffer summary group, wherein the selected buffer is reassigned from the buffer summary group of the plurality of buffer summary groups to another buffer summary group of the plurality of buffer summary groups.

14 . The computer system of claim 10 , wherein the method further comprises defining a buffer summary response area in the select location, the buffer summary response area to include the plurality of buffer summary groups.

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

executing, using at least one processor of the computing environment, at least one computer instruction to assign a plurality of buffers to a plurality of buffer summary groups defined for the computing environment, the computing environment configured to include the plurality of buffer summary groups, wherein the plurality of buffer summary groups are allocated in a select location, and wherein assigning one or more buffers of the plurality of buffers to a buffer summary group of the plurality of buffer summary groups includes determining which of the plurality of buffers are assigned to be used by one or more selected processors of a plurality of processors in intersystem communications within the computing environment and assigning, using a computer instruction of the at least one computer instruction, those one or more buffers assigned to be used by the one or more selected processors to the buffer summary group, the computer instruction including an identifier of the buffer summary group to be used for instruction operation, the buffer summary group identified in the computer instruction including one or more summary indicators for the one or more buffers assigned to the buffer summary group;

accessing the buffer summary group, wherein the one or more summary indicators of the buffer summary group specify whether one or more events that were assigned to be indicated in the buffer summary group have occurred for at least one buffer of the one or more buffers assigned to the buffer summary group, and wherein the one or more summary indicators include a command active summary indicator used to indicate when a message command block arrives on a recipient primary buffer assigned to the buffer summary group, a secondary arrival summary indicator used to indicate when a message command block arrives on a recipient secondary buffer assigned to the buffer summary group, a response active summary indicator used to indicate when a message response block arrives on an originator secondary buffer assigned to the buffer summary group, a final data active summary indicator used to indicate when data active is set at a selected buffer assigned to the buffer summary group, and a primary completion summary indicator used to indicate when a message response block arrives on an originator primary buffer assigned to the buffer summary group;

checking a summary indicator of the one or more summary indicators within the buffer summary group to determine that an event has occurred for the at least one buffer of the one or more buffers assigned to the buffer summary group, the event including an arrival of a message block at a buffer of the one or more buffers assigned to the buffer summary group, wherein the arrival of the message block at the buffer sets the summary indicator for the buffer summary group; and

performing one or more actions, based on the checking indicating that the event has occurred.

16 . The computer-implemented method of claim 15 , wherein the one or more summary indicators include a plurality of summary indicators and the one or more buffers include multiple buffers, wherein the buffer summary group includes the plurality of summary indicators for the multiple buffers assigned to the buffer summary group.

17 . The computer-implemented method of claim 15 , wherein the one or more events include receipt of a message in a selected buffer of the one or more buffers, and the performing the one or more actions includes performing processing relating to the message included in the selected buffer.

18 . The computer-implemented method of claim 15 , further comprising dynamically altering a buffer summary group assignment of a selected buffer of the one or more buffers of the buffer summary group, wherein the selected buffer is reassigned from the buffer summary group of the plurality of buffer summary groups to another buffer summary group of the plurality of buffer summary groups.

19 . The computer-implemented method of claim 15 , further comprising defining a buffer summary response area in the select location, the buffer summary response area to include the plurality of buffer summary groups.

20 . The computer-implemented method of claim 15 , wherein the at least one computer instruction includes a prepare channel buffer instruction.

21 . The computer-implemented method of claim 15 , wherein the checking replaces a polling operation via an instruction to look for work in buffers of the computing environment.

22 . The computer-implemented method of claim 15 , wherein the assigning to the buffer summary group includes assigning the one or more buffers to the buffer summary group based on the one or more buffers being shared by the one or more selected processors.

23 . The computer program product of claim 1 , wherein the assigning to the buffer summary group includes assigning the one or more buffers to the buffer summary group based on the one or more buffers being shared by the one or more selected processors.

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

one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media to perform a method comprising:

assigning one or more buffers to a buffer summary group defined for the computing environment, the assigning the one or more buffers to the buffer summary group being based on which one or more processors of the computing environment are assigned to use the one or more buffers in intersystem communication within the computing environment;

accessing the buffer summary group, the buffer summary group including one or more summary indicators to be used to indicate one or more selected buffer state changes for the buffer summary group, wherein the one or more summary indicators include a command active summary indicator used to indicate when a message command block arrives on a recipient primary buffer assigned to the buffer summary group, a secondary arrival summary indicator used to indicate when a message command block arrives on a recipient secondary buffer assigned to the buffer summary group, a response active summary indicator used to indicate when a message response block arrives on an originator secondary buffer assigned to the buffer summary group, a final data active summary indicator used to indicate when data active is set at a selected buffer assigned to the buffer summary group, and a primary completion summary indicator used to indicate when a message response block arrives on an originator primary buffer assigned to the buffer summary group;

checking that a buffer state change of the one or more selected buffer state changes has occurred for at least one buffer of the one or more buffers of the buffer summary group, wherein the checking that the buffer state change has occurred includes checking a summary indicator of the one or more summary indicators of the buffer summary group corresponding to the buffer state change to determine that the buffer state change has occurred for the at least one buffer of the one or more buffers assigned to the buffer summary group, wherein the summary indicator is set to indicate that the buffer state change has occurred for the buffer summary group based on the buffer state change occurring for the at least one buffer of the one or more buffers of the buffer summary group; and

performing one or more actions, based on the checking indicating that the buffer state change has occurred, wherein the performing the one or more actions includes executing an instruction to look for work in those buffers associated with the buffer summary group in which the summary indicator indicates the buffer state change, wherein the instruction to look for work is executed based on the checking indicating that the buffer state change has occurred.

25 . A method of facilitating processing within a computing environment, the method comprising:

assigning one or more buffers to a buffer summary group defined for the computing environment, the assigning the one or more buffers to the buffer summary group being based on which one or more processors of the computing environment are assigned to use the one or more buffers in intersystem communication within the computing environment;

accessing the buffer summary group, the buffer summary group including one or more summary indicators to be used to indicate one or more selected buffer state changes for the buffer summary group, wherein the one or more summary indicators include a command active summary indicator used to indicate when a message command block arrives on a recipient primary buffer assigned to the buffer summary group, a secondary arrival summary indicator used to indicate when a message command block arrives on a recipient secondary buffer assigned to the buffer summary group, a response active summary indicator used to indicate when a message response block arrives on an originator secondary buffer assigned to the buffer summary group, a final data active summary indicator used to indicate when data active is set at a selected buffer assigned to the buffer summary group, and a primary completion summary indicator used to indicate when a message response block arrives on an originator primary buffer assigned to the buffer summary group;

checking that a buffer state change of the one or more selected buffer state changes has occurred for at least one buffer of the one or more buffers of the buffer summary group, wherein the checking that the buffer state change has occurred includes checking a summary indicator of the one or more summary indicators of the buffer summary group corresponding to the buffer state change to determine that the buffer state change has occurred for the at least one buffer of the one or more buffers assigned to the buffer summary group, wherein the summary indicator is set to indicate that the buffer state change has occurred for the buffer summary group based on the buffer state change occurring for the at least one buffer of the one or more buffers of the buffer summary group; and

performing one or more actions, based on the checking indicating that the buffer state change has occurred, wherein the performing the one or more actions includes executing an instruction to look for work in those buffers associated with the buffer summary group in which the summary indicator indicates the buffer state change, wherein the instruction to look for work is executed based on the checking indicating that the buffer state change has occurred.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE LISTING OF THE INVENTORS BY ADDING STEVEN NEIL GOSS PREVIOUSLY RECORDED AT REEL: 057021 FRAME: 0425. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 26, 2021
From: DRIEVER, PETER DANA; SURMAN, DAVID HAROLD; SZWED, PETER KENNETH; PIECHOWSKI, ANDREW WALTER; GOSS, STEVEN NEIL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057910/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: DRIEVER, PETER DANA; SURMAN, DAVID HAROLD; SZWED, PETER KENNETH; PIECHOWSKI, ANDREW WALTER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057021/0425 →
Continuity (1)
Related Publication 20230030241A1 · Feb 2, 2023
References Cited (87)
US 5390328A · Frey et al. · 1995 [cited by applicant]
US 5479615A · Ishii et al. · 1995 [cited by applicant]
US 5568614A · Mendelson · 1996 [cited by examiner]
US 5574945A · Elko · 1996 [cited by examiner]
US 5630050A · Neuhard et al. · 1997 [cited by applicant]
US 5706432A · Elko · 1998 [cited by examiner]
US 5813042A · Campbell · 1998 [cited by examiner]
US 6813726B2 · Dahlen et al. · 2004 [cited by applicant]
US 7013305B2 · Elko et al. · 2006 [cited by applicant]
US 7257091B2 · Elko et al. · 2007 [cited by applicant]
US 9043643B2 · Elko et al. · 2015 [cited by applicant]
US 9565013B2 · Elko et al. · 2017 [cited by applicant]
US 10491675B2 · Elko et al. · 2019 [cited by applicant]
US 10494675B2 · Kassis et al. · 2019 [cited by applicant]
US 10713166B2 · Hagersten et al. · 2020 [cited by applicant]
US 12008413B2 · Driever et al. · 2024 [cited by applicant]
US 20030037178A1 · Vessey · 2003 [cited by examiner]
US 20030061475A1 · Gregg · 2003 [cited by examiner]
US 20030099305A1 · Yi · 2003 [cited by examiner]
US 20040230755A1 · Check · 2004 [cited by examiner]
US 20050080952A1 · Oner · 2005 [cited by examiner]
US 20060136458A1 · Elko · 2006 [cited by applicant]
US 20070240157A1 · Herenyi et al. · 2007 [cited by applicant]
US 20080081628A1 · Ye · 2008 [cited by examiner]
US 20080201419A1 · Hung · 2008 [cited by examiner]
US 20080240157A1 · Muraguchi · 2008 [cited by examiner]
US 20080291933A1 · Cardona · 2008 [cited by examiner]
US 20090006765A1 · Friedman · 2009 [cited by examiner]
US 20090055590A1 · Takahashi · 2009 [cited by applicant]
US 20120317312A1 · Elko · 2012 [cited by examiner]
US 20120331172A1 · Mansur · 2012 [cited by examiner]
US 20150019766A1 · Lin · 2015 [cited by examiner]
US 20160103721A1 · Driever · 2016 [cited by applicant]
US 20160266925A1 · Wei · 2016 [cited by examiner]
US 20160320968A1 · Okita · 2016 [cited by examiner]
US 20170329555A1 · Decker · 2017 [cited by examiner]
US 20180132123A1 · Song · 2018 [cited by examiner]
US 20200125290A1 · Shah · 2020 [cited by examiner]
US 20200192805A1 · Keymolen · 2020 [cited by applicant]
US 20200348990A1 · Katzenberger · 2020 [cited by applicant]
US 20210076251A1 · Ho · 2021 [cited by examiner]
US 20210219169A1 · Ji · 2021 [cited by examiner]
US 20230036467A1 · Driever et al. · 2023 [cited by applicant]
CN 102523299A · 2012 [cited by applicant]
CN 104221000A · 2014 [cited by applicant]
CN 111694848A · 2020 [cited by applicant]
CN 117693741A · 2024 [cited by applicant]
CN 117716341A · 2024 [cited by applicant]
DE 112022003144T5 · 2024 [cited by applicant]
EP 0701205B1 · 2003 [cited by applicant]
EP 4377801A1 · 2024 [cited by applicant]
GB 2623280A · 2024 [cited by applicant]
HK 40101831 · 2024 [cited by applicant]
JP H08227403A · 1996 [cited by applicant]
JP 2014520321A · 2014 [cited by applicant]
JP 2021503129A · 2021 [cited by applicant]
JP 2024502506A · 2024 [cited by applicant]
JP 2024529365A · 2024 [cited by applicant]
KR 1020240019377A · 2024 [cited by applicant]
TW 200822638A · 2008 [cited by applicant]
TW 201843593A · 2018 [cited by applicant]
TW I813283B · 2023 [cited by applicant]
TW I813284B · 2023 [cited by applicant]
WO 2012168866A1 · 2012 [cited by applicant]
WO 2019097347A1 · 2019 [cited by applicant]
WO 2023006666A1 · 2023 [cited by applicant]
WO 2023007276A1 · 2023 [cited by applicant]
Kyne, Frank et al., “Coupling Facility Performance: A Real World Perspective,” IBM, Mar. 2006, pp. 1-56. [cited by applicant]
Raften, David, “Coupling Facility Configuration Options,” IBM, Oct. 2016, pp. 1-83. [cited by applicant]
Anonymous, “A Method and System for Providing a Dynamic Coupling Facility Resource Management,” IP.com No. IPCOM000233570D, Dec. 15, 2013, pp. 1-4 (+ cover). [cited by applicant]
Anonymous, “Method and System for Determining an Error State of a Link to a Structured External Storage (SES) Facility in a Parallel Sysplex Environment,” IP.com No. IPCOM000206043D, Apr. 12, 2011, p. 1 (+ cover). [cited by applicant]
Anonymous, “z/OS*—Have Hardware Report Instruction Usage to Help With Performance Evaluation and Code Coverage,” IP.com No. IPCOM000179542D, Feb. 17, 2009, pp. 1-3 (+ cover). [cited by applicant]
Anonymous, “Method for the Alignment and Placement of Code Blocks to Improve ITLB Performance,” IP.com No. IPCOM000146813D, Feb. 2007, pp. 1-6 (+ cover). [cited by applicant]
Anonymous, “Method and Apparatus for Handling Self Modifying Code in Dynamic Binary Translated Simulators,” IP.com No. IPCOM000245170D, Feb. 16, 2016, pp. 1-6 (+ cover). [cited by applicant]
Betz, John W., et al., “Intersystem and Intrasystem Interference with Signal Imperfections,” Apr. 2004, pp. 1-8. [cited by applicant]
Matveev, Victor et al., “Facilitation Through Buffer Saturation: Constraints on Endogenous Buffering Properties,” Biophysical Journal, vol. 86, May 2004, pp. 2691-2709. [cited by applicant]
IBM, “z/Architecture—Principles of Operation,” IBM Publication No. SA22-7832-12, Thirteenth Edition, Sep. 2019, pp. Jan. 2000. [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]
Driever, Peter Dana et al., “Vector Processing Employing Buffer Summary Groups,” U.S. Appl. No. 17/388,154, filed Jul. 29, 2021, pp. 1-86. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, Jul. 29, 2021, 2 pages. [cited by applicant]
PCT Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, PCT/IB2022/056107, Oct. 9, 2022, 10 pages. [cited by applicant]
PCT Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, PCT/EP2022/070793, Dec. 13, 2022, 10 pages. [cited by applicant]
Written Opinion of the International Searching Authority, PCT/IB2022/056107, Mar. 7, 2023, 4 pages. [cited by applicant]
Response to Communication Pursuant to R 161(1) and R 162 EPC dated Mar. 7, 2024, Application No. 22757540.4, Jun. 11, 2024, pp. 1-6. [cited by applicant]
Innovation, Science and Economic Development Canada, “First Office Action,” Dec. 27, 2024, 6 Pages, CA Application No. 3217774. [cited by applicant]
Examination Report under Sections 12 & 13 of the Patents Act, Application No. 202447005683 received on Jun. 4, 2025, 7 pages. [cited by applicant]
Intellectual Property Office, “Request for the Submission of an Opinion,” Sep. 30, 2025, 8 Pages, KR Application No. 10-2024-7001643. [cited by applicant]