# Patent

## Title
Process for ordering a selection in advance, digital system and jukebox for embodiment of the process

## Abstract

This invention relates to a process for ordering a selection in advance, characterized in that it includes a step in which a menu is displayed followed by a selection in this menu, to make specific requests and particularly: a step displaying the event for which the advance order of a selection is made, and then selection of the event; a step displaying the identity of destination equipment on which the selection is to be played, and then selection of this equipment; a step displaying the date and time at which the selection is to be made on the destination equipment; a step in which particular requests are recorded and downloaded onto a file only after payment has been verified.

## Background
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a continuation of application Ser. No. 12/801,744 filed Jun. 23, 2010 now U.S. Pat. No. 8,275,668, which is a divisional of application Ser. No. 11/267,303 filed Nov. 7, 2005 now U.S. Pat. No. 7,778,879, which is a divisional of application Ser. No. 09/585,325 filed Jun. 2, 2000 now abandoned, which claims priority to French Patent Application No. 00 02252 filed Feb. 23, 2000, the entire contents of which are hereby incorporated by reference in this application.


FIELD OF THE INVENTION
This invention relates to a process for ordering a selection in advance, and the digital system and jukebox for embodiment of the process.
BACKGROUND OF THE INVENTION
French patent application 98 09358 deposited on Jul. 22, 1998 describes a specific function of a jukebox and a network connecting a set of jukeboxes to a server in order to distribute the title song of a new album of a singer on a given date defined as the distribution and marketing date of the song, onto all reproduction systems. However, with this type of system, a particular jukebox user or a user connected to the host server through the Internet supervising a number of jukeboxes is unable to select a song and order it so that the song can be played on a given date on a given jukebox or on several given jukeboxes.
BRIEF SUMMARY OF THE INVENTION
The first purpose of this invention is to overcome this disadvantage of prior art by proposing a process for ordering a selection in advance.
This purpose is achieved by a process for ordering a selection in advance, characterized in that it includes a step in which a menu is displayed followed by a selection in this menu, to make specific requests and particularly:
a step displaying the event for which the advance order of a selection is made, and then selection of the event;
a step displaying the identity of destination equipment on which the selection is to be made, and then selection of this equipment;
a step displaying the date and time at which the selection shall be made on the destination equipment;
a step in which particular requests are recorded and downloaded onto a file only after payment has been verified.
Another purpose is to propose a digital jukebox capable of embodying the process for advance order of a selection.
This purpose is achieved using a device for an advance order of a selection characterized in that the jukebox d or the server d comprise means of displaying information on a screen close to the user to guide him in making specific requests;
means of saving these requests in a specific file;
means of periodically examining the file saved on the equipment to trigger execution of the request at the given date and time, or to trigger its downloading.
Finally, the last purpose is to propose a digital system forming a remote distribution network for audiovisual data for embodiment of the process.
This purpose is achieved by a digital system forming a remote distribution network, characterized in that the remote distribution network comprises a host server connected firstly to the Internet network, and secondly to a set of jukeboxes through a second network, each jukebox being identified by an identity number or an address that can be used to load each specific request on the destination jukebox and means of scanning the file containing specific requests on each jukebox to have them executed when the local time and the day correspond to the selected time and day.



BRIEF DESCRIPTION OF THE DRAWINGS
Other features and advantages of this invention will become clearer after reading the following description with reference to the attached drawings in which:
FIG. 1 represents a diagrammatic view of the electrical scheme of the equipment forming the invention;
FIG. 2 represents a logic diagram showing relations between modules of libraries and object modules imported on the jukebox;
FIG. 3 diagrammatically represents the different interactions between a user, the jukebox and a server connected to the jukebox through a distribution network;
FIG. 4 represents the different steps of the process used by the devices according to the invention.



DETAILED DESCRIPTION OF THE INVENTION
Preferably, but non-restrictively, the audiovisual reproduction system (jukebox) 10 uses the equipment elements listed and referenced below.
The system unit 1 with a microprocessor is a high performance PC compatible system, the choice at the time of implementation was made for a Pentium type system with memory means and for example the following characteristics:

    
    
        compatibility with the Vesa local bus,
        processor cache memory: 256 kbytes minimum,
        RAM memory: 32 Mbytes,
        high performance serial ports,
        microprocessor controlled SVGA type graphic adapter,
        SCSI/2 type bus controller,
        self-powered static RAM memory.
    
    


