# Patent

## Title
Rail systems mark-up language

## Abstract

A train control operation system, the system comprising a data collection server for collecting data relating to one or more elements of trains, a network for distributing data relating to the elements to subscribers and a subscription server for hosting definitions of elements which is accessible by subscribers of the system, so as to enable each subscribers to access the definitions from a single source.

## Background
TECHNICAL FIELD
The present invention relates to a structured means of describing data for use on railway control and safety systems.
BACKGROUND
In order to enable two computers to communicate, both computers must be able to communicate in a common interface language. A common example of such an interface language is the Hyper-Text Mark-up Language (HTML). This is commonly used on web browsers. All modern computers with a web-browser can interpret HTML, but they may not necessarily be able display the data on any particular device due to varying screen sizes and hardware performance limitations.
For this reason, the Extensible Markup Language (XML) has become more popular than HTML because it allows the data content to be separated from how the data is displayed on a browser. XML is “a meta-language”, meaning that until a data set is defined, the language itself only provides the rules for the creation of a specific mark-up language.
Another interface language is the Extensible Hyper-Text Mark-up Language (XHTML) which is used for interfacing data to web browsers on smartphones and tablets. The XHTML provides the rules for different devices (having different size and performance characteristics) to adapt webpages for those particular devices. For example, when a web browser on a mobile telephone receives the data it has to render the webpage differently to how it would be rendered on a desktop computer or tablet computer.
Computer systems also are used to operate railway networks. Those computers may be used to compute many aspects of the operation of the railway. For example, they may be required to track the current location of any particular locomotive or access timetables of where the locomotives should be and when they should be there (to determine whether a locomotive is operating on time). The computer systems operating the railway networks also require an interface language.
Each computer recipient of the data needs rules on how to interpret that data, so that the information is processed correctly. Multiple computers may need similar but slightly different data. For example, one computer may require time or location to be defined with two decimal points (e.g. 10.12), but another computer may require time and location to be defined with 5 decimals points (e.g. 10.12345). If data is transmitted in a format which a computer cannot interpret, the computer will not be able to process that data and the railway system will not operate.
Locomotives have many elements that are required by an operator of the railway system. Each of those elements have attributes. The attributes may be fixed or dynamic. Fixed attributes may include, for example, the date on which locomotive was manufactured (e.g. 1 Jan. 2000), whether it has driver cockpits at each end, and the power characteristics of the locomotive. Dynamic attributes may include, for example, the fuel level, oil temperature, speed, and location. Those attributes form the content of a message about the locomotive. However, the computer recipient may only be programmed to interpret a subset of the attributes in the message.
A universal means of interpreting the data for any particular computer railway control system is required.
The object of the invention is to transmit data for railway computer control systems in one format and have all recipient computing devices interpret that data correctly.
SUMMARY OF INVENTION
According to a first aspect of the present invention, there is a provided a train control operation system, the system comprising:

    
    
        (a) a data collection server for collecting data relating to one or more elements of trains;
        (b) a network for distributing data relating to the elements to subscribers; and
        (c) a subscription server for hosting definitions of elements which is accessible by subscribers to the system, so as to enable subscribers to access the definitions from a single source.
    
    


The subscription server and the data collection server can run as separate processes on a single server. The data collection server may represent a number of different servers each collecting different types of data relating to trains.
According to a second aspect of the present invention, there is a provided a mark-up language for a train control operation system, the system comprising:

    
    
        (a) a schema for different data elements relating to trains;
        (b) a description of the allowable attributes for each element; and
        (c) rules for formatting the attributes of each element.
    
    


The schema file may be a well formed XML document. The schema can be hosted on a server which is accessible by subscribers of the system. Preferably, the server is accessible via a web-based Uniform Resource Locator.



BRIEF DESCRIPTION OF DRAWINGS
Various embodiments of the invention will be described with reference to the following drawing, in which:
FIG. 1 is a schematic representation of a railway control system utilising the present invention.



