WO2003098457A1 - Providing a multi-tier enterprise level application for media broadcasting - Google Patents

Providing a multi-tier enterprise level application for media broadcasting Download PDF

Info

Publication number
WO2003098457A1
WO2003098457A1 PCT/US2003/012627 US0312627W WO03098457A1 WO 2003098457 A1 WO2003098457 A1 WO 2003098457A1 US 0312627 W US0312627 W US 0312627W WO 03098457 A1 WO03098457 A1 WO 03098457A1
Authority
WO
WIPO (PCT)
Prior art keywords
broadcast
client
music
client player
business
Prior art date
Application number
PCT/US2003/012627
Other languages
French (fr)
Inventor
Linwood Register
James Overand
Hortense Kathleen Nelson
Michael Dee Landon
Robert H. Powell
Gary Dean Smylie
Original Assignee
Ibn Technology Holding, Llc
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
Priority claimed from US10/146,192 external-priority patent/US7945636B2/en
Priority claimed from US10/145,920 external-priority patent/US20030216958A1/en
Application filed by Ibn Technology Holding, Llc filed Critical Ibn Technology Holding, Llc
Priority to CA002485141A priority Critical patent/CA2485141A1/en
Priority to EP03724189A priority patent/EP1504354A1/en
Priority to AU2003231065A priority patent/AU2003231065A1/en
Publication of WO2003098457A1 publication Critical patent/WO2003098457A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Systems and methods for providing a multi-tier enterprise level application capable of providing in-store media broadcasting and an architecture and interface for delivering customizable music and advertisements to remote retail locations. Client player computer device (8000) is located at the retail location and server system (9000) is located at a remote location. The server system (9000) selectively provides broadcast information when an active contract, an active advertisement, and an active schedule are available. The client player computer device (8000) establishes contact with server (9000) at a predetermined time or upon request by the server or another source. The client player device (8000) executes a broadcast or program schedule that includes music content and advertisements, wherein the advertisements have been purchased as blocks of time by entities and are scheduled to be broadcast at particular times. The music content and advertisements are selectively customizable to provide a dynamic service at the retail location.

Description

