Abstract:
The invention increases the functionalities of a television receiver/decoder STB device by transferring a local port of the thin client device STB via a network to which the thin client device is connected. Said port is then viewed as a local port by a server device, accessible via the network to which the thin client device is connected. It is then possible to install a pilot on said server, for controlling the peripheral equipment connected to the transferred local port. The user of the thin client device can then drive, via a transferred user interface, the peripheral equipment which is physically connected to the thin client but logically connected to the server.

Description:
RELATED APPLICATIONS 
     This application is a §371 application from PCT/FR2008/050165 filed Feb. 1, 2008 which claims priority from French Patent Application No. 07 52994 filed Feb. 1, 2007, each of which is herein incorporated by reference in its entirety. 
     TECHNICAL FIELD OF THE INVENTION 
     The invention concerns a thin client device and a thin client device user method. 
     The field of the invention is that of thin clients. A thin client is a device, and/or an application, that performs little or no processing. In practice, processing is limited to the consideration of a man-machine interface and thus to the decompression of instruction sequences formatting a display. Such consideration includes the aptitude to decompress audio and/or video sequences. More especially, the field of invention is that of high-tech television receivers-decoders, also known as Set Top Boxes (STB). 
     One aim of the invention is to increase the functionalities of STB-type devices. 
     Another aim of the invention is to perpetuate the increase in the functionalities. 
     BACKGROUND OF THE INVENTION 
     In the prior art, STBs are already known, but such devices are not equipped with a peripheral. It is planned, in the evolution of such apparatus, to equip them with remote-controlled interface capacity, i.e. the ability to act like a thin client with respect to an interface server. Such ability is at least the capacity to receive and interpret display instructions, and to emit command messages produced after detecting a type of prompting from an input device connected to the STB. Such behaviour and performance is known as the terminal server. 
     Nevertheless, this operating mode is in fact ill-adapted to the management of peripherals connected to the STB. Indeed, a peripheral requires a driver in order to enable the apparatus to which it is connected to command the peripheral correctly. Moreover, such drivers often implicate processing performed by the apparatus on which the drivers are installed. Such drivers are, more often than not, incompatible with the power of the apparatus to which the peripheral is connected. 
     Another problem is that each peripheral requires its own driver, which should be installed on the apparatus driving the peripheral. Insofar as the STB-type device is made reliable due to the relative impossibility to update its application code, this implies that the STB manufacturer is obliged to foresee and safeguard drivers for every peripheral that a user is liable to connect to the STB. This is virtually impossible. 
     STBs, according to the current art and to that planned to come, are thus not compatible with the comprehensive and efficient driver ability of a peripheral connected to a local port on an STB. 
     OBJECT AND SUMMARY OF THE INVENTION 
     In the invention, such problems are resolved by transporting a local port of thin client device via a network to which the thin client device is connected. This port is then considered as a local port by a server device, accessible via the network to which the thin client device is connected, and where it becomes possible to install a driver for the purpose of commanding the peripheral connected to the transported local port. The user of a thin client device is thus able, via a transported user interface, to drive the peripheral connected physically to the thin client, but logically to the server. 
     The purpose of the invention is thus a thin client device comprising a primary interface for connecting to a network, characterised in that:
         the thin client comprises a virtual client application capable of being connected, via the primary interface, to a server application for virtualising applications triggered off by a server device that comprises a second network connection interface, with connection between the client and the server applications then being performed via the primary interface, the network and the second interface, using a remote interface protocol common to both virtualising applications,   the thin client comprises at least one primary local connection port of a peripheral,   the thin client comprises a primary gateway in order to interface the primary connection port with the primary interface, the server comprising a second gateway in order to interface a peripheral driver connected to the primary port with the second interface and to enable the server application to use the primary port like a local port of the server.       

     In a variant, the device according to the invention is also characterised in that it comprises a command peripheral, producing command messages received by the thin client device and transmitted by it via the network to the server device. 
     In a variant, the device according to the invention is also characterised in that the thin client is a television decoder box. 
     In a variant, the device according to the invention is also characterised in that the primary port is of a type contained in the list comprising at least:
         Universal Serial Bus (USB),   IEEE 1394,   DB9,   Wi-Fi®,   Bluetooth.       

     The invention also concerns a device-user method according to one of the previous variants, characterised in that it comprises the following steps:
         connection of the client application to the server application,   emission via the data server application containing the description of a man-machine interface,   client application display of the man-machine interface via interpretation of said data,   production, via a user and via validation of an element of the man-machine interface, of a start-up command for a peripheral connected to the connection port of a peripheral,   detection, via the thin client, of the command produced by the user,   production, via the thin client, of a command message describing the command produced,   emission of the command message towards the server device,   interpretation of the command message and start-up of the peripheral connected to the connection port in accordance with the command message interpretation.       

    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be better understood after reading the following description and studying the figures included herein. These are shown as examples and are not to be considered as complete with regard to the invention. The figures show: 
         FIG. 1 : illustration of the start-up of a device of the invention in accordance with a first embodiment. 
         FIG. 1   b : illustration of the start-up of a device of the invention in accordance with a second embodiment. 
         FIG. 2 : illustration of the steps of the method in accordance with the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       FIG. 1  illustrates a thin client device  101 . In the example illustrating the invention, the device  101  is a television receiver-decoder, also known as STB (Set Top Box). Henceforth, the term STB  101  shall be used, being understood that such denomination is not solely limited to the invention. 
       FIG. 1  illustrates that the STB  101  comprises a microprocessor  102  and a programme memory  103 , the parts  102  and  103  being connected via a bus  104 . 
     When an action is indicated to a device, such action is in fact performed by a microprocessor of said device, the said microprocessor being controlled by instruction codes recorded in a programme memory of said device. The same applies when an action is indicated to an application. An application is in fact a series of instruction codes recorded with in a memory of a device. The action indicated to the application is thus performed by a microprocessor of the device inside a memory serving to record the application&#39;s instruction codes. 
     The STB  101  comprises circuits  105  enabling to connect the STB  101  to a screen  106 . The screen  106  enables at least to view programmes and/or video sequences decoded by the STB  101 . The circuits  105  are also connected to the bus  104 . 
     The STB  101  comprises interface circuits  107  between the bus  104  and a command peripheral  108  of the STB  101 . The peripheral  108  is, for example, a remote control device. The circuits  107  are, for example, infra-red circuits. In another start-up version, the circuits  107  are radio circuits of the Wifi or BlueTooth type, or of another standard. In yet another start-up version, the circuits  107  are circuits according to a standard corresponding to a wired connection, such as USB, DB9, DIN or PS/2, to quote just the most common standards. The peripheral  107  may also be different, for example, a verification device and/or a (PC) personal computer-type keyboard. At this point, it is to be noted that a remote control device generally comprises a verification facility. 
     The aforementioned parts described with regard to the STB  101  are standard parts of an STB. 
     The memory  103  comprises at least two zones. 
     A zone  103 . 1  comprises instruction codes for driving the circuits  105  in accordance with the display instructions. The zone  103 . 1  is thus a video driver enabling the STB  101  to display images on the screen  106  via the connector  105 . 
     A zone  103 . 2  comprises instruction codes corresponding to a virtual client application. Such an application fulfils at least three tasks.
         Connection to a virtualising server application via the triggering off of a specific protocol, with such protocol being referred to under the remote interface protocol (i.e. “RUI” standing for “Remote User Interface”), the connection thus becoming an RUI connection.   emission of command messages, via an RUI connection, describing the actions performed by the user of the thin client device via an input peripheral of the thin client device. For the case in hand, this refers to actions performed by the user of the STB  101  on the remote control  108 .   reception of a video sequence via the RUI connection and display of said video sequence on a screen, namely the screen  106 .       

     The most well known RUI protocols are:
         RDP (Remote Desktop Protocol),   ICA (independent Computing Architecture)   XRT (Extended Remote Technology),   VDI (Virtual Device Interface).       

     The invention is nevertheless not limited to the use of any one of these protocols. 
       FIG. 1  illustrates that the STB  101 , according to the invention, also comprises an interface  109 , enabling to connect the STB  101  to a network  110 . In our example, the network  110  is an IP network. Again in our example, the interface  109  is an RJ45 connector according to the Ethernet standard. 
     In another start-up version, the STB  101  is connected to the network  110  via a wireless connection solution, such as a Wifi connection. In yet another start-up version, the network  110  is achieved via powerline-carrier technologies. 
     The STB  101  also comprises a local port  111  enabling to connect a local peripheral  112  to the STB  101 . It is considered for the example that the port  111  is a USB port. The port  111  could be of a different type among at least those quoted for the circuits  107 . 
     The peripheral  112  is, for example, a printing device. Nevertheless, it is to be noted that the peripheral  101  may be any peripheral compatible with the port  111 . For the example, in the case of a USB port, a CD/DVD player/writer or a mass storage peripheral may be quoted. It is recalled that a digital camera is regarded as a mass storage peripheral via a USB connection. 
       FIG. 1  shows that the port  111  is connected to a transport gateway  113  of the port  111 . In a primary start-up version of the invention, the gateway  113  transforms the port  111  into an Ethernet port. This enables the port  111 , and particularly the peripheral connected thereto, to be considered as a network peripheral on the network  110 . In order to attain this result, the STB  101  also comprises a hub  114  (also referred to as a ‘switch’) on the gateway  113 , on the connector  109  and on the interface Ethernet circuits  115  between the bus  104  and the hub  114 . The hub  114  enables to spit up the port  109  and thus to associate two network addresses with the STB  110 . One of these addresses corresponds to the port  111 , the other corresponds to the other elements of the STB. The addresses corresponding to the port  111  are referred to here as “addPer”, with the address corresponding to the other elements called “addSTB”. 
     In another start-up version of the invention, here referred to as the second start-up, the device  114  is a mini-router. That is to say, a device that enables to associate a logical port of the STB  101  network address with the gateway  113 . It is here recalled that the network communications are conducted via the “connection interfaces” (or “sockets”). A connection interface comprises a network address and a port number. In this second start-up, a port number NP 113  is allocated, by the device  114 , to the gateway  113 . The device  114  then initiates “port transfer” (or “port forwarding”), thus ensuring that the network frames received via the interface  109  on the port NP 113  are transferred to the gateway  113 . 
       FIG. 1  illustrates a server  116  connected to the network  110  via an interface  117 . The server  116  corresponds to the primary start-up version of the invention. The server  116  also comprises a microprocessor  118 , a programme memory  119  and a peripheral configuration memory  120 . The elements  117  to  120  are interlinked via a bus  121 . 
     The memory  119  comprises at least one zone  119 . 1  containing instruction codes corresponding to a virtualising server. A virtualising server fulfils at least three tasks.
         Connection to a virtual client application via the triggering off of a RUI protocol.   Reception of command messages and the interpretations of such commands, via the RUI connection, thereby provoking the start-up of a local application on the server.   Production and emission, via the RUI connection, of a video sequence corresponding to the start-up of the local application on the server.       

     The memory  119  comprises at least one zone  119 . 2  containing the instruction codes corresponding to a local application. 
     It is here noted that the local application  119 . 2  is virtualised by the server  116 , and becomes a remote application for the virtual client application  103 . 2 . In other words, due to the RUI protocol, a user of the STB  101  is capable of running the application  119 . 2  on the server  116 . The virtual client application transmits the actions by the user on the remote control  108  to the virtualising server application and receives in return a video sequence corresponding to the interpretation of these actions by the server  116 . 
     The memory  120  describes the peripherals connected to the server  116 . The memory  120  enables to associate a peripheral identifier with a driver and with a port. Each column of the memory  120  corresponds to a peripheral that may be used by the server  116 . The ports are of several types among at least:
         local port,   network port,
 
In an example, it is considered that the peripheral  112  is a DVD player/writer. In such a case, the memory  120  comprises a column associating the driver of the DVD player/writer model with a network port whose address is addPer.
       

     In another example, it is considered that the peripheral  112  is a USB key. In such a case, the memory  120  comprises a column associating the mass storage peripheral driver with a network port whose address is addPer. 
     In another example, it is considered that the peripheral  112  is a printing device. In such a case, the memory  120  comprises a column associating the printer driver  112  with a network port whose address is addPer. 
     The identifiers are, for example, the name of the peripheral. 
     The addSTB and addPer addresses are saved in a configuration memory of the STB  101 . These addresses are either fixed by manual configuration using a configuration menu of the STB  101 , or fixed by a network discovery protocol of type DHCP (Dynamic Host Configuration Protocol). These addresses are unique on the network  110 . 
     With this variant of the invention, a user of the STB  101 , when sitting in front of the screen  106  and using the remote control  108 , launches the application  119 . 2  on the server  116  and views the graphic interface of said application on the screen  106 . Due to the invention, the application  119 . 2  is capable of using the peripheral  112 . In this variant, the server gateway is thus the network port used. 
       FIG. 1   b  illustrates a server  150  corresponding to the second start-up of the invention. The server  150  comprises respectively parts  151  to  155 , identical to elements  117  to  121  respectively. 
       FIG. 1   b  also illustrates a gateway device  160 . The device  160  comprises an interface  161 , compatible with the interface  151 . The device  160  also comprises an interface  162 , compatible with an interface  156  of the server  150 . In an example, the interface  156  is a USB port  156 . 
     The device  160  also comprises the circuits  163 , identical to the circuits  113 . 
     The device  160  further comprises the circuits  164 , identical to the circuits  114 . 
     The interface  162  is connected to the circuits  163  that are connected in turn to the circuits  164 . The interface  161  is connected to the circuits  164 . These are connected to the network  110  via an interface  165 . The interface  165  has the same network address as the server  150 . The circuits  164  perform port forwarding, enabling to distribute the network traffic intended for the server  150  between the interface  151  of the server  150  and the interface  156  of the server  150 . The circuits  164  allocate a port NP 163  of the connection interface of the server  150  to the circuit  163 . The circuits  163  ensure conversion of the signals between the interface  162  and the network  110 . 
     In the second start-up of the invention, communications between the server  150  and the peripheral  112  are performed via the interface  156  and not via the interface  151 . 
     In the second variant of the invention, the STB  101  and the device  160  each comprise a configuration memory for parametering the ports NP 113  and NP 163 . 
       FIG. 2  illustrates a connection step  201  of the thin client device  101  to the server  116 . In the step  201 , a user of the STB  101  uses the remote control  108  for searching through the command menus of the STB  101 , the said menus being viewed on the screen  106 . In these command menus, the user selects the connection option corresponding to the establishment of a connection with a remote interface server via an RUI protocol. 
     In practice, the remote interface server address is configured in a memory of the STB  101 . It then refers to an address on the network  110 , which is a local network. In a variant of the invention, selection of the connection option initiates the running of a network  110  exploration process by the STB  101  in order to detect the remote interface servers. The result of this exploration process is a list of servers in which the user selects the server of particular interest. If the result of the exploration process comprises only a single server, the STB  101  is then directly connected to this sole server without requesting intervention from the user. 
     The connection step  201  comprises a connection message  250  production step, comprising at least one connection identifier  251  and, in a variant, one connection password  252 . This connection message is sent to the server  116 , and more particularly to the application  119 . 1  triggered off by this server  116 . The connection identifier and password are saved in a configuration memory of the STB  101 . In a start-up version, the address of the STB  101  is sufficient as identifier for the server  116 . This address is automatically transmitted to enable a response to the connection message. 
     In a step  202 , the server  116 , and more particularly the application  119 . 1 , receives the message  250 . The server  116  associates a profile to the identifier contained in this message. In more simple terms, this profile is a home-page image, corresponding to a so-called “virtual office”. Such an image, in fact, represents a menu and is divided into zones, each zone being able to be selected, either to continue browsing through the menu or to launch a specific application, such image being sent towards the STB  101 . In a variant, the profile associated with the identifier corresponds to an application, for example, the application  119 . 2 . In such a case, the server  116  runs this application and locally, i.e. on the server  116 . Such running is performed in a display window that the server refrains from displaying on its screen. Nevertheless, the contents of this display window is sent, in the form of a video sequence, towards the STB  101 . A video sequence is a succession of images. Here, it is noted that a virtual office is just one application among many others. 
     In a step  203 , subsequent to the step  202 , the STB  101  receives a video sequence  253  in response to the message  250 . In the step  203 , the STB  101  decodes the sequence  253  and displays the resulting images on the screen  106 . 
     The STB  101  then passes to a step  204 , waiting for an action from the user. An action from the user is a request from an input peripheral of the STB  101 . In our example, the input peripheral is the remote control  108 . If an action is detected by the STB  101 , the said STB passes to a step  205  for producing an action message  254 . The message  254  comprises at least one field  255  containing an identifier of the input peripheral part having been requested. In a variant, the message  254  also comprises a field  256 , describing how the part identified by the field  255  was requested. A message  254  is then for example translated, in natural wording, in the following matter:
         key “1” pressed down, or   key “1” released,   verification device shifted by x+3 and y−2, etc.
 