Any other system unit with equivalent or better performances could be used in the invention.
This system unit controls and manages a sound control circuit 5, a telecommunications control circuit 4, an input control circuit 3, a mass memory control circuit 2, and a display means control circuit 6. The display means are composed primarily of a SVGA type flat screen, high resolution, low radiation video monitor 62 with no interlacing. This is the monitor that will be used for image reproduction (for example album covers for musical selections), and to display graphics and video clips.
The mass memory means 21, for example using high speed high capacity SCSI type hard disks, are associated with the memory means already installed in the microprocessor controlled device. These means are used for the storage of digitized, compressed and possibly encrypted audiovisual information.
A high speed telecommunications modem adapter 41 is included to create the link with an audiovisual information distribution network controlled by a host server.
For the reproduction of audio information in musical selections, the system comprises loudspeakers 54 into which the signal from an amplifier tuner 53 connected to the electronic circuit 5 containing two memory buffers 56, 57 is input, the amplifier tuner being of the digital signal processor (DSP) type of music synthesizer designed to support a large number of input sources while providing an output with decrypted and decompressed digital signals with a CD (compact disk) or 1-Hifi type quality.
Similarly, the display means control circuit also comprises two memory buffers 66, 67, the purpose of which is described later.
A 240 watt ventilated power supply with temperature regulation supplies energy to the system. This power supply is protected against overcurrents and overoscillations.
The audiovisual reproduction system manages a touch-screen 33 that includes a glass coating panel based on the “advanced surface wave technology” and an AT type bus controller, through its input controller circuit 3. This touch-screen displays various selection information for use by customers, and control and management checking information for use by the manager, on the video monitor 62 or television screen 61, and the system owner then uses it to make a selection. It is also used for maintenance purposes in combination with an external keyboard 34 that may be connected to the system and that is provided with a keyboard connector controlled by a key lock 32 through the interface circuit 3.
The input circuit 3 also forms the interface between the system and a remote control assembly 31, for example composed of a radio frequency RF remote control.
A fee payment device 35 is also connected to the input interface circuit 3. Another device may be used capable of collecting any means of payment by coins, notes, tokens, magnetic cards or smart cards or any combination of these means of payment.
The system is designed to be fitted in a frame or rack that is provided, together with customizable external finishings.
Apart from these elements, a cordless microphone 55 is connected to the sound controller 5 that can transform the jukebox into a powerful public announcement and information system, or possibly a karaoke machine. Similarly, a cordless loudspeakers system may be used by the system to broadcast songs into other rooms.
The manager can use the remote control assembly 31, for example from behind the bar, to access and control different controls such as:

    
    
        the microphone on/off switch,
        the loudspeaker mute control,
        the sound volume control,
        the control to cancel the musical selection currently being played.
    
    


