Abstract:
In an in-flight entertainment system implementing a wireless link between a network server S and wireless processing units SDB i,j  which each serve the individual devices of a plurality of seats GS i,j  of one and the same row, an identification i of the column in which a wireless processing unit SDB i,j  is positioned is carried out by providing for a sequential powering-up (PW i- on) of the columns, the powering-up of a column col i  triggering at this instant known to the server the boot process BP for the devices SDB i,j  of this column, enabling the column to be identified i by a local duration measurement b i,j  supplied by an internal clock DT i,j  of these devices previously initialized at a known instant of the boot process BP.

Description:
RELATED APPLICATIONS 
     The present application is based on, and claims priority from, French Application Number 07 02228, filed Mar. 27, 2007, the disclosure of which is hereby incorporated by reference herein in its entirety. 
     FIELD OF THE INVENTION 
     The present invention relates to a method of assigning network addresses in an in-flight entertainment system (IFE system) onboard an aircraft, based on a wireless data distribution network. 
     STATE OF THE ART 
     The most recent in-flight entertainment systems use wireless data transmission techniques, which make it possible to reduce the connection problems and enhance the personalized service offer for long-haul flights: video on demand, Internet access, electronic mail, and so on. 
     A basic architecture of an in-flight entertainment IFE system of an aircraft comprises a set of networked processing units SDB (Seat Data Boxes). Each distribution unit SDB serves individual devices, such as a flat screen, a remote control, a power outlet for laptop computer, and so on, installed in each seat of a group of passenger seats, normally passenger seats of one and the same row, which are positioned side by side, either between two aisles or between an aisle and a wall of the cabin. A processing unit can thus for example serve two, three or four passenger seats. Each unit is positioned under a seat of the group that it serves and typically includes a port to an onboard electrical power supply network. 
     The groups of seats are divided up into columns. The processing units of one and the same column are powered by a corresponding power distribution column. Each processing unit SDB communicates with a network server by means of at least one access point. 
     To enable personalized services to be offered to each seat, a network address must be assigned to each of the devices in the network, that is, in particular, to the processing units and to the individual devices. This is done when the IFE system is first set up in a given aircraft, and each time a device is changed (for maintenance). This network address assignment sequence requires in particular the knowledge by the server of the position of each device in the network: which seat of a group, which group of seats, in which column. 
     Normally, once the processing units are identified and configured, each individual device is identified and configured by the processing unit that serves it, with no particular problems. 
     When it comes to the identification and the configuration of the processing units in a wired network, identifying the position of a processing unit in a column poses no particular problem. It can be done in a known manner by a step-by-step determination technique, using a “network discovery” procedure, as described in the IEEE 802.1AB standard. 
     It is the identifying of the column in which the unit is positioned that raises a few difficulties. In the wired ETHERNET type IFE architectures, each column was connected to a specific data input/output port of the server via a wired ETHERNET link: the first processing unit just after the port thus obtained the identification of the column (the port identifying the column), information that was propagated step by step to all the units in the column. In the case of wireless links, this mechanism can no longer be applied: the server has a single wireless input/output interface via which all the data from all the columns passes (via an access point). 
     In this case, according to the state of the art, the identification of the column is obtained by powering up only a single column at a time, which makes it possible to establish a one-to-one link between the single column that is powered and the processing units that are powered up. This enables each processing unit to determine its position: the associated column is the column that is powered up, information supplied by the server; the position in the column is obtained by the usual step-by-step determination technique based on sending/receiving messages with the network server during the boot process triggered in the processing unit by the action of powering up. The duration of the sequence of assigning addresses to the processing units is then equal to the duration of the boot sequence for a column multiplied by the number of columns. This duration depends typically on the duration of the boot sequence of each of the processing units, typically a few minutes. In practice, in an aircraft in which all the seats are equipped with an IFE system, an assignment sequence can take approximately one hour (16 columns.4 minutes). 
     The aircraft manufacturers&#39; specifications indicate a duration that should generally not exceed 10 minutes. The duration of the process must therefore be reduced. 
     SUMMARY OF THE INVENTION 
     The invention proposes a technical solution to this column identification problem in a wireless IFE system. 
     The idea on which the invention is based is to power up the columns one after the other, with a time delay between each powering-up of known duration, without waiting for the end of the process of booting up the wireless processing units in each column. The time delay is chosen to make it possible to reliably determine for each processing unit, the associated column, based on a time of reception by the network server of a message sent by each processing unit and which contains the duration of the boot process after initialization of the processing unit&#39;s internal clock. This determination is possible because the duration between the moment of activation of the boot process of a processing unit, by powering up the corresponding column, and the moment of activation of the initialization of the internal clock is roughly the same for each processing unit of the IFE system: it can be estimated by an average value, with a tolerance for which the maximum value can be estimated, for a given product line (the product being the processing unit). Furthermore, it is sufficient to choose the time delay value between two power-ups to be sufficiently great given this variation, the duration of the time delay not being critical in the duration of the inventive identification process. 
     Thus, by sequencing the powering-up of the columns, the duration of the column identification process is considerably reduced, and the time of reception of each of the messages by the server together with the duration transmitted in the corresponding message makes it possible to distinguish one column out of the n columns of the system. 
     As characterized, the invention therefore relates to a method of assigning a network address to each of the wireless devices of a network in an aircraft, said devices being able to exchange messages with a network server via at least one access point, each device being placed in the position of a seat in a column of seats and powered by a power supply column specific to the associated column, characterized in that said method comprises a process of identification, by the server of the column of seats, of each of said wireless devices, said process comprising a sequential powering-up of the wireless devices, for each column, with a time delay of known duration between the powering-up in one column and the powering-up in a next column, said powering-up of a device triggering a mechanism for sending a message to the server, containing a time indication specific to the device, the timestamp by the server of the instant at which the message was received and the identification by the server of the column of the device having sent the message based on said time indication and said timestamp. 
     Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious aspects, all without departing from the invention. 
     Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein: 
         FIG. 1  illustrates a simplified wireless network architecture of the processing units of an IFE system; 
         FIG. 2  is a timing diagram illustrating the process of sending and receiving messages between the processing units and the server according to the column powering-up times; 
         FIG. 3  illustrates the identification process activated in the server, by a network address assignment sequence; 
         FIG. 4  illustrates the tasks of the identification process activated in a processing unit by the powering up of the associated column. 
     
    
    
     DESCRIPTION OF THE INVENTION 
       FIG. 1  is a simplified illustration of an architecture of a wireless IFE system making it possible to implement an inventive process for identifying the column of each of the wireless processing units SDB i,j  (iε[1, . . . n], jε[1, . . . m], i, j being integer numbers) of the system. 
     This system comprises a server S, at least one access point AP, linked to the server by a wired network link  1  (an Ethernet cable for example), and wireless processing units SDB i,j . 
     Each processing unit SDB i,j  serves the individual devices of an associated group of seats (GS i,j ). 
     The position of each wireless processing unit SDB i,j  can be defined by an identifier i of the column col i  in which it is located and an identifier j of the row row j  in which it is located. 
     Each column coli has a corresponding specific power supply column PW i  which powers each of the processing units SDB i,j  of this column. 
     The system according to the invention comprises means  2  able to switch the power supply Δ provided by a generator  3  to each of the power supply columns PW i , individually, column by column or simultaneously, under the control of the server S which controls the means  2 , for example via a specific link  4 , in the wired example. For example, the means  2  are implemented by a set of power switches, one switch for each power supply column PW i . The activation of a corresponding switching signal PW i -on closes the switch and provokes the powering-up of all the processing units SDB i,j  connected to this column. 
     The processing units SDB i,j  can exchange data with a network server S via at least one wireless access point AP. In practice, the IFE system will normally include a number of access points, located in different areas of the aeroplane, each processing unit being able to set up a wireless link with the access point that it best receives. 
     The server S supplies the requested services such as video on demand, Internet connectivity or other personalized services. It comprises an internal clock DT S , which enables it in particular to provide an event time-stamping function. 
     The processing units also each include an internal clock DT i,j , able to supply local time information (timestamping). 
     In such an architecture, a network address assignment sequence SEQ-AD-IP normally activated on first commissioning of the IFE system or by a maintenance operation, calls an identification process PISDB according to the invention, to enable each wireless processing unit SDB i,j  of the system to identify the column in which it is located. 
     This identification process according to the invention will be explained in an exemplary implementation, in relation to  FIGS. 2 ,  3  and  4 . 
     The identification process PISDB is triggered in the server which then runs two tasks in succession, as illustrated in  FIGS. 2 and 3 , a first task TK 1 , then a second task TK 2 , which are executed in parallel. Typically, the second task is run less than a second after the first task. 
     The first task TK 1  consists in sequentially powering up the columns Coli, with a time delay Δ between two successive columns. 
     Take, for example, as illustrated in  FIGS. 2 and 3 , a constant time delay Δ. t 1  is used to denote the moment of powering-up of the first column col 1 . The next column col 2  is powered up at the time t 2 =t 1 +Δ; the ith column is powered up at the time t i =t 1 +(i−1). Δ; and the nth column at the time t n =t 1 +(n−1). Δ. The first task TK 1  is then terminated. 
     In more detail, as illustrated in  FIG. 3 , the task TK 1  is typically performed in the server by a loop for sequentially powering up the columns of the network one after the other, which can be expressed:
         a). for i=0 to n−1:
           i=i+1   Application of the voltage to the column Col i , typically by switching the power supply to the power supply column PW i ; storage of the corresponding powering-up moment t i  (current value of the internal clock DTs).   time delay with a duration Δ before returning to a).   
               

     The powering-up of a processing unit SDB i,j  usually triggers a boot process BP. 
     This process BP generally comprises ( FIG. 4 ) a first phase Phase  1 _BP, typically hardware, corresponding to the correct initialization of the various circuits /components, etc., and which usually ends with an initialization of the internal clock init_DT i,j  which triggers the initiation of a second phase Phase  2 -BP, typically a software and applications initialization phase. 
     The first phase Phase  1 -BP normally has a fixed duration so from activation, whereas the second phase can vary from one processing unit to another. This variation is due to a number of effects: different access times to various services, “software ageing” process in which the applications take longer and longer to start up, different temperatures and therefore speeds, and, above all, periodic but not systematic verification of certain systems and in particular periodic verification of the integrity of the flash memory, which is time-intensive. 
     Thus, the duration of the first phase of the process (s 0 ) is known by default (characteristic of the product). The duration of the second phase of the boot process can be known by reading the current value b i,j  of the internal clock at the end of the boot process. 
     According to the invention, at the end of the boot process, the processing unit sends, via its wireless interface E/S wifi , a packet Pkt i,j  containing the value b i,j  ( FIGS. 2 ,  3 ,  4 ), and waits in return for a packet from the server ARPkt i,j  which contains the identification i of the column in which this unit SDB i,j  is located. 
     The second task TK 2  ( FIGS. 2 and 3 ) activated consists, for the server S: 
     a)in awaiting packets sent by the processing units, and 
     b)each time a packet Pkt i,j  is received; in reading the transmitted value b i,j ; in reading the moment of reception t i,j  of this packet in its internal clock DT S ; in determining the identifier i of the column of the processing unit that has sent this packet according to (s 0 , t i,j , b i,j , Δ); and in returning a packet ARPKT i,j  in response, containing this identifier i. 
     In more detail, as illustrated in  FIG. 3 , the second task TK 2  comprises:
         a wait to receive packets;   on each packet Pkt i,j  received from a sending processing unit SDB i,j , storage of the transmitted value b i,j , and of the local time t i,j  of reception of this packet by the server;   for each pair (b i,j , t i,j ), determination of the corresponding value of i according to the values b i,j  and t i,j , of the moment t 1  of powering up of the first column, of the time delay value Δ and of the average duration s 0  of the boot process between the activation of the process and the initialization of the internal clock;   sending of the determined value i to the sending processing unit SDB i,j  in acknowledgement ARPkt i,j  of the packet sent Pkt i,j .       

     According to the invention, the server determines i from the following equation (i being rounded to the nearest integer):
 
 i =( t   i,j   −t   1   −b   i,j   −s   0 )/(Δ+1).
 
     Identifying the column thus amounts to a simple calculation, by assigning as column identifier the rank i of this column in the powering-up sequence. 
     This equation results in fact from an approximation of the calculation of the duration t i,j , which disregards the following terms which are noted in the timing diagram of  FIG. 2 : 
     the duration p ij  which corresponds to the propagation time of the message Pkt i,j  between the sending by the processing unit and its reception by the server at the time t ij . 
     the duration s i,j =s 0+ +η i,j : so is the average value of the duration of the first phase of the boot process BP. It is known for a given product line. s i,j  corresponds to the true duration, η i,j  being the variation (positive or negative) relative to the average value. 
     the true duration equal to b i,j· (1+ε i,j ) of the second phase of the boot process BP, where ε i,j  represents the drift of the internal clock of the processing unit relative to the internal clock DT S  of the server which serves as a time standard. 
     To take the example of the processing unit SDB 1,2 : as illustrated in  FIG. 2 , the value t 1,2  of the moment of reception of the packet Pkt 1,2  sent by SDB 1,2  on completion of the boot process BP can be expressed:
 
 t   1,2   =[t   1   +Δ]+s   1,2   +b   1,2 (1+ε 1,2 )+ p   1,2 ,
 
     where, it will be recalled, t 1  is the local time, supplied by the internal clock of the server S, of the start of the task TK 1  for sequentially powering up the columns, that is, powering up the first column col 1  (i=1). 
     More generally, the value t i,j  of the moment of reception of the packet Pkt i,j  sent by SDB i,j  on completion of the boot process BP activated at the moment t 1 +(i−1) Δ is expressed:
 
 t   i,j   =[t   1 +( i− 1)Δ]+ s   i,j   +b   i,j (1+ε i,j )+ p   i,j .
 
     We then have: i=(t i,j −t 1 −s 0 −η i,j −b i,j (1+ε i,j )−p i,j )/(Δ+1), which can also be expressed:
 
 i= [( t   i,j   −t   1   −b   i,j   −s   0 )/(Δ+1)]−[(η i,j   +p   i,j   +b   i,j ε i,j )/Δ]  (EQ1.)
 
     first term second term 
     t i,j , t 1 , b i,j , Δ and s 0  are values known to the server S: it was able to memorize t i,j , t 1  which was supplied to it by its internal clock DT S ; b i,j  was transmitted to it by the processing unit; Δ and s 0  are parameters of the identification process, defined by default according to the processing units SDB used in the IFE system (product characteristic). 
     To calculate i reliably on the basis of the first term, the second term must be negligible compared to 1, or:
 
