A method for managing distribution of a shared resource among a plurality of nodes in a network; the method comprising: identifying each respective node of said plurality of nodes according to a function performed by said respective node as one of: a broker node (12; 112) arranged to collect messages from said plurality of nodes and disseminating messages among said plurality of nodes; a publisher node (16, 20, 24; 116, 120, 124) arranged to originate messages for transmission via said network; and a subscriber node (14, 18,22; 114, 118, 122) arranged to receive messages transmitted via said network, identifying at least one target service level for each said respective node; communicating a first parameter representing said at least one respective target service level for each said respective publisher node (16, 20, 24; 116, 120, 124) with a communicatively coupled respective broker node (12; 112), said first parameter being based upon the importance and urgency of messages originating from said respective publisher node (16, 20, 24; 116, 120, 124); communicating a second parameter representing said at least one respective target service level for each said respective subscriber node (14, 18,22; 114, 118, 122) with a communicatively coupled respective broker node (12; 112), said second parameter being based upon the importance and urgency of messages received by said respective subscriber node (14, 18, 22; 114, 118, 122); and coordinating communication between each respective broker node to cooperatively apply an optimizing algorithm to allocate said shared resource among broker nodes based on their received respective first and second parameters, wherein said optimizing algorithm employs at least one of Karush-Kuhn-Tucker conditions or extensions of Karush-Kuhn-Tucker conditions, each broker node then enforcing this allocation on itself. identifying each respective node of said plurality of nodes according to a function performed by said respective node as one of: a broker node (12; 112) arranged to collect messages from said plurality of nodes and disseminating messages among said plurality of nodes; a publisher node (16, 20, 24; 116, 120, 124) arranged to originate messages for transmission via said network; and a subscriber node (14, 18,22; 114, 118, 122) arranged to receive messages transmitted via said network, a broker node (12; 112) arranged to collect messages from said plurality of nodes and disseminating messages among said plurality of nodes; a publisher node (16, 20, 24; 116, 120, 124) arranged to originate messages for transmission via said network; and a subscriber node (14, 18,22; 114, 118, 122) arranged to receive messages transmitted via said network, identifying at least one target service level for each said respective node; communicating a first parameter representing said at least one respective target service level for each said respective publisher node (16, 20, 24; 116, 120, 124) with a communicatively coupled respective broker node (12; 112), said first parameter being based upon the importance and urgency of messages originating from said respective publisher node (16, 20, 24; 116, 120, 124); communicating a second parameter representing said at least one respective target service level for each said respective subscriber node (14, 18,22; 114, 118, 122) with a communicatively coupled respective broker node (12; 112), said second parameter being based upon the importance and urgency of messages received by said respective subscriber node (14, 18, 22; 114, 118, 122); and coordinating communication between each respective broker node to cooperatively apply an optimizing algorithm to allocate said shared resource among broker nodes based on their received respective first and second parameters, wherein said optimizing algorithm employs at least one of Karush-Kuhn-Tucker conditions or extensions of Karush-Kuhn-Tucker conditions, each broker node then enforcing this allocation on itself.