Patentable/Patents/US-6944787
US-6944787

System-managed duplexing of coupling facility structures

PublishedSeptember 13, 2005
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

System-managed duplexing of coupling facility structures. A plurality of instances of coupling facility structures are maintained in a plurality of coupling facilities. Duplexing processing associated with the plurality of instances is managed by one or more operating systems, making many of the steps associated with duplexing transparent to the exploiters of the coupling facility structures. System-managed duplexing provides high availability for coupling facility structure data via a robust recovery mechanism (i.e., duplexing failover).

Patent Claims
123 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of duplexing coupling facility structures, said method comprising: creating, independent of user control, an instance of a coupling facility structure, wherein said instance of the coupling facility structure and another instance of the coupling facility structure co-exist; and processing a command against the instance of the coupling facility structure and the another instance of the coupling facility structure.

2

2. The method of claim 1 , wherein said creating is facilitated, at least in part, by one or more operating systems coupled to the coupling facility structure.

3

3. The method of claim 1 , wherein said instance of the coupling facility structure resides in one coupling facility and said another instance of the coupling facility structure resides in another coupling facility.

4

4. The method of claim 3 , wherein said one coupling facility and said another coupling facility are connected via one or more CF-to-CF connections.

5

5. The method of claim 1 , wherein said creating comprises selecting a coupling facility within which said instance of the coupling facility structure is to reside.

6

6. The method of claim 5 , wherein said selecting comprises selecting the coupling facility, by an operating system, based on one or more policy considerations.

7

7. The method of claim 6 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility which is different than the coupling facility that includes said another instance of the coupling facility structure.

8

8. The method of claim 7 , wherein one policy consideration of the one or more policy considerations comprises selecting a coupling facility for the instance of the coupling facility structure that has a CF-to-CF connection to the coupling facility including the another instance of the coupling facility structure.

9

9. The method of claim 7 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility for the instance of the coupling facility structure that is failure isolated from the coupling facility including the another instance of the coupling facility structure.

10

10. The method of claim 1 , wherein said processing comprises: splitting said command into one instance of the command and another instance of the command; and forwarding said one instance of the command to said instance of the coupling facility structure and said another instance of the command to the another instance of the coupling facility structure.

11

11. The method of claim 10 , wherein said splitting is transparent to a requester of said command.

12

12. The method of claim 10 , wherein said forwarding is transparent to a requester of said command.

13

13. The method of claim 10 , wherein said forwarding is performed substantially in parallel.

14

14. The method of claim 10 , wherein said splitting comprises: providing a command block and message buffer address list for each of said one instance of said command and said another instance of said command; and setting one or more operands in one or more of the command blocks to enable duplexing.

15

15. The method of claim 14 , wherein said one or more operands comprise at least one command-specific operand.

16

16. The method of claim 10 , further comprising: receiving a plurality of responses from executing the one instance of the command and the another instance of the command; and forwarding to a requester of the command one response to the command.

17

17. The method of claim 16 , further comprising reconciling the plurality of responses to obtain the one response to be forwarded.

18

18. The method of claim 17 , wherein said reconciling comprises using a command specific reconciliation data structure to reconcile the plurality of responses into the one response.

19

19. The method of claim 10 , further comprising converting a requested command into the command to be split.

20

20. The method of claim 19 , wherein the converting is transparent to a requester of the requested command.

21

21. The method of claim 19 , wherein said converting comprises: converting the requested command into another command; processing the another command to obtain a result; and using the result as input to the command to be split.

22

22. The method of claim 1 , wherein said processing comprises: determining whether one resource associated with accessing the instance of the coupling facility structure and another resource associated with accessing the another instance of the coupling facility structure are available; and continuing with the processing, in response to the one resource and the another resource being available.

23

23. The method of claim 22 , wherein the one resource comprises one subchannel for accessing the instance and the another resource comprises another subchannel for accessing the another instance.

24

24. The method of claim 22 , further comprising queuing the command, in response to at least one of the one resource and the another resource being unavailable.

25

25. The method of claim 1 , wherein said coupling facility structure comprises a cache structure.

26

26. The method of claim 1 , wherein said coupling facility structure comprises a list structure.

27

27. The method of claim 1 , wherein said coupling facility structure comprises a lock structure.

28

28. A method of facilitating access to coupling facility structures, said method comprising: splitting a command to be processed against a duplexed coupling facility structure into multiple instances of the command; and forwarding at least a plurality of instances of the multiple instances of the command to a plurality of instances of the duplexed coupling facility structure.

29

29. The method of claim 28 , wherein said splitting is transparent to a requester of the command.

30

30. The method of claim 28 , wherein said forwarding is transparent to a requester of the command.

31

31. The method of claim 28 , wherein said forwarding of said at least a plurality of instances of the command is performed substantially in parallel.

32

32. The method of claim 28 , further comprising: receiving a plurality of responses in response to executing the plurality of instances of the command; and forwarding to a requester of the command one response to the command.

33

33. The method of claim 32 , further comprising reconciling the plurality of responses to obtain the one response to be forwarded.

34

34. The method of claim 28 , further comprising converting a requested command into the command to be split.

35

35. The method of claim 34 , wherein the converting is transparent to a requester of the requested command.

36

36. The method of claim 34 , wherein said converting comprises: converting the requested command into another command; processing the another command to obtain a result; and using the result as input to the command to be split.

37

37. A method of providing duplexing within a computing environment, said method comprising: duplexing a coupling facility structure, wherein one instance of the coupling facility structure is located within one coupling facility of the computing environment and another instance of the coupling facility structure is located within another coupling facility of the computing environment, the one coupling facility and the another coupling facility being coupled via one or more CF-to-CF connections; splitting a command to be processed against the coupling facility structure into one command instance and another command instance; forwarding, substantially in parallel, the one command instance to the one instance of the coupling facility structure and the another command instance to the another instance of the coupling facility structure; and processing the one command instance and the another command instance.

38

38. The method of claim 37 , further comprising: receiving responses from the one command instance and the another command instance; merging the responses into one response; and forwarding the one response to a requester of the command.

39

39. The method of claim 38 , wherein said merging comprises using a command specific reconciliation data structure to reconcile the responses into one response.

40

40. The method of claim 37 , wherein the splitting is transparent to a requester of the command.

41

41. A system of duplexing coupling facility structures, said system comprising: means for creating, independent of user control, an instance of a coupling facility structure, wherein said instance of the coupling facility structure and another instance of the coupling facility structure co-exist; and means for processing a command against the instance of the coupling facility structure and the another instance of the coupling facility structure.

42

42. The system of claim 41 , wherein the creating is facilitated, at least in part, by one or more operating systems coupled to the coupling facility structure.

43

43. The system of claim 41 , wherein said instance of the coupling facility structure resides in one coupling facility and said another instance of the coupling facility structure resides in another coupling facility.

44

44. The system of claim 43 , wherein said one coupling facility and said another coupling facility are connected via one or more CF-to-CF connections.

45

45. The system of claim 41 , wherein said means for creating comprises means for selecting a coupling facility within which said instance of the coupling facility structure is to reside.

46

46. The system of claim 45 , wherein said means for selecting comprises an operating system to select the coupling facility, based on one or more policy considerations.

47

47. The system of claim 46 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility which is different than the coupling facility that includes said another instance of the coupling facility structure.

48

48. The system of claim 47 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility for the instance of the coupling facility structure that has a CF-to-CF connection to the coupling facility including the another instance of the coupling facility structure.

49

49. The system of claim 47 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility for the instance of the coupling facility structure that is failure isolated from the coupling facility including the another instance of the coupling facility structure.

50

50. The system of claim 41 , wherein said means for processing comprises: means for splitting said command into one instance of the command and another instance of the command; and means for forwarding said one instance of the command to said instance of the coupling facility structure and said another instance of the command to the another instance of the coupling facility structure.

51

51. The system of claim 50 , wherein the splitting is transparent to a requester of said command.

52

52. The system of claim 50 , wherein the forwarding is transparent to a requester of said command.

53

53. The system of claim 50 , wherein the forwarding is performed substantially in parallel.

54

54. The system of claim 50 , wherein said means for splitting comprises: means for providing a command block and message buffer address list for each of said one instance of said command and said another instance of said command; and means for setting one or more operands in one or more of the command blocks to enable duplexing.

55

55. The system of claim 54 , wherein said one or more operands comprise at least one command-specific operand.

56

56. The system of claim 50 , further comprising: means for receiving a plurality of responses from executing the one instance of the command and the another instance of the command; and means for forwarding to a requester of the command one response to the command.

57

57. The system of claim 56 , further comprising means for reconciling the plurality of responses to obtain the one response to be forwarded.

58

58. The system of claim 57 , wherein said means for reconciling comprises means for using a command specific reconciliation data structure to reconcile the plurality of responses into the one response.

59

59. The system of claim 50 , further comprising means for converting a requested command into the command to be split.

60

60. The system of claim 59 , wherein the converting is transparent to a requester of the requested command.

61

61. The system of claim 59 , wherein said means for converting comprises: means for converting the requested command into another command; means for processing the another command to obtain a result; and means for using the result as input to the command to be split.

62

62. The system of claim 41 , wherein said means for processing comprises: means for determining whether one resource associated with accessing the instance of the coupling facility structure and another resource associated with accessing the another instance of the coupling facility structure are available; and means for continuing with the processing, in response to the one resource and the another resource being available.

63

63. The system of claim 62 , wherein the one resource comprises one subchannel for accessing the instance and the another resource comprises another subchannel for accessing the another instance.

64

64. The system of claim 62 , further comprising means for queuing the command, in response to at least one of the one resource and the another resource being unavailable.

65

65. The system of claim 41 , wherein said coupling facility structure comprises a cache structure.

66

66. The system of claim 41 , wherein said coupling facility structure comprises a list structure.

67

67. The system of claim 41 , wherein said coupling facility structure comprises a lock structure.

68

68. A system of facilitating access to coupling facility structures, said system comprising: means for splitting a command to be processed against a duplexed coupling facility structure into multiple instances of the command; and means for forwarding at least a plurality of instances of the multiple instances of the command to a plurality of instances of the duplexed coupling facility structure.

69

69. The system of claim 68 , wherein the splitting is transparent to a requester of the command.

70

70. The system of claim 68 , wherein the forwarding is transparent to a requester of the command.

71

71. The system of claim 68 , wherein the forwarding of said at least a plurality of instances of the command is performed substantially in parallel.

72

72. The system of claim 63 , further comprising: means for receiving a plurality of responses in response to executing the plurality of instances of the command; and means for forwarding to a requester of the command one response to the command.

73

73. The system of claim 72 , further comprising means for reconciling the plurality of responses to obtain the one response to be forwarded.

74

74. The system of claim 68 , further comprising means for converting a requested command into the command to be split.

75

75. The system of claim 74 , wherein the converting is transparent to a requester of the requested command.

76

76. The system of claim 74 , wherein said means for converting comprises: means for converting the requested command into another command; means for processing the another command to obtain a result; and means for using the result as input to the command to be split.

77

77. A system of providing duplexing within a computing environment, said system comprising: means for duplexing a coupling facility structure, wherein one instance of the coupling facility structure is located within one coupling facility of the computing environment and another instance of the coupling facility structure is located within another coupling facility of the computing environment, the one coupling facility and the another coupling facility being coupled via one or more CF-to-CF connections; means for splitting a command to be processed against the coupling facility structure into one command instance and another command instance; means for forwarding, substantially in parallel, the one command instance to the one instance of the coupling facility structure and the another command instance to the another instance of the coupling facility structure; and means for processing the one command instance and the another command instance.

78

78. The system of claim 77 , further comprising: means for receiving responses from the one command instance and the another command instance; means for merging the responses into one response; and means for forwarding the one response to a requester of the command.

79

