IP Library Granted Patent US 7,680,096
Granted Patent B2
US 7,680,096 · App. 11/262,384 · Granted Mar 16, 2010

System for configuring switches in a network

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 7,680,096
App. No.
11/262,384
Granted
Mar 16, 2010
Kind
B2
Abstract

A network is set forth that comprises a plurality of multiple port switches, a plurality of endpoint devices connected to the ports of the plurality of switches, and an enumerating endpoint device that is connected to at least one of the multiple port switches. The enumerating endpoint device configures the routing through the multiple port switches based on whether the multiple port switch is on path with respect to a newly discovered processing element or off path with respect to the newly discovered processing element. Each off path switch may be configured so that communication packets destined for the new processing element are routed through the port of the off path switch that the off path switch uses for communications with the enumerating endpoint device. Each on path switch may be configured so that communication packets destined for the newly discovered processing element are routed through the port of the on path switch at which the enumerating endpoint device discovered the new processing element. In one example, the network is implemented as a RapidIO network.

Claims (28)

1. A network comprising:

a plurality of multiple port switches;

a plurality of endpoint devices connected to ports of the multiple port switches;

an enumerating endpoint device connected to at least one of the multiple port switches, where the enumerating endpoint device configures internal routing of communication packets between the ports of each multiple port switch based on whether the multiple port switch is on path with respect to an endpoint device or off path with respect to the endpoint device, where the enumerating endpoint device treats a multiple port switch as an on path multiple port switch with respect to the endpoint device if the multiple port switch is in a communication path between the enumerating endpoint device and the endpoint device when the endpoint device is initially detected by the enumerating endpoint device, and where the enumerating endpoint device treats the multiple port switch as an off path multiple port switch with respect to the endpoint device if the multiple port switch is not in a communication path between the enumerating endpoint device and the endpoint device when the endpoint device is initially detected by the enumerating endpoint device; and

where each off path switch is configured by the enumerating endpoint device so that communications for the endpoint device are routed through the port of the off path switch that the off path switch uses for communications with the enumerating endpoint device, and where each on path switch is configured by the enumerating endpoint device so that communications for the endpoint device are routed through the port of the on path switch at which the enumerating endpoint device detected the endpoint device.

2. A network comprising:

an enumerating endpoint device

a plurality of switches, each switch having a plurality of I/O ports and at least one routing table, where the enumerating endpoint device is connected to at least one of the plurality of switches;

a plurality of endpoint devices connected to the plurality of switches;

where the enumerating endpoint device updates the routing tables of each of the switches upon detection of an endpoint device based on whether the switch is on path with respect to the detected endpoint device or off path with respect to the detected endpoint device, where a switch is treated by the enumerating endpoint device as an on path switch with respect to the endpoint device if the switch is in a communication path between the enumerating endpoint device and the endpoint device when the endpoint device is initially detected by the enumerating endpoint device, and where a switch is treated by the enumerating endpoint device as an off path switch with respect to the endpoint device if the switch is not in a communication path between the enumerating endpoint device and the endpoint device when the endpoint device is initially detected by the enumerating endpoint device; and

where the routing table of each off path switch is configured by the enumerating endpoint device so that communications for the detected endpoint device are routed through the port of the off path switch that the off path switch uses for communications with the enumerating endpoint device, and where the routing table of each on path switch is configured by the enumerating endpoint device so that communications for the detected endpoint device are routed through the port of the on path switch at which the enumerating endpoint device detected the detected endpoint device.

3. The network of claim 2 where the detection of the endpoint device occurs during an initial enumeration process executed by the enumerating endpoint device.

4. The network of claim 2 where the detection of the endpoint device occurs during a polling process in which the enumerating endpoint device searches the network to discover newly added endpoint devices.

5. The network of claim 3 where the detection of the endpoint device occurs during a polling process in which the enumerating endpoint device searches the network to discover newly added endpoint devices that have been added after completion of the initial enumeration process, the polling process occurring on a repeating basis.

6. The network of claim 2 where the enumerating endpoint device assigns unique device identification values to each of the endpoint devices, and where the unique device identification values are used as indices in the routing tables.

7. A network comprising:

a plurality of endpoint devices;

a plurality of switches, each switch having a plurality of I/O ports, each I/O port having at least one routing table;

an enumerating endpoint device connected to a port on at least one of the plurality of switches, where the enumerating endpoint device responds to detection of an endpoint device by updating the routing tables of each of the plurality of switches, and where the routing table of an on path switch is updated so that communications with the detected endpoint device are routed to the port of the on path switch at which the detected endpoint device was discovered by the enumerating endpoint device, and where the routing table of an off path switch is updated so that communications with the detected endpoint device are routed through the port of the off path switch that the off path switch uses to communicate with the enumerating endpoint device; and