PROVIDING A MULTI-TIER ENTERPRISE LEVEL APPLICATION FOR MEDIA BROADCASTING
1. Field of the Invention
The present invention relates to systems and methods for providing a multi-tier enterprise level application. In particular, the present invention relates to systems and methods for providing an architecture and interface for delivering customizable music and advertisements to remote retail locations. 2. Background and Related Art
The emergence of the personal computer has provided a variety of computer system configurations. One such configuration is a client/server system, wherein the user interface runs on the client and the database is at the server. Such systems are typically two-tier configurations, wherein the business logic is performed at the client and shared data is updated by sending streams of structured query language ("SQL") to the server.
The clients are modified to reflect new rules and conditions without modifying the server, as long as the server has access to the database (e.g., tables, views, etc.) used to perform the transactions. Commonly, the server of a two-tier configuration is referred to as a database server. Problems currently exist with database servers. For example, the SQL corresponding to a business function is typically identical from call to call, with the exception of the data being updated or inserted. Accordingly, a database server spends valuable processing time parsing and re-parsing nearly identical SQL statements for each business function. Further, when a client or server falls behind on a software version, it typically must be shut down while it is being upgraded.
Another type of available architecture is an application server. In an application server environment, business methods are run over the server and the client requests the server to execute the methods. Accordingly, the client and server typically use a protocol that represents a conversation at the level of business transactions instead of at the level of tables and rows.
Attempts have been made to enhance database and application systems by adding additional tiers to the architecture that place an intermediate component between the client and the server. One such attempt relates to a technique known as Enterprise Java Beans, which provides a framework for components that may be plugged into a server to extend the server's functionality. An Enterprise Java Bean client/server system configuration typically includes an Enterprise Java Bean component, container, object, and remote interface. An Enterprise Java Bean component executes within an Enterprise Java Bean container that in turn executes within an Enterprise Java Bean server. Client programs execute methods on remote enterprise Java Beans by way of an Enterprise Java Bean object. The object implements the remote interface of the Enterprise Java Bean component on the server. The remote interface represents the business methods for the
Enterprise Java Bean component. hnplementation of an Enterprise Java Bean object is created by a co-generation tool that comes with the Enterprise Java Bean container. The object's interface is the remote interface of the Enterprise Java Bean component. The object (created by the container and tools associated with the container) and the Enterprise Java Bean component (created by the developer) implement the same remote interface. When the client calls a method on an Enterprise Java Bean obj ect, the obj ect method communicates with the remote Enterprise Java Bean container, requesting that the appropriate remote Enterprise Java Bean call the same method with the same arguments on the client's behalf.
Two types of Enterprise Java Beans currently exist, namely Session Beans and Entity Beans. Session Beans are typically not persistent and may not participate in transactions. An Entity Bean represents information persistently stored on a database. Entity Beans are associated with database transactions, provide data access to multiple users, and correspond to business obj ects that are typically mapped to one or more tables in a database. Since the data of an Entity Bean is persistently stored on a database, the Entity Beans survive server crashes.
While Enterprise Java Beans assist in avoiding the need to write and manage SQL statements by using container managed persistence, the use of the Enterprise Java Beans can prove to be complicated. For example, if a SQL needs to be changed, a developer may have to make the modification in a large complicated file. Thus, while techniques currently exist that are used to provide for multi-tier system configurations, challenges exist with the current techniques. Accordingly, it would be an improvement in the art to augment or even replace current techniques with other techniques to provide multi-tier system configurations.
In addition, in today's highly industrialized and commercial business oriented world, it is not uncommon at all for one to walk into a retail or other commercial business location, whether housing a business operating for profit or a non-profit organization, and find various devices or other items, or even services, designed to make that customer or patron more comfortable, relaxed, and at ease while shopping or carrying on their intended purpose for visiting the business location. Indeed, it has been shown that those business locations offering a comfortable and relaxed atmosphere have a higher chance of securing repeat customers.
One of the most common services used to create a more inviting and relaxed atmosphere is the broadcast of music throughout the business location. This is typically done via an audio system installed in the business location allowing the music to be heard throughout the business location. In addition to playing music, various advertisements and announcements can be made to customers and others visiting the business location for the purpose of keeping them updated and informed of events, items on sale, and/or various promotional items or services being offered by the merchant or service provider. h many instances, the music being broadcast throughout the business location is provided not only to that business location, but to many others as well through a provider specializing in the broadcasting of music to such a location. Typically, this has been done in the past tlirough a satellite based system, wherem the satellite is uploaded with one or more play lists and other information. Once uploaded, the satellite bursts the information down to a receiver located at a business location. The information can then be pulled of the receiver and directed tlirough an audio system installed in the business location. This service can be provided to one or a plurality of business locations. Moreover, the business model that has been used to provide broadcast music to the several business locations is through a franchising operation, wherein those wishing to have music broadcast tlirough their business locations pay a healthy annual fee for such services.
Although music is being provided, there are several inherent difficulties and limitations associated with the above-described system and method, namely being limited by an expensive and unaccommodating satellite infrastructure. First, the information that is uploaded to the satellite and that is subsequently burst down from the satellite to the satellite receivers is uniform, meaning that each receiver receives the same play list or the same advertisement or the same announcement. As such, each merchant or service provider is forced to broadcast tlirough their business location the same thing as the next merchant or service provider. In other words, there is little or no customization that can be incorporated into the broadcast. This has severely limiting effects in that a merchant is forced to broadcast information that he/she may or may not want; or the merchant or service provider is forced to interrupt the broadcast to advertise or announce those items that would be of particular interest to those visiting his/her business location. For example, if a merchant wanted to broadcast an advertisement for one week at a certain time that promoted an in-store object for sale, this would not be possible with current systems except through interruption of the normal broadcast by the merchant. Second, there is no way to update the broadcast at will as the merchant or service provider must wait until the next scheduled download from the satellite system.
SUMMARY OF THE INVENTION The present invention relates to systems and methods for providing a multi-tier enterprise level application, h particular, the present invention relates to systems and methods for providing an architecture and interface for delivering customizable music and advertisements to remote retail locations.
Implementation of the present invention takes place in association with a computer system that is configured to utilize one or more interface layers between a presentation layer and a data layer to provide a multi-tier enterprise level application. In one implementation, the enterprise level application selectively delivers customizable music and advertisements to a remote retail location.
A system manager oversees management of a server system, which includes a variety of resources that may be provided to one or more remote client player devices. The resources may include, for example, music and advertisements/announcements that are scheduled for broadcast at the client player devices. The client player devices are each located in a retail location and may be grouped according to retail chains or any other common characteristic between the retail locations, the content broadcast, etc. Optionally, a chain manager oversees or manages the content that is broadcast at a particular group of client player devices. The content may be customized to particular retail chains/groupings, to neighborhood environments, business types, etc.
Embodiments of the present invention also include an in-store media broadcasting system that features a proprietary media distribution framework or platform supported by and/or operated by several software modules designed to carry out the functions of the in-store media broadcasting system. Specifically, the media distribution platform or framework comprises one or more, and preferably, a plurality of client player devices placed at a plurality of business locations, each of the client player devices being independently supported and in communication with an internal audio/visual system installed and existing within in the respective business locations; a customizable media broadcast supported on each of the client player devices and comprising informational media content thereon that may be specific to the particular business location in which the client player device(s) is/are located; a central server system comprising one or more central servers in communication with each of the independent client player devices; and a network configuration connecting each client player device to the central server network to provide an exchange of information between the two . The central server component includes application and database servers, as well as file storage devices to store and disseminate the media content. The central server is the intelligence center of the in-store media broadcasting system of the present invention and preferably communicates with all other components connected within the framework or platform using JDBC, FTP, RML, and HTTP protocols.
The client player devices or components are essentially computers located at each business location and include software application modules that function to play and log the media broadcast. The client player device(s) also functions to connect to the central server for updates, and to receive upgrades of the software and broadcast content, including music play lists and advertisements, if available. The client player device(s) preferably communicates with the central server using JDBC, and FTP protocols, and with using XML-RPC.
The in-store media broadcasting system of the present invention further comprises one or more system network managers that function to automate and manage the in-store media broadcasting system. This component is an independent computing device that may or may not be located on the central server. Indeed, it may be separate from the central server. The network manager component is in communication with the central server tlirough the network configuration and is operated by IBN personnel. The system network manager component comprises a suite of software modules used to automate commercial functions, such as creating and modifying contracts, advertisements, and schedules. This component also provides reports to track the status of these specific functions. The network manager preferably communicates with the central server using RMI, HTTP, and JDBC protocols.
The in-store mediabroadcasting system of the present invention further comprises one or more chain managers operated by business location personnel, and includes software modules designed to manage each client player device in each store in the chain and the media content contained thereon. This component is preferably a computing device separate from the client player devices, but may reside on one or more client player devices. The chain manager component communicates with each client player device using the XML-RPC protocol, and with the central server using the RMI protocol.
As stated, the in-store media broadcasting system comprises several proprietary software application modules functioning on one of the above-identified components to allow the in-store media broadcasting system to operate as intended. Each of these are discussed in detail below. The broadcast or media content preferably comprises music organized into music play lists according to various criteria (e.g. genre, date, etc.), advertisements, and announcements .
These and other features and advantages of the present invention will be set forth or will become more fully apparent in the description that follows and in the appended claims. The features and advantages may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Furthermore, the features and advantages of the invention may be learned by the practice of the invention or will be obvious from the description, as set forth hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS hi order that the manner in which the above recited and other features and advantages of the present invention are obtained, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which are illustrated in the appended drawings. Understanding that the drawings depict only typical embodiments of the present invention and are not, therefore, to be considered as limiting the scope of the invention, the present invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Figure 1 illustrates a representative computer device for use in association with embodiments of the present invention; Figure 2 illustrates a representative system that provides a suitable operating environment for embodiments of the present invention;
Figure 3 illustrates a representative system configuration that may be used in accordance with an embodiment of the present invention that provides an architecture and interface for delivering customizable music and advertisements to remote retail locations; Figure 4 is a flowchart that provides representative processing at a client player device in accordance with the embodiment of Figure 3;
Figure 5 is a flowchart that provides representative processing at a music library manager in accordance with the embodiment of Figure 3;
Figure 6 is a flowchart that provides representative processing at a scheduling center in accordance with the embodiment of Figure 3;
Figure 7 illustrates a relationship between various layers of a multi-tier enterprise level application in accordance with the present invention;
Figure 8 illustrates a representative interface layer of Figure 7 that may be used to create or restore database information; Figure 9 illustrates a representative interface layer of Figure 7 that may be used to read database information; Figure 10 illustrates a representative interface layer of Figure 7 that may be used to update or delete database information;
Figure 11 illustrates a general overview of the in-store media broadcasting system according to a preferred embodiment of the present invention; Figure 12 illustrates a diagram illustrating the physical components of the client player device;
Figure 13 illustrates the communication between the client player device and the central server system as being accomplished tlirough a global user network, such as the Internet; Figure 14 illustrates the communication between the client player device and the central server system as being accomplished tlirough a direct network comiection;
Figure 15 illustrates the communication between the client player device and the central server system as being accomplished tlirough a dial-up modem connection;
Figure 16 illustrates the client player device in communication with the central server system and the proprietary software application modules used to allow the in-store media broadcasting system to function according to a preferred embodiment of the present invention;
Figure 17 is a flow chart illustrating the steps taken to exchange information between the client player device and the central server according to a preferred embodiment of the present invention;
Figure 18 is a flow chart illustrating the steps that are required to initiate an in- store broadcast according to a preferred embodiment of the present invention;
Figure 19 is a flow chart illustrating the preferred method of providing a network- based in-store media broadcasting system; Figure 20 illustrates the broadcasting infrastructure according to a preferred embodiment of the present invention; and
Figure 21 illustrates a flow diagram, along with several features, of the advertising method according to a preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION The following disclosure of the present invention is grouped into subheadings.
The utilization of the subheadings is for convenience of the reader only and is not to be construed as limiting in any sense.
Exemplary Operating Environment Embodiments of the present invention take place in association with one or more computer devices that are configured to utilize one or more interface layers between a presentation layer and a data layer to provide a multi-tier enterprise level application. Accordingly, Figures 1 and 2, and the corresponding discussion, are intended to provide a general description of a suitable operating environment in which the invention may be implemented. One skilled in the art will appreciate that the invention may be practiced by one or more computing devices and in a variety of networked configurations. Embodiments of the present invention embrace one or more computer readable media, wherein each medium maybe configured to include or includes thereon data or computer executable instructions for manipulating data. The computer executable instructions include data structures, objects, programs, routines, or other program modules that may be accessed by a processing system, such as one associated with a general-purpose computer capable of performing various different functions or one associated with a special-purpose computer capable of performing a limited number of functions. Computer executable instructions cause the processing system to perform a particular function or group of functions and are examples of program code means for implementing steps for methods disclosed herein. Furthermore, a particular sequence of the executable instructions provides an example of corresponding acts that may be used to implement such steps. Examples of computer readable media include random-access memory ("RAM"), read-only memory ("ROM"), programmable read-only memory ("PROM"), erasable programmable read-only memory ("EPROM"), electrically erasable programmable read-only memory ("EEPROM"), compact disk read-only memory ("CD- ROM"), or any other device or component that is capable of providing data or executable instructions that may be accessed by a processing system.
With reference to Figure 1, a representative system for implementing the invention includes computer device 1000, which may be a general-purpose or special- purpose computer. For example, computer device 1000 may be a personal computer, a notebook computer, a personal digital assistant ("PDA") or other hand-held device, a workstation, a minicomputer, a mainframe, a supercomputer, a multi-processor system, a network computer, a processor-based consumer electronic device, or the like.
Computer device 1000 includes system bus 1200, which may be configured to connect various components thereof and enables data to be exchanged between two or more components. System bus 1200 may include one of a variety of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus that uses any of a variety of bus architectures. Typical components connected by system bus 1200 include processing system 1400 and memory 1600. Other components may include one or more mass storage device interfaces 1800, input interfaces 2000, output interfaces 2200, and/or network interfaces 2400, each of which will be discussed below. Processing system 1400 includes one or more processors, such as a central processor and optionally one or more other processors designed to perform a particular function or task. It is typically processing system 1400 that executes the instructions provided on computer readable media, such as on memory 1600, a magnetic hard disk, a removable magnetic disk, a magnetic cassette, an optical disk, or from a communication comiection, which may also be viewed as a computer readable medium.
Memory 1600 includes one or more computer readable media that may be configured to include or includes thereon data or instructions for manipulating data, and may be accessed by processing system 1400 tlirough system bus 1200. Memory 1600 may include, for example, ROM 2800, used to permanently store information, and/or
RAM 3000, used to temporarily store information. ROM 2800 may include a basic input/output system ("BIOS") having one or more routines that are used to establish communication, such as during start-up of computer device 1000. RAM 3000 may include one or more program modules, such as one or more operating systems, application programs, and/or program data.
One or more mass storage device interfaces 1800 maybe used to connect one or more mass storage devices 2600 to system bus 1200. The mass storage devices 2600 may be incorporated into or may be peripheral to computer device 1000 and allow computer device 1000 to retain large amounts of data. Optionally, one or more of the mass storage devices 2600 may be removable from computer device 1000. Examples of mass storage devices include hard disk drives, magnetic disk drives, tape drives and optical disk drives. A mass storage device 2600 may read from and/or write to a magnetic hard disk, a removable magnetic disk, a magnetic cassette, an optical disk, or another computer readable medium. Mass storage devices 2600 and their corresponding computer readable media provide nonvolatile storage of data and/or executable instructions that may include one or more program modules such as an operating system, one or more application programs, other program modules, or program data. Such executable instructions are examples of program code means for implementing steps for methods disclosed herein. One or more input interfaces 2000 may be employed to enable a user to enter data and/or instructions to computer device 1000 through one or more corresponding input devices
3200. Examples of such input devices include a keyboard and alternate input devices, such as a mouse, trackball, light pen, stylus, or other pointing device, a microphone, a joystick, a game pad, a satellite dish, a scanner, a camcorder, a digital camera, and the like. Similarly, examples of input interfaces 2000 that maybe used to connect the input devices 3200 to the system bus 1200 include a serial port, a parallel port, a game port, a universal serial bus ("USB"), a firewire (IEEE 1394), or another interface. One or more output interfaces 2200 may be employed to connect one or more corresponding output devices 3400 to system bus 1200. Examples of output devices include a monitor or display screen, a speaker, a printer, and the like. A particular output device 3400 may be integrated with or peripheral to computer device 1000. Examples of output interfaces include a video adapter, an audio adapter, a parallel port, and the like.
One or more network interfaces 2400 enable computer device 1000 to exchange information with one or more other local or remote computer devices, illustrated as computer devices 3600, via a network 3800 that may include hardwired and/or wireless links. Examples of network interfaces include a network adapter for connection to a local area network ("LAN") or a modem, wireless link, or other adapter for comiection to a wide area network ("WAN"), such as the Internet. The network interface 2400 may be incorporated with or peripheral to computer device 1000. h a networked system, accessible program modules or portions thereof may be stored in a remote memory storage device. Furthermore, in a networked system computer device 1000 may participate in a distributed computing environment, where functions or tasks are performed by a plurality of networked computer devices.
While those skilled in the art will appreciate that embodiments of the present invention may be practiced in network computing environments with many types of computer system configurations to provide a multi-tier enterprise level application, Figure 2 provides a representative configuration that includes two clients connected to a server system. Those skilled in the art will appreciate that alternative embodiments include one client connected to a server system or more than two clients connected to a server system. Moreover, embodiments in accordance with the present invention also include a multitude of clients throughout the world connected to a network, where the network is a wide area network, such as the Internet. Further, the server system may include a single server in cases where a single server can process and preserve the entire amount of information required to perform the methods of the present invention that are disclosed herein. Alternatively, the server system may be a conglomeration of servers that process and preserve a high volume of information. In Figure 2, a computer system configuration is illustrated that includes server system 4000 connected to clients 5000 and 6000 via a network 7000. Those skilled in the art will appreciate that network 7000 may include a wide area network (e.g., the internet), a local area network, a leased line connection, a wireless network, a dial up connection, and/or any other type of connection that enables information to be exchanged between server system 4000 and clients 5000 and 6000. Server system 4000, client 5000, and client 6000 each include a network interface
(respectively illustrated as network interfaces 4200, 5200, and 6200) that enables information to be exchanged or communicated. Server system 4400 also includes one or more servers that selectively manage data, which is preserved at and/or obtained from a storage device 4600.
As will be discussed below, embodiments of the present invention embrace the use of an interface layer between a presentation layer and a data layer in a multi-tier enterprise level application. The following provides a representative example of a multi- tier enterprise level application that includes systems and methods for providing an architecture and interface for delivering customizable music and advertisements to remote retail locations. While the methods and processes of the present invention have proven to be particularly useful in the area of providing a software architecture and interface for delivering customizable music and advertisements to remote retail locations, those skilled in the art will appreciate that the methods and processes may be used in a variety of different applications to yield multi-tier enterprise level applications.
Providing a Multi-Tier Enterprise Level Application Figure 3 illustrates a representative system configuration that may be used in accordance with an embodiment of the present invention to provide an architecture and interface for delivering customizable music and advertisements to remote retail locations. Figure 3 includes four components, namely client player 8000, one or more servers 9000, a chain manager 10000, and a system manager 11000. hi one embodiment, servers 9000 include application and database servers and file storage devices to manage one or more resources. Servers 9000 communicate with the other components of the framework using Java Database Connectivity (hereinafter "JDBC," which is a application program interface that enables Java programs to access database information and translates data queries into commands that the database management system understands), File Transfer Protocol (hereinafter "FTP," which is a protocol used in association with the hitemet for sending files), Remote Method Invocation (hereinafter "RMI," which is a set of protocols developed for Java objects that enables the protocols to communicate remotely with other Java objects), and Hypertext
Transfer Protocol (hereinafter "HTTP").
Client player 8000 includes applications that run on client computers located in remote locations, such as in particular stores of a retail chain. The applications play and log in-store music and advertisements, connect to the server(s) 9000 for updates, and upgrade software and music on the client. Client player 8000 communicates with servers
9000, for example, using JDBC and FTP. Further, client player communicates with chain manager 10000 using Extensible Markup Language - Remote Procedure Call (hereinafter "XML-RPC," which is a protocol that allows a program on one computer to execute a program on a server computer, wherein a client program sends an Extensible Markup Language (XML) message to the server with appropriate arguments and the server returns a message containing the results of the program -executed), h one embodiment, client player is a headless computer device.
Communication between client player 8000 and server 9000 is based on the TCP/IP protocol. Embodiments of the present invention embrace a variety of configurations for communication between a client player and a server. For example, in one embodiment, a client player and server communicate via the public Internet, h another embodiment, a client player and server communicate via a direct network comiection. hi yet another embodiment, a client player and server communicate via a dial-up connection. Those skilled in the art will appreciate that embodiments of the present invention embrace a variety of different communication configurations to enable a plurality of client player computer devices to communicate with one or more servers.
System manager 11000 includes a suite of tools developed to automate business functions, such as creating and modifying contracts, advertisements, and schedules. Some applications provide reports to track the status of business functions. System manager 11000 communicates with server(s) 9000 using RMI, HTTP, and JDBC. Chain Manager 10000 includes a suite of tools developed for use by retail chain personnel or by a manager of a grouping of one or more client players to manage music and control client players. A chain is a grouping or association of locations at which a client player resides. The chain manager provides authority of a representative of a particular chain, grouping, or association of client players to manage the content broadcast at the individual players, hi one embodiment, chain manager 10000 is a computer device that resides at a nearby location to client player 8000. In another embodiment, chain manager 10000 resides at a remote location to client player 8000. Chain manager 10000 communicates with client player 8000 using XML-RPC and with server(s) 9000 using RMI. Embodiments of the present invention embrace the elimination of chain manager 10000, whereby, for example, the functionality and control discussed below in relation with chain manager 10000 is performed by system manager 11000. hi the illustrated embodiment, server(s) 9000 includes storage device 9200, remote file access 9400, data store 9500, business objects 9600, and application(s) 9800. Storage device 9200 includes a computer readable medium having accessible resources and/or files preserved thereon. For example, storage device 9200 includes one or more physical storage devices (e.g., hard disk drives, tape drives, and optical disk drives) to hold files (e.g., audio and video files) that are to be provided to a client player computer. Remote file access 9400 includes one or more servers (e.g., an FTP server) to provide a means for transferring files (e.g., audio and video files) to client player 8000. hi the illustrated embodiment, remote file access component 9400 communicates with storage device 9200 using a network file system (hereinafter "NFS," which is a client/server application that allows users to access shared files stored on computers of different types tlirough an interface referred to as a virtual file system or NFS that runs on top of TCP/IP protocol). Business object(s) 9600 component comprises a layer that models and enforces business rules and/or data of an organization. For example, it includes the JIMBean components that are discussed below. In the illustrated embodiment, business object(s) 9600 communicates with storage device 9200 using NFS, with data store 9500 using JDBC, and with applications 9800 using RMI. Data store 9500 comprises a business data layer that models and enforces business rales and/or data of an organization, and includes music, advertisements, field services, chain, contract, and schedule information, h the illustrated embodiment, data store 9500 communicates with business objects 9600 using JDBC and with web applications 9800 using Open Database Connectivity (hereinafter "ODBC," which is a database access method that makes it possible to access any data from any application, regardless of which database management system is handling the data by translating the application data queries into commands that the database management system understands), hi one embodiment, data store 9500 comprises flat XML files.
In another embodiment, data store 9500 comprises one or more databases, such as an enterprise database, a music library database, and a field services database. Updater
8400, control center 11200, scheduling center 11400, reports 11500, database sync 11700, field support application 11800, and music manager 10200, each of which will be discussed below, use information in the enterprise database. Reports 11500 and field support application 11800, each of which will be discussed below, use information in the field services database. Reports 11500 and music manager library 11600, each of which will be discussed below, use information in the music library database.
Web applications 9800 interact with business information/objects (e.g., stored procedures) to perform functions in the system. For example, web applications 9800 include multiple applications that are the web accessible presentation to business obj ects 9600 and data store 9500. Those skilled in the art will appreciate that embodiments of the present invention also embrace non-web based applications for use in accordance with the present invention.
Web applications 9800 include both web-based reports and applications utilized by non-chain managers to manage business functions (e.g., contract and advertisement management) and to view business information (e.g., connection reports). In the illustrated embodiment, web applications 9800 communicate with file storage 9200 using
NFS, with data store using ODBC, and with business objects 9600 using RMI. h the illustrated embodiment, client player 8000 is a computer device that includes player 8200, updater 8400, client launcher 8600, and upgrader 8800. Player 8200 includes an application that creates a schedule for playing/broadcasting advertisements and media files (including announcements), selectively chooses media files to play/broadcast, plays media files, and logs advertisements and media files that have been played/broadcast along with any errors that occurred, h one embodiment, player 8200 includes an XML-RPC server and an audio dynamic range compressor/expander for leveling the volume of media files. Player 8200 communicates with updater 8400 using XML-RPC and invokes updater 8400 via system calls. Player 8200 also communicates with player manager 10400 of chain manager 10000 via XML- RPC. h one embodiment, player 8200 includes a scheduler, a media playback framework, an event log manager, an XML-RPC server, a volume fader, and a dynamic range compressor/expander. In the embodiment, the scheduler selects a media file randomly from weighted genres specified in the playlist in the following manger: (1.) Genres are assigned a range of numbers between 1 and 100 reflecting their weight, for example, if two genres are specified in the playlist with weights of 70 and 30, respectively, the first genre is assigned a range of 1-70 and the second genre is assigned a range of 71-100; (2.) A random number, between 1 and 100, is generated to determine the genre that is selected, therefore in the present example, a random number of 75 would result in the selection of the second genre; and (3.) Media files in the genre folders are marked as either "played" or "not played," and a random number, between 1 and the number of files in the "not played" category, is generated to determine the media file to be selected. Accordingly, a random number of 235 would result in the selection of the 235th file in the genre folder that has a "not played" status. The scheduler ensures that no two media files of the same artist are played back-to-back. It remembers the name of the artist of the last media file played and will randomly select another file from the "not played" list. It will repeat this process up to three times if it keeps selecting the same artist. The media framework plays the selected file and the file is marked as played so that it will not be played again until all of the files in that genre have played. Accordingly, if any changes are made to the playlist, all files will be reset to "not played". The scheduler also determines which advertisements need to be played and the determination is performed in the following manner: (1) The scheduler evenly spaces advertisements throughout the hour, assigning an exact play time for each advertisement;
(2) It determines if an advertisement needs to be played at the completion of each media file that is played, and if one or more of the advertisement play times fall between the time of the current check and the last check, those advertisements are selected for play; and (3) After the check has been completed the scheduler records the time it performed the check as the "last check". (At startup the "last check" is set as the current time.)
The media framework plays the selected advertisement(s). hi a further embodiment, the advertisements do not clean themselves out at the top of the hour, so if an hour is overscheduled, all of the advertisements will play (one right after the other) then a media file will play and the next set of scheduled advertisements will play. The log manager records all media files and advertisements played, along with their associated playback timestamps and any errors that may have occurred.
The XML-RPC server allows an XML-RPC client program to connect to the player and perform certain functions. This comiection requires authentication by the client program. The functions supported by the XML-RPC server include retrieving advertisement-played information, viewing scheduled advertisements, stopping scheduled advertisements for a period of time, logging errors, viewing and/or deleting log entries, getting and/or setting a volume level, viewing a list of media files that have played and when they played, skipping a currently playing media file, moving a media file to a different genre, deleting a media file, launching updater 8400, starting player 8200 if the player is listening for requests, stopping player 8200 to leave the player listening for requests, shutting down player 8200 so that the player stops listening for requests, shutting down the box (with a reboot if desired), querying the status of player 8200, etc. The Dynamic range compressor/expander is a volume leveler that modifies the output of media files, leaving advertisements in their original state. This provides the functionality to allow advertisements to run a little "hotter" than media files. The volume fader fades the volume of a song after a configurable duration. This provides the functionality to create short music programs.
Updater 8400 comprises an application that uploads advertisements played, music versions, and software version information to the server(s) 9000, receives new connection times from server(s) 9000, gets new playlists from server(s) 9000, and downloads any files referenced in the playlists. hi the illustrated embodiment, updater 8400 communicates with player 8200 using XML-RPC and is invoked by player 8200 and client launcher 8600 via system calls. Updater 8400 communicates with remote file access 9400 of server(s) 9000 via FTP and with data store 9500 of server(s) 9000 via JDBC. h a further embodiment, the server calls for updater 8400 include open connection, insert comiection record, get new connectivity information, upload advertisement-played information from player 8200 via an XML-RPC connection, get new playlist information, get a list of advertisements for client player 8000 and determine which advertisements need to be downloaded, remove advertisements from client player 8000 that are not referenced in the current playlist, downloading advertisements by getting FTP login information, looping through advertisements to download, cleaning up advertisement inconsistencies to ensure that the server knows which advertisements the client player has and to ensure that the server information is consistent with the client information, updating the connection record, closing the connection, and logging any errors that occur.
Client launcher 8600 comprises an application that launches updater 8400 either at the scheduled time or on demand, and includes connectivity specific programs such as a ring-daemon (which listens for incoming calls), a connection establisher, and an IP address poster. In the illustrated embodiment, client launcher 8600 invokes updater 8400 via system calls.
In one embodiment, client launcher 8600 launches at the connect day and time specified in a configuration file that is selectively updated. Further, client launcher includes the following capabilities for dial-up configurations: First, for every execution of updater 8400, client launcher 8600 initiates a dial-up comiection, handling authentication and addressing, logging errors, and connecting within a configurable time duration. Second, client launcher 8600 includes an ability to launch updater 8400 on demand. For example, this is accomplished via a ring-daemon that listens for an incoming call, clears the line, and executes updater 8400.
Upgrader 8800 comprises an application that upgrades software and/or media files on client player 8000. hi the illustrated embodiment, upgrader 8800 does not communicate with any other client player application, hi a further embodiment, the application also logs its status, handles error conditions, supports versioning of music and/or software, and will not run an upgrade that is at or below the current version on the system. With reference now to Figure 4, a flowchart illustrates representative processing at a client player device, such as client player 8000 of Figure 3, which is performed by a player, and updater, and a client launcher. In Figure 4, execution begins at decision block 12000, where a determination is made as to whether or not it is time to make a comiection with the server system. In the present embodiment, the client player device initiates contacts with the server system at predetermined times and if it is determined at decision block 12000 that it is not time to make the comiection with the server system, execution proceeds to decision block 12200 for a determination as to whether or not a comiection request has been received.
In one embodiment, the client software includes an on-demand application for dial-up. Accordingly, a technician calls the phone number associated with the client (e.g., a Linux box) and then hangs up. The modem monitor hears the call, clears the line, and dials into the ISP to establish a comiection to the hitemet. Through this Internet connection, the IBN server is contacted and the client's IP address is posted. After processing is completed, the technician can use the IP address to com ect to the client box if necessary. Thus, if it is determined at decision block 12200 that a connection request has not been received, execution returns back to start. However, if it is determined at decision block 12200 that a connection request has been received, execution proceeds to step 12400.
Returning back to decision block 12000, if it is determined that it is time to make a connection with the server system, execution proceeds to step 12400, where the connection is established between the client player device and the server system. At step
12600, information is exchanged. The exchanged information may include, for example, reports as to when and what was broadcast at the client, desired playlists, and other useful information. Accordingly, the exchanged information may be from the client to the server system and/or from the server system to the client. Execution then proceeds to decision block 12800 for a detemiination as to whether or not an advertisement list is empty.
In one embodiment, an empty advertisement list exchanged at step 12600 indicates that no advertisements are to be obtained at this time. Accordingly, if it is determined at decision block 12800 that the advertisement list is empty, execution proceeds directly to decision block 13200. However, if the advertisement list is not empty, execution proceeds to step 13000 to obtain the advertisements, such as by utilizing an FTP comiection. Execution proceeds to decision block 13200.
At decision block 13200, a detemiination is made as to whether or not the exchange is complete. If it is determined at decision block 13200 that the exchange is complete, execution proceeds to step 13400. Alternatively, if it is determined at decision block 13200 that the exchange is not complete, execution returns back to step 12600 for the exchange of additional information. This process continues until the information exchange is complete. The client then disconnects from the server system at step 13400 and the new program schedule is executed by the client at step 13600.
With reference back to Figure 3, the illustrated embodiment also includes system manager 11000, which comprises control center 11200, scheduling center 11400, reports
11500, music library manager 11600, database sync 11700, and field support application(s) 11800. A non-chain manager utilizes one or more of these tools to perform the high-level management functions discussed below. Embodiments of the present invention embrace the suite of tools residing on one or more computer devices at one or more locations.
Control center 11200 is a tool that creates and maintains chain information, store information, group information, music configuration, user information, advertising category information, and the like. It also manages date and time sensitive music playlists for chains, groups, and stores as well as overseeing user privileges. By way of example, a playlist includes a media component (a music playlist) that specifies one or more music genres, such as country, classic, Christmas, jazz, etc., weighted by a percent for playback at a scheduled dates and times, and an advertising component (an advertisement playlist) that specifies zero or more advertisements for playback at scheduled dates and times. The control center 11200 manages the media component of the playlist. Control center 11200 communicates with business object(s) 9600 of server(s) 9000 via RMI. hi one embodiment, the control center includes the capability to create, edit and/or delete music configurations, advertising categories, a contact person or system user, store chains, store groups, stores, a default music playlist, and/or a date/time specific music playlist. Further, the control center includes the capability to set user privileges for system users, assign a contact person to a store chain, assign stores to store groups, set the number of times in-store and revenue advertisements play in a store (referred to as "slots"), set the volume level for the client player computer for a specific store, assign a contact person to a store, set connectivity information for a store (either networked or dial-up), and assign stores to a playlist.
Scheduling center 11400 is a tool that manages in-store contracts, revenue contracts, business contacts, advertisements, the scheduling of advertisements to contracts, etc. Scheduling center 11400 communicates with web application(s) 9800 of server(s) 9000 via HTTP. In one embodiment, scheduling center 11400 is an application that manages the lifecycle of contracts and advertisements, h relation to contracts, it creates, edits, and submits for approval pending revenue and/or in-store contracts. It also specifies stores, dates, exclusivity, advertising categories, and slots for contracts. Moreover, it resolves conflicts between contracts, views contracts in any status of their lifecycle, approves contracts, activates contracts, and manages sales contacts, hi relation to advertisements, it creates, edits, and/or deletes an advertisement placeholder, which includes information relating to a specific advertisement (e.g., advertising category, script, chain). It also uploads an advertisement file to a file server, moves an advertisement, through an approval process (i.e., copyrighting, editor approval, producer assignment, voice talent, sound engineering, producer approval, and final approval), and manages advertisement files on the file server.
In a further embodiment, scheduling center 11400 schedules advertisements to contracts, hi particular, it associates advertisements with in-store or revenue contracts, sets logging capabilities for contract advertisements, sets "stop playing" capabilities for contract advertisements, creates an advertisement schedule for a contract (e.g., assigning dates, slots, stores, etc.), checks schedules for conflicts, and views an advertisement schedule for a contract. Byway of example, a playlist includes a media component (e.g., a music playlist) and an advertising component (e.g., an advertisement playlist). The scheduling center 11400 manages the advertising component of the playlist.
Reports 1150 are one or more tools to view business reports, such as connectivity and scheduling reports. Reports 11500 communicate with web application(s) 9800 of server(s) 9000 via HTTP. Examples of reports include connectivity reports, scheduling reports, billing reports, advertisement reports, sales reports, database sync reports, and the like. Connectivity reports include, for example, success update status reports (lists of client player computer devices that have successfully completed their scheduled update), failed update status reports (lists of client player computer devices that have completed a connection to the server but have not completed their schedule update), and failed physical connections reports (lists of client player computer devices that did not connection to the server at the scheduled time). Scheduling reports include, for example, advertisement schedule reports (schedule information for a specific advertisement), store schedule reports (schedule information for a specific store), and the like. Billing reports include, for example, proof-of-play report for in-store and/or revenue advertisements, billing statements and/or invoices for advertising clients, notices of credit card use for advertising clients, etc. Advertisement reports include advertisement frequency reports (e.g., how often an advertisers advertisement was played during a period of time), advertisement summary reports (e.g., summary information for the advertisement, such as the date recorded, the broadcast schedule, any problems, etc.), final approval reports (e.g., a list of advertisements that require final approval), a report of advertisements that were scheduled but were not broadcast, an advertisement schedule report, a revenue advertisement status report (e.g., shows where they are in the advertisement lifecycle), a report of scheduled advertisements by region (e.g., identifying scheduled advertisements by groups), and the like. Sales reports include, for example, salesman reports (identifies contract amounts, commissions due, monies paid, and residuals for each company, sales person, etc.), monthly sales reports (identifying the number of advertisements provided, the various clients, when advertisements were played, how much the clients have paid, the commission for the sales person(s), the percentage of what is left on the store chain, etc.), reports of contracts with no advertisements
(identifying the contracts that have no advertisements associated with them), contract drill-down reports (identifying contracts based on a defined criteria with an option to drill-down to the contract detail), etc. Database sync reports include, for example, complete information reports, which display information relating to which stores have complete comiection information and other relevant information as a result of the sync.
Music library manager 11600 is a tool to create and maintain media files and genre information, to upload media files to related genre folders, and to define music library versions. Music library manager 11600 communicates with application(s) 9800 of server(s) 9000 via HTTP. h one embodiment, music library manager 11600 manages media files and genre classifications by creating, editing, and/or deleting media information, and/or genre information. It also uploads media files into genre folders, removes silent frames from media files, populates header tags for media files, and/or creates music library versions. Database sync 11700 is a tool that is used to synchronize a chain store repository and data store 9500. Database sync 11700 communicates with business object(s) 9600 of server(s)
9000 via RMI and with data store 9500 of server(s) 9000 via JDBC. In one embodiment, database sync 11700 updates store information on the enterprise with information from chain databases. On a scheduled basis, the application establishes database connections, locks records, and updates database records in the enterprise databases. It also reports database synchronization status.
Field support application(s) 11800 is a tool to maintain client players, such as client player 8000, including viewing reports (e.g., installation histories), managing trouble tickets associated with installations, performing connectivity testing, and the like. Field support application(s) 11800 communicates with applications(s) 9800 of server(s) 9000 via HTTP. With reference now to Figures 5 and 6, flowcharts are provided to illustrate representative processing respectively performed at music library manager 11600 and scheduling center 11400. hi Figure 5, execution begins at decision block 14000 for a determination as to whether or not to format music content. If it is determined at decision block 14000 that music content is not to be formatted, execution returns back to start.
Alternatively, if it determined at decision block 14000 that music content is to be formatted, execution proceeds to step 14200, where the music is placed into a desired format. For example, the music content may be received in a ".wav" format and accordingly is ripped into an MP3 format. At step 14400, a header is populated and dead space is removed at step 14600. The music content is then preserved at step 14800 and execution returns back to start.
The scheduling center 11400 creates advertising playlists. Figure 6 displays the process for determining when an advertising playlist is complete and can therefore be transmitted from a server to one or more clients via the updater (8400). hi Figure 6, execution begins at decision block 15400 for a detemiination as to whether or not an active contract had been obtained for a particular block of time. If an active contract has not been obtained, execution returns back to start. Alternatively, if an active contract has been obtained, execution proceeds to decision block 15600 for a determination as to whether or not an active advertisement corresponding to the contract has been obtained. Thus, if it is determined at decision block 15600 that an active advertisement has not been obtained, execution returns back to start.
Alternatively, if it is determined at decision block 15600 that an active advertisement corresponding to the active contract of decision block 15400 has been obtained, execution proceeds to decision block 15800 for a determination as to whether or not an active schedule corresponding to the advertisement and contract has been obtained. If it is determined at decision block 15800 that an active schedule has not been obtained, execution returns back to start. However, if it is determined at decision block 15800 that an active schedule that corresponds to the advertisement contract has been obtained, execution proceeds to step 15900 to allow an advertising playlist to be provided to a client.
With reference back to Figure 3, the illustrated embodiment also comprises chain manager 10000, which includes music manager 10200 and player manager 10400. Embodiments of the present invention embrace configurations where both the music manager and the player manager reside on the same computer device, or where the music manager and the player manager reside on multiple computer devices. Music manager
10200 is a tool that creates and maintains default and date/time sensitive music playlists for groups and stores in a chain, or an association of client players. Music manager 10200 communicates with business object(s) 9600 of server(s) 9000 via RMI. In one embodiment, the music manager is used by an employee of a retail chain or another user to manage playlists by creating, editing and/or deleting a default music playlist and/or a date/time specific music playlist. It further assigns stores to a playlist.
Player manager 10400 is a tool that controls specific aspects of a client player, including starting or stopping the player, starting or stopping advertisements, moving or skipping media files, launching the client updater, managing error logs, and/or programming the volume of a broadcast. Player manager 10400 further views advertisement and media files that are scheduled to play or have already played. Player manager 10400 communicates with player 8200 of client player 8000 via XML-RPC. In one embodiment, player manager 10400 is used by an employee of a retail chain or another user to manage client player computers by displaying information relating to advertisements played, advertisements scheduled, log entries, songs that have played and when they played, etc. It also allows the user to delete log entries, get and/or set the volume of abroadcast, stop scheduled advertisements, skip a currently playing media file, move a media file to a different genre, delete a media file, launch the updater 8400, start player 8200 (if the player is listening for requests), stop player 8200 (leaving the player to listen for requests), selectively shut down the box with a reboot, query the status of the player, and the like.
Representative Interface Layers of the Application As provided above, and with reference now to Figure 7, embodiments of the present invention take place in association with one or more computer devices that are configured to utilize one or more interface layers between a presentation layer 16000 and a data layer 16400, wherein the interface layer is illustrated as interface layer 16200, to provide a multi-tier enterprise level application. h one embodiment, the business objects (e.g., business objects 9600 of Figure 3) include the use of Persistent and JIMPersistent ("Java Instance Manager") Beans, which facilitate multi-tier applications and do not require the use of an application server. Accordingly, the difficulty associated with designing, coding, and maintaining complex applications is reduced. Persistent Beans assist in the creation and management of business objects without the overhead of Enterprise Java Beans (EJBs), and interact with a database through the use of a peer class that is responsible for creating, restoring, updating, and deleting an object in the database. JIMPersistent Beans add additional functionality, allowing greater control over the distribution and modification of the entities. Figure 7 provides the interaction between an interface layer 16200 that interfaces between a presentation layer 16000 and a data layer 16400. Byway of example, and with reference back to Figure 3, JIMBeans serve as the interface layer for the music manager 10200, control center 11200, and database sync 11700. The JIMBean interface layer is displayed in Figures 8 through 10, which include various components such as a controller manager, controllers, object managers, objects, and SQL statements. With reference first to Figure 8, a representative relationship is provided for the creation or restoration of database information. The GUI 17000 makes a request to the controller manager 17200, which in turn creates a specific controller 17400 needed by the GUI 17000. Controller 17400 interacts with a JLM manager 17600 to create or restore a JIM Persistent object 17800 needed. The JIM Persistent object 17800 uses an associated JIM Peer 18400 to communicate with a data store 18600 to create or restore itself in/from data store 18600. If the JIM Persistent object 17800 includes a reference to a Persistent object 18000, then the Persistent object 18000 works with its Persistent peer 18400 to create or restore itself in/from data store 18600.
Accordingly, a controller 17400 goes through a JIM Manager 17600 so that only one instance of a particular JIM Persistent object 17800 exists in memory at a given time, allowing multiple controllers to look at the same instance of an object. This facilitates the fact that if an object is modified, all of the controllers that are using that object are notified of the change. Furthermore, the difference between a JTM Persistent object
17800 and a Persistent object 18000 is that a JIM Persistent object 17800 may exist independently (e.g., it has no parent above it).
Figure 9 provides a representative relationship for reading database information. The GUI 19000 interacts directly with a controller 19200 to access and read information from JIM Persistent 19400 and Persistent objects 19600.
Figure 10 provides a representative relationship for updating or deleting database information. A GUI 20000 interacts directly with a controller 20200, which creates a portable object 20400 with new values and sends it to the JIM Persistent object's associated JIM manager 20600 with a reference to the JIM Persistent object 20800 it wants to update or delete. The JIM manager 20600 locks the object and performs modifications by telling the JIM Persistent object 20800 to update or delete. The JIM Persistent object 20800 communicates with its JIM Peer 21400, which communicates with a data store 21600 to update or delete. If the JIM Persistent object 20800 includes a reference to a Persistent object 21000, it communicates new values to the Persistent object 21000, which communicates with its JIM Peer 21200 and the JIM Peer 21200 communicates with the data store 21600 to update or delete. Methods and Systems for hi-Store Media Broadcasting Embodiments of the present invention feature a system and service for in-store media broadcasting of music, advertisements, announcements, and other information content (collectively referred to as "content" or "broadcast") to a retail business location, as well as a method of providing such in-store media broadcasting services. The definition of a business location is intended to mean any commercial retail store or outlet store (e.g., shoppingmall, grocery store, convenience store, etc.), any type of commercial service oriented business (e.g., a dental or doctor's office, etc.), or any other type of location that is visited by the public, whether it be a location in which a business is being operated for profit, or one housing a non-profit organization. In essence, the present invention is intended to be adaptable to any location in which it would be desirable to utilize the technology of the present invention as discussed and described herein and illustrated in the accompanying Figures. Moreover, the term "in-store" will be used to describe the broadcasting system and method as it pertains to any of the above-identified business locations. The term "in-store" is therefore not meant to be limiting in any way.
In accordance with the discussion and description set forth herein, the following more detailed description of the preferred embodiments will focus on two key areas, the first being the particulars of the in-store media broadcasting system, including the physical stractures and network setup configuration, as well as the software application modules used to implement this system and to provide the broadcast media to the several business locations. The second area of focus will be on the associated or corresponding method crafted to provide network-based media broadcasting services to the several business locations. Each of these are discussed below as they specifically relate to one another.
Multiple Independent Business Locations h -store Media Broadcasting System and Proprietary Enabling Software
The present invention features a system for providing digital in-store media broadcasting to one or a plurality of business locations, independent or in a group or in a chain, on a membership basis, with each member being defined as a member participant. A member participant may comprise a business owner of one or more business locations, chains, or groups, or a service provider of the same.
The system comprises various hardware and software components that interact with each other to carry out the intended function of the present invention. The particulars of the system are discussed below. However, while the system and its proprietary software, the network or communications, are all specifically described, such descriptions are provided with the intention of encompassing like-systems or like-devices or like-methods, those of which are not specifically described or mentioned herein, but would be obvious to one ordinarily skilled in the art.
With reference to Figure 11, the concept of the present invention provides a unique paradigm shift from prior art in-store media broadcasting delivery services such as those described above. Instead of the particular delivery mechanism being satellite- based, the present invention in-store media broadcasting system 2, in its simplest form, features a computer network-based system, such as an Internet or other computer network based system, comprising one or more computer systems, namely a central server system 40 located at a central location that is in communication with at least one, and preferably several or a plurality of, client player devices 6 located on the actual physical premises or store fronts of the several respective business locations.
Communication from central server system 40 and client player devices 6 is accomplished typically through a type of computer networking setup and configuration, shown in Figure 11 as central server system being connected to a global user network such as the hitemet 38, which is in turn connected to a local business location network, such as an Intranet 39. Central server system 40 comprises one or more central servers 4 housing a storage medium 48 comprising at least a play list or music database 47 and a FTP file server database 49. These computer systems comprise the primary make-up of the in-store media broadcasting system of the present invention and are discussed in detail below, hi-store broadcasting system 2 also comprises other computer systems, such as a chain manager 8 and a system network manager 10. Chain manager 8 is a computer system in communication with one or more client player devices 6 located within an identified chain and is used to monitor and manage each client player device within a chain. System network manager 10 is also a computer system controlled by network personnel and is in communication with central server(s) 4. Each of these systems is discussed in greater detail below.
Incorporated into the discussion of the physical components of the in-store media broadcasting system are the proprietary software application modules that enable the system to operate and function as intended. hi reference to Figure 12, each computer system identified above, namely the client player device, the central server, the chain manager, and the system network manager, comprise several known components them allow it to carry out and perform their intended functions, respectively. Specifically, each computer system typically comprises a system bus 12, which may be configured to connect various components thereof and enables data to be exchanged between two or more components. The system bus may include one of a variety of bus stractures including a memory bus or memory controller, a peripheral bus, or a local bus that uses any of a variety of bus architectures. Typical components connected by the system bus include a processing system 14 and memory 16. Other components may include one or more mass storage device interfaces 18, one or more input interfaces 20, one or more output interfaces 22, and/or one or more network interfaces 24.
Processing system 14 includes one or more processors, such as a central processor and optionally one or more other processors designed to perform a particular function or task. It is typically the processing system that executes the instructions provided on a computer readable media, such as on a memory device, a magnetic hard disk, a removable magnetic disk, a magnetic cassette, an optical disk, or from a communication connection, which may also be viewed as a computer readable medium.
Memory device 16 includes one or more computer readable media that may be configured to include or includes thereon data or instructions for manipulating data, and may be accessed by the processing system through the system bus. The memory may include, for example, ROM 28, which is used to permanently store information, and/or
RAM 30, which is used to temporarily store information. ROM 28 may include a basic input/output system ("BIOS") having one or more routines that are used to establish communication, such as during start-up of the respective computer systems. RAM 30 may include one or more program modules, such as one or more operating systems, application programs, and/or program data.
One or more mass storage device interfaces 18 may be used to comiect one or more mass storage devices 26 to the system bus 12. The mass storage devices 26 may be incorporated into or may be peripheral to the computer system and allow each system to retain large amounts of data. Optionally, one or more of mass storage devices 26 may be removable from the computer system. Examples of a mass storage device include hard disk drives, magnetic disk drives, tape drives and optical disk drives. A mass storage device may read from and/or write to a magnetic hard disk, a removable magnetic disk, a magnetic cassette, an optical disk, or another computer readable medium. Mass storage devices 26 and their corresponding computer readable media provide nonvolatile storage of data and/or executable instractions that may include one or more program modules such as an operating system, one or more application programs, other program modules, or program data. Such executable instractions are examples of program code means for implementing steps for the methods disclosed herein.
One or more input interfaces 20 may also be employed to enable a user to enter data and/or instructions into the respective computer systems through one or more corresponding input devices 32. Examples of such input devices 32 include a keyboard and alternate input devices, such as a mouse, trackball, light pen, stylus, or other pointing device, a microphone, a joystick, a game pad, a satellite dish, a scanner, a camcorder, a digital camera, and the like. Similarly, examples of input interfaces 20 that maybe used to comiect the input devices to the system bus include a serial port, a parallel port, a game port, a universal serial bus ("USB"), a firewire (IEEE 1394), or another interface.
One or more output interfaces 22 may also be employed to connect one or more corresponding output devices 34 to system bus 12. Examples of output devices 34 include a monitor or display screen, a speaker, a printer, and the like. A particular output device may be integrated with or peripheral to each computer system. Examples of output interfaces 22 include a video adapter, an audio adapter, a parallel port, and the like. hi this preferred embodiment, each client player device 6 is essentially a standalone, headless computer comprising at least a central processing unit, one or more storage mediums thereon, and an operating system capable of executing and carrying out the intended functions of the client player device. The term "headless" meaning that no input or output devices are connected to the client player device, such as a monitor or keyboard, etc. The functions are therefore directed by systems network manager 10 or chain manager 8, or central server 4, rather than locally by client player device 6. This is not to say however, that it is not preferred to incorporate or couple one or more input/output devices to client player device 6 to allow or enable control directly form a client player device 6, as some member merchants may wish to control the functioning of client player device 6 at the local in-store level. Such a featured setup or configuration is therefore contemplated and provided for by the present invention.
Central server 4 is also typically headless, but chain manager 8 and system network manager 10 comprise several of the input and output devices described above, such as a keyboard, mouse, monitor, speakers, printer, etc. in order to allow operation of the computer system by various persomiel and control of client player device 6.
An apparent and significant advantage of the present invention in-store media broadcasting system from other prior art systems is the platform independence existing between each client player device and/or chain manager. Therefore, the present invention makes it possible to operate upon one client player device independently of another client player device, the term operate meaning to extract information, transfer information, upload or download software application modules, update the software modules, communicate with the central server, monitor the play lists and advertisements, manage the functions of the client player devices, etc. The operating system used to control each client player device 6, chain manager
8, and system network manager 10 is preferably the Linux (R) operating system, and while the discussion above relates to the use of the Linux operating system, other embodiments of the present invention may embrace the use of other operating systems, such as a Microsoft operating system, an Apple or Macintosh operating system, a
(R-) (R) (R)
System V Unix operating system, a BSD Unix operating system, an OSF Unix operating system, an IBM Mainframe MNS operating system, and/or another operating system. In addition to the components of each computer system described and the operating systems anticipated, other components are intended to be included in each computer system as commonly known by one ordinarily skilled in the art. Moreover, each computer system is capable of storing and executing at least one application software program thereon in accordance with the teachings of the present invention, hi reference to Figure 13 , each computer system identified and generally discussed above, is discussed in further detail herein. Client Player Device(s)
Each client player device 6 participating in the service and integrated into in-store media broadcasting system 2 is located at a remote business location and is capable of communicating directly with central server 4 to receive or download play lists, advertisements, schedules, and various other information pertinent to the operation of in- store broadcast system 2 that are stored and supported on central server 4. Each client player device 6 is also capable of uploading informational content to central server 4, such as reports, logs, error messages, or any other pertinent information related to how the system is performing or any special requests by the member participants, which are typically the operators or owners of the business location. Thus, a two-way open communication is contemplated by in-store media broadcasting system 2.
Client player device(s) 6 also comprise(s) one or more application software modules executable thereon. These software modules function to execute the operations of in-store media broadcasting system 2 and are proprietary applications. These proprietary software modules are discussed in greater detail below. In regards to in-store media broadcasting system 2, each client player device 6 is initially equipped with a default play list stored on one of its memory storage devices 16 prior to being put into operation in a business location. The default play list comprises songs grouped in any desirable order, such as by genre, date, or a combination of these. This default play list serves as the base play list that may later be modified, updated, etc. through communication with the central server. Another significant function of the default play list is to provide a foundational play list, meaning that no matter what happens or what errors occur to any future downloaded play lists, there is always a play list that may be defaulted to in order to prevent any down-time of in-store media broadcasting system 2. As such, the default play list ensures that continuous and uninterrupted in-store media broadcasting is achieved. The default play list may not be, and typically will not be, the primary play list. However, although secondary or lower, the default play list remains intact and ready to become the primary play list should certain circumstances require.
As an alternative embodiment, any business location may utilize one or more client player devices 10 located on its premises depending upon the particular need of the business location operator or owner (i.e., a client player device placed on each floor of a multiple floor building with each device playing different play lists and/or advertisements), but for purposes of discussion herein, it will be assumed that each business location has only a single client player device located on its premises to control the in-store media broadcasting of that business location. Figure 13 illustrates client player device 6 and the several application components existing thereon that allow client player device to function as intended. Specifically, client player device or component 6 comprises a music or media player 82, an updater 84, a client player device launcher 86, and an upgrader 88.
Media or Music Player. Music or media player 82 comprises an application that creates a schedule for playing ads and media files, chooses media files to play according to an algorithm, plays media files, and logs ads and media files that have been played along with any errors that occur. It also includes an XML Remote Procedure Call (XML- RPC) server and an audio dynamic range compressor/expander for leveling the volume of media files. Music or media player 82 communicates with updater 84 using XML- RPC. Music or media player 82 also invokes updater 84 via system calls.
An XML-RPC is a protocol that allows a program on one computer to execute a program on a server computer. The client program sends an Extensible Markup Language (XML) message to the server with appropriate arguments and the server returns a message containing the results of the program executed. Mediaplayer 82, tlirough its proprietary application software, allows client player device 6 to communicate with central server 4, to execute the commands received from central server 4, to carry out those commands within the internal system of the business location, and to perform any other functions of the present invention in-store media broadcasting system 2. The internal system of the business location is intended to mean the particular audio or audio/visual system installed and used within the business location to broadcast music, advertisements, announcements and other information throughout the store. As such, each client player device 6 must be integrated into the internal system of the business location. In essence, media player 82 allows each client player device 6 to perform its intended function of broadcasting music, advertisements, and any other information throughout the business location using the internal audio/video system of the business location.
Again, none of the application software of media player 82, nor any of the other applications identified herein, will be discussed in great detail with respect to their application logic, but instead will be presented generally in order to sufficiently describe and cover the operation and intended workings of the present invention broadcasting system as applicable to the scope of coverage intended herein.
One of the primary functions of client player device 6, and particularly media player 82, is to create a schedule for playing music, advertisements, announcements, and any other information that may be broadcast over an internal audio/visual system installed in the business location. This schedule is a dynamic schedule in that it is capable of automatic or manual modification and automatic, manual, and/or continuous update as required and desired by the member participant. The schedule is a unique aspect of the present invention because it allows each member participant to customize the broadcast independent of any other broadcast. Specifically, media player 82 plays the music play lists, advertisements, and other content according to the schedule as defined by the specific content requested by the member participant.
Play lists are defined as or comprise a media component (i.e., a music play list) that specifies one or more music genres weighted by percent for playback at scheduled dates and times, and an advertising component (i.e., an advertisement play list) that specifies zero or more ads for playback at scheduled dates and times. There are two types of play lists, a default play list and downloadable, customizable and modifiable play lists.
Each client player device is on a schedule as to when songs are played, what types of songs are to be played, when ads are played, date sensitive play lists (Christmas, etc.), and others. This schedule is modifiable and can be customized, hi addition, each member participant or business location can customize their particular broadcast independent of any other member participant or business location. The play list schedule is determined by an algorithm. For example, there always exists a default play list, which preferably is not modifiable. However, other play lists may be created and tailored to suit the needs and wants of each member participant. It is these additional play lists that are customizable and modifiable to broadcast any type of music (e.g. particular genre, artist, time period, etc., and/or grouping of these, etc.), at any time, for any length, etc. For example, during the Christmas holiday season, a certain number (and/or type, artist, style, etc.) of Christmas songs may be designated to begin playing at the beginning of the Christmas holiday season, such as the day after Thanksgiving. As the holiday season progresses and nears closer to Christmas, the percentage of Christmas songs may be increased. As another example, if you want to tell the play list to play a certain type of music from 8-5 andthen anothertype from 5-10 this also canbe done. Any arrangement and modification is possible. No limitations exist other than the default play list may not be changed. You can even plan a play list or play lists for an entire week, month or year. Again, there are numerous possibilities. In light of this, all of the possible arrangements that may be created for the broadcast are not included herein. However, one ordinarily skilled in the art will recognize the possible arrangements for broadcast that can be made.
As such, those specifically described herein are only meant as examples and are not meant to limit the present invention in-store media broadcasting system and method in any way.
Referring to the default play list, this play list is intended to cover every day and every time possible. Any additional customized or modified additional play lists downloaded from central server 4 are based off the default play list. These additional play lists are intended to either override, cause to go inactive, or compliment the default play list, but never to entirely supplant the default play list. Thus, in case of error or other problems occurring with the additional customizable and modifiable play lists, the default play list may be activated to provide continuous, uninterrupted music to the business location, h this way, the default play list functions as the base or foundational play list in which all other play lists are based.
Once one or more play lists are downloaded, each client player device 6 is capable of searching tlirough each play list until it finds one that says what it should be doing at that time according to the dynamic schedule. Client player device 6 will then proceed to play that play list in accordance with the parameters defined for the play list and the schedule. The default play list does provide for date and time changes, but with the adding or downloading of additional play lists, it is possible to modify and customize the broadcast as desired. To do this, the broadcast content is prioritized on client player device 6 to indicate which play list is to be played and how it is to be played. If there is an error, the system will default to the default play list as described above.
As mentioned, media player 82 allows each client player device 6 to generate and keep a log of the events of the previous session, such as the broadcast content played, at what time the content was played, the frequency of the content played, and any errors that occurred during playback of the content. This log is uploaded to central server 4 allowing the server administrator to inspect and analyze the log and fix any problems that have occurred.
Finally, media player 82 allows client player device 6 to generate a "proof of play" for advertisers. A "proof-of-play" is commonly lcnown in the advertising art and basically indicates or declares that the ad was indeed played at its agreed upon and designated time, etc. The "proof-of-play" can be provided to the advertisers based upon the session log generated by the client, and can be given to them in any media format, such as a hard copy, email, or on CD, etc.
Updater. Updater 84 is an application that uploads ads played, music version information, and software version information to the central server(s) 4, receives new connection times from central server 4, gets new play lists from central server 4, and downloads any needed files referenced in the play list from central server 4. Updater 84 communicates with music or media player 82 component using XML-RPC, and is invoked by both music or media player 82 and client player device launcher 86 via system calls.
With reference to Figures 13 and 17, communicating with central server 4 using updater 84 in the mamier provided herein, presents a unique advantage. For example, changing additional play lists, other than the default, is done from each client player device 6. Updater 84 allows each client player device 6 to be set up as a service, meaning that each client player device 6 sits and constantly listens for a communication from central server 4 for updates, instruction, etc. Moreover, at a scheduled time 140, client player device 6, through client player device launcher 86, will initiate contact with central server 4. When contact is made, either by central server 4 or client player device 6, client player device launcher 86 establishes an open line of communication 144 with central server 4 by opening a JDBC comiection. Upon connection, an exchange of information
146 takes place. During the exchange, the first thing updater 84 does once this connection is established is upload all of the session or business information to central server 4. This session information comprises various details about the previous session, with a session being defined as the time period between contact of client player device 6 and central server 4. In this respect, central server 4 is apprised of all of the events from the previous session from the last time it communicated with client player device 6. Session information comprises, but is not limited to: 1) a detailed log of what was played or broadcast and when; 2) whether there were any errors that occurred, and the details of these; and 3) any new requests by the member participant. Other types of information may also be uploaded depending upon the particular setup and direction of the member participant. This communication and timing of communication with central server 4 is based upon code of the application software of updater 84 stored in each client player device 6.
Once all of the session information is uploaded to central server 4, updater 84 then takes or downloads updated information from central server 4. The downloading of updated information may comprise, but is not limited to: 1) receiving new or additional play lists 147 or individual songs; 2) receiving new advertisements 150 depending upon whether or not the inquiry 148 as to whether the ad list (described below) is empty is positive or negative; 3) receiving new broadcast schedules 151; 4) receiving new contact information 152 indicating when it is next scheduled to call in to the central server; and/or 5) receiving instractions 153 on modifying any of the broadcast content already existing on client player device 6. Once the exchange is determined to be complete 154, the connection is terminated 156 and the program schedule is executed 158.
As part of the download with respect to advertisements, updater 84 first downloads an ad list. This ad list comprises and identifies each advertisement that is to be downloaded to client player device 6 for the next session. If the ad list is empty, no new advertisements are scheduled to be played on client player device 6. If the ad list comprises one or more advertisements, then client player device 6 establishes an FTP connection with a file server having a database storing all of the available advertisements . updater 84 is then instructed to download all of the advertisements that are delineated in the ad list. The file server database may be located on central server 4 itself or on an independent server.
Each advertisement, no matter how it is procured, is eventually stored into the file server in order to allow updater 84 to obtain the advertisement through the FTP connection. There are several ways in which advertisements are supplied to the file server, some of which include: 1) supplying advertisements from the member participants themselves; 2) supplying advertisements from an ad agency or similar business; and/or 3) having the in-store media broadcasting system administrator or operators put the advertisements on the file server themselves. Each client player device 6 is programmable as desired by the respective member participant, hi addition, each client player device 6, through client player device launcher 86, is capable of initiating a manual update rather than waiting for the scheduled update. Manual initiation maybe desirable if errors are occurring during the session broadcast or if the member participant wants to change something about the broadcast immediately (e.g. the wrong ad is being played, the member participant running a grocery store just ran out of oranges and further broadcast of these is undesirable, etc.). Essentially, updater 84 enables all exchange of information between each client player device 6 and central server 4.
Client Player Device Launcher. As stated, client player device launcher 86 is an application that launches updater 84 either at the scheduled time or on demand. Preferably, updater 84 is launched at least once per week, and at most once per day.
Client launcher 86 includes connectivity specific programs such as ring-daemon (which listens for incoming calls), connection estabhsher, and IP address poster. Client player device launcher 86 invokes updater 84 via system calls. Client player device launcher 86 also includes two additional capabilities specifically for dial-up configurations. First, for every execution of updater 84, client launcher 86 initiates a dial-up connection, handling PPP authentication and addressing, logging errors, and trying as necessary to connect within a configurable time duration. Second, client launcher 86 includes the ability to launch updater 84 on demand. This is accomplished via the ring-daemon, which listens for an incoming call, clears the line, and executes updater as described above.
Upgrader. Upgrader 88 is an application that upgrades the software and/or media files of the in-store media broadcasting system. Upgrader 88 does not communicate with any other client player device application modules. Upgrader 88 is aprogram responsible for the actual updating of music and/or software on a client player computer. The program also logs its status and handles error conditions. Updater 88 supports versioning of music and/or software and will not run an upgrade that is at or below the current version on the system. Central Server(s
Figure 13 further illustrates central server(s) 4 and the several application sub- components existing thereon that allow the central server to function as intended.
Specifically, central server 4 comprises a file storage device 92, a remote file access 94, a business objects 96, a data store 95, and web applications 98.
File Storage Device. The present invention central server 4 features a file storage device or component 92 that comprises one or more physical storage devices (e.g., hard disk drives, tape drives, and optical disk drives) to hold files (e.g., audio and video files) that need to be provided to client player device 6. File storage device 92 utilizes application software to communicate with remote file access 94, business obj ects 96, and web applications 98 using Network File System (NFS), a client/server application that allows users to access shared files stored on computers of different types. NFS provides access to shared files through an interface called the Virtual File System (VFS) that runs on top of TCP/IP. With NFS, computers connected to a network operate as clients while accessing remote files, and as servers while providing remote users access to local shared files.
Remote File Access. The present invention central server 4 features a remote file access component 94 that comprises one or more file servers (e.g., an FTP server) to provide a means of transferring files (e.g., audio and video files) to client player device
6. Remote file access component 94 communicates with file storage component 92 also using NFS.
Business Objects. The present invention central server 4 features a business objects component 96 that is the layer that models and enforces business rales and/or data of a business location or organization. It includes the JIMBean components. Business objects component 96 communicates with file storage device 92 using NFS. Business objects component 96 communicates with data store component 95 using Java Database Comiectivity (JDBC), which is a Java application program interface that enables Java programs to access database information. JDBC translates a Java program's data queries into commands the database management system understands. Business objects component 96 also communicates with web applications component 98 using Remote Method Invocation (RMI), a set of protocols developed for Java obj ects that enables them to communicate remotely with other Java objects.
Data Store. The present invention central server 4 features a data store component 95 that is the business data layer that models and enforces business rules and/or data of an organization. Data stores include music, advertisements, field services, chains, contracts, and schedule information. Data store component 95 communicates with business objects component 96 using JDBC, and web applications 98 using Open DataBase Connectivity (ODBC), a standard database access method. The goal of ODBC is to make it possible to access any data from any application, regardless of which database management system is handling the data by translating the application's data queries into commands that the DBMS understands.
Web Application. The present invention central server 4 features a web application component 98 that is the Web accessible presentation to business objects component 96 and data store component 95. It includes both web-based reports and applications utilized by network personnel to manage business functions (e.g., contract and advertisement management) and view business information (e.g., connection reports) .
Web application component 98 communicates with file storage device 92 using NFS, with data store component 95 using ODBC, and with business objects component 96 using RMI. Central server system(s) 40, and particularly central server(s) 4, is/are essentially the brains of in-store media broadcasting system 2. Central server 4 schedules all of the advertisements, play lists, and other information to be downloaded to each client player device 6. Central server 4 comprises many of the hardware components described above, as well as other components known in the art, such as a network interface, which interfaces with a network, one or more application servers, and a storage device. As such, central server 4 is a standard server computing device as known and is capable of connecting, in communication, a plurality of client player devices 6, one or more chain managers 8, and a system network manager 10. Central server 4 comprises or stores various music play lists, advertisements, announcements, etc. that are to be made available to each client player device 6 upon request. Central server 4 is operated by an administrator that coordinates and organizes the content provided to him/her and that is desired and specified by a particular member participant to be played at his/her respective business location. Chain Manager(s
Figure 13 further illustrates chain manager(s) 8 and the several application components existing thereon that allow chain manager 8 to function as intended. Specifically, chain manager 8 comprises music manager 102 and player manager 104. A member participant operating a chain of business locations can use chain manager 8 and one or more of these application modules to perform many functions not available in prior art in-store broadcasting systems. The application modules or components existing within chain manager 8 may or may not reside on the same computer. In addition, it is preferable that no applications or components communicate with other chain manager applications or components. Music Manager. The present invention chain manager 8 features a music manager 102 that is an application module used to manage play lists for groups of stores or business locations and business locations existing within a chain. Music manager 102 is operable on client player device 6 and provides for the creation and maintenance of the default play lists for groups of business locations and business locations in a chain, if so desired. Music manager 102 also provides for the creation and maintenance of date and time sensitive play lists for groups of business locations and business locations in a chain, if so desired, and will allow the operator of chain manager 8 to assign music play lists to each business location within the chain.
Music manager 102 may be located on either of client player device 6, central server 4, or chain manager 8, but is preferably located on chain manager 8 in order to provide control of the several business locations within a chain. Player Manager. The present invention chain manager 8 features a player manager 104 that is an application module used to control specific aspects of client player device 6 including starting or stopping of music or media player 82, starting or stopping of advertisements, moving or skipping media files, launching client updater 84, managing error logs, adding sound effects (e.g. from an equalizer, etc.), and setting the player device's volume. Player manager 104 is also used to view advertisements and media files that are scheduled to play or that have already played. Player manager 104 can also check, in real time, what is being played on any given client player device at any given time. Player manager 104 is an interface module. Although, player manager 104 provides for monitoring and control of client player devices 6, such as those in a chain, it also allows each business location to maintain a pre-determined level of individuality. Thus, chain manager 8 is capable of controlling a large or a small part of the operations of each client player device 6 under its management or control. Player manager 104 may reside on either central server 4, client player device 6, or on chain manager 8, but preferably resides on chain manager 8. When residing on client player device 6, at a business location, business location personnel are allowed to control the broadcasting system. When residing on chain manager 8, an authorized personnel may control the broadcast of several client player devices 6 within the chain. In a chain of business locations, a member participant can have the autonomous control of the broadcast. However, if control is had at the business location level, member participants cannot stop third party ads. The only way third party advertisements may be stopped is by the system administer or other authorized personnel of the system network manager 10. Chain manager 8, and particularly player manager 104, allows member participants, while not allowed to stop third-party advertisements, to do many things, such as display ad played information, display scheduled ads, display log entries, delete log entries, display a list of songs that have played and when played, stop scheduled in- store advertisements, skip currently playing media, move the media file to a different genre, delete a media file, launch the updater, start and stop the player, shutdown and reboot each client player device, query each client player device's status, create play lists, etc., for each business location within the chain, by connecting with each client player device 6 in communication with chain manager 8. These are only illustrative of some of the functions of player manager 104 of the present invention, and while not every function may be discussed herein, this is not meant to limit the functionality of player manager 104 in any way as the inventor intends that player manager 104 be able to control and manage any function of client player device(s) 6 and each in-store broadcast. Essentially, player manager 104 is intended to function to control each client player device 6 and the in-store broadcast of chain business locations at the very business location level. Chain manager 8 is in communication with client player device(s) 6 and central server 4 as shown in Figure 13. Thus, tlirough player manager 104, although they are able to control a large part of the in-store broadcast within each business location, they are also in contact with central server 4 such that when a play list is created, these are subsequently uploaded to central server 4 where they are made available for download during the next call.
Another advantage of player manager 104 is that if a song or advertisement needs to be stopped, or if a play list needs to be modified or changed, chain manager 8 operator, through player manager 104, may communicate directly with the particular client player device 6 to perform such function. As stated, player manager 104 is designed to control each client player device 6 and its actual in-store broadcast.
Typically, a play list is specified and played based upon a percentage basis (e.g., 50% country, 30 percent 80's, etc.). Songs from these genres are randomly selected based on an algorithm, thus songs are not required to be played from the top of the directory to the bottom. Once a song is played, it is marked as "played" and won't be played again until all the other songs in that genre have been played. For example, in a given hour, 3 advertisements are scheduled for broadcast, with no specific times designated. Thus, player manager 104 divides three into sixty and plays one advertisement at the top of the hour, one at twenty after, and one at forty after. In between the advertisements, songs are played based on the randomization algorithm described above. If a song starts at eighteen after and the advertisement is supposed to start at twenty after, the song is allowed to finish and the advertisement starts immediately after the song ends. A song is never to be cut off in during playback. So, once client player device 6 dials in to the network and receives the advertisements, the songs, and the schedule (stating which ads need to be played in which hour), the information is organized accordingly by scheduling center 114.
In an alternative embodiment, the present invention contemplates that member participants of an individual business location will want to put their own CD in client player device 6 and populate the play list on the hard drive to contain the music on the CD. This is easily accommodated through the program modules described herein, and with each song or play list eventually being uploaded to central server 4. Player manager 104 is essentially a web service, as the preferred choice of communication is via the hitemet, thus providing the ability to remotely interact with each client player device 6 within the chain to perform many functions, such as those described above, hi addition, this player manager 104 controls the audio dynamic range compressor or volume leveler built-in on each client player device 6. This volume leveler only modifies the output of songs, thus leaving the advertisements in their original state. This feature allows advertisements to be broadcast at a "hotter" (louder) level making them more apparent and noticeable to customers.
Player manager 104 also includes an on-demand application for dialup connections. With this application, a technician can call the phone number associated with the Linux box and then hang up. The modem monitor subsequently hears the call, clears the line, and then dials into the Internet Service Provider to establish a connection to the hitemet. Through this connection, central server 4 is contacted and the IP address is posted. The technician will use the IP address to SSH to the Linux box. Still another function of player manager 104 is to launch updater 84 that works as described above to perform the steps of: (1) connecting to the Internet (or other connection means); (2) connecting to central server 4; (3) uploading all "ad played" information currently residing on client player device 6; (4) querying the database to determine if there is a new play list to download; (5) connecting to the FTP file server; (6) downloading the computer's hotFix items, if any; (7) downloading advertisements and play lists; and (8) logging out of central server 4's database and sign off comiection. Regarding step one, networked business locations will preferably always be connected to the hitemet through the business location' s WAN. These have a permanent IP address. Dial-up stores will have to comiect upon demand tlirough a dial-up ISP, wherein they will receive a temporary, dynamic IP address.
Regarding step two, each client player device 6 is capable of connecting to central server 4 using the IP-based Java database connectivity (JDBC) protocol. A client player device will login to the database where it is identified by hostname alone. The changing of IP addresses in dial-up stores will not affect the login procedure. A connection record including the current connect time is generated for each login.
Regarding step three, after central server 4 database acknowledges that is has received the "ad played" information, the ad log files are removed from the local computer.
Regarding step four, if there are items to download, the computer proceeds to step 5. If not, the computer proceeds to step 8. Regarding step five, each client player device 6 connects to the FTP file server using the IP -based File Transfer Protocol. Each client player device 6 pulls the FTP server's IP, port, login, password, and relative directories for advertisements/XML from their associated connectivity setup in the database. The changing IP addresses in dial-up business locations will not affect the login procedure at this step either.
Regarding step six, each business location has its own HotFix folder with the FTP server. If there is anything in the HotFix folder, it is downloaded to client player device 6's HotFix folder, and removed from the server.
Regarding step seven, each client player device 6 will download all new information pertaining to it. Each client player device 6 at each business location has its own XML folder within the FTP server. Advertisements for a business location can be pulled from a global, chain, group, and/or business folder level within the FTP server. The location of advertisements is determined when creating the business location's schedule in the control center. All currently scheduled items (ads, play lists, etc.) must be downloaded for the update to be considered successful. If an advertisement or a play list fails to download for whatever reason, that item is left marked as needing to be downloaded and the update proceeds. The JDBC connection to the database remains open during the FTP download. As the FTP process proceeds, each item is marked as downloaded after each successful transfer. This allows the update to keep track of which items still need to be downloaded, even if the connection is terminated before completion. Logout of the FTP server after attempting to download all new data completes this step.
Regarding step eight, the computer updates its connection record after each update. The update's status (e.g. whether all items were uploaded/downloaded successfully) is also recorded. The current time is also recorded as client player device
6's disconnect time. Client player device 6, or updater 84, then logs out of central server 4 until its next scheduled connection. System Network Manager
Figure 13 further illustrates system network manager 10 and the several application components existing thereon that allow system network manager 10 to function as intended. Specifically, system network manager 10 comprises control center 112, scheduling center 114, reports 115, music library manager 116, database sync 117, and field support application 118. A network administrator can use one or more of these application components to perform many advantageous functions not found in prior art in-store broadcasting systems. This suite of application components may or may not reside on the same machine. None of the application components herein communicate with other system network manger application components.
Control Center. The present invention system network manager 10 features a control center 112 that is used by system network manager 10 personnel to create and maintain chain, store, group, music configuration, user, and advertising category information. Control center 112 is also used to create and maintain information pertaining to the several business, advertisement, and other contracts. It is also used to manage date and time sensitive music play lists for chains, groups, and stores, as well as user privileges. Control center 112 serves to perform many functions, including, but not limited to: 1) being responsible for creating and maintaining the records of each business location, such as for a chain of business locations (e.g. Safeway, Albertson's, etc.), an individual business location, or a group of one or more business locations; 2) being capable of creating and maintaining and modifying the music configurations to be provided to 'the various business locations; 3) being capable of creating and maintaining and modifying default and date/time sensitive play lists for business location chains, individual business locations, or groups of business locations; 4) being able to create and maintain and modify advertising categories; 5) being capable of creating system user and set access privileges; 6) create, edit, and delete business locations, either individually or in chains or groups; 7) assign business locations to groups; 8) set the number of times in- store and revenue ads can be played; 9) set volume; 10) set connectivity information for a business location (either network or dial-up); and 11) assign stores to play lists. These are not meant to be limiting, but only illustrative of some of the features of control center 112. The music provided by in-store media broadcasting system 2 of the present invention is a baseline service. The music play lists and advertisements in the file server are downloadable on a daily, weekly, monthly basis via the hitemet or other means of comiection with central server 4. hi regards to the songs and the advertisements, certain things must be known about each in order to operate upon them, such as to start and stop them, etc. Simply naming them is not enough. Therefore, control center 112 has been created to operate on the songs and advertisements. Any songs received in a format other than .mp3 format are converted or ripped to the .mp3 format and then entered into the database, hi the .mp3 format, two things are done to them: 1) a header program is ran against them, which populates the header with all the information needed to make the software work;. 2) another program is then ran against it to take out all the dead spaces. TM Century is the preferred music provider that provides weekly updates of new songs. TM Century's library is approximately 20,000 songs large, each categorized in different genres. These are not necessarily the content that is provided to the stores, however. The present invention system is capable of modifying and expanding this content (e.g. expanding the genres) as desired. This is done at the control center level and by control center 112. As such, there is not a simple pass through of this content from TM Century to the present invention system and then to the various business locations. Instead, each song or play list is operated upon to provide optimal broadcasting services. Essentially, when song files are ripped to the .mp3 format, they are categorized in central server 4 database. The information for populating the header comes from the information in the database. The header looks to the database to tell what the song or advertisement is based upon or what it was called when entered into central server 4 database.
Control center 112 is also capable of directing and delegating a portion, or all, control of the broadcasting system to the member participants, rather than the control center and central server(s) 4 controlling every aspect of broadcasting system 2. In this respect, the member participants and the individual business locations function or act similar to control center 112 in that they are allowed to carry out those functions of control center 112 that are relegated to them. Essentially, they can act like the control center if such an arrangement is agreed upon. hi order to allow a member participant and his/her associated business location to function in this manner, the necessary proprietary software is loaded directly onto their PC or server. Once this is done, they are equipped to function as the control center for their particular business location(s). Although a portion of the control of the broadcasting system for a particular business location may be relegated to its operating member participant, control is never entirely given up. The only portion of control relegated is the control of their server centrally with the network of the present invention so that control of that is transferred to them. Essentially, the present invention software and operating system can be integrated to ran on their network, but with all other functions and control of the present invention system as described herein preferably remaining with system network manager 10 and control center 112 to ensure quality product/service control.
Finally, control center 112 functions using platform independence between each client player device 6. This allows each client player device 6 to be serviced and operated upon independent of any other client player device 6. This is advantageous and unique from the prior art because this allows business locations and member participants to fully customize their in-store broadcast without having to be limited and constrained by other member participants or thirdparties. Furthermore, control center 112 is capable of going from client to client with the code and/or operating system as found on central server(s)/file server(s) 44.
Scheduling Center. The present invention system network manager 10 features a scheduling center 114 that is used to manage in-store contracts, revenue contracts, business contacts, advertisements, and the scheduling of advertisements to contracts.
Scheduling center 114 functions to create, edit, and submit for approval pending revenue contracts, and to specify specific business locations, dates, exclusivity, categories, and slots for the contracts. Scheduling center 114 also functions to resolve any conflicts between contracts.
Scheduling center 114 is responsible for specifying the particular business location(s) for a specific contract. Thus, once a contract is procured, that contract may be designated to be applicable to one or more business locations depending upon the agreement reached in the contract. Scheduling center 114 also determines the exclusivity of a contract, which means if a particular advertisement is assigned a specific category, no other advertisements may be played in this category during the assigned or designated broadcast slot. Categories may include anything ranging from business location products, such as soft drinks, chips, bicycles, etc., to slots for the contracts. One of the primary function of scheduling center 114 is to resolve any conflicts existing or discovered between procured contracts. This is accomplished using an algorithm that goes through and compares everything before a contract is allowed to be activated. If there is a conflict, that contract is not allowed to go active. Conflicts are resolved preferably by changing a contract, but may also be done by canceling a contract that is in conflict with another.
Scheduling center 114 also provides for the viewing of active revenue contracts or in-store contracts. Revenue contracts are the third-party contracts, hi-store contracts are the in-store advertisements that are currently being played or that are scheduled for play that day. Conflicts and other aspects relevant to in-store contracts are similar to those for revenue contracts.
Scheduling center 114 essentially provides for sufficient management of revenue, in- store, and business contracts procured in accordance with the method as described herein. Each contract is preferably stored on central server 4 using a user table having no privileges set so that all contracts, all member participants, and/or all advertisers are stored in one location. Scheduling center 114 further functions to allow a person of authority to view pending contracts, approve contracts to go active, view contracts being scheduled, activate approved and non-conflicting contracts, and to view active contracts. Under the business plan disclosed herein, sales people are responsible for selling and procuring contracts with advertisers and member participants. Once contracts are procured, they must be approved prior to being activated. This is typically done through a sales supervisor or some other management or authority personnel through use of the contract module.
As defined herein, a contract is related to a block of time specific to advertisements and advertisement details (e.g., date, time, number of times to be played, etc.). A contract is simply a block of time that an advertiser buys in a particular business location, business chain, or group of business locations.
Scheduling center 114 also functions to manage all of the ad files in the file server and all of the advertisements approved to go active within in-store media broadcasting system 2.
Scheduling center 114 also provides for the creation of an "ad place holder," which is a temporary holding and preparation feature for the procured advertisement. Within the "ad place holder" you have certain steps that must be performed before the advertisement becomes or is considered a completed advertisement ready for download to a business location. First, a sound file must either be uploaded or created that is to be associated with the advertisement. Second, the advertisement goes through the process of being viewed and approved by a team of personnel, such as an ad engineer, a production artist, or by the producer, etc. This level of approval is done at the ad file level. Third, the advertisement must clear inspection by a primary supervisor that approves and makes the determination as to whether an ad is a completed ad file and ready for broadcasting. The supervisor then activates that ad file. Referring to Figure 18, illustrated is the method of providing an in-store broadcast according to the present invention using the scheduling center described herein. First, as stated above, music media is received 110 and formatted 112. Once formatted, the music is operated upon to populate the header 114, remove dead space 116, and preserve the music in the storage device or file server 118 on the central server. Once the music is formatted other information may be received 120 and 122. This information typically will comprise various advertisements, announcements, etc. Once the ad file and the ad contract are allowed to go active, this still is not enough for the in-store media broadcasting system to automatically perform as it is intended to perform. In all, tliree conditions are designed to be met. First, an active contract must be obtained and activated 124 (see description above). Second, an active ad file must be obtained and activated 126 (see description above). -And, third, an active schedule must be obtained and activated 128. The activation of a schedule is performed by a scheduling module 66. Once these three conditions are satisfied, the content is provided 130 to a business location to comprises an in-store broadcast.
A further function of scheduling center 114 is to associate a contract with an advertisement. Once associated, it is possible to structure a play schedule for that advertisement. At this stage, any conflicts between contracts should have already been resolved. If there is a conflict in contracts, the system will not operate. However, under some embodiments, it may be possible to override a conflict and schedule.
As soon as an active contract, an active advertisement, and an active schedule are created, the system and database is ready to provide the proper client player device 6 the relevant information and play schedule. Therefore, the next time client player device 6 calls in to communicate with central server 4, this newly created infoπnation is made available to client player device 6 for download. If any one of the three above described conditions are not met, then client player device 6 receives nothing as no information would be available. As stated, communication with central server 4 may be scheduled for any time, or may be done at the request of the member participant, etc., but is preferably made on a weekly basis. Any available information is then exchanged, along with the report of the last weeks events by client player device 6.
Reports. The present invention system network manager 10 features a reports component 115 that is used to view various reports of the system. Some of these reports include: 1) connectivityreports; 2) scheduling reports; 3) billing reports; 4) advertisement reports; 5) sales reports; and 6) database sync reports. Music Library Manager. The present invention system network manager 10 features a music library manager component 116 that is used to create, maintain, and manage media files and genre classifications and to upload media files to related genre folders. Media library manager 116 is also used to define music library versions.
Database Sync. The present invention system network manager 10 features a database sync 117 that is an application module utilized to update business location information located within the central server databases with information from the chain databases. On a scheduled basis, database sync 117 establishes database connections, locks records, and updates database records. Database sync 117 also is used to synchronize the chain store repository and data store component 95. Field Support Application. The present invention system network manager 10 features a field support application 118 that is used by the deployment and installation team to maintain client player devices 6. Using field support application 118, reports can be viewed (e.g., installation histories), trouble tickets associated with installations can be managed, and connectivity testing can be performed. Network Communication The communication between each client player device 6 and central server 4 may be accomplished using various connection means as known in the art, but is preferably done using a network configuration, such as a dedicated network configuration or through a global user network such as the hitemet. A dial-up configuration may also be used. Again referring to Figure 12, one or more network interfaces 24 enable each client player device 6 to exchange information with one or more other local or remote computer devices or servers 36 via a network 38 that may include hardwired and/or wireless links. Examples of network interfaces 24 include a network adapter for connection to a local area network ("LAN") or a modem, wireless link, or other adapter for connection to a wide area network ("WAN"), such as the Internet. Network interface 24 may be incorporated with or peripheral to client player device 6. In a networked system, accessible program modules or portions thereof may be stored in a remote memory storage device. Furthermore, in a networked system each client player device 6 may participate in a distributed computing environment, where functions or tasks are performed by a plurality of networked computer devices. Figure 14 shows generally the network setup of the in-store media broadcasting system 2 using a global user network, such as the Internet, as described above. This is the preferred connectivity configuration.
Figure 15 illustrates generally the network setup of the in-store media broadcasting system 2 using a direct connect dedicated network configuration, h this configuration, central server(s) 4 are in direct communication with client player devices
10 tlirough a leased line.
Figure 16 illustrates generally the setup of the in-store media broadcasting system 2 using a dial-up connection. In this configuration, a temporary IP address from a national ISP is obtained to connect the client player device 6 to the Internet 38 and to central server(s) 4 using a modem.
Method of Providing hi-store Media Broadcasting to a Plurality of Business Locations The model or method of the present invention features an in-store media broadcasting network (IBN) functioning to offer an in-store media broadcasting service to various retail and service provider businesses, as well as offering a national radio- advertising network that is focused on retail businesses (e.g., shopping malls, major supermarkets and drugstores) and service providers (e.g. hospitals, dentists offices, etc.), with an emphasis on major supermarket and drugstore retailers. The present invention system and method gives merchants, such as retailers, and service providers the ability to broadcast customized music and messaging directly to their customers. In addition, the method of the present invention provides a targeted advertising venue for consumer marketing companies that are interested in advertising their products to customers at the point of sale.
With reference to Figure 19, illustrated is a flow chart showing, generally, the method of providing an in-store media broadcasting system according to a preferred embodiment. Step 200 comprises establishing a broadcasting infrastructure including strategic partner alliances and a physical network-based in-store media broadcasting system. Step 300 features the procuring of advertising contracts comprising advertisements and instractions on broadcast of the advertisements. This step is intended to be on-going as new advertisements and ad partners will be continuously sought. As such, this step can take place at any time. Furthermore, step 400 includes procuring and enrolling member participants under a membership-based arrangement to receive the in- store broadcast. This step is also ongoing and is intended to apply at anytime throughout the offering of the service. Step 500 includes providing an advertisement revenue sharing arrangement to each member participant. This arrangement is discussed in greater detail below. Finally, step 600 includes providing a customizable and independent in-store media broadcasting service on a location-by-location basis as described above.
Referring to step 200, it is advantageous to form strategic alliances capable of providing technology capabilities, computer installation, maintenance and service, as well as those necessary to provide the music library to be offered to each business location. It is also advantageous to provide an in-store media broadcasting system and service as that described above. Each of these are shown in Figure 20. Music Media Sources
One of the advantages of some embodiments of the present invention is the unique partnership arrangement contemplated in which music and digital music files are provided to the system operators, which are in turn made available to each member participant free of charge. These music files are formatted, stored, and are ready for immediate download and subsequent broadcast over the in-store media broadcasting network to each member participant, hi one embodiment, a partnership arrangement is made in which a third-party entity, such as TM Century, provides the music to be broadcast to the several business locations. The music files may be provided in any recorded media or any format, but are preferably compressed .mp3 or .wav files. The .mp3 format affords high quality audio with minimal hard disk storage requirements. The music is provided and stored in a database on the one or more central servers. This database is available to each client player device upon establishment of communication with the central server, wherein any one or more songs may be downloaded to the client player device, h addition, the song database may be updated as often as necessary. For example, the music database or library may be updated with new songs on a quarterly basis, provided, after review, that the new music meets certain content and other defined criteria, such as appropriateness. Once updated, any client player device may tap into the central server using its designated means for communicating with the central server, the updates typically occurring via FTP or CD.
Due to delicate copyright and proprietary rights to the various songs, jingles, etc. that are to be broadcast using the present invention in-store media broadcasting service, the method of the present invention further contemplates partnership arrangements with one or more organizations, such as BMI (an American performing rights organization), that represents songwriters, composers, and music publishers in all genres of music; or one or more membership associations, such as ASCAP, comprised of composers, songwriters, and publishers of every kind of music worldwide, hi the case of the representative organization, these organizations function to collect license fees on behalf of those -American creators it represents, as well as thousands of creators from around the world who chose representation by that organization in the United States. The license fees collected for the "public performances" of its repertoire of compositions - including radio airplay, broadcast and cable television carriage, hitemet and live and recorded performances by all other users of music - are then distributed as royalties to the writers, composers and copyright holders it represents. Such partnership arrangements are required to provide the music to be broadcast throughout each business location.
Computer Installation and Maintenance
Another strategic alliance is the partnering with an installation and maintenance company. When a new member participant joins the in-store media broadcasting service and network of the present invention, each member participant is given direct support and training with the goal of establishing an appropriate roll-out schedule. Personal computers or client player devices are then acquired according to that schedule and sent in for configuration and testing. The ad scheduling software, network interface software, and default music library are loaded on the client player devices at this point.
For member participants with relatively few stores, for example fewer than 300, all of the installation and setup may be handled internally. For larger member participants, those having over 300 stores, it is desirable to outsource the configuration, setup, and installation to an independent company capable of performing such a task on a national or international scale. Thus, the present invention further comprises an installation partnership with one or more companies capable of provides network design, installation, and maintenance on a local market basis. For example, Innova Global Technologies (IGT) has the national coverage and scale to handle large volumes and may be utilized to carry out this important initial step.
Once configured, the client player devices are then sent to the closest local office of the designated installation partner. The employees of the installation partner then proceed to install the client player devices at each business location. At each site, the installation partner is responsible for connecting the client player devices to the network hub and the audio or audio/visual system of the business location. Once these connections are made, the client player device is turned on and the initialization process begins. During initialization, a file is automatically sent via the means for connecting (e.g. the hitemet) from the on-site or in-store client player device to the central server. The central server then sends back a play list and ad scheduling instructions as well as instructions on when to reconnect or re-establish communication.
Although not a strategic alliance, but instead handled in-house, the present invention further comprises a customer support or customer service center that handles all the technical issues once each of the client player devices are running. The customer support center receives daily connectivity reports and therefore can proactively address issues as they arise with each business location. As part of the customer support, any problems may be resolved via telephone. However, if necessary, a new computer may be sent directly to the business location, to the member participant's headquarters, or to the local installation partner's office via an expedited delivery service, such as next-day delivery, etc. The new client player device can then be installed the next day to ensure that downtime is kept to a minimum.
Another feature is the ability to provide a backup in case there is a problem experienced. Therefore, the present invention contemplates a backup system in which a number or computers may be placed with local installation partners in order to eliminate any downtime at all. If a problem occurs, the business location's in-store broadcast may be switched over to be received or broadcast from the backup compute.
For a waivable or non-waivable monthly fee, owners and/or operators of a business location have free access to their own private label radio network based on a music library of thousands of songs in a plurality of genres. As part of the service, all necessary hardware and software, installation, maintenance, service and support are provided, maintained, and updated as needed. Music on hold over telephones and the production of a select number of store- generated advertisements is also contemplated and included.
Advertising Model
The present invention further features an advertising plan model and method to be implemented with and unique to the in-store media broadcasting capabilities as presented herein. With reference to Figure 21, step 500, providing an advertising procuring, broadcasting, and revenue sharing plan to each member participant comprises the specific steps of 502, securing third-party and/or member participant advertising; step 506, submitting each advertisement to an advertisement department for review and approval; step 510 storing each advertisement in an FTP file server; step 514, downloading one or more advertisements to a business location; step 518, incorporating the advertisement(s) into the dynamic schedule contained on the client player device at the respective business location; step 522, broadcasting the advertisement as designated by the schedule; step 526, providing a "proof-of-play" to the advertisers; and step 530, providing a percentage of the revenue received from the advertiser to the member participants based upon the advertisements played in the member participant's business location.
In the retail industry, it is a well-acknowledged fact that environment music enhances the shopping experience and leads to increased sales. Therefore, the cost of implementing an in-store music and broadcasting system using traditional means was justified by the return achieved on the investment. Retailers also use in-store music as a means to enhance brand building - shoppers will identify specific retailers by the type of music that is played. Despite the advantages of traditional in-store media broadcasting, however, for most retailers in-store music is a significant operating expenditure.
Unlike prior part broadcasting systems, the broadcasting systems and methods of the present invention enables those participating in the service (member participants) to greatly enhance the effectiveness of their in-store music programming. The present invention technology offers both retailers/service providers and advertisers an unprecedented level of flexibility, customization, and target marketing that is difficult to obtain with the prior art satellite based system, hi addition, the delivery service offered by the in-store media broadcasting system of the present invention reduces overall operating expenditures, thus allowing member participants to offer lower prices to retail customers, while enjoying higher revenue earnings. Some of the recognized advantages of the present invention are: 1) revenue generation for the member participants from a revenue sharing plan; 2) a highly valuable and targeted advertising audience for advertisers; 3) advertising customization by the advertisers and advertising and system customization by member participants; 4) broad market coverage; and 5) cost-efficient media. These are illustrated in Figure 21 as advantages 534.
In regards to advertising customization by the advertisers and member participants, the in-store media broadcasting system and method of the present invention offers an unprecedented level of complete customization of the listening experience. Advertisers may run ads in individual stores, groups of stores, regionally and nationally. In addition, they can ran ads at a specific time of day and can make weekly changes to advertising content (for example: orange juice in the morning, or chicken from 5-7 pm), as well as being able to change their ad content and schedule from week to week or month to month or at any desired time. This gives advertisers the ability to run special promotions during specific events. For example, People Magazine may require weekly scheduling flexibility to support each cover as it arrives at the newsstand. Furthermore, advertisers can target specific individuals, groups of individuals, products, services, etc. As a result of the proprietary technology utilized, customization is made possible on a business location by business location basis, h other words, customization of messaging and music mix is achieved down to the individual store, h addition the present invention method and system offers day-part advertising, which allows advertisements to ran at a specific time of day. The present invention is capable of accommodating the broadcasting wishes of each member participant. As mentioned, traditional competitors are limited by their satellite-based broadcast systems and therefore it is virtually impossible for them to offer the same level of customization. h regards to broad market coverage, in-store media broadcasting currently ranks in the top five listening audiences for radio stations in every market it serves and is often the top listening audience. This is because everyone at some point or another visits a retail store or service location where such a network system may exist. Therefore, in- store advertising is ripe for the unique method and system of the present invention, h regards to cost-efficient media, because of the large number of shoppers and the depth of penetration, the in-store media broadcasting system and method of the present invention can deliver ads at lower cost per thousand impressions (CPM) than traditional media. In addition, unlike TV and radio, those target audiences of the present invention system cannot lower the volume or change the station. Consumer advertising is an attractive route because these budgets are typically larger and the buys are generally longer term and national in scope. Other advantages are also recognized. For instance, because the platform music delivery system can be installed and maintained at a significantly lower cost than that of similar offerings from companies with satellite-based systems, lower start-up and operating costs are required, hi addition, free store-generated messaging is contemplated, in which each business location is given complimentary airtime to promote in-store programs, departments, specials and shopper loyalty programs. Furthermore, central control of the listening experience may be provided, wherein it is possible to give member participants the ability to centrally monitor, in real-time, what is being played in each individual store, as well as giving them the ability to centrally control music mixing and store-generated messaging, hi addition, unlike TV and radio, listeners cannot lower the volume or change the station. The system and method of the present invention enables focus of advertisements and promotional and sales efforts on like-advertisers, meaning for example, if a grocery store implements the in-store media broadcasting system of the present invention, those advertisers accustomed to advertising within the grocery store segment, will likewise find the system and method of advertising according to the present invention even more attractive, h the grocery store segment, these like- advertisers may include a wide range of aggressively advertised consumer goods categories such as food and beverages, over- the-counter drags, health and beauty aids and household products. Whatever type of retail or service oriented industry, as there is often significant crossover between industries, the method of the present invention combines local in-store radio networks into Designated Market Areas (DMA' s) and then combine these DMA' s to offer national advertising coverage.
Although the following discussion centers around implementing the in-store media broadcasting system into retail stores such as grocery or drag stores, the present invention is designed to be much more expansive in scope. For example, the system and method may be applicable, but not limited, to other retail segments, such as convenience stores, auto parts stores and hardware stores, malls, airports, and virtually any other public or private location or venue wherein the consuming public may be found. Hence, the term business location is meant to include any such location or venue.
Basically, how the system and method works is that a client player device is installed at the business location of each retail business or service provider that is connected to the store's internal network and audio/visual system, namely their audio system. The client player device contains a library of thousands of songs categorized in one or more ways, such as by genre, along with the particular retailer's or service provider's proprietary advertising, music scheduling, and delivery software. At an identified time, typically or preferably once a week, the client player device receives new advertisements, play lists, schedules, and delivery or play instractions from the central server via the specific communication protocol designated for that particular business location, where communication via the Internet is preferred. Once received, the client player device plays the advertisements and music according to the instractions received. Also during the scheduled communication time with the central server, the client player device uploads its session information to the central server to report the activities of the previous session, including any errors that may have occurred.
As part of the method, third-party advertising is secured and sold. A significant advantage of the method presented herein is that a percentage of the proceeds or revenue generated and received from the third-party advertisers, as well as others wishing to advertise on the system, is also shared with the member participant (e.g. the retailer, or service provider, etc.), thus enabling the member participant to transform what was once an operating expenditure into a revenue generator.
This advertising is then broadcast over a business location' s internal audio/visual system as specified by the member participant tlirough communication with the central server, and broadcast throughout the business location as dictated by the created schedule.
Music and Advertising Scheduling and Delivery Technology
The system and method utilizes proprietary client/server software specifically developed for music and ad scheduling and delivery. The software is java-based and therefore platform independent. Each week, the client software (supported on the client player device in the respective business locations) initiates contact with the central server via the designated means for communication, preferably the Internet, to request new ad downloads and play list instractions, and to upload play information from the previous session to the central server. Play information from the previous session is defined as information that states or reports session activity, such as which songs and which ads were played, when they were played, and how often they were played. The uploading of the session activity is preferably initiated by each client player device at the business locations, rather than by the central server, due to firewall issues - many internal firewalls block incoming data but will permit outgoing information.
Play list instractions will dictate the mix of music to be played (for example 50% Adult Contemporary, 25 % Country and 25 % Eighties) . Play lists are configured centrally either by the in-store media broadcasting service provider or by the member participant. Member participants at headquarters may remotely access the central servers to perform a number of activities, including configuring play lists, manually overriding the auto- update feature to change play lists, real-time monitoring of what is being played on a location-by-location basis, and switching store-generated ads on or off. However, member participants are not allowed to access or change any third-party advertising. After a third-party advertising contract has been sold, the sales representative creates an electronic contract in the software system. As ads associated with the contract are created, they are uploaded and assigned specific play instractions. Once the advertisements air, the play information is uploaded from the music servers in the stores into the central server databases and associated with their specific contract. This play information is uploaded periodically and is used to show "proof of play" to the ad sponsor and for billing purposes. Lastly, the proprietary network interface software allows easy interface with the member participant's internal network.
The following examples are illustrative of the particulars of the present invention discussed above. Again, like each Example presented herein, these Examples are not meant to be limiting in any way, but are merely provided to illustrate how the present invention system and method may be practically implemented.
Subscription Plan The present invention further comprises or features a plan for providing in-store media broadcasting services to select member participants on a subscription basis. The subscription fee will be significantly lower than what many member participants have been paying for in-store music services. The subscription fee arrangement will preferably be entered into with those member participants having fewer than 300 stores, but may also be entered into with any member participant. Many member participants will pay the subscription fee because first, they recognize that in-store media broadcasting is valuable; two, all of the hardware, software, and customer service will be provided, thus eliminating the need for the member participants to incur large upfront equipment expenses; and third, each member participant will be able to share in advertising revenue generated based on a percentage basis, which will more than likely offset and typically surpass any subscription fees owed.
Thus, as discussed herein, the embodiments of the present invention embrace systems and methods for providing a multi-tier enterprise level application, h particular, the present invention relates to systems and methods for providing an architecture and interface for delivering customizable music and advertisements to remote retail locations. The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
What is claimed is:

Claims

1. A system for providing a multi-tier enterprise level application, the system comprising: a server having a data layer, wherein the server is connected to a communication mechanism; a client having a presentation layer for use in providing a broadcast, wherein the client is connected to the communication mechanism; and an interface layer that selectively interacts with the data layer and the presentation layer, wherein control over the broadcast is experienced locally at the client and disseminated remotely.
2. A system as recited in claim 1 , wherein the communication mechanism comprises at least one of:
(i) a local area network; (ii) a wide area network; (iii) a wireless network; and (iv) a leased line.
3. A system as recited in claim 1 , wherein the presentation layer for use in providing the broadcast comprises at least one of: (i) video data; and (ii) audio data.
4. A system as recited in claim 1, wherein the broadcast is performed at the client using at least one of:
(i) a speaker; (ii) a display device; and (iii) a hologram.
5. A system as recited in claim 1, wherein the data layer includes at least one database.
6. A system as recited in claim 5 , wherein the interface layer comprises one or more peers corresponding to one or more persistent obj ects, and wherein the one or more peers are independent from the one or more persistent objects.
7. A system as recited in claim 6, wherein the interface layer further comprises: a controller manager configured to interface with the presentation layer and selectively creates one or more controllers; and a manager configured to manage the one or more persistent objects and corresponding peers, and wherein the peers interface with the database.
8. A system as recited in claim 7, wherein the enterprise level application provides customized content to a retail location for the broadcast of the content at the client, and wherein the customized content includes at least one of:
(i) music; and (ii) an advertisement.
9. A system as recited in claim 5, further comprising a system manager that is configured to communicate with the server, wherein the system manager includes at least one of:
(i) a control center module; (ii) a scheduling center module;
(iii) a report module;
(iv) a music library manager module;
(v) a database sync module; and
(vi) a field support application.
10. A system as recited in claim 9, further comprising a chain manager that is configured to communicate with at least one of:
(i) the client; and
(ii) the server.
11. A system as recited in claim 10, wherein the chain manager comprises at least one of:
(i) a player manager module; and (ii) a music manager module.
12. A system as recited in claim 1, wherein the client comprises at least one of:
(i) a player component; (ii) an updater component;
(iii) a client launcher component; and (iv) an upgrader component.
13. A system as recited in claim 12, wherein the server comprises at least one of:
(i) a storage device; (ii) a remote file access component; and
(iii) a business object component.
14. h a system that includes a client, a server, a system manager, and a method for providing a multi-tier enterprise level application that selectively delivers music and announcements to a retail location, the method comprising the steps for: providing a broadcast schedule that includes music content and one or more advertisements, wherein the broadcast schedule is customizable to the client; executing at least a portion of the broadcast schedule at the client; and selectively establishing a connection between the client and the server to exchange information, wherein the information exchanged includes data corresponding to a broadcast at the client.
15. A method as recited in claim 14, wherein the broadcast comprises an advertisement customized for the client and disseminated by the server.
16. A method as recited in claim 14, wherein the information exchanged includes a request received by the server for customized content for the broadcast at the client.
17. A method as recited in claim 14, wherein the step for providing a broadcast schedule comprises the steps for: selectively processing the music content by performing at least one of the steps for:
(i) placing the music content into a desired format; (ii) populating a header corresponding to the music content; and (iii) removing any dead space associated with the music content; and preserving the processed music content in a storage device.
18. A method as recited in claim 14, wherein the step for providing a broadcast schedule comprises the steps for: obtaining an active contract; obtaining an active advertisement associated with the active contract; and obtaining an active broadcast schedule associated with the active contract.
19. A method as recited in claim 14, wherein the step for providing a broadcast schedule comprises delivering the broadcast schedule to the client.
20. A method as recited in claim 14, wherein the step for selectively establishing a connection comprises the step for establishing a connection at a predetermined instant in time.
21. A method as recited in claim 14, wherein the step for selectively establishing a connection comprises the steps for: providing a request to the client to initiate a connection with the server; and initiating a comiection with the server upon the receipt of the request by the client.
22. A method as recited in claim 14, wherein the information exchanged includes at least one of:
(i) data corresponding to music content; and (ii) data corresponding to an advertisement.
23. A method as recited in claim 22, wherein the information exchanged further includes data corresponding to a broadcast time.
24. A method as recited in claim 14, wherein the broadcast is performed at the client using at least one of:
(i) a speaker; (ii) a display device; and (iii) a hologram.
25. An in-store media broadcasting system comprising: one or more client player devices placed at one or more business locations, respectively, of a member participant, each of said client player devices being independently supported by said in-store media broadcast system, such that said in-store media broadcasting system comprises a platform independent framework where one of said client player devices may selectively broadcast different informational content than another said client player device, said client player device comprising one or more application software components thereon that carry out the functions of said client player devices, said client player devices in communication with an internal audio/visual/network system installed in said respective business location; a central server system comprising one or more central servers in communication with each of said client player devices, said central server comprising application and database servers and file storage devices; a customizable in-store broadcast supported on each of said client player devices and comprising informational content thereon as received from said central server to be broadcast tlirough said audio/visual/network system of said business location, said customizable in-store broadcast allowing a client player device located at one business location to be able to selectively broadcast informational content different from the informational content broadcast on another client player device located at another business location, said customizable in-store broadcast allowing said member participants and advertisers to deliver customized music and messaging, as well as targeted and directed point of sale advertising to consumers by directing said informational content to be broadcast at one or more specific business locations of their choice; and a computerized network configuration connecting said client player devices to said central server system to facilitate an exchange of information between each.
26. The in-store media broadcasting system of claim 25, wherein said central server comprises: a remote file access component comprising one ore more servers to provide means for transferring files to said client player devices; a file storage component comprising one or more storage mediums to store and support computer files to be provided to said client player devices; a business objects component designed to model and enforce business rules and data of an organization; a data store component comprising a data layer that models and enforces business rules and data of an organization, and data stores including music information, advertisement information, field services information, chain information, contract information, and schedule information; and a network application component designed to serve as the interface component between said client player devices and said central server.
27. The in-store media broadcasting system of claim 25, wherein said client player device comprises various input/output devices to allow one to control and manage said broadcast directly from said client player device.
28. The in-store media broadcasting system of claim 25, wherein each client player device is initially equipped with a default play list that is unmodifiable by said member participant, but modifiable by a network persoimel operating said central server, said default play serving as the foundational play list covering all possible time slots of every day to ensure said broadcast is continuous and uninterrupted.
29. The in-store media broadcasting system of claim 25, wherein said informational content comprises media of the music type, the advertisement type, music play lists, announcements, and other any other broadcastable media.
30. The in-store media broadcasting system of claim 25, wherein said business location may utilize several client player devices as needed.
31. The in-store media broadcasting system of claim 25 , wherein said in-store media broadcasting system is membership based, with each business location/group of business location/chain of business locations comprising at least one member participant representative.
32. A method of providing in-store media broadcasting tlirough an in-store media broadcasting system, said method comprising the steps of: receiving music media on a central server to be broadcast, said music media preserved on a storage device on said central server; receiving additional media types on said central server in the form of advertisements and announcements corresponding to active and approved contracts, said additional media types also preserved on a storage device on said central server; operating upon said media types so they are broadcast-ready to provide broadcast informational content including music play lists and advertisements; transferring said media types over a computerized network to one or more client player devices located at one or more business locations, said client player devices independent of one another, such that said client player devices and said central server comprise a platform independent in-store media broadcasting system where one of said client player devices may selectively broadcast different informational content than another said client player device, said customizable in-store broadcast allowing said member participants and advertisers to deliver customized music and messaging, as well as targeted and directed point of sale advertising to consumers by directing said informational content to be broadcast at one or more specific business locations of their choice; broadcasting said informational content over an internal audio/visual system of said business location in the form of a customized broadcast, said broadcast conforming to a dynamic schedule designed to play and control said broadcast and the characteristics of said broadcast within a respective said business location, said dynamic schedule comprising scheduled broadcast times for said advertisements and said music play lists defining said broadcast.
33. A method of providing customized network-based in-store media broadcasting services to one or more business locations, said method comprising the steps of: establishing an independent broadcasting infrastracture comprising the steps of: forming strategic alliances with technology, computer, installation, maintenance, service, and music provider companies to provide the necessary services and components needed to provide said network-based media broadcasting services; setting up and configuring a physical network-based in-store media broadcasting system comprising: a plurality of client player devices placed at a plurality of business locations, each of said client player devices being independently supported, said client player devices in communication with an internal audio/visual system installed in said business location; a central server system comprising one or more central servers in communication with said client player devices; a broadcast supported on said client player device and comprising informational content to be broadcast, said informational content customized and specific to each respective said business location, said broadcast allowing member participants and advertisers to deliver customized music and messaging, as well as targeted and directed point of sale advertising to consumers; a network configuration connecting said client player devices to said central server network to provide an exchange of information between the two; one or more software application modules stored on said client player devices and said central server that controls and operates said client player device and said central servers, respectively; procuring and enrolling member participants under a membership based arrangement to receive said in-store broadcast at their respective business locations; procuring and fulfilling advertising contracts comprising advertisements and instructions on broadcasting said advertisements in said broadcast to one or more said business locations, said advertisements comprising targeted advertisements capable of being broadcast to one or several business locations on any date, at any time, and for any number of times, these being designated by said advertising contract; implementing an advertisement revenue sharing plan to said member participants in which said member participants are given a percentage of the advertisement revenue generated from said advertising contracts; providing, independently, a customizable in-store media broadcasting service to said business locations on a business location-by-business location level.
PCT/US2003/012627 2002-05-15 2003-04-23 Providing a multi-tier enterprise level application for media broadcasting WO2003098457A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002485141A CA2485141A1 (en) 2002-05-15 2003-04-23 Providing a multi-tier enterprise level application for media broadcasting
EP03724189A EP1504354A1 (en) 2002-05-15 2003-04-23 Providing a multi-tier enterprise level application for media broadcasting
AU2003231065A AU2003231065A1 (en) 2002-05-15 2003-04-23 Providing a multi-tier enterprise level application for media broadcasting

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/146,192 2002-05-15
US10/145,920 2002-05-15
US10/146,192 US7945636B2 (en) 2002-05-15 2002-05-15 Providing a multi-tier enterprise level application
US10/145,920 US20030216958A1 (en) 2002-05-15 2002-05-15 System for and method of doing business to provide network-based in-store media broadcasting

Publications (1)

Publication Number Publication Date
WO2003098457A1 true WO2003098457A1 (en) 2003-11-27

Family

ID=29552713

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/012627 WO2003098457A1 (en) 2002-05-15 2003-04-23 Providing a multi-tier enterprise level application for media broadcasting

Country Status (4)

Country Link
EP (1) EP1504354A1 (en)
AU (1) AU2003231065A1 (en)
CA (1) CA2485141A1 (en)
WO (1) WO2003098457A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3030981A1 (en) * 2014-12-18 2016-06-24 Made In Audio DEVICE FOR CONTROLLING A RETRIEVAL INTERFACE OF A MULTIMEDIA CONTENT, SERVER, CONTROL AND CONTROL METHODS THEREFOR
CN111158629A (en) * 2019-12-24 2020-05-15 苏宁智能终端有限公司 Method and system for seamlessly switching media asset players

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058160A (en) * 1988-04-29 1991-10-15 Scientific-Atlanta, Inc. In-band controller
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058160A (en) * 1988-04-29 1991-10-15 Scientific-Atlanta, Inc. In-band controller
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3030981A1 (en) * 2014-12-18 2016-06-24 Made In Audio DEVICE FOR CONTROLLING A RETRIEVAL INTERFACE OF A MULTIMEDIA CONTENT, SERVER, CONTROL AND CONTROL METHODS THEREFOR
CN111158629A (en) * 2019-12-24 2020-05-15 苏宁智能终端有限公司 Method and system for seamlessly switching media asset players

Also Published As

Publication number Publication date
CA2485141A1 (en) 2003-11-27
AU2003231065A1 (en) 2003-12-02
EP1504354A1 (en) 2005-02-09

Similar Documents

Publication Publication Date Title
US20030216958A1 (en) System for and method of doing business to provide network-based in-store media broadcasting
US20040128198A1 (en) System and method for computer network-based enterprise media distribution
US7945636B2 (en) Providing a multi-tier enterprise level application
US20040225564A1 (en) Systems and methods for providing an in-store media broadcast
US20060089914A1 (en) Apparatus, systems and methods for compensating broadcast sources
US20100127013A1 (en) Dvd kiosks
US20070245882A1 (en) Interactive computerized digital media management system and method
US20040068536A1 (en) Multimedia player and browser system
US20070271366A1 (en) Multimedia player and browser system
US20090012873A1 (en) Systems for managing digital media distribution
US20110208616A1 (en) Content system
US20010025259A1 (en) Radio station digital music distribution system and method
US20060248209A1 (en) Network system for facilitating audio and video advertising to end users through audio and video podcasts
US20060249576A1 (en) Systems and methods for providing near real-time collection and reporting of data to third parties at remote locations
US10275809B2 (en) Systems and methods for ordering and delivering digital content
WO1999018518A2 (en) Internet based musical indexing system for radio
JP2001351014A (en) Method for distributing information on communication network, method for linking information from server to user on communication network, and multimedia medium
US10264327B2 (en) Systems and methods for distributing digital content at events
US8503986B2 (en) Audio content distribution control system
EP1504354A1 (en) Providing a multi-tier enterprise level application for media broadcasting
US9301108B2 (en) Audio content distribution control system and method
JP2004355335A (en) Server device for web page unitary management system, information provision method using home page, and program for server device
MONTEIRO INTERNATIONALIZATION PLAN OF NMUSIC TO INDIA
WO2001091015A1 (en) Permission-based marketing and delivery system and method
JP2003044389A (en) Method and system for distributing contents

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2485141

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2003724189

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003724189

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP