WO2006077490A1 - Protection method and system against copying of data in files transmitted by streaming - Google Patents

Protection method and system against copying of data in files transmitted by streaming Download PDF

Info

Publication number
WO2006077490A1
WO2006077490A1 PCT/IB2006/000094 IB2006000094W WO2006077490A1 WO 2006077490 A1 WO2006077490 A1 WO 2006077490A1 IB 2006000094 W IB2006000094 W IB 2006000094W WO 2006077490 A1 WO2006077490 A1 WO 2006077490A1
Authority
WO
WIPO (PCT)
Prior art keywords
receiver
data
media file
application
memory
Prior art date
Application number
PCT/IB2006/000094
Other languages
French (fr)
Inventor
Nicolas Lierman
Original Assignee
Delibello Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Delibello Ltd. filed Critical Delibello Ltd.
Publication of WO2006077490A1 publication Critical patent/WO2006077490A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Definitions

  • This invention relates to the electronics domain and more particularly to the distribution of media files by downloading on request onto a client terminal connected to a server.
  • the media file distribution field is now highly developed and many media files suppliers now propose downloading of music or videos on request.
  • This downloading may consist of sending the complete file to the User terminal through the Internet or using a technique called streaming, in which the user terminal reads the file while it is downloading it. During streaming, the received data are placed in a buffer memory that is read while the next data are received.
  • a first problem that arises in the field of distribution of media files concerns pirating of videos and music downloaded through the Internet. Users who flout copyright can copy the videos and music that they download and distribute them to other users. Therefore suppliers of media files, and particularly paying media files, are faced with the problem of wanting to distribute media files without it being possible for users who download them to copy them.
  • Solutions based on encryption of data making up the file are known in prior art, but users can use many tricks to bypass the encryption.
  • Streaming provides one way of preventing the entire file from being stored in the user terminal and therefore preventing the user from copying the media file, but this solution can be bypassed by users who have applications (for example screen capture) for saving the media file while it is being read on the terminal.
  • a second problem concerns streaming that must be adapted to the connection speed used by the user downloading the file. The entire buffer memory used during streaming may be read before the next data have been received, depending on the connection speed and its reliability, and if the downloading speed is less than the read speed or if downloading is temporarily interrupted or slowed down. Therefore a very slow connection requires the use of a large buffer memory for streaming, or that the complete file should be sent without any streaming.
  • this type of method and/or system should prevent screen captures and access to file data by applications executed on the user terminal.
  • Such a method and/or system should be capable of adapting the size (and therefore the quality) of the file to be sent as a function of the connection speed of the user terminal with the server of the media file supplier, so as to adapt streaming to the connection speed.
  • the purpose of this invention is to overcome some disadvantages of prior art by proposing a method for distribution of at least one media file by a server through a communication network, which prevents the media file from being saved in the storage means of a user terminal, while the terminal processing means are reading the file.
  • a copy protection method for protecting against the copying of data representative of at least one file, called media file, transmitted by at least one terminal, called supplier, to at least one terminal, called receiver, through at least one communication network, using a technology by which a streaming application executed on the processing means of the receiver can read part of the media file before the end of transmission of the entire media file into a memory of the receiver, characterised in that it comprises at least one step of execution, on the processing means of the receiver, of an application of memory verification, recurrently verifying the memory of the receiver, to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, to block the transmission of the media file.
  • the method begins by a connection of the receiver to the supplier, through an application, called browser, executed on the processing means of the receiver, to perform a step of loading data, called installation data, transmitted by the supplier into the receiver, and enabling at least execution of the streaming application on the processing means of the receiver, this streaming application consisting of at least one software part executed within the browser.
  • the step of execution of the application recurrently verifying the memory of the receiver is activated by execution of the streaming application, during the transmission of the data representative of the media file and in that this step consists of detection of any memory accessible to the receiver and a check of the free storage space and/or the used storage space in these memories, to detect if a difference in this storage space between two detections exceeds a predetermined size and, if so, to block transmission of the media file.
  • the method also comprises a step of execution of an application of process verification, for checking applications being executed on the processing means of the receiver, such process verification application enabling to check that only the streaming application is being executed, and if any other application is being executed, to request the user of the receiver to close other applications.
  • the method also comprises a step of execution of an application of pirating verification, for checking the presence of data representative of screen capture pirating applications on the memory of the receiver, by comparing data stored in the memory of the receiver with data representative of a list of information items for identifying known screen capture pirating applications to be detected and, if any such pirating applications have been installed on the receiver, by requesting the user of the receiver to uninstall them.
  • the step of loading installation data, for the software part corresponding to the streaming application is accompanied by loading of software parts corresponding to all or some of the application of memory verification, the application of process verification and the application of pirating verification.
  • the transmission of data representative of the media file comprises at least the following steps: - sending of at least part of the data of the media file to the receiver, by the supplier, through means for communicating on the communication network, - reception of the sent part of data of the media file by the receiver, through means for communicating on the communication network, - reading of the received part of the data of the media file by the streaming application of the receiver, and then presentation of information corresponding to the received and read data to the user of the receiver, through a visual and/or audio interface on the receiver.
  • start of the transmission of the media file and particularly the first reading steps of the first received data of the media file and presentation of information corresponding to the first received and read data are accompanied by at least one step to change the resolution and/or colour sampling properties for colours displayed by the visual and/or audio interface on the receiver and to put the receiver into a so-called slave mode by blocking any command for controlling the receiver except for commands dedicated to the control of the streaming application and by blocking the processing means on the receiver so that no application can be executed except the streaming application and the application of memory verification.
  • the method comprises at least one step for configuring communication between the supplier and the receiver, through the communication network, by data transmission from the supplier to the receiver, in order to update a communication protocol used for the communication between the supplier and receiver terminals, this protocol enabling steps for real time adaptation of the size of data of the media file sent by the supplier to the receiver, as a function of the connection speed of the receiver and as a function of any fluctuations in this connection speed.
  • the method comprises at least one step in which the supplier identifies the user of the receiver.
  • the step in which the part of the data of the media file is received is followed by an additional step in which data representative of information about the user of the receiver are added into the received data, to include this information in information contained in the media file, such that this information is presented to users while the media file is being read, to enable identification of any users who made an analogical copy of the media file.
  • the method comprises a step of temporary storage of the received parts of the data of the media file in a buffer memory of the receiver, the size of this buffer memory being determined during the step for configuring communication between the supplier and the receiver and being a function of the connection speed of the receiver, such temporary storage enabling the application of memory verification to define the maximum allowable size of the variation of free storage spaces and/or storage spaces used in the memory of the receiver.
  • the method is used by a receiver consisting of a computer connected to a supplier consisting of a server, through an Internet type communication network.
  • the method is used by a receiver consisting of a game console connected to a supplier consisting of a server, through an Internet type communication network.
  • Another purpose of this invention is to propose a system for distribution of at least one media file by a server through a communication network to prevent the media file from being recorded in the memory of a user terminal, while the file is being read by the terminal processing means.
  • This purpose is achieved by a copy protection system providing protection against the copying of data representative of at least one file, called media file, transmitted by at least one terminal called supplier, to at least one terminal called receiver, through at least one communication network, using a technology by which a streaming application executed on processing means of the receiver can read part of the media file before the end of transmission of the entire media file into a memory of the receiver, characterised in that the processing means on the receiver comprise means for recurrently verifying the memory of the receiver, so as to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, block the transmission of the media file.
  • the receiver comprises means for communicating on the communication network, enabling an application (2000), called browser and executed on the processing means of the receiver, to set up a connection with the supplier comprising also means for communicating on the communication network, processing means of the supplier enabling management of communication with the receiver and to send data, called installation data, enabling at least execution of the streaming application on the processing means of the receiver, this streaming application consisting of a software part executed within the browser.
  • the means for recurrent verification of the memory of the receiver are activated by execution of the streaming application during transmission of data representative of the media file and in that they comprise detection means of any memory accessible to the receiver and means for checking the free storage space and/or the storage space used in this memory or memories, so as to detect if a difference in this storage space between two detections exceeds a predetermined size and if so, block transmission of the media file.
  • the receiver also comprises means for checking applications being executed on its processing means, so as to check that only the streaming application is being executed, and if any other application is being executed, to request the user of the receiver to close other applications.
  • the receiver also comprises means for checking the presence of screen capture pirating applications on the memory of the receiver, by comparing data stored in the memory of the receiver with data representative of a list of information items for identification of known screen capture pirating applications, so as to detect if such applications were installed on the receiver, and if any such pirating applications have been installed on the receiver, by requesting the user of the receiver to uninstall them.
  • the processing means on the supplier enabling sending of installation data for the software part corresponding to the streaming application is accompanied by sending data supplying the receiver with means for recurrently verify the memory of the receiver, means for checking applications being executed, and means for checking the presence of pirating applications, these data being representative of software parts corresponding to some or all of the parts of an application of recurrent verification of the memory of the receiver, an application of process verification for checking applications being executed on the receiver, and an application of pirating verification for checking the presence of pirating applications installed on the receiver.
  • the processing means of the supplier and the processing means of the receiver enable firstly configuration of the corresponding means for communicating on the communication network means of both the supplier and the receiver, and secondly determination of the connection speed of the receiver to the communication network, the processing means of the supplier including means for adapting, in real time, the size of data transmitted to the receiver as a function of its connection speed and as a function of any fluctuations in this connection speed.
  • the receiver also comprises a visual and/or audio interface, consisting of at least display means, comprises input means consisting of a mouse and a keyboard, and comprises a buffer memory allowing a temporary storage of data received by its means for communicating on the network and allowing the streaming application to read the part of the media file stored in this buffer memory, the reading of the first data received causing at least a change in the resolution and/or colour sampling properties of colours displayed by the display means and putting the receiver into a so-called slave mode in which the keyboard is blocked and only the mouse can be used to make some commands dedicated to a control of the streaming application.
  • a visual and/or audio interface consisting of at least display means, comprises input means consisting of a mouse and a keyboard, and comprises a buffer memory allowing a temporary storage of data received by its means for communicating on the network and allowing the streaming application to read the part of the media file stored in this buffer memory, the reading of the first data received causing at least a change in the resolution and/or colour sampling properties of colours displayed by the display means and
  • the receiver also comprises means for incorporation of data in the media file, to incorporate data representative of information related to the user of the receiver into the information contained in the media file, such that this information is presented to users when the media file is being read, to enable identification of any users who have made an analogical copy of the media file.
  • the receiver is a computer connected to an Internet type communication network. According to another feature, the receiver is a game console connected to an Internet type communication network.
  • FIG. 2 shows a diagram of a series of preliminary steps for the method according to one embodiment of the invention
  • FIG. 3 shows a diagram of a series of preliminary test steps for the method according to one embodiment of the invention
  • FIG. 4 shows a diagram of a series of transmission steps according to one embodiment of the method according to the invention, as they are used in the system according to one embodiment of the invention.
  • the invention relates to a method and a system for protection against copying of data representative of at least one file, called the media file (M), transmitted by at least one supplying terminal, called supplier (1), to at least one receiving terminal, called receiver (2), through at least one communication network (10), according to a technology by which a so-called data streaming application (200), executed on processing means (20) of the receiver (2), reads part of the media file (M) before the end of transmission (90) of the entire media file (M).
  • the method and the system according to the invention can prevent the file (M) from being copied during its streaming (90), thanks to an application (201) checking the memory (22) of the receiver (2), executed (73) on the processing means (20) of the receiver (2).
  • This application (201) is used recurrently during the transmission (90) of the media file (M) to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so to block the transmission (90) of the media file (M).
  • the invention is particularly suitable for distribution of video on request, it should not be limited to transmission by streaming of video and/or audio type files only since it is capable of providing copy protection for any type of data that can be read during its transmission (90) from a supplier (1) to a receiver (2).
  • these streamed data may be representative of a movie, film, clip, advertisement, jingle or music, but also non-limitatively a confidential text that is to be displayed only once on a receiver (2).
  • the streamed data may also non-limitatively represent code lines (for example representative of commands, applets or software parts) that will only be executed once by a program thus executing, during the reception, the commands corresponding to the code it receives.
  • the expression "supplying terminal (1)” or “supplier (1)” here corresponds to any terminal with the means described below and capable of transmitting to the receiver (2) both data composing the media file (M) and data enabling execution, on the receiver (2), of the different applications (200, 201 , 202, 203) described below.
  • the supplier (1) consists of a server distributing media files (M) according to the so-called dynamic streaming technology.
  • This technology sends a file to a receiver (2) through a communication network (for example an Internet type network), this file possibly being read by the receiver (2) before the end of its transmission through the communication network (10).
  • Streaming is said to be dynamic when several copies of the file (M) with different sizes and therefore different qualities are stored on the server, and the server then adapts sending the different qualities of the same media file (M) as a function of the connection speed (101 , 102) of the receiver (2) and as a function of any fluctuations; in this connection speed (throughput of data through the communication network, for instance).
  • the receiver (2) may have a "broadband” (or « wide-band ») type Internet connection (101) and therefore receive data at a higher speed than with a "narrow-band” (or “low pass-band”) connection (102).
  • the connection speed (101 , 102) even with broadband, is not always stable depending on the servers through which the information transits, therefore the server must be able to automatically adapt the quality of the media file (M) sent as a function of variations in the pass-band of the connection (101 , 102) of the receiver (2), so as to avoid interruptions to distribution of the media file (M), in other words reading it on the receiver (2).
  • the supplier (1) includes means (11) for communicating on at least one communication network (10), so as to exchange data with other terminals connected to this communication network (10), at least one memory (12) for storing of data received from other terminals or for storage of data to be sent to other terminals and processing means (13) for processing data stored in the memory (12) and data exchanged using the communication means (11).
  • processing means (13) enable execution of applications for management of data exchanges with other terminals connected to the communication network (10), as described in detail below.
  • the memory (12) of the supplier (1) include several databases related to different data such as data related to users, the different media files to be distributed and software parts enabling communications with the different terminals and software parts enabling execution of applications necessary for implementation of the method according to one embodiment of the invention.
  • Figure 1 non-limitatively shows three databases stored in memory (12) of the supplier (1): one storage database (121) for media files (M), one storage database (122) for information related to users of the system according to the invention and one storage database (123) for software parts necessary for the different terminals to use the invention.
  • a “receiving terminal (2)” or “receiver (2)” here corresponds to any terminal with the means described below and used to receive and/or read data making up the file (M) received from the supplier (1).
  • the receiver (2) consists of a computer connected to the Internet.
  • the receiver (2) consists of a games console connected to the Internet. It is obvious that the receiver (2) may consist in any other type of terminal such as, for example, mobile phones or PDA (Personal Digital Assistant), as long as they are able to receive and read streamed data and further perform the various steps described in detail below.
  • the receiver (2) comprises means (21) for communicating through at least one communication network (10) enabling it to exchange data with other terminals connected to this communication network (10).
  • the means (11 , 21) for communicating on a communication network are well known from prior art and may comprise, for example, a modem for dial up connection or an antenna and various components enabling terrestrial or wireless communications.
  • Such means (11 , 21) for communicating through terrestrial or wireless communication networks constitute communications means and do not need to be described in detail because they are well known and because the type of network used does not constitute an essential feature of invention which can be adapted to any communication network.
  • the receiver (2) also comprises at least a memory (22) for storage of data received from other terminals or for storage of data to be sent to other terminals and processing means (20) for processing data stored in the memory (22) and data exchanged using the communication means (21).
  • the receiver (2) also includes firstly a visual and/or audio interface (23) such as at least display means (23), for example such as a screen (23) containing loudspeakers, and secondly input means, for example such as a keyboard (232) and a mouse (231).
  • a visual and/or audio interface such as at least display means (23), for example such as a screen (23) containing loudspeakers
  • secondly input means for example such as a keyboard (232) and a mouse (231).
  • a joystick of a game console or a remote controller known from prior art also form input means and that any visual and/or audio interface other than a screen with its loudspeakers, would be means equivalent to the visual and/or audio interface (23) described herein.
  • the memory (22) of the receiver (2) may consist of an internal hard disk (220) and/or an external hard disk (222) (for which the free and used storage spaces are conventionally represented in sectors), but they could equally well be compact disk and/or DVD writers (221), or any other removable or fixed device for data storage.
  • a streaming application (200) has to be loaded before the invention can be used.
  • this loading may be done when the receiver (2) is connected to the supplier (1) using their corresponding communication means (21, 11).
  • the processing means (20) on the receiver (2) execute an application (2000) called browser.
  • This browser (2000) enables the user of the receiver (2) to connect to the supplier (1) on which the processing means (13) comprises the means necessary to supply the receiver (2) with the functions necessary for streaming. It is obvious that if there is no browser (2000) on the receiver (2), the supplier (1) could send data enabling execution of a browser (2000) on the receiver (2), for example using an identifier such as an IP (Internet Protocol) address, for example supplied by the user of the receiver (2) to managers of the supplier
  • the browser (2000) includes an environment called « Flash » (developed by the MacromediaTM company), in a manner known in itself.
  • This environment enables the development and execution of commands called « FScommands » ( « Flash Studio » commands) programmed in programming languages called « actionscript 2» and « FSP script » ( « Flash Studio Pro » scripts or commands) specific to the « Flash » environment.
  • These languages can be used to create advanced applications, for example compiled using the « MDM Studio Pro 2 » software into applications executable in a « Flash » environment on a terminal.
  • the original native « Flash » environment only supports four preconfigured commands.
  • the method begins with a series of steps (3) to initialise the receiver (2).
  • Starting (31) the browser (2000) and connecting it to the supplier (1) enable loading (32) of « FSP » classes (« flash studio pro » type classes developed particularly by the MDM TM company) that supply hundreds of « FScommands » useful for accessing the operating system executed on the processing means (20) of the receiver (2).
  • « FSP » classes can be used to define software parts that can be executed within the « Flash » environment on the receiver (2).
  • These « FScommands » are particularly useful to access the register of the operating system and to check the memory (22) of the receiver (2).
  • Commands loaded on the receiver (2) can be used to load a streaming application (200) on the receiver (2) that will read media files (M) as they are being transmitted by the supplier (1) to the receiver (2) through the communication network (10) using the streaming technology.
  • These commands also enable definition (33) of particular objects for collecting information necessary for use of the method according to one embodiment of the invention. The data contained in these objects will be lost when the streaming application (200) is stopped either by the user or by the operating system.
  • a first object thus defined comprises information related to the user (user name, password, unique identifier, etc.).
  • a second object called the « system » object, comprises information related to specifications of the operating system on the receiver (2) (for example version of WINDOWS®, operating system administrator, language, screen specifications, applications directory, program files, system folder, desktop folder, etc.).
  • a third object called the « player » object, contains information about the different media files (M) (films, for instance) selected by the user.
  • the browser (2000) executed on the processing means (20) of the receiver (2) may for example have a streaming application (200) installed on it to read the files (M) while they are transmitted to the receiver (2), in accordance with the streaming technology.
  • a streaming application (200) installed on it to read the files (M) while they are transmitted to the receiver (2), in accordance with the streaming technology.
  • different applications 201 , 202, 203 that may correspond to software parts can be executed within the environment of the browser (2000) or by the streaming application (200) loaded in the receiver (2). Specific copy protection applications of this type for protecting data of the media files (M) will be described later.
  • the supplier (1) may consist of a server enabling streaming or a terminal of a contents supplier connected to a server enabling streaming.
  • the server of the supplier (1) and the receiver (2) advantageously use a particular « RTMP » (« Routing Table Maintenance Protocol ») protocol which is different from protocols usually used for streaming.
  • This particular protocol can apparently prevent copying of data transmitted by existing pirating software which mostly only manage protocols conventionally used for streaming, for example such as the « HTTP » (« Hyper Text Transfer Protocol »), « RTSP » (« Real-Time Streaming Protocol) protocols, etc.
  • the server used for streaming thus communicates with the receiver (2) and possibly with the supplier (1) of the content supplier using the MacromediaTM remoting protocol, due to execution of a particular application, for example of the « macromedia Coldfusion 6 enterprise » type, on the server or on the processing means (13) of the supplier (1), if it is the server.
  • Data transmitted according to the streaming technology are sent using the RTMP protocol and server applications, for example applications of the « SSA » ( « Server Side Applets ») type which allow recording of events that occur during data transmissions.
  • remoting classes are imported into the receiver (2) using a step (34) of updating of the communication protocol. Due to this update (34), a step (35) for configuring communication between the supplier (1) and the receiver (2) allows to configure a remoting service defining a specific service that can be used by the receiver (2).
  • This service provided by the server is capable of proposing different predetermined functions due to the update step (34) and the configuration step (35).
  • a new so-called « service » object is then created in the receiver (2) to represent a reference to a specific remoting service and to the proposed functions.
  • This « service » object will then be used for subsequent communications with the server.
  • the series (3) of steps to initialise the receiver (2) is then terminated by a system detection step (36) during which one of the « FScommands » loaded in step (32) detects specifications of the operating system on the receiver (2) and updates the « system » object by searching for different information described above in the description of this « system » object.
  • the receiver (2) makes use of the remoting classes described above to set up a first communication with the server such that the quality of the connection (101, 102) of the receiver (2) can be tested.
  • a series (4) of connection initialisation steps consists of a first step (41) to send a connection request from the receiver (2) to the supplier (1) (or the server), followed by a step to display a message indicating the connection status. If the server does not send a response (42) to the receiver (2) within a given time, the connection is considered to be either cut off or too slow.
  • the display step then consists of displaying (43) an error message to inform the user that his connection has been cut off or is too slow to enable streaming and possibly to give the user the option of returning to the step (41) to send a connection request.
  • the displayed message indicates that the connection is successful and the receiver (2) displays a menu enabling a series (5) of steps to identify the user of the receiver (2).
  • the user then performs an input step (51) on the input means (231, 323) of the receiver (2), to input his user name and password so as to load his personal settings if any, and his films selected on previous occasions.
  • This input step (51) may also allow the user to create a new user profile in the users' database (122) stored in the memory (12) of the supplier (1).
  • the receiver (2) sends (52) data representative of this information to the supplier (1).
  • the supplier (1) activates a specific function enabling authentication (54) of the received data.
  • this authentication (54) may consist of a conversion of the user name and the password into lower case characters, followed by encryption of the password using the user name.
  • the user name may, for example, be used as an encryption seed.
  • the supplier (1) checks the result of this encryption with data contained in the user database (122). If the encryption result is not located in the users' database (122), the supplier (1) sends an error message to the user on the client terminal (receiver) to inform him that the input password and user name are incorrect or invalid and prompts the user to try again. If the authentication (54) is successful, the supplier (1) sends (55) a unique user identifier to the receiver (2).
  • This user identifier may be used to make all subsequent communications with the supplier (1).
  • the step (55) of sending the identifier may be accompanied by a step (56) to send other useful information to the user, for example such as information related to the selection and/or rental and/or purchase of media files (M) that the user can select, rent or purchase using the services provided by the supplier (1).
  • M media files
  • the supplier (1) then sends data to the receiver (2) for enabling the use of a series (6) of steps to select media files (M).
  • a selection menu (61) is displayed on the display means (23) of the receiver (2).
  • This selection menu (61) will include at least one list of media files (M) available in at least one storage database (121) accessible by the supplier (1).
  • the user then makes a selection (62) of at least one available media file (M).
  • the receiver (2) can then record (63) details of the selected file in the « player » object configured in step (33) during initialisation of the receiver (2).
  • the supplier (1) may also record this information in at least one database among the film storage database (121) or the user information storage database (122).
  • the step (32) for loading « FSP » classes was used to load commands that can be executed by the receiver (2).
  • this step (32) was also used to load software parts into the receiver (2), as mentioned above, so that the software parts can be executed on the processing means (20) of the receiver (2).
  • These software parts correspond to applications (201 , 202 and 203) enabling use of the series (7) of copy protection tests for the file (M).
  • a first series (71) of steps is used to test the presence of applications being executed on the processing means (20) of the receiver (2) and, if applicable, to request the user to close these applications before authorising start of transmission (90) of the file (M) by streaming.
  • an application (202) of process verification is executed for checking other applications that may be executed on the processing means (20) of the receiver (2).
  • This application (202) of process verification can thus be used to check the presence of active applications that could hinder reading of the file (M) and/or security of data in file (M).
  • This application (202) of process verification performs a check step (711) to check active applications. If the application (202) determines (712) that the streaming application (200) (for example within which it is being executed) is not the only application being executed on the processing means (20) of the receiver (2), it displays (713) an error message. The user of the receiver (2) is then prompted to close (714) all active applications and to try again.
  • the application (202) of process verification determines (712) that the streaming application (200) is actually the only application being executed, it activates the application (203) of pirating verification which checks the presence of screen capture pirating software on the memory (22) of the receiver (2).
  • the application (203) of pirating verification performs a series (72) of test steps to determine if there is any pirating software in the memory (22) of the receiver (2).
  • the application (203) of pirating verification checks the presence of screen capture pirating applications by first enabling a loading (721) of the most recent data available for the definition of pirating software components to be looked for on the receiver (2). This loading (721) step enables a definition (722) of a list of pirating software components to be looked for.
  • the application (203) searches (723) for components defined in this list to produce a list of pirating software components installed on the receiver (2).
  • a step (724) to compare the list of components to be looked for and installed components enables the application (203) to determine (725) if there are any such pirating software on the memory (22) of the receiver (2). If there is at least one such pirating software installed on the receiver (2), an error message (726) is displayed to demand that the user of the receiver (2) uninstalls this application (727). After this uninstallation (727), if the removal is done, the application (203) returns to the step (722) to define a list of pirating software components to be looked for in the memory (22) of the receiver (2).
  • the application (203) activates the application (201) of recurrent memory verification which checks the memory (22) of the receiver (2) to carry out a series (73) of recurrent test steps of the memories of the receiver (2).
  • This application (201) of memory verification of the receiving terminal is used first to check the state of the different memory (22) accessible by the receiver (2) once before starting the transmission (90) of the file (M).
  • a first step (731) to detect memories accessible by the receiver (2) determines the different storage means in which the receiver (2) could copy data of the media file (M).
  • these storage means could consist of internal hard disks (220) in the receiver (2), external hard disks (222), and compact disk and/or DVD engravers (221) or any other fixed or removable storage means.
  • a step (732) to check memories determines the free storage space and/or the used storage space on these memories (22).
  • An additional step (733) checks whether or not the transmission (90) of the file (M) is taking place. If the transmission (90) of the file (M) is not in progress, the application (201) checking the memory (22) of the receiver (2) does not check whether the storage space was modified since the previous detection, but it activates the streaming application (200) to request transmission (90) of the file (M) by the supplier (1) and begins reading it on the receiver (2).
  • the streaming application (200) makes a change (81) of the resolution and/or colour sampling properties of colours displayed by the display means (23) of the receiver (2). This change prevents any screen capture applications that escaped from the previous tests from recording information displayed by the receiver (2).
  • the read application (200) (or player) also makes the receiver (2) switch (82) to a so-called slave mode, in which any command from the receiver (2) are blocked, except for commands dedicated to control of the streaming application (200).
  • the slave mode also blocks off processing means (20) of the receiver (2) to enable solely execution of the streaming application (200) and the application (201) of memory verification. This so- called slave mode corresponds to the « directX » mode for example used in video games, in a manner known in itself.
  • this slave mode is capable of deactivating the keyboard (232) and prevents the user from controlling the receiver (2) other than with the mouse (231).
  • This slave mode prevents the user from accessing other functions of his operating system, unless he stops the streaming application (200).
  • the application (201) of memory verification of the receiver (2) remains active at the same time as the streaming application (200).
  • the application (201) of memory verification of the receiver (2) remains active and checks any variations of the storage space in the memory (22) of the receiver (2) and if required, blocks the transmission (90).
  • this application (201) will be run recurrently at a predetermined frequency so as to regularly check that the receiver (2) does not have any new memory (22) and that the storage space available in the different memory (22) has not changed since the last verification by more than a determined value of the maximum authorised variation.
  • This maximum allowable variation value may be fixed in advance for example as a function of parameters determined by suppliers or could be determined dynamically as a function of the connection speed (101 , 102) of the receiver (2).
  • Figure 4 represents transmission steps (90) of data
  • the streaming application (200) requires that the data making up the media file (M) are sent by the supplier (1) (hereafter called the server).
  • the server sends (91) at least part of the data making up the media file (M) to the receiver (2), through the communication network (10), using the communication means (11).
  • Reception (92) of part of the data making up the media file (10) by the communication means (21) of the receiver (2) enables storage of received data in a buffer memory (T) accessible to the streaming application (200) of the receiver (2).
  • This buffer memory (T) will have a size adapted to the connection speed (101, 102) of the receiver (2), in a manner known in itself. For example, the size of this buffer memory (T) could enable the application (201) of memory verification to determine the value of the maximum allowable variation of the storage place available in the memory (22).
  • the streaming technology used here can be the dynamic streaming technology, in the sense that the size of the parts of the file (M) sent to the receiver (2) will be adapted in real time as a function of the connection speed (101, 102) of the receiver (2) and as a function of any fluctuations in this connection speed.
  • Temporary storage of parts of the file (M) received in the buffer memory (T) are used by the data streaming application (200) on the receiver (2), for reading (93) the part of data received by the communication means (21).
  • This application (200) then presents (94), to the user of the receiver (2), the information corresponding to the received and read data, through the visual and/or audio interface (23) of the receiver (2).
  • This read step (93) and this presentation step (94) of the received data take place during reception of the next data in the file (M) by the communication means (21) of the receiver (2) in a manner known itself, but also in a new and inventive manner, during the recurrent verification of the storage place present in the memory (22) of the receiver (2).

