IP Library Granted Patent US 6,876,650
Granted Patent B2
US 6,876,650 · App. 09/766,602 · Granted Apr 5, 2005

Bipartite graphical connecting scheduling in time and space switch fabrics

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 6,876,650
App. No.
09/766,602
Granted
Apr 5, 2005
Kind
B2
Abstract

A method of adding a new connection (c, d) to a time:space:time switch fabric. The fabric has a set I of k input elements, a set M of m switch elements, and a set O of l output elements. Each input element contributes one input to each switch element, and each output element receives one output from each switch element. A state S m characterizes the switch elements as a set of ordered pairs (i, j), where (i, j) ε S m if and only if the j th output element is coupled to the i th input element through one of the switch elements. The range of S m is the set of outputs of S m such that if j ε range(S m ) then (i, j) ε S m for some i ε I. The domain of S m is the set of inputs of S m such that if i ε domain(S m ) then (i, j) ε S m for some j ε O.

Claims (54)

1. A method of adding a new connection (c, d) to a switch fabric, said fabric comprising a set I of k input elements, a set M of m switch elements, and a set O of l output elements, each one of said input elements contributing one input to each one of said m switch elements, each one of said output elements receiving one output from each one of said switch elements, and each one of said switch elements receiving one input from each one of said input elements and selectably switching said received inputs to one or more of said output elements, said switch fabric having a state S m characterizing said m switch elements as a set of ordered pair connections (i, j) wherein:

(i) i is an input of a connection (i, j);

(ii) j is an output of said connection (i, j);

(iii) (i, j) ε S m if and only if j th one of said output elements is coupled to an i th one of said input elements through one of said switch elements,

(iv) said state S m having a range range(S m ) wherein if j ε range(S m ) then (i, j) ε S m for some i ε I;

(v) said state S m having a domain domain(S m ) wherein if i ε domain(S m ) then (i, j)ε S m for some jε O;

said method comprising:

(a) determining if said switch state S m exists wherein c ∉ domain(S m ) and d ∉ range(S m );

(b) if said switch state S m exists wherein c ∉ domain(S m ) and d ∉ range(S m ), adding said new connection to S m as (c, d);

(c) if said switch state S m does not exist wherein c ∉ domain(S m ) and d ∉ range(S m ), determining if said switch state S m exists wherein c ∉ domain(S m );

(d) if said switch state S m does not exist wherein c ∉ domain(S m ), terminating said method by indicating that c is fully allocated;

(e) if said switch state S m exists wherein c ∉ domain(S m ), determining if a switch state S n exists wherein d ∉ range(S n );

(f) if said switch state S n does not exist wherein d ∉ range(S n ), terminating said method by indicating that d is fully allocated;

(g) if said switch state S n exists, joining said switch state S m and said switch state S n to form a union J by:

(i) allocating a label u to each element (i′, j′) in J if (i′, j′) ε S m ;

(ii) allocating a label v to each element (i′, j′) in J if (i′, j′) ε S n ; and,

(iii) adding said new connection (c, d) to J.

2. A method as defined in claim 1 , further comprising:

(a) after adding said new connection (c, d) to J, allocating said label u to said new connection (c, d);

(b) determining if there exists a connection (i′, d) ε J wherein said label u has previously been allocated to said connection (i′, d) ε J;

(c) if there does not exist a connection (i′, d) ε J wherein said label u has previously been allocated to said connection (i′, d) ε J, terminating said method;

(d) if there exists a connection (i′, d) ε J wherein said label u has previously been allocated to said connection (i′, d) ε J, reallocating said label v to said connection (i′, d) ε J;

(e) determining if there exists a connection (i′, j′) ε J wherein said label v has previously been allocated to said connection (i′, j′) ε J;

(f) if there does not exist a connection (i′, j′) ε J wherein said label v has previously been allocated to said connection (i′, j′) ε J, terminating said method;

(g) if there exists a connection (i′, j′) ε J wherein said label v has previously been allocated to said connection (i′, j′) ε J, reallocating said label u to said connection (i′, j′) ε J;

(h) setting d=j′;

(i) repeating said method commencing at claim 2 (b).

3. A method as defined in claim 1 , further comprising:

(a) after adding said new connection (c, d) to J, allocating said label v to said new connection c, d);

(b) determining if there exists a connection (c, j′) ε J wherein said label v has previously been allocated to said connection (c, j′) ε J;

(c) if there does not exist a connection (c, j′) ε J wherein said label v has previously been allocated to said connection (c, j′) ε J, terminating said method;

(d) if there exists a connection (c, j′) ε J wherein said label v has previously been allocated to said connection (c, j′) ε J, allocating said label u to said connection (c, j′) ε J;

(e) determining if there exists a connection (i′, j′) ε J wherein said label u has previously been allocated to said connection (i′,j′) ε J;

(f) if there does not exist a connection (i′, j′) ε J wherein said label u has previously been allocated to said connection (a′, j′) ε J, terminating said method;

(g) if there exists a connection (i′, j′) ε J wherein said label u has previously been allocated to said connection (i′, j′) ε J, allocating said label v to said connection (i′, j′) ε J;

(h) setting c=i′; and,

(i) repeating said method commencing at claim 3 (b).

4. A method as defined in claim 2 , further comprising, before allocating said label u to said new connection added to J:

(a) determining the number X of connections requiring reallocation of labels if said label u is allocated to said new connection added to J;

(b) determining the number Y of connections requiring reallocation of labels if said label v is allocated to said new connection added to J;

(c) if X≦Y, continuing said method commencing at claim 2 (a); and,

(d) if X>Y, continuing said method commencing at claim 3 (a).

5. A method as defined in claim 3 , further comprising, before allocating said label v to said new connection added to J:

(a) determining the number X of connections requiring reallocation of labels if said label u is allocated to said new connection added to J;

(b) determining the number Y of connections requiring reallocation of labels if said label v is allocated to said new connection added to J;

(c) if Y≦X, continuing said method commencing at claim 3 (a); and,

(d) if Y>X, continuing said method commencing at claim 2 (a).

6. A method as defined in claim 1 , further comprising, before claim 1 (a):

(a) defining a multicast group comprising a first plurality of said input elements and said output elements, each of said input elements and said output elements having a second plurality of time slots;

(b) for each one of said time slots, forming a union of all connection requests received in respect of each of said input elements and said output elements;

(c) representing said multicast group as a single pair of said input elements and said output elements;

(d) associating said union with said multicast group;

(e) performing said claim 2 method commencing at claim 2 (a); and,

(f) for each one of said time slots, translating connection requests applied to said multicast group to equivalent connection requests applied to each one of said first plurality of said input elements and said output elements.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2001
From: MCCROSKY, CARL DIETZ; SAILOR, KENNETH EVERT; MEACHAM, JAMES AMES II; HUGHES, ANDREW MILTON; SOMOGYI, PAUL EDMUND
To: PMC-SIERRA, INC.
Reel/Frame 011492/0493 →