Two buffers 56, 57 are associated with the sound controller circuit 5 so that each can alternately memorize information corresponding to about at least a quarter of a second of sound. Similarly, two buffers 66, 67 are associated with the video controller circuit 6, each capable of alternately memorizing about at least a tenth of a second of image. Finally, one buffer 46 is associated with the communication controller circuit 4, another 36 with the input interface 3 and another 26 with the memory interface 2.
The operating software in the system was generated around a library of tools and services specifically designed for the audiovisual field in a multimedia universe. This library advantageously includes a high performance multi-task operating system that efficiently enables simultaneous execution of multiple code fragments. This operating software enables concurrent and orderly execution, thus avoiding any conflict between operations carried out on display means, audio reproduction means and management of telecommunication links through the distribution network. Furthermore, this software is extremely flexible.
The operating system is shared into modules comprising a first starter module 7 itself sub-divided into a first main program module 70 “JUK. EXE” that verifies the memory and verifies if the minimum number of objects necessary to enable operation of the jukebox is present; a second module 71 dynamically linked to it and dependent on it consists of the “JUKECORE. DLL” module. The function of this second module 71 is to contain C language libraries and to perform the main task.
The architecture of the operating system comprises a distribution of the different tasks into software modules connected to each other by dynamic links or composed of executable subprograms presenting main dependence links with other parts of the operating system. Each of the modules is composed of object files or dynamic link libraries organized according to a plurality of dependence levels described in the attributes. The attributes of an object or a library indicate the version number and dependences of the object file or the library with respect to other object files as described below for the PARSER. DJL module. Each attribute indicates the level assigned to the module. Thus, the JUK.EXE 70 module is at a higher level than the JUKECORE. DLL 71, TLS. DLL 72, CRDE. DLL 73, GFX. DLL 74, WDLL. DLL 75, JEEP. DLL 9 and TELECOM. DLL 10 modules, but the TELECOM. DLL 10 module depends on the JEEP. DLL module 9 (see link 910) and it is therefore at a lower level than JEEP. DLL 9.
Similarly, the level of JEEP. DLL 9 (see link 759) is lower than the level of the WDLL. DLL module 75 since it is dependent on it and TLS (link 725) is at a higher level than WDLL 75. On the other hand, TLS. DLL and GFX. DLL modules may be at the same level. The main task comprises a module (JUKECORE. DLL) designed to initialize or load the module 73, the program core “CRDE. DLL”, initialize or load the graphic management module (GFX. DLL) 74, initialize or load the library loading module (WDLL. DLL) 75, load the telecommunication tasks Telecom module (DLL) 10, load the TLS. DLL module 72 that contains all usages necessary for the jukebox, for telecom, time, decryption, etc., initialize or load the library of JEEP. DLL (Juke Execution Exchange Protocol) programs performing integrity server and loading request tasks and the dialog with the, server, and starting the program module 80, SILOAD. DLL as the main task. The main jukebox application task comprises the module (SILOAD. DLL) containing the loader program library designed to verify the required dynamic links library versions in the library loading module (WDLL. DLL), to load them or call the telecommunication tasks module to perform the file transfer. The WDLL. DLL module comprises the list of the minimum versions necessary for operation in a DLL. DEFAULT file, and the list of all functions represented either by libraries with a DLL, DJL suffix, or by object files with a DJO suffix. Each object or library contains the list of all functions that the library or the object needs, and version numbers and dependences. The WDLL. DLL library loading module manages all new modules, controls inter-dependences and checks that downloaded modules do not have any other dependences and have been loaded with the necessary versions. The application part 8 specific to a jukebox comprises a number of modules loaded and run by the SILOAD. DLL module and defining the following display windows:

    
    
        a mouse signal or touch-screen signal processing module 81, called MOUSE. DJL,
        a module 82 for the processing of messages exchanged between objects and various other modules, called WMESSAGE. DJL,
        a disk files management module 83, called FIL. DJL
        a disk files read-write module 84, called FILIO. DJL
        a module JSTRUCT. DJL 85 for supervision of all events generated by equipment such as the touch-screen, the sound card, the coin collection equipment processing interface.
    
    


The SILOADL. DLL module manages loading of modules specific to the terminal task, namely all previously enumerated DJL modules and jukebox library modules 87 built up using WOBJECT. DJL 870 that manages the objects such as the mixer, purchases; the WCURSOR. DJL module 871 that manages cursor movements; the DBMAPI. DJL module 872 that manages the database; the WFONTS. DJL module 873 that manages all font types; the PARSER. DJL module 874 (syntax analysis program) that analyzes and generates screens starting from the script that creates a configuration file WIN. DEF and verifies the grammar using the “GRAMMAR. DJL” module 876 and the “LEXY. DJL” module 875 that is the lexical word functions assignment module inside the language. The PARSER. DJL module 874 contains the following information in its file header:















char*parser_version_info=DLL_INFO DJL;“









DLL-NAME PARSER. DJL;”



“VERSION 1;”



“CREATOR KENDALF;”



“REQUIRIES lexyy. djl;4;”



“REQUIRIES grammar- . djl;5”;










