Method and system for exchanging real time data in a ring network
The invention pertains to communication among stations interconnected by a ring of physical links, operating at a base symbol rate. Each station has an upstream and a downstream link and relays messages originating from the upstream link to its downstream link. Logical links are provided on the ring, each associated with a symbol rate divisor and a link index. Each station transmits messages composed of a strings of symbols on a selected logical link by transmitting the message on its downstream link at the base symbol rate divided by the symbol rate divisor associated with the selected logical link, and offset by the link index of the selected logical link. A station generates a first synchronizing sequence on its downstream link at the base symbol rate divided by the symbol rate divisor associated with a first logical link not used for data, and offset by the link index of the first logical link, and a second synchronizing sequence at the base symbol rate divided by the symbol rate divisor associated with a second logical link not used for data, and offset by the link index of the second logical link.
1. A real-time data communication system, comprising:
a plurality of stations communicatively interconnected by a set of physical links forming a ring, operating at a base symbol rate, such that each of said stations has a physical upstream link and a physical downstream link and is configured to relay symbols received on its upstream link and originating from a different station to its downstream link;
wherein a plurality of logical links are provided on said ring, each of said logical links being associated with a symbol rate divisor from among a set of symbol rate divisors and a link index, wherein said set of symbol rate divisors comprises only powers of 2;
wherein each of said stations is configured to transmit a message represented by a first string of symbols on a selected logical link from among said plurality of logical links by:
transmitting said message on its downstream link at said base symbol rate divided by the symbol rate divisor associated with said selected logical link, and offset by the link index of said selected logical link;
wherein at least one of said stations is configured to generate a first synchronizing sequence by transmitting a predetermined repetitive sequence of symbols on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a first logical link not used for data transmission, and offset by the link index of said first logical link not used for data transmission, and to generate a second synchronizing sequence by transmitting encoded representations of a running symbol counter value on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a second logical link not used for data transmission, and offset by the link index of said second logical link not used for data transmission;
and wherein each of said stations is further configured to retrieve symbols belonging to a specific logical link from among a stream of symbols received on its upstream physical link by determining using the first and second synchronizing sequences, a link symbol index for each of said received symbols and then selecting only those symbols for which said determined link symbol index has a remainder equal to the link index of said desired logical link when divided by the symbol rate divisor associated with said desired logical link.
2. The real-time data communication system according to claim 1 ,
wherein said determining of said link symbol index comprises:
detecting said first synchronizing sequence so as to obtain a reference point for offsets used to distinguish logical links;
using said reference point for detecting said second synchronizing sequence so as to obtain said encoded representations of said running symbol counter value; and
decoding said encoded representations of said running symbol counter value to retrieve said link symbol index.
3. The real-time data communication system according to claim 1 , wherein said symbols are binary symbols.
4. The real-time data communication system according to claim 1 , wherein said transmitting of said message further comprises reversibly transforming said first string of symbols into a second string of symbols, said second string of symbols having higher entropy than said first string of symbols, and transmitting said second string of symbols.
5. The real-time data communication system according to claim 1 , wherein at least one of said stations is a host configured to store a stream of symbols received on its upstream physical link in a host buffer, and to apply an address translation table to said stored symbols so as to improve the spatial distribution of symbols belonging to selected logical links.
6. The real-time data communication system according to claim 1 , wherein at least one of said stations is a host configured to read a stream of symbols from a host buffer for transmission on its downstream physical link, and to apply an address translation table to said read symbols so as to selectively combine symbols belonging to selected logical links.
7. The real-time communication system according to claim 1 , wherein the real-time communication system corresponds to an electric energy conversion system comprising a central digital data processing unit, at least one power electronic converter, and a plurality of ports for connecting electric power sources and loads;
wherein said central digital data processing unit is connected to said at least one power electronic converter and said plurality of ports by means of a set of physical links forming a ring;
and wherein said central digital data processing unit, said at least one power electronic converter, and said plurality of ports are configured to operate as said plurality of stations of the real-time data communication system.
8. A method for exchanging data in a real-time data communication system:
wherein the real-time data communication system comprises a plurality of stations communicatively interconnected by a set of physical links forming a ring, operating at a base symbol rate, such that each of said stations has a physical upstream link and a physical downstream link and relays symbols received on its upstream link and originating from a different station to its downstream link, wherein a plurality of logical links are provided on said ring, each of said logical links being associated with a symbol rate divisor from among a set of symbol rate divisors and a link index, wherein said set of symbol rate divisors comprises only powers of 2;
the method comprising:
at each of said stations having a message represented by a first string of symbols to be transmitted on a selected logical link from among said plurality of logical links:
transmitting said message on its downstream link at said base symbol rate divided by the symbol rate divisor associated with said selected logical link, and offset by the link index of said selected logical link;
at least a first one of said stations:
generating a first synchronizing sequence by transmitting a predetermined repetitive sequence of symbols on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a first logical link not used for data transmission, and offset by the link index of said first logical link not used for data transmission, and
generating a second synchronizing sequence by transmitting encoded representations of a running symbol counter value on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a second logical link not used for data transmission, and offset by the link index of said second logical link not used for data transmission;
at least a second one of said stations:
retrieving symbols belonging to a specific logical link from among a stream of symbols received on its upstream physical link by determining using the first and second synchronizing sequences, a link symbol index for each of said received symbols and then selecting only those symbols for which said determined link symbol index has a remainder equal to the link index of said desired logical link when divided by the symbol rate divisor associated with said desired logical link.
9. The method according to claim 8
wherein said determining of said link symbol index comprises:
detecting said first synchronizing sequence so as to obtain a reference point for offsets used to distinguish logical links;
using said reference point for detecting said second synchronizing sequence so as to obtain said encoded representations of said running symbol counter value; and
decoding said encoded representations of said running symbol counter value to retrieve said link symbol index.
10. The method according to claim 8 , wherein said symbols are binary symbols.
11. The method according to claim 8 , wherein said transmitting of said message further comprises reversibly transforming said first string of symbols into a second string of symbols, said second string of symbols having higher entropy than said first string of symbols, and transmitting said second string of symbols.
12. The method according to claim 8 , further comprising, at least one of said stations that acts as a host:
storing a stream of symbols received on its upstream physical link in a host buffer, and
applying an address translation table to said stored symbols so as to improve the spatial distribution of symbols belonging to selected logical links.
13. The method according to claim 8 , further comprising, at least one of said stations that acts as a host:
reading a stream of symbols from a host buffer for transmission on its downstream physical link, and
applying an address translation table to said read symbols so as to selectively combine symbols belonging to selected logical links.
14. The method according to claim 8 , wherein the real-time data communication system corresponds to an electric energy conversion system comprising a central digital data processing unit, at least one power electronic converter, and a plurality of ports for connecting electric power sources and loads, said central digital data processing unit being connected to said at least one power electronic converter and said plurality of ports by means of a set of physical links forming a ring, wherein said central digital data processing unit, said at least one power electronic converter or internal components of said at least one power electronic converter, and said plurality of ports are configured to operate as said plurality of stations.
15. A non-transitory computer-readable memory medium, comprising:
program instructions that are executable to exchange data in a real-time data communication system comprising a plurality of stations communicatively interconnected by a set of physical links forming a ring, operating at a base symbol rate, such that each of said stations has a physical upstream link and a physical downstream link and relays symbols received on its upstream link and originating from a different station to its downstream link, wherein a plurality of logical links are provided on said ring, each of said logical links being associated with a symbol rate divisor from among a set of symbol rate divisors and a link index, wherein said set of symbol rate divisors comprises only powers of 2; the program instructions executable to:
at each of said stations having a message represented by a first string of symbols to be transmitted on a selected logical link from among said plurality of logical links:
transmit said message on its downstream link at said base symbol rate divided by the symbol rate divisor associated with said selected logical link, and offset by the link index of said selected logical link;
at least a first one of said stations:
generate a first synchronizing sequence by transmitting a predetermined repetitive sequence of symbols on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a first logical link not used for data transmission, and offset by the link index of said first logical link not used for data transmission, and
generate a second synchronizing sequence by transmitting encoded representations of a running symbol counter value on its downstream link at said base symbol rate divided by the symbol rate divisor associated with a second logical link not used for data transmission, and offset by the link index of said second logical link not used for data transmission;
at least a second one of said stations:
retrieve symbols belonging to a specific logical link from among a stream of symbols received on its upstream physical link by determining using the first and second synchronizing sequences, a link symbol index for each of said received symbols and then selecting only those symbols for which said determined link symbol index has a remainder equal to the link index of said desired logical link when divided by the symbol rate divisor associated with said desired logical link.
16. The non-transitory computer-readable medium of claim 15 ,
wherein said determining of said link symbol index comprises:
detecting said first synchronizing sequence so as to obtain a reference point for offsets used to distinguish logical links;
using said reference point for detecting said second synchronizing sequence so as to obtain said encoded representations of said running symbol counter value; and
decoding said encoded representations of said running symbol counter value to retrieve said link symbol index.
17. The non-transitory computer-readable medium of claim 15 , wherein said symbols are binary symbols.
18. The non-transitory computer-readable medium of claim 15 , wherein the program instructions are further executable to:
reversibly transform said first string of symbols into a second string of symbols, said second string of symbols having higher entropy than said first string of symbols, and
transmit said second string of symbols.
19. The non-transitory computer-readable medium of claim 15 , where the program instructions are further executable to, at least one of said stations that acts as a host:
store a stream of symbols received on its upstream physical link in a host buffer, and
apply an address translation table to said stored symbols so as to improve the spatial distribution of symbols belonging to selected logical links.
20. The non-transitory computer-readable medium of claim 15 , where the program instructions are further executable to, at least one of said stations that acts as a host:
read a stream of symbols from a host buffer for transmission on its downstream physical link, and
apply an address translation table to said read symbols so as to selectively combine symbols belonging to selected logical links.