79. The system of claim 78 , wherein said means for merging comprises means for using a command specific reconciliation data structure to reconcile the responses into one response.

80

80. The system of claim 77 , wherein the splitting is transparent to a requester of the command.

81

81. A system of duplexing coupling facility structures, said system comprising: an instance of a coupling facility structure, created, independent of user control, wherein said instance of the coupling facility structure and another instance of the coupling facility structure co-exist; and a command to be processed against the instance of the coupling facility structure and the another instance of the coupling facility structure.

82

82. A system of facilitating access to coupling facility structures, said system comprising: a command to be processed against a duplexed coupling facility structure, said command split into multiple instances of the command; and at least one operating system to forward at least a plurality of instances of the multiple instances of the command to a plurality of instances of the duplexed coupling facility structure.

83

83. A system of providing duplexing within a computing environment, said system comprising: one instance of a duplexed coupling facility structure located within one coupling facility of the computing environment and another instance of the coupling facility structure located within another coupling facility of the computing environment, the one coupling facility and the another coupling facility being coupled via one or more CF-to-CF connections; a command to be processed against the coupling facility structure, said command split into one command instance and another command instance; at least one operating system to forward, substantially in parallel, the one command instance to the one instance of the coupling facility structure and the another command instance to the another instance of the coupling facility structure; and wherein the one coupling facility is to process the one command instance and the another coupling facility is to process the another command instance.

84

84. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of duplexing coupling facility structures, said method comprising: creating, independent of user control, an instance of a coupling facility structure, wherein said instance of the coupling facility structure and another instance of the coupling facility structure co-exist; and processing a command against the instance of the coupling facility structure and the another instance of the coupling facility structure.

85

85. The at least one program storage device of claim 84 , wherein said creating is facilitated, at least in part, by one or more operating systems coupled to the coupling facility structure.

86

86. The at least one program storage device of claim 84 , wherein said instance of the coupling facility structure resides in one coupling facility and said another instance of the coupling facility structure resides in another coupling facility.

87

87. The at least one program storage device of claim 86 , wherein said one coupling facility and said another coupling facility are connected via one or more CF-to-CF connections.

88

88. The at least one program storage device of claim 84 , wherein said creating comprises selecting a coupling facility within which said instance of the coupling facility structure is to reside.

89

89. The at least one program storage device of claim 88 , wherein said selecting comprises selecting the coupling facility, by an operating system, based on one or more policy considerations.

90

90. The at least one program storage device of claim 89 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility which is different than the coupling facility that includes said another instance of the coupling facility structure.

91

91. The at least one program storage device of claim 90 , wherein one policy consideration of the one or more policy considerations comprises selecting a coupling facility for the instance of the coupling facility structure that has a CF-to-CF connection to the coupling facility including the another instance of the coupling facility structure.

92

92. The at least one program storage device of claim 90 , wherein one policy consideration of the one or more policy considerations comprises choosing a coupling facility for the instance of the coupling facility structure that is failure isolated from the coupling facility including the another instance of the coupling facility structure.

93

93. The at least one program storage device of claim 84 , wherein said processing comprises: splitting said command into one instance of the command and another instance of the command; and forwarding said one instance of the command to said instance of the coupling facility structure and said another instance of the command to the another instance of the coupling facility structure.

94

94. The at least one program storage device of claim 93 , wherein said splitting is transparent to a requester of said command.

95

95. The at least one program storage device of claim 93 , wherein said forwarding is transparent to a requester of said command.

96

96. The at least one program storage device of claim 93 , wherein said forwarding is performed substantially in parallel.

97

97. The at least one program storage device of claim 93 , wherein said splitting comprises: providing a command block and message buffer address list for each of said one instance of said command and said another instance of said command; and setting one or more operands in one or more of the command blocks to enable duplexing.

98

98. The at least one program storage device of claim 97 , wherein said one or more operands comprise at least one command-specific operand.

99

99. The at least one program storage device of claim 93 , wherein said method further comprises: receiving a plurality of responses from executing the one instance of the command and the another instance of the command; and forwarding to a requester of the command one response to the command.