All modules and all libraries (DJO, DLL, DJL) contain information similar to the information in the PARSER. DJL module and this information determines version and dependence needs.
Thus, the PARSER. DJL module needs LEXY. DJL version 4 and GRAMMAR version 5 modules otherwise it cannot be executed by the system. The double arrows between the different modules in FIG. 2 show the order of loading the different files.
Thus, as seen above, the first step is to load JUKE. EXE followed by JUKECORE. DLL, so that GFX. DLL, TLS. DLL, WDLL. DLL, JEEP. DLL, TELECOM. DLL, CRDE. DLL and SILOAD. DLL can be loaded from JUKECORE. DLL.
A set of modules 88 contains the list of files that are to be included to manage the windows of a window display on the jukebox type terminal monitor.
This list of objects is composed of:

    
    
        a “WPSCREEN. DJO” objects file 883 that defines the main page on the monitor,
        a “WSCREEN. DJO” objects file 881 that is used to determine the number of screens available and thus displays several windows or screens on this main page,
        a ‘WIMAGE. DJO” objects file 880 that determines and defines the image that it will use in the screen,
        a “WANIM. DJO” objects file 882 that defines the animation when the image is animated,
        a “WBUTTON.DJO” objects file 885 that defines and manages buttons that are used on the main page screen such as the control buttons used in a typical graphic interface,
        a “WLABEL. DJO” objects file 884 that creates labels used to write on an object; and
        a “WSCROLLER. DJO” objects file 886 that defines vertically scrolling display areas.
    
    