where a switch is treated by the enumerating endpoint device as an on path switch with respect to the detected endpoint device if the switch is in a communication path between the enumerating endpoint device and the detected endpoint device when an effective endpoint device is initially detected by the enumerating endpoint device, and where a switch is treated by the enumerating endpoint device as an off path switch with respect to the detected endpoint device if the switch is not in a communication path between the enumerating endpoint device and the endpoint device when the endpoint device is initially detected by the enumerating endpoint device.

8. The network of claim 7 where the detection of the endpoint device occurs during an initial enumeration process executed by the enumerating endpoint device.

9. The network of claim 7 where the detection of the endpoint device occurs during a polling process in which the enumerating endpoint device searches the network to discover newly added endpoint devices.

10. The network of claim 8 where the detection of the endpoint device occurs during a polling process in which the enumerating endpoint device searches the network to discover newly added endpoint devices that have been added after completion of the initial memorization process, the polling process occurring on a repeating basis.

11. The network of claim 7 where the enumerating endpoint device assigns unique device identification values to each of the endpoint devices, and where the unique device identification values are used as indices in the routing tables.

12. In a network having an enumerating endpoint device and an endpoint device that is detected by the enumerating endpoint device, a switching structure comprising:

a plurality of multiple port switches that are on path with the detected endpoint device, each of the on path switches configured by the enumerating endpoint device for routing communications for the detected endpoint device to the port of the on path switch at which the detected endpoint device was discovered by the enumerating endpoint device; and

a plurality of multiple port switches that are off path to the detected endpoint device, where the off path switches are configured by the enumerating endpoint device to route network communications to an on path switch to the port of the off path switch that the off path switch uses to communicate with the enumerating endpoint device; and

where a multiple port switch is treated by the enumerating endpoint device as an on path multiple port switch with respect to the detected endpoint device if the multiple port switch is in a communication path between the enumerating endpoint device and the detected endpoint device when the detected endpoint device is initially detected by the enumerating endpoint device, and where a multiple port switch is treated by the enumerating endpoint device as an off path multiple port switch with respect to the detected endpoint device if the multiple port switch is not in a communication path between the enumerating endpoint device and the detected endpoint device when the endpoint device is initially detected by the enumerating endpoint device.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
CHANGE OF ADDRESS Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS LIMITED
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: 7801769 CANADA INC.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 026883/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: 7801769 CANADA INC.
Reel/Frame 026883/0544 →
REGISTRATION Recorded Feb 28, 2011
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 025863/0398 →
CHANGE OF SEAT Recorded Feb 28, 2011
From: QNX SOFTWARE SYSTEMS GMBH & CO. KG
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 025863/0434 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Jun 3, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 024483/0045 →
SECURITY AGREEMENT Recorded May 8, 2009
From: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; BECKER SERVICE-UND VERWALTUNG GMBH; CROWN AUDIO, INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS (MICHIGAN), INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS HOLDING GMBH; HARMAN BECKER AUTOMOTIVE SYSTEMS, INC.; HARMAN CONSUMER GROUP, INC.; HARMAN DEUTSCHLAND GMBH; HARMAN FINANCIAL GROUP LLC; HARMAN HOLDING GMBH & CO. KG; HARMAN MUSIC GROUP, INCORPORATED; HARMAN SOFTWARE TECHNOLOGY INTERNATIONAL BETEILIGUNGS GMBH; HARMAN SOFTWARE TECHNOLOGY MANAGEMENT GMBH; HBAS INTERNATIONAL GMBH; HBAS MANUFACTURING, INC.; INNOVATIVE SYSTEMS GMBH NAVIGATION-MULTIMEDIA; JBL INCORPORATED; LEXICON, INCORPORATED; MARGI SYSTEMS, INC.; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS CANADA CORPORATION; QNX SOFTWARE SYSTEMS CO.; QNX SOFTWARE SYSTEMS GMBH; QNX SOFTWARE SYSTEMS GMBH & CO. KG; QNX SOFTWARE SYSTEMS INTERNATIONAL CORPORATION; QNX SOFTWARE SYSTEMS, INC.; XS EMBEDDED GMBH (F/K/A HARMAN BECKER MEDIA DRIVE TECHNOLOGY GMBH)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 022659/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2006
From: JENKINS, TIMOTHY; CRAIG, ROBERT
To: QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 018381/0069 →