(η i,j   +p   i,j   +b   i,j ε i,j )&lt;&lt;Δ.
 
     In the invention, it was possible to show that this was the case, provided that Δ was taken to be sufficiently great compared to η i,j  which is the predominant error in the system. 
     In practice, it was possible to verify that the drift ε i,j  between the clocks DT i,j  and DT S  is no more than 50 ppm (parts per million). In a practical example, for a given product line, it was possible to measure that the duration b i,j  was no more than 240 s which would give a maximum error (b i,j ε i,j ) due to the drift equal to 12 milliseconds. 
     Regarding the propagation, at the moment of activation of the identification process PISDB, the network is not loaded. In these conditions, it was possible to verify, in a practical example, that the maximum value of the propagation time p i,j  was 10 milliseconds (worst case). 
     Finally, by taking a value of the order of  10  times the value of η i,j  for Δ, it can be shown that η i,j  can be disregarded and i can be obtained with a high reliability from just the first term of the equation EQ1, without this being critical to the duration of the identification process PISDB, and therefore of the network address assignment sequence. 
     The value of η i,j  is typically dependent on the product (processing unit SDB). For a given product line, the average value so can be calculated, as can the maximum variation around this average value (η i,j ≦η). In a practical example, we obtained s0=46 seconds, and η equal to 1 second (worst case). By taking Δ=10 seconds, it was possible to identify i reliably from just the first term of the equation EQ1. 
     If η was much more reliable, for example of the order of 0.1 s, it would be possible to take, for example, Δ=1 second. 
     However, the resulting saving on the duration d Δ  of the process would not be very great. In practice, the following applies:
 
 d   Δ =Δ×number  n  of columns+maximum time of the boot process  BP.  
 
     In a numeric example, by uprating the duration of the boot process BP of the processing units by 240 seconds (4 minutes) and with an architecture of n=16 columns, it would take for Δ=10 s, d Δ &lt;400 s or 6 min 40 s; and for Δ=1 s, d Δ &lt;260 s or 4 min 20 s. 
     In the invention, it is thus shown that a value of 10 or so seconds to a few tens of seconds can be taken for the time delay Δ, without this being critical to the overall duration of the identification process according to the invention, a value that makes it possible to obtain a high reliability in the determination of i based on the first term of the equation EQ1. 
     The column identification process according to the invention thus involves the processing units SDB i,j  and the server S, by using their internal clocks. 
     As a general rule, the process according to the invention therefore comprises: 
     a). a sequential powering-up of the processing units SDB i,j , for each column, with a time delay of known duration Δ between the powering-up in one column i and the powering-up in a next column i+1, said powering-up of the ith column col i  triggering, at the moment of power-up t i  (=t 1 +(i−1)Δ) in each processing unit SDB i,j  of the column, a boot process BP comprising an initialization init_DT i,j  of an internal clock DT i,j , 
     b). after said initialization of its internal clock, a sending to the network server S of at least one acknowledgement packet Pkt i,j  by a processing unit SDB i,j , the acknowledgement packet Pkt i,j  containing the current value b i,j  of the internal clock DT i,j  at the moment of sending of the packet; 
     c). an identification by the network server of the column of a processing unit SDB i,j  on receipt of an acknowledgement packet Pkt i,j  from this device, based on the current value b i,j  contained in this packet and the time of reception of this packet by the server supplied by its own internal clock DT S . 
     The processing unit SDB i,j  uses a packet sending mode of the type with confirmation of receipt of a packet, and sends a new packet at predetermined intervals containing the corresponding current value of said timestamping device, until a corresponding confirmation of receipt is received. 
     The server sends an identification i of the column to the device sending an acknowledgement packet Pkt i,j , in an acknowledgement ARPkt i,j  of this packet. 
     In practice, the sending of the packet can correspond to the completion of the boot process BP. It is generally a moment or a reference action in the boot process, after the initialization of the internal clock, and after the initialization of the wireless link (for the packets Pkt i,j  to be able to be received by the server). 
     The moment of sending of the packet Pkt i,j  is thus advantageously the end of this boot sequence BP, which generally corresponds to the activation of the initialization of the wireless link, and the duration b i,j  thus corresponds to the duration of phase  2  of the boot process BP. In a practical example, it was possible to evaluate b i,j  as varying from one unit to another between 180 and 200 seconds (but longer values are possible). 
     Choosing the end of the process BP for the sending of the packet provides for a simple practical implementation of the invention, with an identified moment that is the same for all the units independently of their software configurations. 
     However, this sending moment could be any moment in the second phase of the boot process, provided that this moment is chosen after initialization of the link to the server (for the packets Pkt i,j  to be able to be transmitted). 
     In practice, to enable the network link with the server while the network address assignment sequence SEQ-AD-IP is in progress, provision is made for the processing unit to use, for the exchange of the messages Pkt i,j  and ARPkt i,j , a single temporary network address. Such a temporary address can be obtained in a known way, for example via a server implementing a DHCP protocol (Dynamic Host Configuration Protocol), which enables temporary IP addresses to be automatically assigned to the devices of a local area network. The prior verification of the availability of the wireless link between the units SDB and the server S before the exchange of packets Pkt i,j  and ARPkt i,j  will typically be based on the standardized request well known by the term “ping”: according to this request, the server must send corresponding response messages to the message sent by the processing unit. 
     Since the local area network associated with the IFE system of the aircraft generally implements a security protocol, for example a WPA (WiFi Protected Access) type protocol making it possible to authenticate the users on the network and define their access rights, means will generally have to be provided for the processing units SDB to be able to open a link with an access point while the network address assignment sequence is in progress. For example, it is possible to envisage that, during the IP address assignment sequence, the access points are configured to communicate in non-encrypted mode. Moreover, since knowing the name of the network ESSID, or SSID (Service Set Identifier) is necessary for a wireless device to be connected to the network, provision can be made to distribute to the processing units SDB the SSID identifiers of the access points of the IFE system. Another alternative is to provide for the identifiers ESSID of each of the access points of the IFE network, and the encryption key of the security protocol, to be hard-written into each processing unit and into each access point. These various considerations typically depend on the hardware and software specifics of the IFE system to which the invention is to be applied and can be resolved with no particular difficulties by those skilled in the art, for the wireless links to be possible during the network address assignment sequence. 
     It should finally be noted that, generally, provision is made for a synchronization of the internal clocks of the processing units of an IFE system. In this case, this synchronization will be performed only after the network address assignment sequence. 
     Other practical considerations will generally have to be allowed for, notably in the case of failure: failure of the attempt to send a packet, failure to identify a column for a unit. 
     For example, it may be that a processing unit has failed and sends no packet Pkt i,j . The server should normally receive m.n packets, one for each module. A monitoring module can then be associated with the packet wait step, which can, for example, provoke the end of the task TK 2  and generate an error code, if the waiting time for all of the m.n packets becomes too great. 
     It may also be that a processing unit does not manage to set up a wireless link with an access point. In this case, allowance is made for it to perform a certain number of attempts to send the packet Pkt i,j . 
     It may also be that the server does not manage to calculate i, for a given processing unit. In this case, allowance can be made for it to return a particular value, for example 255. This could in particular be the case if the second term of EQ1 (error) was too great relative to a fixed limit. 
     The practical implementation means require a device making it possible to power up the columns in sequence, or typically a device  2  with power switches with programmable command input ( FIG. 1 ), and the integration of the particular tasks of the method that have been described, in particular the various measurements/storage of the values of the internal clocks, sending/awaiting packets and their content. 
     For a given IFE system, it entails storing parameters of the identification process, namely the average duration so of the first phase phase  1 _BP of the boot process BP of the processing units, and the time delay value Δ used. According to one aspect of the invention, since hardware ageing can lead to a modification over time of the value of so, even of η i,j , allowance is made for the values of s 0  and Δ to vary over time, whether they are modified manually, or automatically (ageing law, parameter tables based on system operating time, etc). 
     It will be readily seen by one of ordinary skill in the art that the present invention fulfils all of the objects set forth above. After reading the foregoing specification, one of ordinary skill in the art will be able to affect various changes, substitutions of equivalents and various aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by the definition contained in the appended claims and equivalent thereof.