100

100. The at least one program storage device of claim 99 , wherein said method further comprises reconciling the plurality of responses to obtain the one response to be forwarded.

101

101. The at least one program storage device of claim 100 , wherein said reconciling comprises using a command specific reconciliation data structure to reconcile the plurality of responses into the one response.

102

102. The at least one program storage device of claim 93 , wherein said method further comprises converting a requested command into the command to be split.

103

103. The at least one program storage device of claim 102 , wherein the converting is transparent to a requester of the requested command.

104

104. The at least one program storage device of claim 102 , wherein said converting comprises: converting the requested command into another command; processing the another command to obtain a result; and using the result as input to the command to be split.

105

105. The at least one program storage device of claim 84 , wherein said processing comprises: determining whether one resource associated with accessing the instance of the coupling facility structure and another resource associated with accessing the another instance of the coupling facility structure are available; and continuing with the processing, in response to the one resource and the another resource being available.

106

106. The at least one program storage device of claim 105 , wherein the one resource comprises one subchannel for accessing the instance and the another resource comprises another subchannel for accessing the another instance.

107

107. The at least one program storage device of claim 105 , wherein said method further comprises queuing the command, in response to at least one of the one resource and the another resource being unavailable.

108

108. The at least one program storage device of claim 84 , wherein said coupling facility structure comprises a cache structure.

109

109. The at least one program storage device of claim 84 , wherein said coupling facility structure comprises a list structure.

110

110. The at least one program storage device of claim 84 , wherein said coupling facility structure comprises a lock structure.

111

111. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of facilitating access to coupling facility structures, said method comprising: splitting a command to be processed against a duplexed coupling facility structure into multiple instances of the command; and forwarding at least a plurality of instances of the multiple instances of the command to a plurality of instances of the duplexed coupling facility structure.

112

112. The at least one program storage device of claim 111 , wherein said splitting is transparent to a requester of the command.

113

113. The at least one program storage device of claim 111 , wherein said forwarding is transparent to a requester of the command.

114

114. The at least one program storage device of claim 111 , wherein said forwarding of said at least a plurality of instances of the command is performed substantially in parallel.

115

115. The at least one program storage device of claim 111 , wherein said method further comprises: receiving a plurality of responses in response to executing the plurality of instances of the command; and forwarding to a requester of the command one response to the command.

116

116. The at least one program storage device of claim 115 , wherein said method further comprises reconciling the plurality of responses to obtain the one response to be forwarded.

117

117. The at least one program storage device of claim 111 , wherein said method further comprises converting a requested command into the command to be split.

118

118. The at least one program storage device of claim 117 , wherein the converting is transparent to a requester of the requested command.

119

119. The at least one program storage device of claim 117 , wherein said converting comprises: converting the requested command into another command; processing the another command to obtain a result; and using the result as input to the command to be split.

120

120. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of providing duplexing within a computing environment, said method comprising: duplexing a coupling facility structure, wherein one instance of the coupling facility structure is located within one coupling facility of the computing environment and another instance of the coupling facility structure is located within another coupling facility of the computing environment, the one coupling facility and the another coupling facility being coupled via one or more CF-to-CF connections; splitting a command to be processed against the coupling facility structure into one command instance and another command instance; forwarding, substantially in parallel, the one command instance to the one instance of the coupling facility structure and the another command instance to the another instance of the coupling facility structure; and processing the one command instance and the another command instance.

121

121. The at least one program storage device of claim 120 , wherein said method further comprises: receiving responses from the one command instance and the another command instance; merging the responses into one response; and forwarding the one response to a requester of the command.

122

122. The at least one program storage device of claim 121 , wherein said merging comprises using a command specific reconciliation data structure to reconcile the responses into one response.

123

123. The at least one program storage device of claim 120 , wherein the splitting is transparent to a requester of the command.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 1, 2001

Publication Date

September 13, 2005

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “System-managed duplexing of coupling facility structures” (US-6944787). https://patentable.app/patents/US-6944787

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.