We consider the problem of maximizing a submodular function under the b-matching constraint, in the semi-streaming model. Our main results can be summarized as follows.

- When the function is linear, i.e. for the maximum weight b-matching problem, we obtain a 2+ε approximation. This improves the previous best bound of 3+ε [Roie Levin and David Wajc, 2021].

- When the function is a non-negative monotone submodular function, we obtain a 3 + 2 √2 ≈ 5.828 approximation. This matches the currently best ratio [Roie Levin and David Wajc, 2021].

- When the function is a non-negative non-monotone submodular function, we obtain a 4 + 2 √3 ≈ 7.464 approximation. This ratio is also achieved in [Roie Levin and David Wajc, 2021], but only under the simple matching constraint, while we can deal with the more general b-matching constraint.

We also consider a generalized problem, where a k-uniform hypergraph is given with an extra matroid constraint imposed on the edges, with the same goal of finding a b-matching that maximizes a submodular function. We extend our technique to this case to obtain an algorithm with an approximation of 8/3k+O(1).

Our algorithms build on the ideas of the recent works of Levin and Wajc [Roie Levin and David Wajc, 2021] and of Garg, Jordan, and Svensson [Paritosh Garg et al., 2021]. Our main technical innovation is to introduce a data structure and associate it with each vertex and the matroid, to record the extra information of the stored edges. After the streaming phase, these data structures guide the greedy algorithm to make better choices.