Abstract

This invention relates to a method and a system for protection against the copying of data representative of at least one file, called media file (M), transmitted by at least one terminal, called supplier (1), to at least one terminal, called receiver (2), through at least one communication network (10), using a technology by which a streaming application (200) executed on the processing means (20) of the receiver (2) can read part of the media file (M) before the end of transmission (90) of the entire media file (M) into a memory (22) of the receiver (2), characterised in that it comprises at least one step (73) of execution, on the processing means (20) of the receiver (2), of an application (201) of memory verification, recurrently verifying the memory (22) of the receiver (2), to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, to block the transmission (90) of the media file (M).

Description

Protection method and system against copying of data in files transmitted by streaming
This invention relates to the electronics domain and more particularly to the distribution of media files by downloading on request onto a client terminal connected to a server.
The media file distribution field is now highly developed and many media files suppliers now propose downloading of music or videos on request. This downloading may consist of sending the complete file to the User terminal through the Internet or using a technique called streaming, in which the user terminal reads the file while it is downloading it. During streaming, the received data are placed in a buffer memory that is read while the next data are received. A first problem that arises in the field of distribution of media files concerns pirating of videos and music downloaded through the Internet. Users who flout copyright can copy the videos and music that they download and distribute them to other users. Therefore suppliers of media files, and particularly paying media files, are faced with the problem of wanting to distribute media files without it being possible for users who download them to copy them. Solutions based on encryption of data making up the file are known in prior art, but users can use many tricks to bypass the encryption. Streaming provides one way of preventing the entire file from being stored in the user terminal and therefore preventing the user from copying the media file, but this solution can be bypassed by users who have applications (for example screen capture) for saving the media file while it is being read on the terminal. A second problem concerns streaming that must be adapted to the connection speed used by the user downloading the file. The entire buffer memory used during streaming may be read before the next data have been received, depending on the connection speed and its reliability, and if the downloading speed is less than the read speed or if downloading is temporarily interrupted or slowed down. Therefore a very slow connection requires the use of a large buffer memory for streaming, or that the complete file should be sent without any streaming.
In this context, it is useful to propose a method and/or system for the distribution of media files for protecting data in media files sent to users against copying (pirating) and for adapting streaming to the connection speed of the user downloading the media file. Therefore if it is to prevent copying, this type of method and/or system should prevent screen captures and access to file data by applications executed on the user terminal. Such a method and/or system should be capable of adapting the size (and therefore the quality) of the file to be sent as a function of the connection speed of the user terminal with the server of the media file supplier, so as to adapt streaming to the connection speed.
The purpose of this invention is to overcome some disadvantages of prior art by proposing a method for distribution of at least one media file by a server through a communication network, which prevents the media file from being saved in the storage means of a user terminal, while the terminal processing means are reading the file.
This purpose is achieved by a copy protection method for protecting against the copying of data representative of at least one file, called media file, transmitted by at least one terminal, called supplier, to at least one terminal, called receiver, through at least one communication network, using a technology by which a streaming application executed on the processing means of the receiver can read part of the media file before the end of transmission of the entire media file into a memory of the receiver, characterised in that it comprises at least one step of execution, on the processing means of the receiver, of an application of memory verification, recurrently verifying the memory of the receiver, to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, to block the transmission of the media file. According to another feature, the method begins by a connection of the receiver to the supplier, through an application, called browser, executed on the processing means of the receiver, to perform a step of loading data, called installation data, transmitted by the supplier into the receiver, and enabling at least execution of the streaming application on the processing means of the receiver, this streaming application consisting of at least one software part executed within the browser.
According to another feature, the step of execution of the application recurrently verifying the memory of the receiver is activated by execution of the streaming application, during the transmission of the data representative of the media file and in that this step consists of detection of any memory accessible to the receiver and a check of the free storage space and/or the used storage space in these memories, to detect if a difference in this storage space between two detections exceeds a predetermined size and, if so, to block transmission of the media file.
According to another feature, the method also comprises a step of execution of an application of process verification, for checking applications being executed on the processing means of the receiver, such process verification application enabling to check that only the streaming application is being executed, and if any other application is being executed, to request the user of the receiver to close other applications. According to another feature, the method also comprises a step of execution of an application of pirating verification, for checking the presence of data representative of screen capture pirating applications on the memory of the receiver, by comparing data stored in the memory of the receiver with data representative of a list of information items for identifying known screen capture pirating applications to be detected and, if any such pirating applications have been installed on the receiver, by requesting the user of the receiver to uninstall them.
According to another feature, the step of loading installation data, for the software part corresponding to the streaming application, is accompanied by loading of software parts corresponding to all or some of the application of memory verification, the application of process verification and the application of pirating verification.
According to another feature, the transmission of data representative of the media file comprises at least the following steps: - sending of at least part of the data of the media file to the receiver, by the supplier, through means for communicating on the communication network, - reception of the sent part of data of the media file by the receiver, through means for communicating on the communication network, - reading of the received part of the data of the media file by the streaming application of the receiver, and then presentation of information corresponding to the received and read data to the user of the receiver, through a visual and/or audio interface on the receiver. According to another feature, start of the transmission of the media file and particularly the first reading steps of the first received data of the media file and presentation of information corresponding to the first received and read data are accompanied by at least one step to change the resolution and/or colour sampling properties for colours displayed by the visual and/or audio interface on the receiver and to put the receiver into a so-called slave mode by blocking any command for controlling the receiver except for commands dedicated to the control of the streaming application and by blocking the processing means on the receiver so that no application can be executed except the streaming application and the application of memory verification.
According to another feature, the method comprises at least one step for configuring communication between the supplier and the receiver, through the communication network, by data transmission from the supplier to the receiver, in order to update a communication protocol used for the communication between the supplier and receiver terminals, this protocol enabling steps for real time adaptation of the size of data of the media file sent by the supplier to the receiver, as a function of the connection speed of the receiver and as a function of any fluctuations in this connection speed.
According to another feature, the method comprises at least one step in which the supplier identifies the user of the receiver. According to another feature, the step in which the part of the data of the media file is received, is followed by an additional step in which data representative of information about the user of the receiver are added into the received data, to include this information in information contained in the media file, such that this information is presented to users while the media file is being read, to enable identification of any users who made an analogical copy of the media file.
According to another feature, the method comprises a step of temporary storage of the received parts of the data of the media file in a buffer memory of the receiver, the size of this buffer memory being determined during the step for configuring communication between the supplier and the receiver and being a function of the connection speed of the receiver, such temporary storage enabling the application of memory verification to define the maximum allowable size of the variation of free storage spaces and/or storage spaces used in the memory of the receiver. According to another feature, the method is used by a receiver consisting of a computer connected to a supplier consisting of a server, through an Internet type communication network.
According to another feature, the method is used by a receiver consisting of a game console connected to a supplier consisting of a server, through an Internet type communication network.
Another purpose of this invention is to propose a system for distribution of at least one media file by a server through a communication network to prevent the media file from being recorded in the memory of a user terminal, while the file is being read by the terminal processing means. This purpose is achieved by a copy protection system providing protection against the copying of data representative of at least one file, called media file, transmitted by at least one terminal called supplier, to at least one terminal called receiver, through at least one communication network, using a technology by which a streaming application executed on processing means of the receiver can read part of the media file before the end of transmission of the entire media file into a memory of the receiver, characterised in that the processing means on the receiver comprise means for recurrently verifying the memory of the receiver, so as to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, block the transmission of the media file.
According to another feature, the receiver comprises means for communicating on the communication network, enabling an application (2000), called browser and executed on the processing means of the receiver, to set up a connection with the supplier comprising also means for communicating on the communication network, processing means of the supplier enabling management of communication with the receiver and to send data, called installation data, enabling at least execution of the streaming application on the processing means of the receiver, this streaming application consisting of a software part executed within the browser.
According to another feature, the means for recurrent verification of the memory of the receiver are activated by execution of the streaming application during transmission of data representative of the media file and in that they comprise detection means of any memory accessible to the receiver and means for checking the free storage space and/or the storage space used in this memory or memories, so as to detect if a difference in this storage space between two detections exceeds a predetermined size and if so, block transmission of the media file. According to another feature, the receiver also comprises means for checking applications being executed on its processing means, so as to check that only the streaming application is being executed, and if any other application is being executed, to request the user of the receiver to close other applications.
According to another feature, the receiver also comprises means for checking the presence of screen capture pirating applications on the memory of the receiver, by comparing data stored in the memory of the receiver with data representative of a list of information items for identification of known screen capture pirating applications, so as to detect if such applications were installed on the receiver, and if any such pirating applications have been installed on the receiver, by requesting the user of the receiver to uninstall them.
According to another feature, the processing means on the supplier enabling sending of installation data for the software part corresponding to the streaming application is accompanied by sending data supplying the receiver with means for recurrently verify the memory of the receiver, means for checking applications being executed, and means for checking the presence of pirating applications, these data being representative of software parts corresponding to some or all of the parts of an application of recurrent verification of the memory of the receiver, an application of process verification for checking applications being executed on the receiver, and an application of pirating verification for checking the presence of pirating applications installed on the receiver.
According to another feature, the processing means of the supplier and the processing means of the receiver enable firstly configuration of the corresponding means for communicating on the communication network means of both the supplier and the receiver, and secondly determination of the connection speed of the receiver to the communication network, the processing means of the supplier including means for adapting, in real time, the size of data transmitted to the receiver as a function of its connection speed and as a function of any fluctuations in this connection speed. According to another feature, the receiver also comprises a visual and/or audio interface, consisting of at least display means, comprises input means consisting of a mouse and a keyboard, and comprises a buffer memory allowing a temporary storage of data received by its means for communicating on the network and allowing the streaming application to read the part of the media file stored in this buffer memory, the reading of the first data received causing at least a change in the resolution and/or colour sampling properties of colours displayed by the display means and putting the receiver into a so-called slave mode in which the keyboard is blocked and only the mouse can be used to make some commands dedicated to a control of the streaming application.
According to another feature, the receiver also comprises means for incorporation of data in the media file, to incorporate data representative of information related to the user of the receiver into the information contained in the media file, such that this information is presented to users when the media file is being read, to enable identification of any users who have made an analogical copy of the media file.
According to another feature, the receiver is a computer connected to an Internet type communication network. According to another feature, the receiver is a game console connected to an Internet type communication network.
Other features and advantages of this invention will become clearer after reading the following description with reference to the attached drawings in which: - Figure 1 shows a diagram of the system according to one embodiment of the invention,
- Figure 2 shows a diagram of a series of preliminary steps for the method according to one embodiment of the invention,
- Figure 3 shows a diagram of a series of preliminary test steps for the method according to one embodiment of the invention, - Figure 4 shows a diagram of a series of transmission steps according to one embodiment of the method according to the invention, as they are used in the system according to one embodiment of the invention.
The invention relates to a method and a system for protection against copying of data representative of at least one file, called the media file (M), transmitted by at least one supplying terminal, called supplier (1), to at least one receiving terminal, called receiver (2), through at least one communication network (10), according to a technology by which a so-called data streaming application (200), executed on processing means (20) of the receiver (2), reads part of the media file (M) before the end of transmission (90) of the entire media file (M). The method and the system according to the invention can prevent the file (M) from being copied during its streaming (90), thanks to an application (201) checking the memory (22) of the receiver (2), executed (73) on the processing means (20) of the receiver (2). This application (201) is used recurrently during the transmission (90) of the media file (M) to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so to block the transmission (90) of the media file (M). Although the invention is particularly suitable for distribution of video on request, it should not be limited to transmission by streaming of video and/or audio type files only since it is capable of providing copy protection for any type of data that can be read during its transmission (90) from a supplier (1) to a receiver (2). Naturally, these streamed data may be representative of a movie, film, clip, advertisement, jingle or music, but also non-limitatively a confidential text that is to be displayed only once on a receiver (2). The streamed data may also non-limitatively represent code lines (for example representative of commands, applets or software parts) that will only be executed once by a program thus executing, during the reception, the commands corresponding to the code it receives. The expression "supplying terminal (1)" or "supplier (1)" here corresponds to any terminal with the means described below and capable of transmitting to the receiver (2) both data composing the media file (M) and data enabling execution, on the receiver (2), of the different applications (200, 201 , 202, 203) described below. In one non-limitative preferred embodiment of the invention, the supplier (1) consists of a server distributing media files (M) according to the so-called dynamic streaming technology. This technology sends a file to a receiver (2) through a communication network (for example an Internet type network), this file possibly being read by the receiver (2) before the end of its transmission through the communication network (10). Streaming is said to be dynamic when several copies of the file (M) with different sizes and therefore different qualities are stored on the server, and the server then adapts sending the different qualities of the same media file (M) as a function of the connection speed (101 , 102) of the receiver (2) and as a function of any fluctuations; in this connection speed (throughput of data through the communication network, for instance). For example, the receiver (2) may have a "broadband" (or « wide-band ») type Internet connection (101) and therefore receive data at a higher speed than with a "narrow-band" (or "low pass-band") connection (102). However, the connection speed (101 , 102), even with broadband, is not always stable depending on the servers through which the information transits, therefore the server must be able to automatically adapt the quality of the media file (M) sent as a function of variations in the pass-band of the connection (101 , 102) of the receiver (2), so as to avoid interruptions to distribution of the media file (M), in other words reading it on the receiver (2). The supplier (1) includes means (11) for communicating on at least one communication network (10), so as to exchange data with other terminals connected to this communication network (10), at least one memory (12) for storing of data received from other terminals or for storage of data to be sent to other terminals and processing means (13) for processing data stored in the memory (12) and data exchanged using the communication means (11). These processing means (13) enable execution of applications for management of data exchanges with other terminals connected to the communication network (10), as described in detail below. For example, the memory (12) of the supplier (1) include several databases related to different data such as data related to users, the different media files to be distributed and software parts enabling communications with the different terminals and software parts enabling execution of applications necessary for implementation of the method according to one embodiment of the invention. Therefore, Figure 1 non-limitatively shows three databases stored in memory (12) of the supplier (1): one storage database (121) for media files (M), one storage database (122) for information related to users of the system according to the invention and one storage database (123) for software parts necessary for the different terminals to use the invention.
A "receiving terminal (2)" or "receiver (2)" here corresponds to any terminal with the means described below and used to receive and/or read data making up the file (M) received from the supplier (1). In one embodiment of the invention, the receiver (2) consists of a computer connected to the Internet. In another embodiment of the invention, the receiver (2) consists of a games console connected to the Internet. It is obvious that the receiver (2) may consist in any other type of terminal such as, for example, mobile phones or PDA (Personal Digital Assistant), as long as they are able to receive and read streamed data and further perform the various steps described in detail below. The receiver (2) comprises means (21) for communicating through at least one communication network (10) enabling it to exchange data with other terminals connected to this communication network (10). The means (11 , 21) for communicating on a communication network are well known from prior art and may comprise, for example, a modem for dial up connection or an antenna and various components enabling terrestrial or wireless communications. Such means (11 , 21) for communicating through terrestrial or wireless communication networks constitute communications means and do not need to be described in detail because they are well known and because the type of network used does not constitute an essential feature of invention which can be adapted to any communication network. The receiver (2) also comprises at least a memory (22) for storage of data received from other terminals or for storage of data to be sent to other terminals and processing means (20) for processing data stored in the memory (22) and data exchanged using the communication means (21). These processing means (20) enable execution of applications managing data exchanged with other terminals connected to the communication network (10) and applications for checking operations performed on the receiver (2) as described in detail below. The receiver (2) also includes firstly a visual and/or audio interface (23) such as at least display means (23), for example such as a screen (23) containing loudspeakers, and secondly input means, for example such as a keyboard (232) and a mouse (231). It is obvious that a joystick of a game console or a remote controller known from prior art also form input means and that any visual and/or audio interface other than a screen with its loudspeakers, would be means equivalent to the visual and/or audio interface (23) described herein. As shown in figure 1 , the memory (22) of the receiver (2) may consist of an internal hard disk (220) and/or an external hard disk (222) (for which the free and used storage spaces are conventionally represented in sectors), but they could equally well be compact disk and/or DVD writers (221), or any other removable or fixed device for data storage.
A streaming application (200) has to be loaded before the invention can be used. Advantageously, this loading may be done when the receiver (2) is connected to the supplier (1) using their corresponding communication means (21, 11). In one embodiment of the invention, the processing means (20) on the receiver (2) execute an application (2000) called browser. This browser (2000) enables the user of the receiver (2) to connect to the supplier (1) on which the processing means (13) comprises the means necessary to supply the receiver (2) with the functions necessary for streaming. It is obvious that if there is no browser (2000) on the receiver (2), the supplier (1) could send data enabling execution of a browser (2000) on the receiver (2), for example using an identifier such as an IP (Internet Protocol) address, for example supplied by the user of the receiver (2) to managers of the supplier
(D- The use of the method according to the invention by the system shown in figure 1 will now be described with reference to Figure 2. In one embodiment of the invention, the browser (2000) includes an environment called « Flash » (developed by the Macromedia™ company), in a manner known in itself. This environment enables the development and execution of commands called « FScommands » (« Flash Studio » commands) programmed in programming languages called « actionscript 2» and « FSP script » (« Flash Studio Pro » scripts or commands) specific to the « Flash » environment. These languages can be used to create advanced applications, for example compiled using the « MDM Studio Pro 2 » software into applications executable in a « Flash » environment on a terminal. The original native « Flash » environment only supports four preconfigured commands. The method begins with a series of steps (3) to initialise the receiver (2). Starting (31) the browser (2000) and connecting it to the supplier (1) enable loading (32) of « FSP » classes (« flash studio pro » type classes developed particularly by the MDM ™ company) that supply hundreds of « FScommands » useful for accessing the operating system executed on the processing means (20) of the receiver (2). These « FSP » classes can be used to define software parts that can be executed within the « Flash » environment on the receiver (2). These « FScommands » are particularly useful to access the register of the operating system and to check the memory (22) of the receiver (2). It is obvious that although the invention is described as using a « Flash » environment by Macromedia™, its use could be supported by other environments in different programming languages, for example such as the JAVA™ object oriented language. Commands loaded on the receiver (2) can be used to load a streaming application (200) on the receiver (2) that will read media files (M) as they are being transmitted by the supplier (1) to the receiver (2) through the communication network (10) using the streaming technology. These commands also enable definition (33) of particular objects for collecting information necessary for use of the method according to one embodiment of the invention. The data contained in these objects will be lost when the streaming application (200) is stopped either by the user or by the operating system. We will consider herein three particular objects, for non-limitative illustrative purposes. A first object thus defined, called the « user » object, comprises information related to the user (user name, password, unique identifier, etc.). A second object, called the « system » object, comprises information related to specifications of the operating system on the receiver (2) (for example version of WINDOWS®, operating system administrator, language, screen specifications, applications directory, program files, system folder, desktop folder, etc.). A third object, called the « player » object, contains information about the different media files (M) (films, for instance) selected by the user. Once this configuration (33) of the three objects has been made, the method requires a configuration of the communication between the receiver (2) and the supplier (1). The browser (2000) executed on the processing means (20) of the receiver (2) may for example have a streaming application (200) installed on it to read the files (M) while they are transmitted to the receiver (2), in accordance with the streaming technology. When classes have been loaded (32) into the receiver (2), different applications (201 , 202, 203) that may correspond to software parts can be executed within the environment of the browser (2000) or by the streaming application (200) loaded in the receiver (2). Specific copy protection applications of this type for protecting data of the media files (M) will be described later.
The supplier (1) may consist of a server enabling streaming or a terminal of a contents supplier connected to a server enabling streaming. According to one embodiment of the invention, the server of the supplier (1) and the receiver (2) advantageously use a particular « RTMP » (« Routing Table Maintenance Protocol ») protocol which is different from protocols usually used for streaming. This particular protocol can apparently prevent copying of data transmitted by existing pirating software which mostly only manage protocols conventionally used for streaming, for example such as the « HTTP » (« Hyper Text Transfer Protocol »), « RTSP » (« Real-Time Streaming Protocol) protocols, etc. The server used for streaming thus communicates with the receiver (2) and possibly with the supplier (1) of the content supplier using the Macromedia™ remoting protocol, due to execution of a particular application, for example of the « macromedia Coldfusion 6 enterprise » type, on the server or on the processing means (13) of the supplier (1), if it is the server. Data transmitted according to the streaming technology are sent using the RTMP protocol and server applications, for example applications of the « SSA » (« Server Side Applets ») type which allow recording of events that occur during data transmissions.
To enable communications between the supplier (1) and the receiver (2) according to the particular protocol described above, data relating to classes defining the protocol used, and stored in the memory (22) of the receiver (2), have to be updated. To allow the use of the object-oriented programming language of the « actionscript 2 » standard, remoting classes are imported into the receiver (2) using a step (34) of updating of the communication protocol. Due to this update (34), a step (35) for configuring communication between the supplier (1) and the receiver (2) allows to configure a remoting service defining a specific service that can be used by the receiver (2). This service provided by the server is capable of proposing different predetermined functions due to the update step (34) and the configuration step (35). A new so-called « service » object is then created in the receiver (2) to represent a reference to a specific remoting service and to the proposed functions. This « service » object will then be used for subsequent communications with the server. The series (3) of steps to initialise the receiver (2) is then terminated by a system detection step (36) during which one of the « FScommands » loaded in step (32) detects specifications of the operating system on the receiver (2) and updates the « system » object by searching for different information described above in the description of this « system » object.
The receiver (2) makes use of the remoting classes described above to set up a first communication with the server such that the quality of the connection (101, 102) of the receiver (2) can be tested. Thus, a series (4) of connection initialisation steps consists of a first step (41) to send a connection request from the receiver (2) to the supplier (1) (or the server), followed by a step to display a message indicating the connection status. If the server does not send a response (42) to the receiver (2) within a given time, the connection is considered to be either cut off or too slow. The display step then consists of displaying (43) an error message to inform the user that his connection has been cut off or is too slow to enable streaming and possibly to give the user the option of returning to the step (41) to send a connection request. If the response (42) of the server takes place within the allocated time, the displayed message indicates that the connection is successful and the receiver (2) displays a menu enabling a series (5) of steps to identify the user of the receiver (2). The user then performs an input step (51) on the input means (231, 323) of the receiver (2), to input his user name and password so as to load his personal settings if any, and his films selected on previous occasions. This input step (51) may also allow the user to create a new user profile in the users' database (122) stored in the memory (12) of the supplier (1). When the user selects a choice to validate the input name and password, the receiver (2) sends (52) data representative of this information to the supplier (1). At reception (53) of these data sent by the receiver (2), the supplier (1) activates a specific function enabling authentication (54) of the received data. For example, this authentication (54) may consist of a conversion of the user name and the password into lower case characters, followed by encryption of the password using the user name. The user name may, for example, be used as an encryption seed. Finally, the supplier (1) checks the result of this encryption with data contained in the user database (122). If the encryption result is not located in the users' database (122), the supplier (1) sends an error message to the user on the client terminal (receiver) to inform him that the input password and user name are incorrect or invalid and prompts the user to try again. If the authentication (54) is successful, the supplier (1) sends (55) a unique user identifier to the receiver (2). This user identifier may be used to make all subsequent communications with the supplier (1). Depending on the content supplier, the step (55) of sending the identifier may be accompanied by a step (56) to send other useful information to the user, for example such as information related to the selection and/or rental and/or purchase of media files (M) that the user can select, rent or purchase using the services provided by the supplier (1).
The supplier (1) then sends data to the receiver (2) for enabling the use of a series (6) of steps to select media files (M). A selection menu (61) is displayed on the display means (23) of the receiver (2). Naturally, the manner in which the main menu is organised could depend on the content supplier who offers the services supported by the invention. This selection menu (61) will include at least one list of media files (M) available in at least one storage database (121) accessible by the supplier (1). The user then makes a selection (62) of at least one available media file (M). The receiver (2) can then record (63) details of the selected file in the « player » object configured in step (33) during initialisation of the receiver (2). The supplier (1) may also record this information in at least one database among the film storage database (121) or the user information storage database (122). After this series (6) of selection steps, a series (7) of protection test steps for the file (M) is carried out before the file (M) is transmitted by streaming.
As mentioned above, the step (32) for loading « FSP » classes was used to load commands that can be executed by the receiver (2). Advantageously, this step (32) was also used to load software parts into the receiver (2), as mentioned above, so that the software parts can be executed on the processing means (20) of the receiver (2). These software parts correspond to applications (201 , 202 and 203) enabling use of the series (7) of copy protection tests for the file (M). A first series (71) of steps is used to test the presence of applications being executed on the processing means (20) of the receiver (2) and, if applicable, to request the user to close these applications before authorising start of transmission (90) of the file (M) by streaming. Thus, an application (202) of process verification is executed for checking other applications that may be executed on the processing means (20) of the receiver (2). This application (202) of process verification can thus be used to check the presence of active applications that could hinder reading of the file (M) and/or security of data in file (M). This application (202) of process verification performs a check step (711) to check active applications. If the application (202) determines (712) that the streaming application (200) (for example within which it is being executed) is not the only application being executed on the processing means (20) of the receiver (2), it displays (713) an error message. The user of the receiver (2) is then prompted to close (714) all active applications and to try again. If the application (202) of process verification determines (712) that the streaming application (200) is actually the only application being executed, it activates the application (203) of pirating verification which checks the presence of screen capture pirating software on the memory (22) of the receiver (2). The application (203) of pirating verification performs a series (72) of test steps to determine if there is any pirating software in the memory (22) of the receiver (2). The application (203) of pirating verification checks the presence of screen capture pirating applications by first enabling a loading (721) of the most recent data available for the definition of pirating software components to be looked for on the receiver (2). This loading (721) step enables a definition (722) of a list of pirating software components to be looked for. The application (203) then searches (723) for components defined in this list to produce a list of pirating software components installed on the receiver (2). A step (724) to compare the list of components to be looked for and installed components enables the application (203) to determine (725) if there are any such pirating software on the memory (22) of the receiver (2). If there is at least one such pirating software installed on the receiver (2), an error message (726) is displayed to demand that the user of the receiver (2) uninstalls this application (727). After this uninstallation (727), if the removal is done, the application (203) returns to the step (722) to define a list of pirating software components to be looked for in the memory (22) of the receiver (2). If no screen capture pirating application is detected, the application (203) activates the application (201) of recurrent memory verification which checks the memory (22) of the receiver (2) to carry out a series (73) of recurrent test steps of the memories of the receiver (2). This application (201) of memory verification of the receiving terminal is used first to check the state of the different memory (22) accessible by the receiver (2) once before starting the transmission (90) of the file (M). A first step (731) to detect memories accessible by the receiver (2) determines the different storage means in which the receiver (2) could copy data of the media file (M). As mentioned above and as shown in figure 1 , these storage means could consist of internal hard disks (220) in the receiver (2), external hard disks (222), and compact disk and/or DVD engravers (221) or any other fixed or removable storage means. A step (732) to check memories then determines the free storage space and/or the used storage space on these memories (22). An additional step (733) checks whether or not the transmission (90) of the file (M) is taking place. If the transmission (90) of the file (M) is not in progress, the application (201) checking the memory (22) of the receiver (2) does not check whether the storage space was modified since the previous detection, but it activates the streaming application (200) to request transmission (90) of the file (M) by the supplier (1) and begins reading it on the receiver (2). As soon as the transmission (90) of the file (M) is started, the streaming application (200) makes a change (81) of the resolution and/or colour sampling properties of colours displayed by the display means (23) of the receiver (2). This change prevents any screen capture applications that escaped from the previous tests from recording information displayed by the receiver (2). The read application (200) (or player) also makes the receiver (2) switch (82) to a so-called slave mode, in which any command from the receiver (2) are blocked, except for commands dedicated to control of the streaming application (200). The slave mode also blocks off processing means (20) of the receiver (2) to enable solely execution of the streaming application (200) and the application (201) of memory verification. This so- called slave mode corresponds to the « directX » mode for example used in video games, in a manner known in itself. For example, this slave mode is capable of deactivating the keyboard (232) and prevents the user from controlling the receiver (2) other than with the mouse (231). This slave mode prevents the user from accessing other functions of his operating system, unless he stops the streaming application (200). Once the transmission of the file (M) is started, only the application (201) of memory verification of the receiver (2) remains active at the same time as the streaming application (200). The application (201) of memory verification of the receiver (2) remains active and checks any variations of the storage space in the memory (22) of the receiver (2) and if required, blocks the transmission (90). Therefore, this application (201) will be run recurrently at a predetermined frequency so as to regularly check that the receiver (2) does not have any new memory (22) and that the storage space available in the different memory (22) has not changed since the last verification by more than a determined value of the maximum authorised variation. This maximum allowable variation value may be fixed in advance for example as a function of parameters determined by suppliers or could be determined dynamically as a function of the connection speed (101 , 102) of the receiver (2).
The steps in the transmission (90) of data in file (M) according to the streaming technology will now be described with reference to Figure 4. Figure 4 represents transmission steps (90) of data
(0101100..101101 0110101) in file (M), transmitted by the supplier (1) to the receiver (2) through the communication network (10). The terminals (1 and 2) and their different means for implementing these steps are indicated in dashed lines. Therefore, transmission steps are indicated in solid lines, as they are used in the system indicated in dashed lines. When the series (7) of protection tests described above have been done successfully, the streaming application (200) requires that the data making up the media file (M) are sent by the supplier (1) (hereafter called the server). The server sends (91) at least part of the data making up the media file (M) to the receiver (2), through the communication network (10), using the communication means (11). Reception (92) of part of the data making up the media file (10) by the communication means (21) of the receiver (2) enables storage of received data in a buffer memory (T) accessible to the streaming application (200) of the receiver (2). This buffer memory (T) will have a size adapted to the connection speed (101, 102) of the receiver (2), in a manner known in itself. For example, the size of this buffer memory (T) could enable the application (201) of memory verification to determine the value of the maximum allowable variation of the storage place available in the memory (22). Also in a manner known in itself, the streaming technology used here can be the dynamic streaming technology, in the sense that the size of the parts of the file (M) sent to the receiver (2) will be adapted in real time as a function of the connection speed (101, 102) of the receiver (2) and as a function of any fluctuations in this connection speed. Temporary storage of parts of the file (M) received in the buffer memory (T) are used by the data streaming application (200) on the receiver (2), for reading (93) the part of data received by the communication means (21). This application (200) then presents (94), to the user of the receiver (2), the information corresponding to the received and read data, through the visual and/or audio interface (23) of the receiver (2). This read step (93) and this presentation step (94) of the received data take place during reception of the next data in the file (M) by the communication means (21) of the receiver (2) in a manner known itself, but also in a new and inventive manner, during the recurrent verification of the storage place present in the memory (22) of the receiver (2).
It will be obvious to those skilled in the art that this invention can be used in many other specific forms and embodiments without going outside the scope of the invention as claimed. Consequently, these embodiments must be considered as being provided for illustration, but can be modified within the limits defined by the scope of the attached claims, and the invention will not be limited to the details given above.

Claims

1. Protection method for protecting against the copying of data representative of at least one file, called media file (M), transmitted by at least one terminal, called supplier (1), to at least one terminal, called receiver (2), through at least one communication network (10), using a technology by which a streaming application (200) executed on the processing means (20) of the receiver (2) can read part of the media file (M) before the end of transmission (90) of the entire media file (M) into a memory (22) of the receiver (2), characterised in that it comprises at least one step (73) of execution, on the processing means (20) of the receiver (2), of an application (201) of memory verification, recurrently verifying the memory (22) of the receiver (2), to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, to block the transmission (90) of the media file (M).
2. Method according to claim 1 , characterised in that it begins by a connection (31) of the receiver (2) to the supplier (1), through an application (2000), called browser, executed on the processing means (20) of the receiver (2), to perform a step (32) of loading data, called installation data, transmitted by the supplier (1) into the receiver (2), and enabling at least execution of the streaming application (200) on the processing means (20) of the receiver (2), this streaming application (200) consisting of at least one software part executed within the browser (2000).
3. Method according to claim 1 , characterised in that the step (73) of execution of the application (201) recurrently verifying the memory (22) of the receiver (2) is activated by execution of the streaming application (200), during the transmission (90) of the data representative of the media file (M) and in that this step (73) consists of detection (731) of any memory (22) accessible to the receiver (2) and a check (732) of the free storage space and/or the used storage space in these memories (22), to detect if a difference in this storage space between two detections exceeds a predetermined size and, if so, to block transmission (90) of the media file (M).
4. Method according to claim 1 , characterised in that it also comprises a step (71) of execution of an application (202) of process verification, for checking applications being executed on the processing means (20) of the receiver (2), such process verification application (202) enabling to check that only the streaming application (200) is being executed, and if any other application is being executed, to request the user of the receiver (2) to close other applications.
5. Method according to claim 1 , characterised in that it also comprises a step (72) of execution of an application (203) of pirating verification, for checking the presence of data representative of screen capture pirating applications on the memory (22) of the receiver (2), by comparing data stored in the memory (22) of the receiver (2) with data representative of a list of information items for identifying known screen capture pirating applications to be detected and, if any such pirating applications have been installed on the receiver (2), by requesting the user of the receiver (2) to uninstall them.
6. Method according to claim 2, characterised in that the step (32) of loading installation data, for the software part corresponding to the streaming application (200), is accompanied by loading of software parts corresponding to all or some of the application (201) of memory verification, the application (202) of process verification and the application (203) of pirating verification.
7. Method according to claim 1, characterised in that the transmission (90) of data representative of the media file (M) comprises at least the following steps:
- sending (91) of at least part of the data of the media file (M) to the receiver (2), by the supplier (1), through means (11) for communicating on the communication network (10), - reception (92) of the sent part of data of the media file (M) by the receiver (2), through means (21) for communicating on the communication network (10),
- reading (93) of the received part of the data of the media file (M) by the streaming application (200) of the receiver (2), and then presentation (94) of information corresponding to the received and read data to the user of the receiver (2), through a visual and/or audio interface (23) on the receiver (2).
8. Method according to claim 7, characterised in that start of the transmission (90) of the media file (M) and particularly the first reading steps
(93) of the first received data of the media file (M) and presentation (94) of information corresponding to the first received and read data are accompanied by at least one step to change the resolution and/or colour sampling properties for colours displayed by the visual and/or audio interface (23) on the receiver (2) and to put the receiver (2) into a so-called slave mode by blocking any command for controlling the receiver (2) except for commands dedicated to the control of the streaming application (200) and by blocking the processing means (20) on the receiver (2) so that no application can be executed except the streaming application (200) and the application (201) of memory verification.
9. Method according to claim 1 , characterised in that it comprises at least one step (35) for configuring communication between the supplier (1) and the receiver (2), through the communication network (10), by data transmission from the supplier (1) to the receiver (2), in order to update (34) a communication protocol used for the communication between the supplier (1) and receiver (2) terminals, this protocol enabling steps for real time adaptation of the size of data of the media file (M) sent by the supplier (1) to the receiver (2), as a function of the connection speed (101 , 102) of the receiver (2) and as a function of any fluctuations in this connection speed (101, 102).
10. Method according to claim 1 , characterised in that it comprises at least one step (5) in which the supplier (1) identifies the user of the receiver (2).
11. Method according to claim 7, characterised in that the step (92) in which the part of the data of the media file (M) is received, is followed by an additional step in which data representative of information about the user of the receiver (2) are added into the received data, to include this information in information contained in the media file (M), such that this information is presented to users while the media file (M) is being read, to enable identification of any users who made an analogical copy of the media file (M).
12. Method according to claim 9, characterised in that it comprises a step of temporary storage of the received parts of the data of the media file (M) in a buffer memory (T) of the receiver (2), the size of this buffer memory (T) being determined during the step (35) for configuring communication between the supplier (1) and the receiver (2) and being a function of the connection speed (101 , 102) of the receiver (2), such temporary storage enabling the application (201) of memory verification to define the maximum allowable size of the variation of free storage spaces and/or storage spaces used in the memory (22) of the receiver (2).
13. Method according to claim 1 , characterised in that it is used by a receiver (2) consisting of a computer connected to a supplier (1) consisting of a server, through an Internet type communication network (10).
14. Method according to claim 1 , characterised in that it is used by a receiver (2) consisting of a game console connected to a supplier (1) consisting of a server, through an Internet type communication network (10).
15. Protection system providing protection against the copying of data representative of at least one file, called media file (M), transmitted by at least one terminal called supplier (1), to at least one terminal called receiver (2), through at least one communication network (10), using a technology by which a streaming application (200) executed on processing means (20) of the receiver (2) can read part of the media file (M) before the end of transmission (90) of the entire media file (M) into a memory (22) of the receiver (2), characterised in that the processing means (20) on the receiver (2) comprise means (201) for recurrently verifying the memory (22) of the receiver (2), so as to detect if a variation in the storage space between two detections exceeds a predetermined size, and if so, block the transmission (90) of the media file (M).
16. System according to claim 15, characterised in that the receiver (2) comprises means (21) for communicating on the communication network (10), enabling an application (2000), called browser and executed on the processing means (20) of the receiver (2), to set up a connection with the supplier (1) comprising also means (11) for communicating on the communication network (10), processing means (13) of the supplier (1) enabling management of communication with the receiver (2) and to send data, called installation data, enabling at least execution of the streaming application (200) on the processing means (20) of the receiver (2), this streaming application (200) consisting of a software part executed within the browser (2000).
17. System according to claim 15, characterised in that the means (201) for recurrent verification of the memory (22) of the receiver (2) are activated by execution of the streaming application (200) during transmission (90) of data representative of the media file (M) and in that they comprise detection means (731) of any memory (22) accessible to the receiver (2) and means (732) for checking the free storage space and/or the storage space used in this memory or memories (22), so as to detect if a difference in this storage space between two detections exceeds a predetermined size and if so, block transmission (90) of the media file (M).
18. System according to claim 15, characterised in that the receiver (2) also comprises means (202) for checking applications being executed on its processing means (20), so as to check that only the streaming application (200) is being executed, and if any other application is being executed, to request the user of the receiver (2) to close other applications.
19. System according to claim 15, characterised in that the receiver (2) also comprises means (203) for checking the presence of screen capture pirating applications on the memory (22) of the receiver (2), by comparing data stored in the memory (22) of the receiver (2) with data representative of a list of information items for identification of known screen capture pirating applications, so as to detect if such applications were installed on the receiver (2), and if any such pirating applications have been installed on the receiver (2), by requesting the user of the receiver (2) to uninstall them.
20. System according to claim 16, characterised in that the processing means (13) on the supplier (1) enabling sending of installation data for the software part corresponding to the streaming application (200) is accompanied by sending data supplying the receiver (2) with means (201) for recurrently verify the memory (22) of the receiver (2), means (202) for checking applications being executed, and means (203) for checking the presence of pirating applications, these data being representative of software parts corresponding to some or all of the parts of an application (201) of recurrent verification of the memory (22) of the receiver (2), an application (202) of process verification for checking applications being executed on the receiver (2), and an application (203) of pirating verification for checking the presence of pirating applications installed on the receiver (2).
21. System according to claim 16, characterised in that the processing means (13) of the supplier (1) and the processing means (20) of the receiver (2) enable firstly configuration of the corresponding means (11 , 21) for communicating on the communication network (10) means (20) of both the supplier (1) and the receiver (2), and secondly determination of the connection speed (101, 102) of the receiver (2) to the communication network (10), the processing means (13) of the supplier (1) including means for adapting, in real time, the size of data transmitted to the receiver (2) as a function of its connection speed (101 , 102) and as a function of any fluctuations in this connection speed.
22. System according to claim 15, characterised in that the receiver (2) also comprises a visual and/or audio interface (23), consisting of at least display means (23), comprises input means (231 , 232) consisting of a mouse
(231) and a keyboard (232), and comprises a buffer memory (T) allowing a temporary storage of data received by its means (21) for communicating on the network (10) and allowing the streaming application (200) to read the part of the media file (M) stored in this buffer memory (T), the reading of the first data received causing at least a change in the resolution and/or colour sampling properties of colours displayed by the display means (23) and putting the receiver (2) into a so-called slave mode in which the keyboard
(232) is blocked and only the mouse (231) can be used to make some commands dedicated to a control of the streaming application (200).
23. System according to claim 15, characterised in that the receiver (2) also comprises means for incorporation of data in the media file, to incorporate data representative of information related to the user of the receiver (2) into the information contained in the media file (M), such that this information is presented to users when the media file (M) is being read, to enable identification of any users who have made an analogical copy of the media file (M).
24. System according to claim 15, characterised in that the receiver (2) is a computer connected to an Internet type communication network (10).
25. System according to claim 15, characterised in that the receiver (2) is a game console connected to an Internet type communication network
(10).
PCT/IB2006/000094 2005-01-21 2006-01-20 Protection method and system against copying of data in files transmitted by streaming WO2006077490A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR05/00650 2005-01-21
FR0500650A FR2881302A1 (en) 2005-01-21 2005-01-21 METHOD AND SYSTEM FOR PROTECTING COPIES OF TRANSIT-READED FILE DATA (STREAMING)

Publications (1)

Publication Number Publication Date
WO2006077490A1 true WO2006077490A1 (en) 2006-07-27

Family

ID=34993209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/000094 WO2006077490A1 (en) 2005-01-21 2006-01-20 Protection method and system against copying of data in files transmitted by streaming

Country Status (2)

Country Link
FR (1) FR2881302A1 (en)
WO (1) WO2006077490A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117611A1 (en) * 2010-11-08 2012-05-10 Citrix Systems, Inc. Controlling information disclosure during application streaming and publishing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010000541A1 (en) * 1998-06-14 2001-04-26 Daniel Schreiber Copyright protection of digital images transmitted over networks
US20030200459A1 (en) * 2002-04-18 2003-10-23 Seeman El-Azar Method and system for protecting documents while maintaining their editability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010000541A1 (en) * 1998-06-14 2001-04-26 Daniel Schreiber Copyright protection of digital images transmitted over networks
US20030200459A1 (en) * 2002-04-18 2003-10-23 Seeman El-Azar Method and system for protecting documents while maintaining their editability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117611A1 (en) * 2010-11-08 2012-05-10 Citrix Systems, Inc. Controlling information disclosure during application streaming and publishing
US8997172B2 (en) * 2010-11-08 2015-03-31 Citrix Systems, Inc. Controlling information disclosure during application streaming and publishing

Also Published As

Publication number Publication date
FR2881302A1 (en) 2006-07-28

Similar Documents

Publication Publication Date Title
US8549511B2 (en) Information processing apparatus, executability determining method, and computer program for the same
US7483988B2 (en) Information transmission method and system
US6282709B1 (en) Software update manager
US8280986B2 (en) Mobile terminal and associated storage devices having web servers, and method for controlling the same
EP1972122B1 (en) Security management method and apparatus in multimedia middleware, and storage medium therefor
US20160261771A1 (en) Image forming apparatus and method for controlling same
US20030204843A1 (en) Automated installation of an application
US20050198293A1 (en) Information-processing apparatus, information-processing method, and computer program
US20050198322A1 (en) Information-processing method, information-processing apparatus and computer program
US8880651B2 (en) Method and system for efficient download of data package
US20080047000A1 (en) Program Execution Device And Program Execution Method
WO2005079311A2 (en) Method for packaging a user's personal computing environment for transfer over a network
JP2003504721A (en) Reconfiguration manager that controls electronic device upgrades
WO2008086317A2 (en) Symbiotic smart peripherals
WO2016196338A1 (en) On demand resources
US7231549B1 (en) Method and apparatus for providing on-demand computer diagnostics
KR102235992B1 (en) Information processing system, method for controlling information processing system, and program
US20060080351A1 (en) Super distribution of midlet suites
EP1499967A2 (en) Secure transmission and installation of an application
US8375290B1 (en) Document version marking and access method and apparatus
EP1293912A2 (en) Method for issuing identification information
US20040143586A1 (en) Method of controlling user application program
WO2006077490A1 (en) Protection method and system against copying of data in files transmitted by streaming
CN107667343B (en) System and method for loading on-demand resources
US20120136963A1 (en) Content transmission method, connection-target storage, and content transmission program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06701505

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 6701505

Country of ref document: EP