The WIN. DEF configuration file calls one or more of the *. DJO files mentioned above depending on needs.
A “JHANDLER” library is used to define fixed usages of screens and therefore to determine which interfaces provide the link with the different objects defined by the previous modules.
Library module “XCP. DJL” 86 is used to manage payment tasks such as bank note reception systems or coin or smart card payment devices, and also to save basic information in the IBUTTON which is an integrated circuit for the storage of secret codes for the jukebox manager, and that can be used for example to decrypt encrypted files or songs.
The JSTRUCT.DJL module 85 will run module 851 called the “disc-jockey” the function of which will be described below in relation to FIG. 3, when an event occurs corresponding to the end of song selection. Depending on the detected event, the same JSTRUCT.DJL module may start the request processing module 852, the function of which will be described below in relation with FIG. 4. This same request processing module 852 is also installed on the host server 100 (FIG. 3) to allow a user 601 connected to the server through a terminal 600 and the Internet network 400 to order a selection in advance. A music artist 501 can also use a terminal 500 connected to the server 100 through the Internet network 300 to make a special request for promotion of a song to be executed on several jukeboxes at a given time of a given day. Finally, a user 701 in a room equipped with one or several jukeboxes can make a selection of songs or special requests for advance orders of a selection or a special event, himself or on the jukebox 10. Song selection requests are loaded into the songs queue 840, and advance orders of a selection or a special event requests are loaded into a file 841 containing special requests and all information necessary to process these special requests. The server 100 will also include a file 141 storing these special requests until the time that the server makes a transmission to the specific jukebox or the set of specific jukeboxes to which one or several requests are applicable. This transmission is made through a network 200, for example a telecommunications network. The disc-jockey module 851 executes a first step 8511 in which it looks in the jukebox file 841 to find any special requests for the current time and the current date. If it finds any, the disc-jockey executes this request at step 8512 and starts reproduction of the selection ordered in advance and the individual message, if any. At the end of this operation, the disc-jockey checks, in step 8513, to see if there are any songs ordered in advance, or goes onto the next song stored in the queue in the file 840. In step 8514, the disc-jockey starts execution of this song. The disc-jockey then loops back 8515 to the first step 8511. The special requests processing program module 852 comprises means of producing a display as shown in FIG. 4 asking the user in front of the jukebox or a terminal connected to the Internet, in step 8521, if he would like to select a song in step 8520, or if he would like to make a special request. If he would like to make a special request, the program will use the object modules described above to display windows in which the user can define the jukebox address in step 8522, or select this address in a list downloaded by the server. The user will thus define either the jukebox for which he knows the address, or the jukebox that he selects in the list closest to the person to whom he wishes to offer the selection in his advance order. In the next step, 8523, the program displays screens that the user can use to enter the name of the person sending the song and the name of the person receiving it. In step 8524, the program displays windows in which the date and time at which the selection will be executed can be defined.
Once this definition has been made, the program goes on to step 8525a in which the user selects the event type that he wishes to celebrate. In this case, the program will display a list of events 8525b defining events such as birthdays, marriage, engagements, etc. The user moves the cursor to one of these events either by action on the touch-screen or by using a keyboard or a mouse, and validates this selection. Once the selection has been validated, the program goes on to the next step 8526a in which it displays a message asking the user if he would like to offer this selection with a prerecorded voice message. If so, the program displays windows that guide the user in selecting a prerecorded voice message. If not, the program goes on to the next step 8526b in which the user can make a special voice recording and store the recording with the data making up the file for this special request for an advance order. In step 8527, the program displays a screen asking the user if he would like to make a new request, and if so it loops back to the first step 8520, and if not it asks the user to make a payment in step 8528. This payment may be made by magnetic credit card or smart card in a known manner or any other means such as a coin machine, bank note machine or by displaying the number of telephone communication units that will be invoiced to the user's line, and acceptance of the invoice. Once this payment has been made and verified, the program goes on to the save step in the file 841 containing the list of special requests to the disc-jockey (DJSRL). This file 841 is located either in the jukebox if the selection and special request are made locally on the same jukebox installed in the bar, or in the file 141 on the server if the selection is to be made on another jukebox. The jukebox 10 also comprises a program that can detect special requests made to another jukebox installed in another location and can write this request into the file 141 on the server by transmission through the network 200 to the server 100, such that when the server executes its periodic loading routine to the various jukeboxes, it also downloads the specific requests concerning each jukebox. In order to do this, when the server receives this type of special request from a jukebox on the network, it will examine this request by comparing the address of the jukebox contained in the request with the addresses contained in its database and thus determine the identity of the jukebox to which it must address the special request. This special request will be routed to the destination jukebox when periodic updates are being made or during periodic communications.
Obviously, for communications between the jukebox and the server or an Internet terminal and the server, information is compressed and encoded to enable confidentiality, whereas voice messages may be recorded in plain text not necessarily requiring encoding, but will be compressed for storage purposes to reduce the necessary storage area on the jukebox.
Thus, according to the invention, the selection process comprises a step in which a menu 8520, 8521 is displayed and a selection is made in it to make special requests, and other functions;
a step displaying the event 8525a for which the advance order of a selection is made, followed by selection of the event;
a step 8522 displaying the identity of a destination equipment on which the selection is to be played, followed by selection of this equipment;
a step 8523 displaying the date and time at which the selection is to be made on the destination equipment;
a step 8529 for recording or downloading to a special requests file only after payment has been confirmed.
According to another characteristic of the invention, it includes a step 8526 for selecting or recording a special message.
According to another characteristic, the invention comprises a step 8526b for recording messages consisting of recording a personal message.
According to another characteristic, the invention comprises a step 8526a in which a message is selected consisting of choosing one among several messages.
According to another characteristic, the invention comprises a step in which all jukeboxes make a connection to Internet and call the server site 100.
According to another characteristic, the display steps are made by sending Internet messages to the terminal 600 in order to display the selection steps necessary for selection steps, these selection or determination steps being made by messages sent from the terminal 600 to the server 100 as a function of actions performed by the user on his terminal to define his selection in advance.
The invention comprises a step in which the messages and requests are recorded on a file 141 on the host server 100 with the address of the destination equipment 10 and are then downloaded onto it at a given moment on the displays done.
The invention comprises a step to examine a special file 841 on each equipment 10 containing the recorded requests, to determine if the current date and time on the equipment 10 correspond to the required date and time for execution of the advance request.
Similarly, the jukebox 10 or server 100 comprise means of displaying information on a screen close to the user to guide him in the choice of special requests;
means of recording these requests in a special file 841, 141;
means of periodically examining the file 841, 141 recorded on the equipment to trigger execution of the request at the given time and date, or to trigger downloading of this request.
The invention comprises means of remotely transmitting these requests to the destination equipment.
According to the invention, the display means are composed of object modules added in *. DJO files called according to needs by the jukebox configuration file.
The files 840, 841 will be saved in the FILO. DJL module and program modifications necessary for operation and embodiment of this process will be downloaded in the different modules, in accordance with the downloading process defined in patent application 98 09358.
The device also comprises a means of defining rules for execution of the songs queue and thus modifying the behavior of the disc-jockey according to one of the following criteria; first in first out (FIFO) in the queue, at random and selecting the most popular songs first, eliminating the second consecutive song by the same artist or based on a combination of the previous rules or any other rule.
The remote distribution network comprises firstly a host server connected to the Internet network, and secondly through a second network, to a set of jukeboxes each identifiable by an identity number or an address in order to load each special request on the destination jukebox and means of scanning the file containing the special requests on each jukebox to have them executed when the local time and the day correspond to the selected time and day.
It will be obvious to persons familiar with the subject that many different embodiments would be possible within the framework of this invention as claimed. Consequently, the embodiments described herein must be considered as illustrations and can be modified within the field defined by the attached claims, and the invention cannot be restricted to the details described above.

