U.S. patent application number 15/292709 was filed with the patent office on 2017-09-21 for communication system and method for controlling data distribution quality of service in time sensitive networks.
The applicant listed for this patent is General Electric Company. Invention is credited to Andrew William Berner, Stephen Francis Bush, Joel Frederick Markham, JR..
Application Number | 20170272366 15/292709 |
Document ID | / |
Family ID | 59856193 |
Filed Date | 2017-09-21 |
United States Patent
Application |
20170272366 |
Kind Code |
A1 |
Bush; Stephen Francis ; et
al. |
September 21, 2017 |
COMMUNICATION SYSTEM AND METHOD FOR CONTROLLING DATA DISTRIBUTION
QUALITY OF SERVICE IN TIME SENSITIVE NETWORKS
Abstract
A control system (e.g., that controls operations of a powered
system) includes one or more processors configured to determine
quality of service (QoS) parameters of devices communicating data
with each other in an Ethernet network configured as a time
sensitive network (TSN). The one or more processors also are
configured to determine available communication pathways in the TSN
through which the devices are able to communicate the data, and to
select one or more of the available communication pathways and to
designate communication times at which the data is communicated
between the devices in order to satisfy the QoS parameters of the
devices.
Inventors: |
Bush; Stephen Francis;
(Niskayuna, NY) ; Markham, JR.; Joel Frederick;
(Oklahoma City, OK) ; Berner; Andrew William;
(Waterford, NY) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
General Electric Company |
Schenectady |
NY |
US |
|
|
Family ID: |
59856193 |
Appl. No.: |
15/292709 |
Filed: |
October 13, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62311124 |
Mar 21, 2016 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 45/302 20130101;
H04L 67/303 20130101; Y04S 40/18 20180501; H04L 67/325 20130101;
H04L 67/12 20130101 |
International
Class: |
H04L 12/851 20060101
H04L012/851; H04L 29/08 20060101 H04L029/08 |
Claims
1. A control system comprising: one or more processors configured
to determine quality of service (QoS) parameters of devices
communicating data with each other in an Ethernet network
configured as a time sensitive network (TSN), the one or more
processors also configured to determine available communication
pathways in the TSN through which the devices are able to
communicate the data, the one or more processors also configured to
select one or more of the available communication pathways and to
designate communication times at which the data is communicated
between the devices in order to satisfy the QoS parameters of the
devices.
2. The control system of claim 1, wherein the QoS parameters
dictate one or more lower limits on data throughput in
communication between the devices.
3. The control system of claim 1, wherein the QoS parameters
include a deadline parameter that dictates an upper limit on an
amount of time available to communicate the data between the
devices.
4. The control system of claim 1, wherein the QoS parameters
include a transport priority parameter that dictates relative
communication priorities among the devices.
5. The control system of claim 1, wherein the network is formed
from plural communication links and nodes that interconnect the
devices, and wherein the one or more processors are configured to
select the most efficient pathway through the network based on
limitations of how many of the devices can communicate the data in
one or more of the links or through one or more of the nodes at a
time.
6. The control system of claim 1, wherein the one or more
processors are configured to determine the QoS parameters of the
devices communicating the data for controlling operations of a
powered system.
7. A method comprising: determining quality of service (QoS)
parameters of devices communicating data with each other in an
Ethernet network configured as a time sensitive network (TSN);
determining available communication pathways in the TSN through
which the devices are able to communicate the data; and selecting
one or more of the available communication pathways and to
designate communication times at which the data is communicated
between the devices in order to satisfy the QoS parameters of the
devices.
8. The method of claim 7, wherein the QoS parameters include a
deadline parameter that dictates an upper limit on an amount of
time available to communicate the data between the devices.
9. The method of claim 7, wherein the QoS parameters include a
latency parameter that dictates an upper limit on a delay in
communicating the data to at least one of the devices.
10. The method of claim 7, wherein the QoS parameters include a
transport priority parameter that dictates relative communication
priorities between the devices.
11. The method of claim 7, wherein the network is formed from
plural communication links and nodes that interconnect the devices,
and further comprising select the most efficient pathway through
the network based on limitations of how many of the devices can
communicate the data in one or more of the links or through one or
more of the nodes at a time.
12. The method of claim 7, further comprising communicating the
data for controlling operations of a powered system using one or
more of the available communication pathways and the communication
times that are designated.
13. A control system comprising: one or more processors configured
to determine quality of service (QoS) parameters of devices
communicating data with each other in a communication network, the
one or more processors also configured to determine available
communication pathways in the network through which the devices are
able to communicate the data, the one or more processors also
configured to select one or more of the available communication
pathways and to designate communication times at which the data is
communicated between the devices in order to satisfy the QoS
parameters of the devices.
14. The control system of claim 13, wherein the communication
network is configured as a time sensitive network (TSN).
15. The control system of claim 13, wherein the QoS parameters
include a deadline parameter that dictates an upper limit on an
amount of time available to communicate the data between the
devices.
16. The control system of claim 13, wherein the QoS parameters
include a latency parameter that dictates an upper limit on a delay
in communicating the data to at least one of the devices.
17. The control system of claim 13, wherein the QoS parameters
include a transport priority parameter that dictates relative
communication priorities between the devices.
18. The control system of claim 13, wherein the QoS parameters for
the devices include a combination of a deadline parameter, a
latency parameter, and a transport priority parameter.
19. The control system of claim 13, wherein the network is formed
from plural communication links and nodes that interconnect the
devices, and wherein the one or more processors are configured to
eliminate one or more combinations of the links and the nodes from
the available communication pathways based on limitations of how
many of the devices can communicate the data in one or more of the
links or through one or more of the nodes at a time.
20. The control system of claim 13, wherein the one or more
processors are configured to determine the QoS parameters of the
devices communicating the data for controlling operations of a
powered system.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional
Application No. 62/311,124, filed 21 Mar. 2016, the entire
disclosure of which is incorporated herein in its entirety.
FIELD
[0002] Embodiments of the present disclosure generally relate to
systems and methods for communicating data in networks.
BACKGROUND
[0003] Various types of control systems communicate data between
different sensors, devices, user interfaces, etc., in order to
enable control operations of other powered systems. For example,
locomotives, automobiles, surgical suites, power plants, etc.,
include many systems that communicate with each other in order to
control operations of the locomotives, automobiles, surgical
suites, and power plants.
[0004] The operations of these powered systems may rely on on-time
and accurate delivery of data frames among various devices. Failure
to deliver some data at or within designated times may result in
failure of the powered system, which can have disastrous
consequences. For example, the failure to deliver sensor data to a
control system of a locomotive or rail vehicle system can result in
the locomotive or rail vehicle system not applying brakes early
enough to avoid a collision. Other control systems may fail to
implement protective measures to avoid damage or injury to the
systems or other equipment if data is not supplied at or within the
designated times. Without timely information, feedback control
systems cannot maintain performance and stability.
[0005] In order to avoid some of these problems, some known control
systems use dedicated wired communication paths between devices.
These control systems may include one or more dedicated wires that
extend from one device to another and are not used by any other
devices to communicate data. These dedicated wires may only
communicate the data between devices to ensure that other data
traffic within the control system does not delay or interfere with
the data communicated between the devices. Other control systems
can include a communication network that is dedicated to
communication of data between devices. For example, instead of the
control system or powered system having a larger network that
interconnects many or all devices of the system, the control system
or powered system may have a smaller network dedicated to
communicating data only among certain devices (e.g., devices
related to safe operation of the systems), while other devices of
the same system communicate using another, separate network. An
example is constructing separate networks for video camera traffic
and engine control system traffic in a train locomotive.
Constructing and maintaining separate communication networks is
redundant and expensive.
[0006] Both of these solutions add increased cost and complexity to
the control system or powered system. Dedicating wires or networks
to communication of data between certain devices may require
duplication of communication and network hardware, which can
significantly add to the cost and time in establishing,
maintaining, and repairing the networks.
BRIEF DESCRIPTION
[0007] In one embodiment, a control system (e.g., that controls
operations of a powered system) includes one or more processors
configured to determine quality of service (QoS) parameters of
devices communicating data with each other in an Ethernet network
configured as a time sensitive network (TSN). The one or more
processors also are configured to determine available communication
pathways in the TSN through which the devices are able to
communicate the data, and to select one or more of the available
communication pathways and to designate communication times at
which the data is communicated between the devices in order to
satisfy the QoS parameters of the devices.
[0008] In one embodiment, a method includes determining quality of
service (QoS) parameters of devices communicating data with each
other in an Ethernet network configured as a time sensitive network
(TSN), determining available communication pathways in the TSN
through which the devices are able to communicate the data, and
selecting one or more of the available communication pathways and
to designate communication times at which the data is communicated
between the devices in order to satisfy the QoS parameters of the
devices.
[0009] In one embodiment, a control system includes one or more
processors configured to determine quality of service (QoS)
parameters of devices communicating data with each other in a
communication network. The one or more processors also are
configured to determine available communication pathways in the
network through which the devices are able to communicate the data,
and to select one or more of the available communication pathways
and to designate communication times at which the data is
communicated between the devices in order to satisfy the QoS
parameters of the devices.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The subject matter described herein will be better
understood from reading the following description of non-limiting
embodiments, with reference to the attached drawings, wherein
below:
[0011] FIG. 1 illustrates one example of a powered system having a
control system that uses one or more embodiments of subject matter
described herein;
[0012] FIG. 2 illustrates another example of a powered system
having a control system that uses one or more embodiments of
subject matter described herein;
[0013] FIG. 3 illustrates another example of a powered system
having a control system that uses one or more embodiments of
subject matter described herein;
[0014] FIG. 4 illustrates another example of a powered system
having a control system that uses one or more embodiments of
subject matter described herein;
[0015] FIG. 5 illustrates one embodiment of a communication
system;
[0016] FIG. 6 schematically illustrates a communication network
through which devices of the communication system may communicate
data using a data distribution service shown in FIG. 5; and
[0017] FIG. 7 illustrates a flowchart of one embodiment of a method
for controlling a Quality of Service (QoS) of a data distribution
service in a time sensitive network (TSN).
DETAILED DESCRIPTION
[0018] Certain embodiments of the present disclosure provide
systems and methods that apply quality of service (QoS)
requirements of a data distribution service to a time sensitive
network (TSN) or time-triggered Ethernet (TTE) network in control
systems of powered systems. The systems and methods map a
configuration of QoS requirements of the data distribution service
to TSN/TTE in order to ensure communication of certain types of
data among devices within a control system while allowing other
devices to communicate within the same network of the same control
system. A mapping between TSN/TTE network parameters and parameters
of the data distribution service allows the TSN/TTE network to
provide the QoS required by the data distribution service. While
the description herein focuses on TSN, one or more embodiments also
are applicable to TTE networks and various data distribution
systems.
[0019] The systems and methods described herein address how TSN
should interpret and react to the QoS requirements of the data
distribution service. By mapping configuration parameters of the
data distribution service to the configuration parameters of TSN, a
scheduler of TSN can create schedules that support QoS requirements
of the data distribution service for time-critical control
applications.
[0020] A time-critical control application includes an operation of
one or more devices in a control system that relies on receipt of
data in sufficient time to allow the one or more devices to react
based on the data and provide an effective responsive action. As
one example of a time-critical control application, a sensor
onboard a vehicle (e.g., an automobile, locomotive, etc.) detects
the presence of objects outside the vehicle that pose a risk of
collision with the vehicle. This sensor communicates data
representative of one or more potential collisions to a control
system of the vehicle. In response to receipt of this data, the
control system may automatically apply brakes and/or reduce a
throttle of the vehicle. If the data indicative of the collision is
not received by the control system early enough to allow the
control system to examine the data, determine that the brakes
should be applied and/or the throttle should be reduced, and
communicate appropriate signals to the brake and/or throttle, then
the control system may not be able to safely apply the brakes
and/or reduce the throttle.
[0021] The systems and methods described herein enable devices
communicating using a variety of data distribution services
(referred to herein as publishers and subscribers) to communicate
in real-time to the corresponding talkers and listeners within the
TSN standard to allow communication links to be dynamically
allocated between or among the devices when needed.
[0022] FIGS. 1 through 4 illustrate several examples of powered
systems 100, 200, 300, 400 having control systems that use one or
more embodiments of subject matter described herein. The powered
system 100 shown in FIG. 1 is a locomotive, which has a control
system that controls operations (e.g., movement and other actions)
of the locomotive based on data obtained by, generated by, and/or
communicated among devices of the locomotive and/or off-board the
locomotive. The powered system 200 shown in FIG. 2 is an
automobile, which has a control system 202 that controls operations
(e.g., driver warnings, automated movement, or other actions) of
the automobile based on data obtained by, generated by, and/or
communicated among devices of the automobile and/or off-board the
automobile. The powered system 300 shown in FIG. 3 is a medical
device, such as a magnetic resonance imaging (MRI) device.
Alternatively, the powered system 300 may represent several medical
devices, such as medical equipment within a surgical suite,
emergency room, hospital, or the like. The powered system 300 may
include a control system 302 that controls operations of the
medical equipment or devices, communicates information between or
among the medical equipment or devices, etc., to allow for
automated control of the equipment or devices, to provide
information to operators of the equipment or devices, etc. The
powered system 400 shown in FIG. 4 is a hydraulic power plant,
which has a control system that controls operations of the plant
based on data obtained by, generated by, and/or communicated among
devices of the plant.
[0023] FIG. 5 illustrates one embodiment of a communication system
500. The communication system 500 may be used by a control system
518 ("Control" in FIG. 5) to communicate data between or among
devices of the control system 518 and/or the powered system that is
controlled by the control system 518. The control system 518 may
represent one or more of the control systems 100, 200, 300, 400
shown in FIGS. 1 through 4. The control system 518 shown in FIG. 5
represents hardware circuitry that includes and/or is connected
with one or more processors (e.g., microprocessors, integrated
circuits, field programmable gate arrays, etc.) that perform
operations to control the powered system(s).
[0024] The communication system 500 communicates data between
several devices, such as sensors 502, 504 that monitor, measure,
record, etc. information and communicate this information as sensor
data 506. Another device that can communicate via the communication
system 500 can include a human machine interface (HMI) or user
interface (UI) (shown as "HMI/UI" in FIG. 5) 508 that receives
output or status data 510 that is to be presented to a user or
operator of the communication system 500 or control system 518 and
that can communicate input data 512 received from the user or
operator to one or more other devices of the control system. The
HMI/UI 508 can represent a display device, touchscreen, laptop,
tablet computer, mobile phone, speaker, haptic device, or other
device that communicates or conveys information to a user or
operator.
[0025] In one embodiment, at least one of the sensors 502, 504 may
be a camera that generates video or image data, an x-ray detector,
an acoustic pick-up device, a tachometer, a global positioning
system receiver, a wireless device that transmits a wireless signal
and detects reflections of the wireless signal in order to generate
image data representative of bodies or objects behind walls, sides
of cars, or other opaque bodies, or another device.
[0026] Another device that can communicate using the communication
system 500 includes one or more actuators 514, which represent
devices, equipment, or machinery that move to perform one or more
operations of the powered system that is controlled by the control
system 518. Examples of actuators 514 include brakes, throttles,
robotic devices, medical imaging devices, lights, turbines, etc.
The actuators 514 can communicate status data 516 of the actuators
514 to one or more other devices in the powered system via the
communication system 500. The status data 516 represent a position,
state, health, or the like, of the actuator 514 sending the status
data 516. The actuators 514 can receive command data 520 from one
or more other devices of the powered system or control system via
the communication system 500. The command data 520 represents
instructions that direct the actuators 514 how and/or when to move,
operate, etc.
[0027] The control system 518 can communicate (e.g., receive,
transmit, and/or broadcast) a variety of data between or among the
devices via the communication system 500. For example, the control
system 518 can communicate the command data 520 to one or more of
the devices and/or receive data 522, such as status data 516 and/or
sensor data 506, from one or more of the devices. While devices are
shown in FIG. 5 as sending certain data or receiving certain data,
optionally, the devices may send and/or receive other types of
data. For example, the sensors 502, 504 may receive data and/or
send other types of data.
[0028] The communication system 500 communicates data between or
among the devices and/or control system 518 using a communication
network 526 that communicates data using a data distribution
service 524. The network 526 is shown in FIG. 5 as a time sensitive
network, but alternatively may be another type of network. The data
distribution service 524 represents an object management group
(OMG) device-to-device middleware communication standard between
the devices and the network. The data distribution service 524
allows for communication between publishers and subscribers. The
term publisher refers to devices 502, 504, 508, 514, 518 that send
data to other devices 502, 504, 508, 514, 518 and the term
subscriber refers to devices 502, 504, 508, 514, 518 that receive
data from other devices 502, 504, 508, 514, 518. The data
distribution service 524 is network agnostic in that the data
distribution service 524 can operate on a variety of networks, such
as Ethernet networks as one example. The data distribution service
524 operates between the network through which data is communicated
and the applications communicating the data (e.g., the devices 502,
504, 508, 514, 518). The devices 502, 504, 508, 514, 518 can
publish and subscribe to data over a distributed area to permit a
wide variety of information to be shared among the devices 502,
504, 508, 514, 518.
[0029] In one embodiment, the data distribution service 524 is used
by the devices 502, 504, 508, 514, 518 to communicate data 506,
510, 512, 516, 520, 522 through the network 526, which may operate
on an Ethernet network of the powered system. The network 526may be
at least partially defined by a set of standards developed by the
Time-Sensitive Networking Task Group, and includes one or more of
the IEEE 802.1 standards. While an Ethernet network may operate
without TSN, such a network may communicate data frames or packets
in a random or pseudo-random manner that does not ensure that the
data is communicated within designated time periods or at
designated times. As a result, some data may not reach devices
connected via the non-TSN Ethernet network in sufficient time for
the devices to operate using the data. With respect to some control
systems, the late arrival of data can have disastrous consequences,
as described above. A TSN-based Ethernet network, however, can
dictate when certain data communications occur to ensure that
certain data frames or packets are communicated within designated
time periods or at designated times. Data transmissions within a
TSN-based Ethernet network can be based on a global time or time
scale of the network that is the same for the devices in or
connected with the network, with the times or time slots in which
the devices communicate being scheduled for at least some of the
devices.
[0030] The communication system 500 may use the network 526 to
communicate data between or among the devices 502, 504, 508, 514,
518 using the data distribution service 524 in order to maintain
QoS parameters 528 of certain devices 502, 504, 508, 514, 518. The
QoS parameters 528 of the devices 502, 504, 508, 514, 518 represent
requirements for data communication between or among the devices
502, 504, 508, 514, 518, such as upper limits on the amount of time
or delay for communicating data between or among the devices 502,
504, 508, 514, 518. The QoS parameters 528 are determined for the
data distribution service 524 and mapped (e.g., applied, or used to
dictate how and/or when data is communicated, as described herein)
to the network 526 in one embodiment.
[0031] A QoS parameter 528 can dictate a lower limit or minimum on
data throughput in communication between or among two or more
devices 502, 504, 508, 514, 518. A QoS parameter 528 can be used to
ensure that data communicated with one or more devices 502, 504,
508, 514, 518, to one or more devices 502, 504, 508, 514, 518,
and/or between two or more devices 502, 504, 508, 514, 518 is
received in a timely manner (e.g., at designated times or within
designated time periods). A QoS parameter 528 can be defined by one
or more other parameters. Examples of these other parameters can
include a deadline parameter, a latency parameter, and/or a
transport priority parameter.
[0032] The deadline parameter dictates an upper limit or maximum on
the amount of time available to send and/or receive data associated
with a particular topic. Data can be associated with a particular
topic when the data is published by one or more designated devices
(e.g., sensors measuring a particular characteristic of the powered
system, such as speed, power output, etc.), then the data
represents the particular characteristic (even if the data comes
from different devices at different times), and/or is directed to
the same device (e.g., the same actuator 514).
[0033] The latency parameter dictates an upper limit or maximum on
a temporal delay in delivering data to a subscribing device 502,
504, 508, 514, 518 of the data. For example, the sensors 502, 504
may publish data 506 representative of operations of the powered
system, and the HMI/UI 508, actuator 514, and/or control system 518
may require receipt of the sensor data 506 within a designated
period of time after the data 506 is published by the sensors 502,
504. With respect to a sensor 502 that communicates a temperature
of a motor or engine reaching or exceeding a designated threshold
indicative of a dangerous condition, the control system 518 and/or
actuator 514 may need to receive this temperature within a
designated period of time to allow the control system 518 and/or
actuator 514 to implement a responsive action, such as decreasing a
speed of the engine or motor, shutting down the engine or motor,
etc.
[0034] The transport priority parameter indicates relative
priorities between two or more of the devices 502, 504, 508, 514,
518 to the network. Some devices 502, 504, 508, 514, 518 may have
higher priority than other devices 502, 504, 508, 514, 518 to
receive (or subscribe to) certain identified types or sources of
data. Similarly, some devices 502, 504, 508, 514, 518 may have
higher priority than other devices 502, 504, 508, 514, 518 to send
(or publish) certain identified types or sources of data.
Subscribing devices 502, 504, 508, 514, 518 having higher
priorities than other devices 502, 504, 508, 514, 518 may receive
the same data via the network from a source of the data prior to
the lower-priority devices 502, 504, 508, 514, 518. Publishing
devices 502, 504, 508, 514, 518 having higher priorities than other
devices 502, 504, 508, 514, 518 may send the data that is obtained
or generated by the higher-priority devices 502, 504, 508, 514, 518
into the network than lower-priority devices 502, 504, 508, 514,
518.
[0035] The QoS parameters 528 of the devices 502, 504, 508, 514,
518 may be defined by one or more, or a combination, of the
deadline parameter, latency parameter, and/or transport priority
parameter. The QoS parameters 528 are then used to determine data
traffic schedules within the TSN using the data distribution
service 524. Data traffic schedules can dictate communication paths
and times at which data is communicated within the network.
[0036] FIG. 6 schematically illustrates a communication network 600
through which the devices 502, 504, 508, 514, 518 may communicate
the data 506, 510, 512, 516, 520, 522 using the data distribution
service 524. The network 600 may be configured to operate as a TSN.
The network 600 includes the devices 502, 504, 508, 514, 518
communicatively coupled with each other by communication links 604
and communication nodes 602 (e.g., nodes 602A-I). The nodes 602 can
represent routers, switches, repeaters, or other devices capable of
receiving data frames or packets and sending the data frames or
packets to another node 602. In one embodiment, the devices 502,
504, 508, 514, 518 also can be nodes 602 in the network 600. The
communication links 604 represent wired connections between the
nodes 602, such as wires, buses, cables, or other conductive
pathways between the nodes 602. Optionally, one or more of the
communication links 604 includes a wireless connection or network
between nodes 602.
[0037] The data 506, 510, 512, 516, 520, 522 can be communicated in
the network 600 as data frames or data packets. The data frames or
packets can be published by a device 502, 504, 508, 514, 518 and
received by another device 502, 504, 508, 514, 518 by the frames or
packets hopping, or moving from node 602 to node 602 along the
links 604 within the network 600. For example, one or more of the
data frames or packets of the data 506 published by the sensor 504
can be published to the network 600 and subscribed to by the
control system 518. The data frames or packets may hop from the
sensor 504 to the control system 518 by being communicated from the
sensor 504 to the node 602A, then the node 602B, and then the
control system 518, to the node 602C then the control system 518,
to the node 602D, then the node 602C, and then the control system
518, etc. Different frames or packets may be communicated along
different nodes 602 and paths 604 from the publishing device to the
subscribing device.
[0038] The control system 518 can determine the QoS parameters 528
for the various devices 502, 504, 508, 514, 518, determine which
devices 502, 504, 508, 514, 518 and nodes 602 can communicate with
each other in the network 600, determine feasible schedules for
communication of data from and/or to the devices 502, 504, 508,
514, 518 within the network 600, and determines frame communication
schedules for the data frames to be communicated within the network
600 in order to satisfy, achieve, or avoid violating the QoS
parameters 528 of the various devices 502, 504, 508, 514, 518.
[0039] The devices 502, 504, 508, 514, 518 can communicate the data
(e.g., publish and/or subscribe to the data) according to the
schedules dictated by the control system 518 in order to achieve or
maintain the QoS parameters 528 of the devices 502, 504, 508, 514,
518. Other data and/or other devices may communicate with or among
each other using the same network, but without a designated
schedule and/or without being subject to QoS parameters 528. For
example, the sensor 502, actuator 514, and control system 518 may
have QoS parameters 528 and the control system 518 can dictate
schedules for when the sensor 502, actuator 514, and control system
518 publish and/or receive data via the network 524. The network
526 can be an Ethernet based network that communicates different
categories or groups or types of data according to different
priorities. For example, the network 526 can communicate time
sensitive data according to the schedule or schedules determined by
the control system 518 in order to achieve or maintain the QoS
parameters 528 of certain devices 502, 504, 508, 514, 518. The
network 526 can communicate other data between or among the same or
other devices 502, 504, 508, 514, 518 as "best effort" traffic or
rate constrained traffic. Best effort traffic includes the
communication of data between or among at least some of the devices
502, 504, 508, 514, 518 that is not subject to or required to meet
the QoS parameters 528 of the devices 502, 504, 508, 514, 518. This
data may be communicated at a higher priority than the data
communicated in rate constrained traffic, but at a lower priority
than the data communicated according to the schedules dictated by
the control system 518 in order to meet or achieve the QoS
parameters 528 (also referred to herein as time sensitive traffic).
The rate constrained traffic can include data that is communicated
between or among the devices 502, 504, 508, 514, 518, but that is
communicated at a lower priority than the time sensitive data and
the best effort traffic. The time sensitive data, the best effort
traffic, and the rate constrained traffic are communicated within
or through the same network 526, but with different priorities. The
time sensitive data is communicated at designated times or within
designated time periods, while the best effort traffic and rate
constrained traffic is attempted to be communicated in a timely
manner, but that may be delayed in order to ensure that the time
sensitive data is communicated to achieve or maintain the QoS
parameters 528.
[0040] FIG. 7 illustrates a flowchart of one embodiment of a method
700 for controlling the QoS of the data distribution service in a
TSN. The method 700 may be used by the control system 518 in order
to determine schedules for communicating data within the network
600 in order to satisfy the QoS parameters 528 of various devices
502, 504, 508, 514, 518. In one embodiment, the method 700 can
represent the algorithm used to direct the operations of the
control system 518 in communicating data in the network 600 and/or
can be used to construct a software application for directing the
operations of the control system 518 in communicating data in the
network 600.
[0041] At 702, QoS parameters 528 for the devices 502, 504, 508,
514, 518 are determined. These parameters may be input by an
operator or user of the powered system or control system 518, or
may be communicated to the control system 518 by the devices 502,
504, 508, 514, 518. At 704, available communication pathways in the
network 600 are determined. These communication pathways include
permutations of potential links 604 and nodes 602 that may be used
to communicate data between the devices 502, 504, 508, 514, 518, to
publish data from the devices 502, 504, 508, 514, 518, and/or for
the devices 502, 504, 508, 514, 518 to receive data. For example,
one potential communication pathway for the sensor 502 to publish
data 506 to the control system 518 may include the node 602H (and
associated links 604 connecting the sensor 502 to the control
system 518 via the node 602H), another potential communication
pathway for the sensor 502 to publish data 506 to the control
system 518 may include the node 602G (and associated links 604
connecting the sensor 502 to the control system 518 via the node
602G), another potential communication pathway for the sensor 502
to publish data 506 to the control system 518 may include the node
602F (and associated links 604 connecting the sensor 502 to the
control system 518 via the node 602F), another potential
communication pathway for the sensor 502 to publish data 506 to the
control system 518 may include the node 602H (and associated links
604 connecting the sensor 502 to the control system 518 via the
node 602H), another potential communication pathway for the sensor
502 to publish data 506 to the control system 518 may include a
combination of two or more of the nodes 602 (and associated links
604 connecting the sensor 502 to the control system 518 via the
nodes 602), etc.
[0042] At 706, feasible communication schedules are determined. A
feasible communication schedule dictates communication times and
communication pathways used to communicate data between devices.
For example, not all communication pathways may be used to
communicate data between devices. Some nodes 602 may be limited
with respect to how many data frames or packets can be communicated
through the node 602 at the same time. This can limit how many
devices can communicate data through the same node 602 at a time.
Additionally, some of the communication links 604 may be limited
with respect to how many data frames or packets can be communicated
along the link 604 at the same time. This can limit how many
devices can communicate data along or in the same link 604 at a
time.
[0043] In one embodiment, the control system 518 can identify all
permutations of potential combinations of nodes 602 and pathways
604 that allow various combinations of publishing and subscribing
devices to communicate data with each other. These permutations may
be referred to as a corpus of communication pathways. From this
corpus, the control system 518 can eliminate one or more pathways
that are not available or feasible. Pathways may not be feasible or
available when the pathways prevent or interfere with the
communication of data through the same node 602 or link 604 at the
same time. The unavailable or infeasible pathways may be eliminated
from the corpus to identify a set of available communication
pathways.
[0044] At 706, feasible communication schedules for the devices are
determined. The feasible communication schedules represent the
times or time periods in which data is communicated between devices
and the communication pathways over which the data is communicated.
A communication schedule may be feasible when the communication
pathway between the devices (e.g., the publishing and subscribing
pathways) is available and when the time or time period of the
communication satisfies or avoids violating the QoS parameter(s)
528 of the publishing and/or subscribing devices. For example, if a
communication schedule directs control data 520 to be communicated
from the control system 518 to the actuator 514 along a
communication pathway that is available and at a time or times that
occur frequently enough to ensure that the QoS parameter 528 of the
actuator 514 is satisfied or not violated, then the schedule is
feasible. If, however, the communication schedule directs the
control data 520 to be communicated from the control system 518 to
the actuator 514 along a pathway that is not available or at a time
or times that are too late or infrequent to satisfy the QoS
parameter 528 of the actuator 514, then the communication schedule
is not feasible.
[0045] At 708, communication schedules are designated as selected
schedules. As set of the feasible communication schedules
determined at 706 may be selected for inclusion in the selected
schedules. The selected schedules are those that are used to
communicate data in the network 600. For example, several feasible
communication schedules may be identified, but a subset of these
schedules may be selected for use in the network 600. The control
system 518 can select those feasible communication schedules that
satisfy the QoS parameters 528 of the devices. In one embodiment,
the control system 518 selects the feasible communication schedules
that both satisfy the QoS parameters 528 of the devices while also
allowing for devices that are not subject to QoS parameters 528 to
communicate data in the network 600. For example, one of the
sensors 502 may be a camera that provides surveillance video to the
HMI/UI 508, which may not be a critical operation of the powered
system, while another sensor 504 may measure air pressure in air
brakes of the powered system and communicate this to the control
system 518, which may be a critical operation of the powered system
to ensure that the powered system can apply the air brakes when
needed. The control system 518 may select the feasible
communication schedules for use by the devices that cause the QoS
parameters 528 of the sensor 504 and the control system 518 to be
satisfied, while also allowing the sensor 502 to communicate the
video to the HMUUI 508. The schedule for the sensor 504 and control
system 518 may have a higher priority to ensure that this data is
communicated to the control system 518, while leaving enough
bandwidth to permit the sensor 502 to communicate the video data to
the HMI/UI 508 when possible.
[0046] In one embodiment, the selected schedules used for
communicating data in the network 600 are communicated to the
devices and the devices send and/or receive data (as appropriate)
within the network 600 according to the selected schedules. This
ensures that the QoS parameters 528 of the devices are satisfied,
while permitting other data to be communicated in the same network
600 and avoiding the added cost and complexity of dedicated wires
or networks for the devices. The selected schedules may be updated
as needed. For example, if one or more devices are added to the
powered system, the control system 518 may evaluate feasible
schedules for the added devices in light of the currently used
selected schedules and select feasible schedules for the added
devices. This can ensure that the QoS parameters 528 of the added
devices are met while avoiding having to take down the entire
powered system and re-evaluating the schedules of all devices.
[0047] It is to be understood that the above description is
intended to be illustrative, and not restrictive. For example, the
above-described embodiments (and/or examples thereof) may be used
in combination with each other. In addition, many modifications may
be made to adapt a particular situation or material to the
teachings of the inventive subject matter without departing from
its scope. While the dimensions and types of materials described
herein are intended to define the parameters of the inventive
subject matter, they are by no means limiting and are exemplary
embodiments. Many other embodiments will be apparent to one of
ordinary skill in the art upon reviewing the above description. The
scope of the inventive subject matter should, therefore, be
determined with reference to the appended claims, along with the
full scope of equivalents to which such claims are entitled. In the
appended claims, the terms "including" and "in which" are used as
the plain-English equivalents of the respective terms "comprising"
and "wherein." Moreover, in the following claims, the terms
"first," "second," and "third," etc. are used merely as labels, and
are not intended to impose numerical requirements on their objects.
Further, the limitations of the following claims are not written in
means-plus-function format and are not intended to be interpreted
based on 35 U.S.C. .sctn.112(f), unless and until such claim
limitations expressly use the phrase "means for" followed by a
statement of function void of further structure.
[0048] This written description uses examples to disclose several
embodiments of the inventive subject matter and also to enable a
person of ordinary skill in the art to practice the embodiments of
the inventive subject matter, including making and using any
devices or systems and performing any incorporated methods. The
patentable scope of the inventive subject matter is defined by the
claims, and may include other examples that occur to those of
ordinary skill in the art. Such other examples are intended to be
within the scope of the claims if they have structural elements
that do not differ from the literal language of the claims, or if
they include equivalent structural elements with insubstantial
differences from the literal languages of the claims.
[0049] The foregoing description of certain embodiments of the
inventive subject matter will be better understood when read in
conjunction with the appended drawings. To the extent that the
figures illustrate diagrams of the functional blocks of various
embodiments, the functional blocks are not necessarily indicative
of the division between hardware circuitry. Thus, for example, one
or more of the functional blocks (for example, processors or
memories) may be implemented in a single piece of hardware (for
example, a general purpose signal processor, microcontroller,
random access memory, hard disk, and the like). Similarly, the
programs may be stand-alone programs, may be incorporated as
subroutines in an operating system, may be functions in an
installed software package, and the like. The various embodiments
are not limited to the arrangements and instrumentality shown in
the drawings.
[0050] As used herein, an element or step recited in the singular
and proceeded with the word "a" or "an" should be understood as not
excluding plural of said elements or steps, unless such exclusion
is explicitly stated. Furthermore, references to "one embodiment"
of the inventive subject matter are not intended to be interpreted
as excluding the existence of additional embodiments that also
incorporate the recited features. Moreover, unless explicitly
stated to the contrary, embodiments "comprising," "including," or
"having" an element or a plurality of elements having a particular
property may include additional such elements not having that
property.
* * * * *