B-spline multiplication, that is, finding the coefficients of the product B-spline of two given B-splines is useful as an end result, in addition to being an important prerequisite component to many other symbolic computation operations on B-splines. Algorithms for B-spline multiplication standardly use indirect approaches such as nodal interpolation or computing the product of each set of polynomial pieces using various bases. The original direct approach is complicated. B-spline blossoming provides another direct approach that can be straightforwardly translated from mathematical equation to implementation; however, the algorithm does not scale well with degree or dimension of the subject tensor product B-splines. To addresses the difficulties mentioned heretofore, we present the sliding windows algorithm (SWA), a new blossoming based algorithm for the multiplication of two B-spline curves, two B-spline surfaces, or any two general multivariate B-splines.