## Claims

1. A method for ordering, from a user's terminal connected to a host server via a communication network, a selection playable on destination equipment connectable to the host server via the communication network, the method comprising:
displaying, on the user's terminal, a list of selectable items that are playable on the destination equipment;
enabling a user to select, via the user's terminal and from the list, an item to be played on the destination equipment, as well as a time at which the selection is to be played;
displaying, for the user on the user's terminal, the destination equipment, the selection, and the time at which the selection is to be played;
receiving, at the user terminal, the selection and the time at which the selection is to be played;
transmitting, from the user's terminal to the server, information specifying the destination equipment, the selection, and the time at which the selection is to be played to cause the information specifying the destination equipment, the selection, and the time at which the selection is to be played to be transferred to the destination equipment;
wherein the destination equipment is different than the user's terminal.

2. The method of claim 1, wherein the information is saved to a file on the server, and the file is subsequently transmitted from the server to the destination equipment.

3. The method of claim 1, further comprising enabling the user to specify an event for which the selection is being made.

4. The method of claim 1, further comprising enabling the user to choose or save a message.

5. The method of claim 4, further comprising transmitting the message to the server.

6. The method of claim 4, wherein the message is selectable from a plurality of predefined messages.

7. The method of claim 4, further comprising saving, to the server, the message and an address of the destination equipment.

8. The method of claim 1, further comprising further comprising verifying receipt of payment to authorize generation and transmission of the information specifying the destination equipment, the selection, and the time at which the selection is to be played.

9. A method of operating a jukebox system including an electronic device connected to a host server via a communication network, the method comprising:
displaying, on the device, a user interface configured to enable a user to order, in advance, a selection to be played on at least one destination device connectable via the communication network to the host server, wherein each said destination device and said server each comprise a respective request processing module,
the user interface being further configured to display a menu enabling the user to specify a selection to be played, and a future time and date at which the selection is to be played;
receiving, via the user interface, at least one specific request concerning a selection to be played, a future time and date at which the selection is to be played, and a selection of at least one destination device;
displaying, via the user interface, an indication of each said destination device on which the selection is to be played, the selection to be played, the date and time at which the selection is to be played, and an event for which the order of a selection is made in advance; and
in response to the electronic device receiving information that payment has been made and verified, generating via at least one processor of the electronic device a file listing the specific request concerning the selection to be played and transferring said file to the server;
wherein the file is downloadable to each said specified destination device on which the selection is to be played; and
wherein at least one of the specified destination devices on which the selection is to be played is not the user terminal.

10. The method of claim 9, wherein the user interface is programmed to enable the user to specify a message for later display.

11. The method of claim 10, wherein the message is included in the file.

12. The method of claim 10, wherein the user interface is programmed to enable the user to specify a message for later display select a predefined message and to specify a custom message.

13. The method of claim 9, wherein the user interface operates under the control of the server over the communication network.

14. The method of claim 10, wherein the message is displayable on the specified destination device.

15. The method of claim 9, wherein the specified destination device is programmed to determine whether a current date and time thereon matches the date and time specified in the file.

16. The method of claim 15, wherein the specified destination device is further programmed to cause the selection to be played in the event that there is a match between the current date and time thereon and the date and time specified in the file.

17. The method of claim 9, wherein the file is recorded directly on the destination device when the electronic device is the destination device on which the selection is to be played.

18. The method of claim 9, wherein the file is not a part of the selection to be played.

19. The method of claim 9, wherein the specific requests listed in the file specify at least one or more selections to be played, along with corresponding future time(s) and date(s) at which the one or more selections is/are to be played.