This list is not restricted as such.
       

     The action message  254  is received by the server  116  in a step  206 . Insofar as the STB  101  displays the video sequence emitted by the server  116 , the server  116  is capable of associating the action message with an image displayed on the screen  106 . In the step  206 , the server  116  thus interprets the action message according to the image displayed on the screen  106  as of when the action message was produced. This moment roughly corresponds to the time when the action message was received by the server  116 . In a variant, an action message comprises a date, which enables to associate the action message with a precise image. Such a date is, for example, a temporal stamp (i.e. the number of milliseconds having passed since 1st Jan. 1970 at the time of producing the action message) or a marker within the video sequence. 
     This interpretation is either:
         (1) the shifting of a verification device, or   (2) activation of an image zone.       

     In the case (1), the server  116  modifies the video sequence  253  in order to take account of the shifting of the verification device. At this point, it is to be noted that the server saves the position of the verification device. Such server is thus capable of modifying this position according to the command messages received. 
     In the case (2), the server undertakes the action corresponding to the zone of the activated image. Let us consider that this refers to a peripheral  112  activation command. This is perfectly possible since, for the server  116 , the peripheral  112  is in fact a local peripheral. In such a case, the server  116  activates the peripheral  112  like any other peripheral connected to the server  116 . For the server  116 , and in relation to peripheral  112 , the STB  101  is transparent. 
     In the step  206 , the server  116  thus produces at least one command message for the peripheral  112 , such command message being transported towards the peripheral  112  via the network  110 , and this regardless of the RUI protocol used by the STB  101  and the server  116  for communicating. Indeed, as already stated, the peripheral  112  is a local peripheral for the server  116 . Any application whatsoever run by the server  116  is thus capable of using the peripheral  112 . It is here noted that the command messages and video sequences are conveyed according to the RUI protocol used for establishing an RUI connexion between the STB  101  and the server  116 . 
     The step  206  is followed by a step  207  in which the server  116  modifies the video sequence in order to inform the user of the STB  101  that the command  254  message has been considered. 
     In a step  208 , identical to the step  203 , the STB  101  displays the modified emptied sequence. The user of the STB  101  thus observes on the screen  106  that his actions have been taken into consideration by the server  116 . The user of the STB  101  also observes such consideration due to activation of the peripheral  112 . 
     Hence, with the invention, it is possible to save data on a recording peripheral connected to the port  111 . With the invention, it is also possible to connect a printer device to the port  111 . Once the printer connected, it is possible to launch, via RUI, a photograph-viewing application through which it is possible to print photographs using the printer connected to the port  111 . With the invention, it is also possible to connect a mass storage peripheral to the port  111 . This peripheral is then considered as a local storage unit by the server  116 . The server  116  is thus capable of launching applications contained on the mass storage peripheral. 
     With the invention, it is thus possible to transport the use of peripherals, and this regardless of the RUI protocol used. This reduces, amongst others, the power and updates required for the thin client device, namely the STB  101 .