DETAILED DESCRIPTION
FIG. 1 shows an exemplary railway control system 10 implementing the present invention. The railway control system may be used to track the positions of one or more locomotives, such as locomotives 12 and 14. The locomotives 12 and 14 may be fitted with GPS tracking devices (not shown). In this exemplary embodiment of the system, GPS Satellites 16 transmit a signal to the GPS tracking device which then relays the location data of the locomotives to either the receiving satellite 18, or a GSM-R antenna tower 20 or a public mobile 3G antenna tower 22, for example. The antenna towers 20 and 22 then relay the information to a first position collection server 24.
The server 24 may be located in a control centre operated in one state (e.g. New South Wales), for instance. The data relating to the position of the locomotives 12 and 14 can then be relayed to an adjacent operator 26, who may be in a different location or indeed state (e.g. Queensland), for instance. Both operators may need to exchange data about the location of their locomotives (which may cross each other's borders), so as to avoid collisions. There could be hundreds of computers connected in a network operating the railway control system.
Each of those computers may need to display different data about each of the locomotives. For example, screen 28 in FIG. 1 shows data for a timetable tracking system, screen 30 shows location tracking data (e.g. in a similar manner to Google MapsTM), screen 32 shows train orders control data, and screen 34 shows train radio communication data (i.e. the position of radios on locomotives on a rail network, where each line on the screen is a linear representation of a railway line).
The train position data is transmitted in the form of a message 36 (see FIG. 1). The content of message 36 is as follows:














<Vehicle>



  <ID> RLS4537 </ID>



  <Time>2014-04-12 19:50:23 </Time>



  <Type>SC3T</Type>



  <Loc>



    <Lat>−31.4564</Lat>



    <Lon>151.242</Lon>



  </Loc>



</Vehicle>









The “Vehicle” message 36 shown above begins with the code “<Vehicle>” and ends with the code “</Vehicle>”, where the symbols “</>” designate the end of a line of code.
The items above represented in brackets “< >” are referred to as “tags.” Each line of code in the message is referred to as an “element.” The items between the arrows “<” and “>” are referred to as “attributes.”
The ID number “RLS4537” represents the identification number of a GPS receiver on locomotive 12. The time element “2014-04-12 19:50:23” represents the time when the locomotive was at −31.4564 latitude and 151.242 longitude.
The system utilises a schema which defines the possible elements in a message. The schema file is referred to as a Document Type Definition (“DTD”) file.
For example, the schema for the message 36 allows attributes to be input for the vehicle including <ID>, <Time>, <Type>, <Loc(ation)>. The system enables any attributes to be inserted in the elements provided in the schema. For example, the element <fuel level> could be added to the schema, as long as the “fuel level” element is defined in the DTD. An extensive list of sample attributes which could be included in a schema for a train control operation system is set out in Appendix 1.
An example section of data in a DTD file is as follows:












<!ELEMENT Engine (EngineClass, EngineNumber, PositionOnTrain,


EngineType, Location, Location, Weight, WorkingMode, Fuel?,


MobilePhone?, Driver?, Driver?)>


<!ELEMENT EngineClass (#PCDATA)>


<!ELEMENT EngineNumber (#PCDATA)>


<!ELEMENT PositionOnTrain (#PCDATA)>


<!ELEMENT EngineType (#PCDATA)>


<!ELEMENT WorkingMode (#PCDATA)>


<!ELEMENT Fuel  (#PCDATA)>


<!ELEMENT MobilePhone (#PCDATA)>


<!ELEMENT Driver (Name,Location?,Time24hr?)>


<!ELEMENT Name (#PCDATA)>









The first section of code written above defines the elements which are used in the DTD file. These elements include the locomotive attributes “Engine Class”, “Engine Number”, “Position on Train”, “Engine Type”, “Origin”, “Planned Destination”, “Gross Mass”, “Working Mode”, “Fuel (Liters)”, “Mobile Phone Number”, “Driver (name)”, “Second Person (second driver).”
The schema may have hierarchy of levels. For example, the element “Driver” is a sub-schema relating to the driver's name, the depot he is from, and the time he went on duty. The element “Engine” has a sub-element “Driver”.
The DTD file has to be a well formed XML document (i.e. the DTD file must comply with the standard XML formatting rules).
The DTD file is hosted on a subscription server 38. There are three primary methods in which the DTD file (describing the various schema) can be accessed by subscribers in the rail network control system from the subscription server 38. A first method is to host the DTD data on web-based Uniform Resource Locator (URL) such as www.4tel.com.au/rsml.dtd. A second method is to store the DTD locally on the receiving computer such as C://location/DTD/rsml.dtd. A third method is to embed the DTD in a message header format (i.e. within the message file itself).
The computers receiving data (shown as screens 28, 30, 32 and 34) need to access the DTD to identify new elements. The position collection server 24 generating the data also needs to access the DTD so that it can populate the attributes which are then distributed to the subscribers.
A new element may be added to the DTD file at any time (e.g. a “fuel level” element). The data in the message 36 is sent to each of the subscribers of the subscription server (e.g. shown on screens 28, 30, 32 and 34). If the application running on the subscriber's computer does not recognise the fuel level element, then it can access the DTD file to identify the attributes of that element and then process that element.
In prior art systems, if new data relating to the operation of rail network needs to be sent to subscribers of the system, the conventional method of distributing that data is to relay it individually to each end subscriber. The disadvantage of this linear form of communication is that each subscriber may receive different data, or data in a different format specified for their particular computer interface. This approach is not readily scalable if new subscribers wish to access the system.
By contrast, the present invention directs each end subscriber to a single location in which they can access the data on a single subscription server. This provides a universal and uniform source of understanding the data stream across the networks. The present invention has a one-to-many distribution architecture that presents, in effect, zero marginal cost to add a new marginal subscriber.
In compliance with the statute, the invention has been described in language more or less specific to structural or methodical features. It is to be understood that the invention is not limited to specific features shown or described since the means herein described comprises preferred forms of putting the invention into effect. The particular features, structures, or characteristics of the invention may be combined in any suitable manner in one or more combinations. The invention is, therefore, claimed in any of its forms or modifications within the proper scope of the appended claims (if any) appropriately interpreted by those skilled in the art.













APPENDIX 1





Element/








Attribute

Data






Name
Description
Type
Size and format
Units
Accuracy
Constraints







ArrivalCode
Security (arrival) code
Text
4 Alpha
—
—
—



for the location at the

Numeric






limit of the Train Order

characters





Authority
The authority
Text
1-20 chars
—
—
—



responsible for the








RSML







Consignee
Receiver of the
Text
List of values (2-
—
—
—



consignment

3 chars





Container
Number of containers
Integer
1 digit
—
—
—


Count
on the vehicle.







Contents
Commodity of the
Text
List of values (3-
—
—
—



consignment.

4 chars)





Count
Number of vehicles
Integer
1-5 digits
—
—
—



excluding working








engines.







Date
Date
Y2K
DD/MM/YYYY
—
—
—




DMY
(eg 05/11/1998)





Departure
The security (departure)
Text
4 AlphaNumeric
—
—
—


Code
code for the location

characters






from where the train is








authorised to depart.







Description
Description
Text
1-30 chars
—
—
—


DGClass
Dangerous goods code.
Text
List of values (1-
—
—
—





3 chars)





DrawGear
Draw gear capacity.
Float
1-6 digits total
—
1 decimal
—


Capacity




place



EmpNumber
Employee No
Integer
1-7 digits
—
—
—


EngineClass
Check letter of the
Text
List of values (1
—
—
—



vehicle.

char)





EngineNo
Lead locomotive
Integer
5 digits OR
—
—
—



number of the train for

select from list






which the Train Order








is being issued.







Engine
Number of the vehicle.
Integer
1-10 digits
—
—
—


Number








EngineType
Class of the vehicle.
Text
List of values (1-
—
—
—





4 chars)





FlagfallType
‘Priority’ on which the
Text
List of values (1
—
—
—



flagfall component of

char) i.e. P, H, S, L






the access charges will








be based - (P)remium,








(H)igh, (S)tandard,








(L)ow.







Fuel
Fuel
Integer
1-5 digits
Litres
—
—


Fulfilment
Security (fulfilment)
Text
4 AlphaNumeric
—
—
—


Code
code provided by the

characters






train controller.







Hpt
Horsepower per tonne.
Float
1-10 digits
Hp/t
0-7
—







decimals



IntSpeed
Restricted FRT Speed
Integer
1-5 digits
Kilometres
—
—


KgeLocation
To/From Kilometrage
Integer
6 digits
Kilometres
—
—


Length
Length (in metres) of
Float
1-6 digits
Metres
0-3
—



the vehicle



decimals



Location
Place, station, town
Text
List of values (3
—
—
—





chars)





MobilePhone
Mobile phone number.
Mixed
9-15 digits
—
—
—





(spaces allowed)





Month
Month
Integer
1-2 digits
—
—
—


MsgContent
Comments related to
Text
Free Text
—
—
—



this Train Notice







Name
Driver name
Text
1-40 chars
—
—
—


NoticeID
Train Notice Number
Integer
1-5 digits
—
—
—


Operator
Code which identifies
Integer
List of values (2-
—
—
—



the company operating

3 chars)






the train







OrderNo
Number provided by
Integer
1-5 digits
—
—
—



the train controller -








generated by the








computer on a weekly








basis







OrderType
Type order applicable -
Text
List of values eg
—
—
—



Train, Mishap or Shunt

“TRAIN” -








select from list





Organisation
Organisation
Text
1-25 chars
—
—
—


Packaging
Refer to the goods
Text
List of values (1
—
—
—



being (P)ackaged or in

char) i.e. P, B






(B)ulk.







PositionOn
Position of the vehicle
Integer
1-2 digits
—
—
—


Train
on the train.







Preference
Preferential handling -
Alpha
1-9 chars
—
—
—



identification of the








urgency for handling/








processing







Priority
Train priority.
Text
List of values
—
—
—





(MANDATORY/








CONDITIONAL/








UN-








PLANNED








CONDITIONAL)





Sender
Sender of the
Text
List of values (2-
—
—
—



consignment.

3 chars)





Sequence
The sequence number
Integer
1-6 digits
—
—
—


Number
of the RSML (with








respect to the








originating system) sent








for the given date








(resets each 24 hour








period)







ShuntAccess
Is shunt access
Text
List of values
—
—
—



authorised at this

(YES or NO)






location?







SpecialInstr
Special instructions for
Text
Free Text
—
—
—



this section, such as








particulars of a crossing








movement







SpeedStatus
Speed Status
Text
List of values
—
—
—





(PLACED/








MODIFIED/








LIFTED/








REPLACED)





Status
Indicates whether the
Text
List of values (1
—
—
—



train is (P)lanned to run

char) i.e. P, R,






but not yet departed,

A, C, T






(R)unning, (A)rrived,








(C)ancelled or








(T)erminated short of








its destination.







SystemID
The system identifier
Text
1-50 chars
—
—
—


Time24 hr
The time at which an
24 Hr
HH:MM time
—
—
—



event occurred.
Time
(eg 10:20)





Title
Title
Text
1-35 Alpha
—
—
—





Numeric








characters





Track
Track Direction
Text
List of values
—
—
—


Direction


(UPTRACK/








DOWNTRACK/








BOTH)





TrackType
Where train will be
Text
List of values Eg
—
—
—



standing on. Eg: Loop,

“Loop” - select






etc...

from list





TrainNo
Number of the train for
Text
List of values (1
—
—
—



which the Train Order

char 3 digits) eg






is being issued

1974





TrainNumber
Train identifier.
Text
1-5 chars
—
—
—


TrainType
Code which identifies
Text
List of values (2
—
—
—



the type of train.

chars)





Type
Train Notice Type
Text
1 Alpha char
—
—
—





(D)aily,








(T)emporary








Standard,








(S)tandard





UNNumber
UN number.
Mixed
“UN” + 4 digits
—
—
—


UserID
ID of user issuing this
Text
1-12 Alpha
—
—
—



Train Notice

Numeric








Characters





Version
The relevant DTD
Float
3-4 digits
—
2 decimals
—



version number







WagonClass
Check letter of the
Text
List of values (1
—
—
—



vehicle.

char)





Wagon
Number of the vehicle.
Integer
List of values (1-
—
—
—


Number


10 digits)





WagonType
Class of the vehicle.
Text
List of values (1-
—
—
—





4 chars)





Weight
Gross mass of the
Float
1-8 digits
Tonnes
0-4
—



vehicle



decimals



Working
Indicates if the vehicle
Text
List of values (1
—
—
—


Mode
is a (W)orking engine,

char) i.e. W, A,






(A)ssisting engine,

F, H






(F)ailed engine or a








(H)auled vehicle.







Year
Year
Integer
4 digits
—
—
—

## Claims

1. A train control system having computer components, the system comprising:
(a) a plurality of active trains;
(b) a schema defining different data elements relating to trains, the data elements comprising attributes specific to the active trains, the schema comprising a universal mark-up language interface;
(c) a description of the allowable attributes for each data element;
(d) rules for formatting the attributes of each data element; and
(e) a data network for connecting the component computers, the component computers adapted to communicate via the universal mark-up language;
wherein the schema, description and rules are accessible by all of the component computers via the data network and real-time insertion of new data elements into the schema by any of the component computers during operation of the train system in response to changing conditions specific to an active train is permitted, and
wherein responsive to a data error in a message transmitted between component computers via the data network, each component computer is adapted to access the schema to identify the attributes of at least one unrecognized data element in the message before processing the at least one unrecognized data element and controlling one or more active trains based on the processed data.

2. The system of claim 1, wherein the component computers include:
(a) data monitoring computers for collecting data elements of trains;
(b) subscriber computers for accessing the train control system; and
(c) a subscription computer for hosting the schema which is accessible by the component computers via the network, so as to enable each subscriber computer to access the schema from the data monitoring components.

3. The system of claim 2, wherein the data monitoring computer may represent a number of different component computers each monitoring different types of data elements for trains.

4. The system of claim 3, wherein a computer becomes a component of the system by accessing the schema on the subscription computer.

5. The system of claim 4, wherein the schema is an XML document.

6. The system of claim 3, wherein the schema is an XML document.

7. The system of claim 2, wherein a computer becomes a component of the system by accessing the schema on the subscription computer.

8. The system of claim 7, wherein the schema is an XML document.

9. The system of claim 2, wherein the schema is an XML document.

10. The system of claim 1, wherein a computer becomes a component of the system by accessing the schema on the subscription computer.

11. The system of claim 10, wherein the schema is an XML document.

12. The system of claim 1, wherein the schema is an XML document.

13. A method for operating a train control system having component computers, the train control system comprising a plurality of active trains and a data network for connecting the component computers, the component computers adapted to communicate via the data network, the method comprising:
defining a schema of different data elements comprising: attributes specific to the active trains, a description of the allowable attributes for each data element, and rules for formatting the attributes of each data element, the schema comprising a universal mark-up language interface;
hosting the schema on a subscription computer which is accessible by the component computers via the data network;
permitting real-time insertion of new data elements into the schema by any of the component computers during operation of the train system in response to changing conditions specific to an active train;
transmitting a message comprising at least one data element between component computers via the data network;
responsive to at least one component computer not recognizing one or more of the transmitted data elements, accessing the schema by the at least one component computer to identify the attributes of the one or more unrecognized data elements;
processing the at least one data element by the at least one component computer; and
controlling at least one active train based on the processed data.

14. The method of claim 13 wherein the train control system component computers further comprise data monitoring computers for collecting data elements of trains and subscriber computers for accessing the train control system, and the method further comprises the step of:
collecting data elements of trains by the data monitoring computers for transmission between subscriber computers via the data network.

15. The method of claim 14, wherein the data monitoring computers may represent a number of different component computers each monitoring different types of data elements for trains.

16. The method of claim 13, wherein a computer becomes a component of the train control system by accessing the schema on the subscription computer.

17. The method of claim 13, wherein the schema is an XML document.