CROSS-REFERENCES TO RELATED APPLICATIONSThis Application for Patent claims the benefit of priority from, and hereby incorporates by reference the entire disclosures of, co-pending U.S. Provisional Application for Patent Serial No. 60/330,224, filed Oct. 17, 2001; co-pending U.S. patent application Ser. No. ______, filed Oct. 3, 2002, and co-pending U.S. Provisional Application Serial No. 60/341,626, filed Dec. 17, 2001.[0001]
BACKGROUND OF THE INVENTION1. Technical Field of the Invention[0002]
The principles of the present invention generally relate to a system and method for performing out-of-home advertising, and more particularly, but not by way of limitation, for providing the system and method to subscribers (e.g., retailers and out-of-home advertisement agencies) to operate as private broadcasters to provide advertising or content delivery services for advertisers and subscribers in a targeted manner.[0003]
2. Description of Related Art[0004]
Traditional out-of-home advertising, including point-of-purchase and promotional retail advertising, has been generally formed of static and expensive signs and promotional materials that typically utilize photographs, graphics, and text for advertising products. Advertising space located in retail outlets is generally rented, leased, or otherwise disposed of by a manufacturer for a certain period of time, such as a month. While the cost of renting the advertising space may be expensive, the cost to produce the content that is placed in the advertising space may be as or more expensive (e.g., $800 per sign) due to production and printing costs. Further, advertisers (e.g., product manufacturers) typically have as much as 70 percent or more of the signs, promotional materials, and display fixtures not used or displayed by the retailer. The cost to produce these items or materials also may carry additional costs if techniques, such as backlighting, are used.[0005]
In an effort to reduce production and printing costs and increase revenue from the out-of-home advertising locations, dynamic signage has developed. Dynamic signage includes many techniques for allowing advertisements to be non-static, including rotating mechanical devices having multiple printed advertisements mounted thereto and utilizing electronic displays. In the case of using electronic displays, one technique has included playing video tapes, compact disks (CDs), digital video disks (DVDs), etc., of advertisements and/or content on an electronic display that is proximately located in relation to a product. Content is any and all information of any form, including, without limitation, images (still, motion, and/or animated) and audio. Advertising is content related to products and/or services. Additionally, computers have been connected directly to monitors to display digitally stored advertisement data. More recently, larger, flat-panel electronic displays have allowed retailers to display advertisements with increased space savings and with better visual appeal.[0006]
However, conventional dynamic signage systems utilizing visual displays for advertising have several drawbacks. First, distributing and maintaining the content (e.g., advertising information on a large scale is difficult. Even in the case of having a single display, installing, updating, and servicing the advertisement data on the associated computer is time consuming and expensive from an equipment and manpower perspective. In the case of utilizing a computer server and local computer network to maintain and distribute the data from the computer server at a central location, distribution costs may be reduced, but higher equipment costs and maintenance fees are needed due to the more sophisticated hardware and software being utilized. These costs are generally beyond what retailers and out-of-home media entities, for example, are willing or able to afford as they are reluctant to purchase the equipment and hire staff to support the technology.[0007]
A second drawback includes the capitalization of the computer and electronic display equipment being significant. While the cost of this equipment has been reduced over the past few years, especially for computer equipment and flat panel displays, retailers have not fully embraced the technology due the capitalization costs—particularly from a balance sheet standpoint. In other words, retailers and other business establishments are cautious in purchasing and owning computing and electronic display equipment that will become outdated and negatively affect the balance sheet.[0008]
A third drawback is that large content datafiles for advertising or other purposes requires a high bandwidth communication network to communicate the datafiles. Because of the high bandwidth requirement, use of terrestrial broadband for communication of large datafiles to many distribution points presently is not a viable option due to communication fees and bandwidth limitations. Additionally, geographic coverage of the Internet is not sufficient in many rural areas that potential customers or users require. Other forms of terrestrial communication having insufficient bandwidth, such as cellular networks, cable, digital subscriber lines (DSL), and broadcasts are similarly problematic in terms of coverage areas and associated costs across the country and around the world. These communication limitations are magnified when distribution of the content is performed on a large scale basis.[0009]
A fourth drawback is that the electronic displays traditionally used by out-of-home establishments have been large (e.g., 36×48 inches) such that the electronic displays generally have been utilized to perform “brand messaging” or “bill boarding” for advertisers and retailers. One reason for the limited usage of the large electronic displays is due to the inability to place the large electronic displays at or near point-of-purchase displays. The placements include mounting the electronic displays to the walls and ceilings or on a pedestal that is free-standing on the floor. Such placements, again, provide for brand messaging, which may help to increase sales volume, but “impulse” purchasing, as understood in the art, may not be fully captured due to the electronic displays only being in the general vicinity of the products being advertised and not close enough to inspire consumers to readily purchase the product being advertised.[0010]
Further, the large electronic displays have typically been fixed or mounted to walls or other relatively immovable structures such that it is difficult for the retail establishment to easily relocate the electronic displays. And, because electronic displays are not easily moveable, advertisers are limited in being able to utilize the advertising technology as their products are unable to be relocated in proximity of one of the electronic displays. Also, because the electronic displays are limited in number and placed “where convenient”, specifying the location of the electronic display in relation to a store layout is generally not performed or performed at a very broad level (e.g., checkout counter), thereby being difficult or impossible for retailers to easily manage and sell to advertisers for advertising usage.[0011]
A fifth drawback includes the long-time common practice for advertisers to request “tearsheets” as understood in the art of advertisements printed in periodicals or other printed material. However, in the case of using electronic displays, advertisers are unable to receive true verification as to whether the content was actually displayed as requested both in terms of time and quality (e.g., color and intensity). While it may be possible to verify that the content was communicated to an electronic display, simply knowing that the content was communicated does not indicate truly whether the electronic display was properly operating (e.g., proper operation of the picture tube, proper color, proper brightness, existence of power, sound quality, etc.). Because of the lack of a “tearsheet” verification, advertisers are reluctant to engage in the use of electronic display technology for advertising at remote locations.[0012]
To address the bandwidth requirements for the large amounts of digital media content for advertisements and the insufficient geographic coverage presently existing with terrestrial networks, satellite networking has been utilized. The satellite network offers sufficient global reach necessary for the advertising industry, which is truly international in scope. One such satellite network is provided by Hughes Network Systems. Other satellite networks are available from Loral Space and Communications and Gilat Satellite Networks, to name a few. However, while communication technology has become available to solve the communication problems, the other drawbacks and issues (e.g., management, cost, verification, etc.) remain open issues that restrict technology usage and industry growth.[0013]
SUMMARY OF THE INVENTIONTo overcome the drawbacks of conventional electronic display advertising at out-of-home locations, including (i) distributing and maintaining content, (ii) capitalizing equipment, (iii) utilizing high bandwidth communication equipment, (iv) positioning electronic displays, and (v) verifying timely and proper display of the content, systems and methods have been developed that address the drawbacks.[0014]
To overcome the problems of limited geographic distribution and storage of out-of-home content, a satellite communication network with storage may be utilized. Rather than having the service provider of the infrastructure operate as the broadcaster (i e., the group who books and schedules the content and/or sells advertising space), the principles of the present invention provide for subscribers (e.g., retail establishment, product manufacturer, out-of-home media entity) operate as a private broadcaster by performing booking and scheduling operations for advertisers, thereby enabling the subscribers to gain significantly more revenue and to maintain control over the type and quality of content being displayed. To provide affordable infrastructure, including satellite communication equipment, local computing equipment, and electronic displays, the subscribers may subscribe to the content management and distribution service via a subscription and be charged by the service provider on a capacity basis (e.g., megabytes per time period) for distribution of the content (e.g., photograph, video, etc). Additionally, the subscribers may be charged for storage of the content on a capacity basis (e.g., megabytes per month) These charges may be passed through to the advertisers, thereby further minimizing the cost for the subscribers. To address positioning limitations of large electronic displays, small, wireless, electronic displays that may be mounted to shelves, stands, and other previously inaccessible locations may be utilized.[0015]
To provide confidence to the advertisers, actual verification of the content being displayed by electronic displays is provided by performing feedback. One feedback embodiment includes the use of an identifier associated with content and displayed on the electronic display. A log of the content displayed on an electronic display is stored by a computing device in communication with the electronic display and communicated with a service provider computing system to enable the subscribers to provide the actual verification to the content providers and advertisers and brand subscribers.[0016]
BRIEF DESCRIPTION OF THE DRAWINGSA more complete understanding of the system and methods of the principles of the present invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:[0017]
FIGS.[0018]1A-1B are exemplary maps and of the United States showing cable and digital subscriber line (DSL) communication coverage area and satellite communication coverage areas;
FIG. 2 is an exemplary system diagram of a communications system that provides for communication of content utilizing the principles of the present invention;[0019]
FIGS.[0020]3A-3C are more detailed exemplary system block diagrams of infrastructure of the communications system of FIG. 2;
FIGS.[0021]4A-4C are exemplary illustrations of various embodiments of visual appliances of FIG. 3A coupled to point-of-purchase displays as utilized in facilities of FIG. 2;
FIG. 5A is an edge-view of an exemplary power distribution system that includes a low-profile track and conductive power strips utilized in the facilities of FIG. 2;[0022]
FIG. 5B is another exemplary power distribution system formed of tubing that may operate as a support extension arm to mount and extend visual appliances from a display fixture within the facilities of FIG. 2;[0023]
FIG. 5C is yet another embodiment of a power distribution system configured as a support arm connector that may be mounted below a shelf, along a wall, or otherwise support visual appliances of FIG. 3A;[0024]
FIG. 6 is an exemplary planogram that maps a physical layout of a facility of FIG. 2;[0025]
FIG. 7A is a system diagram that describes functional architecture of the service provider server of the service provider of FIG. 2;[0026]
FIG. 7B is an exemplary block diagram of functional architecture provided by the local server in accordance with FIG. 3A;[0027]
FIG. 7C is an exemplary block diagram depicting communication between the service provider and local servers of FIGS. 7A and 7B;[0028]
FIG. 8 is an exemplary hierarchy account structure for subscribers of the service provider of FIG. 2;[0029]
FIG. 9 is an exemplary block diagram describing the functional components utilized by the account management package of FIG. 7A;[0030]
FIG. 10 is an exemplary sequence diagram that illustrates the creation of a new subscriber account as provided by a subscriber account creation module of FIG. 9;[0031]
FIG. 11 is an exemplary sequence diagram illustrating the creation of a new subscriber domain by a subscriber domain creation module of FIG. 9;[0032]
FIG. 12 is a sequence diagram that illustrates the creation of a new user account as provided by the user account creation module of FIG. 9;[0033]
FIG. 13 is an exemplary sequence diagram illustrating the adding of a new security role by a role creation module of FIG. 9;[0034]
FIG. 14 is an exemplary block diagram providing for a facility and visual appliance manager package of FIG. 7A;[0035]
FIG. 15 is an exemplary sequence diagram illustrating the creation and saving records of a facility within the service provider server of FIG. 7A;[0036]
FIG. 16 is an exemplary sequence diagram that illustrates the creation and saving records of a visual appliance within the service provider server of FIG. 7A;[0037]
FIG. 17 is an exemplary sequence diagram illustrating the searching of records for visual appliances within the service provider server of FIG. 7A;[0038]
FIG. 18 depicts the provisioning management package that provides for provisioning of local servers and visual appliances on the service provider server of FIG. 7A;[0039]
FIG. 19 is an exemplary sequence diagram that illustrates adding provisioning information for the local server within a facility that has already been created at the service provider server of FIG. 7A;[0040]
FIG. 20 is an exemplary sequence diagram that illustrates adding provisioning information for a visual appliance that has already been created by the service provider of FIG. 2;[0041]
FIG. 21 is an exemplary sequence diagram that illustrates installation of the visual appliance of FIG. 3A that has been provisioned at the service provider server;[0042]
FIG. 22 is an exemplary block diagram showing the content management package of FIG. 7A that is utilized by the subscribers to manage content as understood in the art;[0043]
FIG. 23 is an exemplary sequence diagram for illustrating creation of content utilizing the service provider server of FIG. 7A;[0044]
FIG. 24 is an exemplary sequence diagram illustrating submission of content for approval by a user designated as content approver for the subscriber of FIG. 2;[0045]
FIG. 25 is an exemplary sequence diagram illustrating the approval process for the content to be broadcast by the subscriber of FIG. 2;[0046]
FIG. 26 is an exemplary block diagram of the playlist management package of FIG. 7A and associated modules;[0047]
FIG. 27 is an exemplary sequence diagram for illustrating the creating and saving of a scheduled record utilizing the service provider server of FIG. 7A;[0048]
FIG. 28 is an exemplary sequence diagram illustrating submission of a scheduled record for approval utilizing the service provider server of FIG. 7A;[0049]
FIG. 29 is an exemplary sequence diagram illustrating submission of scheduled records for content distribution utilizing the service provider server of FIG. 7A;[0050]
FIG. 30 is an exemplary block diagram providing for content distribution by the communications network service provider of FIG. 2, FIG. 31 is an exemplary sequence diagram illustrating the creation of a satellite package for multicast/unicast to local server(s) of FIG. 3A;[0051]
FIG. 32 is an exemplary sequence diagram that illustrates the multicasting/unicasting of the satellite package to the local server(s) of FIG. 3A;[0052]
FIG. 33 is an exemplary block diagram of the asset management package for managing the physical assets of FIG. 3A,[0053]
FIG. 34 is an exemplary sequence diagram illustrating the asset addition process provided by an asset addition module of FIG. 33;[0054]
FIG. 35 provides a system operations package for the service provider to provide the service operations and maintenance for the assets of the communications system of FIGS. 2 and 3A,[0055]
FIG. 36 is an exemplary sequence diagram that illustrates retrieving alert history via the communications system of FIG. 2;[0056]
FIG. 37 is an exemplary sequence diagram illustrating the retrieval of logs from the local server of FIG. 3A;[0057]
FIG. 38 is an exemplary sequence diagram that illustrates the replacement of a default image for a visual appliance by an operator of the service provider of FIG. 2;[0058]
FIG. 39 is an exemplary block diagram providing for the packages that a local server management package interfaces for operating the local server of FIG. 3A;[0059]
FIG. 40 is an exemplary sequence diagram illustrating registration of the local server to the service provider server of FIG. 7A at the time of provisioning;[0060]
FIG. 41 is an exemplary block diagram that depicts the local server and functionality provided thereby of FIG. 3A;[0061]
FIG. 42 is an exemplary sequence diagram that illustrates receipt and post processing of satellite packages by the local server of FIG. 3A;[0062]
FIG. 43 is an exemplary sequence diagram that illustrates delivery of content to the visual appliances of FIG. 3A;[0063]
FIG. 44 is an exemplary sequence diagram that depicts a registration process for the visual appliances with the local server of FIG. 3A;[0064]
FIG. 45 is an exemplary flow diagram for updating location information of the visual appliance of FIG. 3A;[0065]
FIG. 46 is an exemplary sequence diagram that shows polling of summary information by the local server from the visual appliance of FIG. 3A;[0066]
FIG. 47 is an exemplary class diagram for operating on the local server of FIG. 3A in accordance with the principles of the present invention;[0067]
FIG. 48 is an exemplary class diagram for operating within the communication system of communication system of FIG. 2 and for providing the principles of the present invention;[0068]
FIG. 49 is an exemplary block diagram of a local network for displaying and verifying that visual content and/or display parameters are displayed on a visual appliance of FIG. 3A;[0069]
FIGS.[0070]50A-C are more detailed block diagrams of the electronic display controller and electronic display of FIG. 49;
FIG. 51A is an exemplary flow diagram providing[0071]verification level1 of the content being displayed on the visual appliance of FIG. 3A;
FIG. 51B is an exemplary flow chart of a[0072]verification level2 process of the content being displayed on the visual appliance of FIG. 3A,
FIGS.[0073]52A-C provides a number of exemplary embodiments for utilizing an optical sensor for measuring illumination of a verification code on the visual appliance of FIG. 3A;
FIG. 53 is an exemplary graph for showing a digital verification code signal representative of a content identifier that may be utilized to form a verification code associated with a content signal to be displayed on the visual appliance of FIG. 3A;[0074]
FIGS.[0075]54A-D is a sequence of images that illustrate the digital verification code signal being displayed as a visual verification code signal on the visual appliance of FIG. 3A;
FIG. 55A is an exemplary flow chart describing an operation for the verification level[0076]3 of the visual content being displayed on the visual appliance of FIG. 3A,
FIG. 55B is an exemplary flow chart describing verification level[0077]4, which indicates that a particular content signal is timely and properly displayed on the visual appliance of FIG. 3A,
FIGS.[0078]56A-56D are exemplary user interfaces for utilizing the communications system of FIG. 2;
FIG. 57 is an exemplary block diagram that describes a subscription model for the service provider of FIG. 2 to provide the content management and distribution services according to the principles of the present invention;[0079]
FIG. 58 is an exemplary flow diagram describing operation of the revenue stream depicted in FIG. 57;[0080]
FIG. 59 is an exemplary block diagram that describes a subscription model that utilizes a point-of-purchase (POP) display manufacturer and advertisement agencies/manufacturer-advertiser to offer the content management and distribution services of the service provider of FIG. 2 in accordance with products and/or services offered by the POP display manufacturer and advertisement agency/manufacturer-advertiser;[0081]
FIG. 60A is an exemplary flow diagram describing the subscription model of FIG. 59;[0082]
FIG. 60B is an exemplary flow diagram describing the subscription model of FIG. 59 from the view of the POP display manufacturer;[0083]
FIG. 61 is an exemplary block diagram describing a subscription model from the service provider of FIG. 2 to a sign management company;[0084]
FIG. 62 is an exemplary block diagram that provides for a billing system bridge for subscribers of the service provider of FIG. 2;[0085]
FIG. 63A is another billing system bridge model for subscribers to bill advertisers utilizing the communications system of FIG. 2;[0086]
FIG. 63B is an exemplary flow diagram describing a process for performing the billing system bridge model of FIG. 63A;[0087]
FIG. 64 is an exemplary block diagram representative of a local network of a facility of the subscriber of FIG. 2;[0088]
FIG. 65 is an exemplary map showing a distributed network of storage unit located in facility of subscribers of the service provider of FIG. 2; and[0089]
FIG. 66 is an exemplary flow diagram describing a data storage model utilizing the storage units of FIG. 65.[0090]
DETAILED DESCRIPTION OF THE DRAWINGSFIGS.[0091]1A-1B areexemplary maps100aand100bof the United States showing cable and digital subscriber line (DSL)communication coverage area105 and satellitecommunication coverage area110. Because coverage of cable and digital subscriber lines in the United States and around the world (DSL) is relatively sparse, terrestrial communications of large datafiles are expensive and difficult or impossible if a destination location for the data is not covered by either of these or other forms of terrestrial communication. It should be understood that slower forms of communication are impractical for communicating large content datafiles, such as those communicated for advertisements.
Satellite communication coverage enables communication throughout the entire United States. And because the satellite communication covers the entire country, distribution cost of content is simple and inexpensive relative to terrestrial communication. Additionally, satellite coverage offers governmental level security in terms of encryption and other data and communication security measures. Satellite communications further provide a fully distributive network, which allows for communication from one to many locations. Users of the satellite communications are charged for usage and need not be charged for being on-line as bandwidth of the system is not decreased by having additional users. Because subscribers of the services as defined below in more detail are located all over the United States with varying densities, satellite communication currently provides the “broadest” coverage.[0092]
System General Description[0093]
A content management and distribution service provider (“service provider”) may provide infrastructure equipment to out-of-home enterprises (e.g., retail facilities) or locations (e.g., billboard). In one embodiment, the users of the infrastructure are “subscribers”, who may be enterprises, out-of-home advertisers, advertising space resellers, retailers, manufacturers, or other advertising sellers or purchasers. The infrastructure equipment may include satellite communication equipment, computing equipment, local network equipment and electronic display equipment. In the case of a subscriber being an enterprise, such as a large retail chain having a corporate office and individual stores, the home office receive access to a network-accessible service and the individual stores receive satellite communication equipment, server, local area communication equipment, and visual appliances. The visual appliances include an electronic display screen and an electronic display controller, which may be formed of a circuit board having communication and display driver capabilities. For practical reasons, the electric displays may be flat-panel display screens. The flat-panel electronic displays may be LCD, LED, plasma, CRT, projection or the like. The electronic display controllers may be established to have unique identifiers so as to be individually or uniquely addressable. The visual appliances may alternatively be formed of an electronic display controller and cathode ray tube (CRT), television, or other controllable electronic display device.[0094]
An end-to-end out-of-home content display system may be integrated as follows. The service provider operates a server that hosts an interface for the subscribers to utilize in managing content, such as advertisements, to be displayed on the local network(s) of the subscribers. The home office of the subscriber may communicate with the server of the service provider to establish a playlist for the content, where the playlist establishes content to be played at certain time(s) and on certain visual appliance(s). Datafiles containing the content to be displayed may be uploaded via the network or via the satellite communication equipment of the satellite service provider.[0095]
Once the playlist is defined, the server of the service provider may manually, semi-automatically, or automatically communicate with a communications network service provider (e.g., satellite service provider) to distribute the datafile(s) containing the content to local servers being operated by individual enterprise locations prior to the content being scheduled to play on the visual appliances. In one embodiment, the datafile(s) may be communicated to the local servers at off-peak times to reduce communication fees as the datafiles are utilized for low priority business operations (relative to credit card verification operations, for example). The local servers store the datafile(s) until about the scheduled playtime. At or about the scheduled playtime, the datafile(s) are communicated to the visual appliance(s) for display as scheduled. The communication may be performed wirelessly over a local area network.[0096]
The visual appliance(s) receiving the content in the form of a datafile containing image and/or sound data of the content loads and stores the datafile. The datafile may be played on the visual appliance(s) (i) in response to receiving a “start” command by the local server, (ii) automatically during or after the datafile is downloaded, or (iii) by simply being powered (i e. play content in memory). However, because the visual appliances are generally operated as “dumb” terminals (i.e., slaves), network interaction is utilized to begin display of the content.[0097]
Because content providers (e.g., advertisers) are often very concerned about verification that the content is (i) displayed, (ii) at the proper time, having (iii) the correct visual appearance (e.g., color and intensity), the principles of the present invention provide for content datafiles to be encoded with an identifier and/or other attribute information of the content. Alternatively, rather than encoding the datafile, a separate data signal may be displayed on the visual appliance in association with the content. Other techniques for verifying the timely and proper display of the content may be found in co-pending U.S. patent application Ser. No. ______, filed on Oct. 3, 2002, which hereby is incorporated by reference herein. The identifier and/or other attribute information is displayed on the visual appliance in conjunction with displaying the content Alternatively, the identifier and/or other attribute information may be displayed prior to or after completion of the content being displayed.[0098]
To provide for verification of the content being timely and properly displayed, one embodiment may include an optical sensor positioned to measure the identifier and/or other attribute information associated with the content and feeds-back the measured information. In one embodiment, the optical sensor is coupled to the external surface of a display screen of the visual appliance for sensing the identifier and/or other attribute information. The feedback of the sensed information may be measured by the electronic display controller of the visual appliance or a remote computing system. In either case, the measurements are interpreted to determine the measured information. In the case of the visual appliance performing the measurement, a log is generated and stored at the visual appliance. The measured information, which may include the identifier of the content, color information, intensity information and display time, for example, may be used to provide a certified verification to advertisers that the content was played at the correct time and location, and that the appearance was correct, thereby providing for a “virtual tearsheet”. Other log information may be stored and read by the local server. Such other log information may include operation of the visual appliance, start/end times of content, currently stored content, performance data, interactive tracking information, etc.[0099]
To close the loop for the communications system or private broadcasting network, the local servers may communicate the log information to the service provider. The service provider, in turn, may generate billing and reporting information for the retailer and/or advertisers. It should be understood, however, that the transfer of information may be performed by other sequences or along other communication paths and be in accordance with the principles of the present invention.[0100]
As will be further discussed hereinafter, the visual appliances may be reduced in size to be mounted to specific shelves or other locations within a retail or other establishment. By mounting the visual appliances to specific shelves to be located substantially close to the products being advertised, impulse purchases may be better captured by the advertisers. Additionally, the visual appliances may be “mapped” to a store layout plan (i.e., how and where products or merchandise are displayed within the store), generally known in the art as a planogram. By having the mapping capability, the subscribers may easily manage the visual appliances in relation to products associated with the content.[0101]
The service provider further provides an interface on a network that enables the subscribers to receive or post and schedule the content via a playlist. Because the visual appliances are network addressable, the content may be scheduled to display on selected visual appliances. For example, an advertisement for a particular beverage may be displayed on visual appliance(s) coupled to a store shelf that supports the particular beverage.[0102]
System Detailed Description[0103]
FIG. 2 is an exemplary system diagram of a[0104]communications system200 that provides for communication of content utilizing the principles of the present invention as generally described above. A content management and service provider (“service provider”)202 providesretail subscribers204 andbrand subscribers206 with the ability to operate as private network providers or broadcasters by allowing the retail andbrand subscribers204 and206 to manage, schedule, and control content being distributed via thecommunications system200.
The[0105]retail subscriber204 is a business entity or establishment, such as a retail establishment or retailer, that may be formed ofmultiple facilities208a-208g(collectively208) that operate in distinct locations. In one embodiment, a main office may operate to manage the content for eachfacility208. Alternatively, each facility may manage the content being displayed therein. Thebrand subscriber206 may be a manufacturer, for example, that conducts business with or sells products to multiple retailers, who may be theretail subscribers204a-204c(collectively204). Theretail subscribers204a-204cmay be composed of multiple facilities210a-210c,212a-212d,and214a-214d,respectively. It should be understood that other types of subscribers may utilize the services of theservice provider202.
The[0106]service provider202 may utilize a communicationsnetwork service provider216 for performing the actual distribution of content via thecommunications system200. One such communicationsnetwork service provider216 is a satellite network service provider that utilizes asatellite dish217 to communicate with one ormore satellites218 over acommunication link219 to communicate the content for thesubscribers204 and206 to the facilities208-214. In providing subscriber services (e.g., managing, scheduling, distributing, displaying, and storing the content) for thesubscribers204 and206, theservice provider202 enables thesubscribers204 and206 to communicate therewith via anetwork220. In one embodiment, thenetwork220 is a terrestrial network, such as the Internet Alternatively, thenetwork220 may be other terrestrial networks, either wireless (e.g., cellular) or wired (e.g., cable, DSL, local area network (LAN), or wide area network (WAN)). Still yet, thenetwork220 may utilize thesatellite218 to enable theservice provider202 to provide subscriber services.
In providing the subscriber services, the[0107]service provider202 and communicationsnetwork service provider216 may operate in conjunction to allow thesubscribers204 and206 to manage, schedule, store, and communicate or distribute the content to the facilities208-214. For the non-content communication (e.g., management and scheduling services), the subscribers may communicate via thenetwork220 with theservice provider202 acrosscommunication lines221aand221b(collectively221) via data packets222a-222d(collectively222) and acrosscommunication lines223aand223b(collectively223) via data packets224a-224das understood in the art.
The[0108]network220 may be utilized for non-content communications as low bandwidth communications are being performed. However, for the high bandwidth communications to communicate the content, which are typically large datafiles, thesatellite218 is utilized. As shown,communication path225 is used to communicate the content in the form of data packets226a-226b(collectively226) andcommunication path227 carries data packets228a-228bfrom thesubscribers204 and206, collectively. Thesatellite218, in turn, communicatesdata packets226c-226dand228c-228dto the communicationsnetwork service provider216. The content may be maintained at the communicationsnetwork service provider216 for distribution to the facilities208-214 associated with thesubscribers204 and206. Theservice provider202 may communicate over acommunication link229 with the communicationsnetwork service provider216. The information may be in the form of data packets230a-230b(collectively230) to manage, distribute, etc., the content of thesubscribers204 and206 being maintained by the communicationsnetwork service provider216. If thesubscriber204 schedules particular content to be displayed by thefacilities208, then prior to the scheduled display time, the content is communicated by the communicationsnetwork service provider216 to thefacilities208. Because the communication of the content is a non-critical business communication, a low priority communication status may be applied to the communication so that the communication occurs at low-peak hours (e.g., at night) to minimize cost of communication for theservice provider202 and/orsubscribers204 and206.
In operation, a[0109]retail operator232 of theretail subscriber204 may interface with theservice provider202 to load, unload, manage, store, distribute and display content. The content may be distributed to theretail facilities208 by the communicationsnetwork service provider216 via thesatellite218. Similarly, abrand operator234 of thebrand subscriber206 may interface with theservice provider202 to manage and distribute content to facilities210,212, and214 of theretail subscribers204a-204c.
FIG. 3A is a more detailed exemplary system diagram[0110]300ain accordance with thecommunications system200 of FIG. 2. As shown, equipment utilized at afacility208 for aretail subscriber204 may include asatellite dish302 maintained at thefacility208 that includes alocal server304. Within thefacility208, a wireless local area network (LAN)306 may be utilized to communicate to a variety ofvisual appliances308. Thevisual appliances308 may be formed of anelectronic display310 coupled to anelectronic display controller312. One embodiment of thevisual appliance308ais a smallelectronic display310 having anelectronic display controller312 embedded therein. Another exemplaryvisual appliance308bincludes a largeelectronic display310 having anelectronic display controller312 embedded therein. Yet another exemplaryvisual appliance308cincludes anelectronic display310 having anelectronic display controller312.
In operation, the communications[0111]network service provider216 communicates content to be displayed on thevisual appliances308, either individually or in groups, via thesatellite dish217 to thesatellite218 across thecommunication link219. Thesatellite218 operates as a transponder and communicates the content via thecommunication path225 to thesatellite dish302 located at thefacility208. Thelocal server304 receives and stores the content for distribution to thevisual appliances308 via thewireless LAN306. Thelocal server304 communicates the content to thevisual appliances308 in accordance with a broadcast schedule via a playlist, for example, for the content established by thesubscriber204. In scheduling the content to be distributed to thesubscriber204, anoperator314 associated with thesubscriber204 may interface with theservice provider202 across the communication lines221 to schedule the content for display on thevisual appliances308. In establishing the schedule, theoperator314 may utilize an interface provided by theservice provider202. The interface may be a web site or other on-line interface that provides for scheduling services for the content to be displayed on individual or multiplevisual appliances308.
In addition to the[0112]operator314 interfacing with theservice provider202 for scheduling content to be delivered and displayed at thefacility208, the interface may also provide theoperator314 the ability to access and manage accounts including functionality to manage the library of digital assets, view content in the library, determine content playing, perform site selection, scheduling a transmission of the content, and obtain detailed subscriber accounting and billing information. The interface also provides the capability for viewing detailed subscriber account information, which includes, but is not limited to, storage, billing, playlist schedules, transmissions, play acknowledgments, airtime plans, fault logs, and any historical logs that are generated. Multi-layered security may be utilized to allowsubscribers204 and206 to designate various levels of restricted access to the stored content based on individual organizational requirements.
FIG. 3B is an exemplary[0113]local network300bas utilized by aretail subscriber204 at afacility208 orbrand subscriber206 at a facility210,212,214 as shown in FIG. 2. Thelocal network300bincludes thesatellite dish302 coupled to the multi-media videosatellite receiver unit303, which is further coupled to thelocal server304. Anaccess point314 is coupled to thelocal server304 and is operable to wirelessly broadcast the content to thevisual appliances308d-308fvia thecommunication paths307d-307f,respectively, as understood in the art. Thecommunication paths307 may utilize an 802.11 wireless network protocol In operation, the content is broadcast in accordance with the functionality provided by thelocal server304 and thevisual appliances308
FIG. 3C is an exemplary block diagram of a[0114]visual appliance308 of FIG. 3A. Thevisual appliance308 may include theelectronic display controller316 in communication with theelectronic display310. To provide for wireless communication, thevisual appliance308 may include a wireless receiver/transmitter (Rx/Tx)unit316 coupled to anantenna318. The wireless receiver/transmitter unit316 andantenna318 may be tuned for frequencies utilized by the 802.11 or other wireless LAN standard as understood in the art. Theelectronic display controller312 may further be coupled to the wireless receiver/transmitter316 unit to receive and store data in amemory320 for display on theelectronic display310. It should be understood that theelectronic display310 may be integrated with theelectronic display controller312 to form avisual appliance308 capable of receiving, processing, storing, and displaying the content. Accordingly, theelectronic display controller312 may include processing capability and is further discussed with regard to FIG. 3B.
Visual Appliance Positioning in Facilities[0115]
FIGS.[0116]4A-4C are exemplary illustrations of various embodiments of thevisual appliances308. FIG. 4A is anexemplary facility environment400athat shows largevisual appliances308 formed of plasma screens or CRTs mounted to the ceiling. Because the ceiling-mountedvisual appliances308 are not as closely situated to products as are shelf-mountedvisual appliances308, thesevisual appliances308 may be utilized for more general advertising rather than product-targeted advertising. Because theelectronic display controllers312 may be stand-alone devices with standard video/audio output connectors, theelectronic display controllers312 may be adapted to existing electronic displays310 (e.g., televisions) to enable thesubscriber204 to display content thereon. These ceiling-mountedvisual appliances308, however, may not be mapped into a traditional planogram, but may be assigned with alternative positioning values that correspond to the planogram. It should be understood that other configurations of CRTs and/or large flat-panel displays may be similarly configured with anelectronic display controller312 to form avisual appliance308 that is mapped in association with the planogram (see, for example, FIG. 6)
FIG. 4B is an exemplary stand-[0117]alone floor display402 that includes avisual appliance308. Because theelectronic display310 is sufficiently large, multiple content and/or or advertisements may be displayed consecutively or simultaneously. In providing for such usage, the content for display may be “spliced” into a single content (e.g., video clip and/or loop) prior to distribution to reduce complexity of theelectronic display controller312. Similar to thevisual appliances308 of FIG. 3A, the stand-alone floor display402 may not be mapped to the planogram, but may be associated therewith.
FIG. 4C is an exemplary point-of-[0118]purchase display400bhaving for displaying products and configured to supportvisual appliances308iand308j.Because thevisual appliances308 may utilize a small, light-weight,electronic display310, edge-mounted designs (e.g., visual appliance308i) and bracket-extension designs (e.g.,visual appliance308j) may be utilized to mount thevisual appliances308 to ashelf404 and abracket406 extending from aframe408 of the point-of-purchase display400b.And, because thevisual appliances308 are mounted to the point-of-purchase display400band disposed relative to products stored thereon, thevisual appliances308 may utilize planogram positioning values for location and positioning information. By being able to mount or configure thevisual appliances308 to an extensive variety of product display fixtures due to the ability to produce small, light-weight nature of thevisual appliances308, thesubscriber204 may assign content to be displayed according to product and/or shelf locations as defined in the planogram of one ormore facilities208. Visual appliance308iis mounted to a sliding shelf mount and may therefore be repositioned by simply sliding to another section along the same shelf.
The[0119]visual appliances308 may further be integrated into other point-of-purchase displays400b,including stand-alone pricing and sign displays, gondola displays, slat wall displays, store fixtures, glass showcases in a fixed or movable configuration, free-standing display stand, and cosmetic cases. It should be understood that the variety of configurations for thevisual appliances308 are nearly infinite as the size and type of theelectronic display310 andelectronic display controller312 may be varied according to the fixturing and placement desired. For example, a shelf supporting a running-shoe may utilize avisual appliance308 having a one-inch-by-one-inch (1″×1″)electronic display310, whereas a wall located at a weightlifting product display unit may utilize anelectronic display310 that utilizes plasma technology and is 48-inches-by-36-inches (48″×36″) in size.
Power Distribution Systems[0120]
FIGS. 5A, 5B, and[0121]5C are exemplary power distribution systems that conduct electricity to power thevisual appliances308 and enablesubscribers204 who utilize thevisual appliances308 of FIG. 3A to maintain aesthetically pleasing public environments. Although the sizes and power requirements for the visual appliances may be relatively low, rather than relying on batteries, rechargeable or otherwise, power distribution systems may be designed to conform with the point-of-purchasing display or fixture (e.g., shelves).
FIG. 5A is an edge-view of an exemplary[0122]power distribution system500athat includes a low-profile track502 andconductive power strips504aand504b(collectively504). The dimensions of the low-profile track502 are x-wide and y-high and are sized to allow for thevisual appliance308 to be mounted below a shelf of a point-of-purchase display400bwithout substantially obstructing products being displayed. Accordingly, the low-profile track502 extends along a shelf such that thevisual appliance308 coupled thereto may be slid along the track to be disposed in relation to different products along the shelf. And, because the power strips504 extend along thetrack502, the operator moving thevisual appliance308 does not have to contend with wires, cords, or other power connecting devices.
FIG. 5B is another exemplary[0123]power distribution system500bformed oftubing506 that may operate as a support extension arm to mount and extend thevisual appliance308 from a point-of-purchase display400b.Side and bottom views of thepower distribution system500bare shown, where the x-dimension of thetube506 may be sized according to the usage. In one embodiment, thetubing506 may be nickel-plated copper and separated by anon-conductive material508 to isolate the two conductive paths. Accordingly, power adapters (e.g., plugs) may be configured to thevisual appliance308 to receive power from thepower distribution system500b.It should be understood that other, non-tubular designs may be provided to functionally offer the same or similar power distribution functionality and be integrated to a support structure of a point-of-purchase display400b.
FIG. 5C is yet another embodiment of a[0124]power distribution system500cconfigured as a support arm connector that may be mounted below a shelf, along a wall, or otherwise support avisual appliance308. As shown, the edge view of thepower distribution system500cshows two electrical contacts510aand510bthat provide for the power to be distributed along thepower distribution system500c.Again, thepower distribution system500cis to be utilized for simplifying the use of thevisual appliances308 in afacility208, such as a grocery store, that dictates that power cords and other non-aesthetically pleasing devices not be used in conjunction with thevisual appliances308. It should be understood that other power distribution systems may be utilized that offer simple connections (e.g., snap-on) and support for thevisual appliances308 in accordance with the principles of the present invention.
Planogram[0125]
Planograms are mappings of the physical layout of a[0126]facility208,210,212,214 (e.g., grocery store) in order to show the specific locations of thevisual appliances308 in accordance with the principles of the present invention (see FIGS. 2 and 3A). FIG. 6 is a top view of anexemplary planogram600 of the physical layout of thefacility208 providing managers of thefacility208 an image or graphical representation of the physical layout. It should be understood that planograms may provide different views, including perspective views (see, for example, FIG. 4C), of the physical layout to assist the facility managers with the management of the facility. By using theplanogram600, the facility manager may determine where to place thevisual appliances308 in relation to particular products placed on the shelves of thefacility208.
As shown, the[0127]planogram600 shows locations A through I, showing structures that support products. For locations C through I, for example, sections1-7 are provided to account for different products being placed on the physical structures C through I. Accordingly, thevisual appliances308 may be coupled to the sections (e.g., C1-C7) to display content related to the products stored thereon. CR1-CR5 represent cash register checkout lines, which also may havevisual appliances308 coupled thereto. Thesubscriber204 that utilizes theplanogram600 may have the values and/or theplanogram600 itself incorporated into the system so that the determination of where to place thevisual appliances308 based on content being shown is easier from an operation point-of-view. Additionally, the use of planogram information within the system allows the workers at thefacility208 to more easily place and record the placement of thevisual appliances308 via an interface having the planogram information pre-established. It should be understood that theplanogram600 may allow for subsections (e.g., C11-C16, not shown) within a given section (e.g., C1) as understood and that the system may accommodate substantially any amount of resolution of theplanogram600.
System Detailed Description Continued[0128]
FIG. 7A is a system diagram[0129]700athat shows the functional architecture of aservice provider server702 that may be used by the service provider202 (not shown) in conjunction with communication with thefacility208 via the satellite dish217 (see also FIGS. 2 and 3A). Theservice provider server702 includes standard hardware components, such as a processor, memory, input/output (I/O) unit, and storage unit (each not shown). The processor or processors are operable to provide for the functionality of theservice provider server702 as provided by thefunctional architecture704.
In general, the[0130]service provider server702, which may operate as a central or distributed site, enables content management, store and display management, and content distribution functionality for theservice provider202. Theservice provider server702 may be utilized to provisionnew subscribers204 and206,facilities208,visual appliances308, and domains for eachsubscriber204. When anew subscriber204 is set-up, a new subscriber administrator account is established. When the new subscriber account is established, an employee designated as a subscriber administrator (not shown) may be designated to manage functionality pertaining to the content, users,facilities208,visual appliances308 and domains for the subscriber. The subscriber administrator is able to add new users to the account and assign roles to the users, where the roles provide a way to define the system features available to the users based on responsibility of the users for thesubscriber204.
The subscriber administrator is able to create new users and assign them roles allowing each to perform various tasks. A user may be a facility manager (e.g., store manager), content creator, or content approver, for example. Each user has predefined responsibilities and access security levels associated with the role assigned to that user.[0131]
After the subscriber account is established and new users are created with appropriate security privileges, the[0132]subscriber204 may start using the system. The user who has been assigned a content creator role may upload the content through the network220 (FIG. 2) or import the content via an external interface (not shown) onto a storage unit that is accessible by theservice provider server702 and communicationsnetwork service provider216. A user who is assigned the content approver role is able to review the content and approve it for distribution. Users are able to search and view the content. A user assigned to the facility manager role may addfacilities208 andvisual appliances308 for thesubscriber204 or206.
A user who is assigned a playlist creator role may create a playlist after the relevant content information,[0133]facility208, andvisual appliance308 information is added. A “playlist” is a mapping of content to specific visual appliance(s)308 along with associated start and end times.
Once content is loaded into the system and the playlist is created, the content is delivered to the[0134]local servers304 via a package delivery subsystem (not shown) from the communicationsnetwork service provider216. In one embodiment, the content may be delivered via thesatellite218. The content is first packaged by a content distribution management package, where the term “package” refers to any data (including playlist and content) that may take the form of one or more files. Package delivery supports the simultaneous transmission of content to one or more locations and the preemption of lower priority packages to ensure the timely delivery of higher priority packages.
The[0135]service provider server702 has modules that enable a user assigned a service provider system operator role to execute system operation functions ranging from asset management to monitoring performance to security management. It should be understood that theservice provider202 may view and perform operations on the content that is uploaded for distribution by eachsubscriber204 and206.
The[0136]service provider server702 provides the ability to keep track of equipment or infrastructure communications on thecommunications system200, including thelocal servers304,visual appliances308, and wireless access points (not shown). A user assigned an asset administrator role for theservice provider202 is allowed to add or delete the assets from an asset information database. By maintaining current equipment disposition information and historical logs, asset management essentially provides the inventory for infrastructure located on thecommunications system200.
The[0137]service provider server702 provides the capabilities to monitor and manage thelocal servers304 and thevisual appliances308 from a system perspective. Theservice provider202 is able to monitor the system-wide functionality, such as local server connectivity, local server configuration, local server storage management, visual appliance activation/deactivation, local server status check, visual appliance status check and local network check.
Security for the[0138]communications system200 ensures the integrity of the components and information stored thereon. To that effect, theservice provider server702 provides operators of theservice provider202 multiple tools to ensure that the security of thecommunications system200 is not breached. Apart from monitoring any unauthorized access, the operators are responsible for creating default system-wide roles, such as subscriber administrator, content creator, content approver, playlist creator, verification manager, etc In addition, the operators of theservice provider202 may change the encryption keys for anylocal server304 orvisual appliance308 in real-time to ensure that an intruder has not compromised security keys therefor.
TABLE 1 describes the functionality provided by the
[0139]functional architecture704 executed by the
service provider server702.
| TABLE 1 |
|
|
| SERVICE PROVIDER SERVER FUNCTIONALITY |
| Ref. No. | Service Provider Server Package/User Interface | Functionality Description |
|
| 705 | System Management | Coordinates and controls functionality of service |
| | provider server 702 and ensures operability and |
| | maintenance of service |
| 706 | Presentation Management | Formats and handles interactions for internal and |
| | external user interfaces |
| 708 | Digital Asset Manager User Interface | Provides a user interface for subscriber to manage |
| | digital assets by the service provider server 702 |
| 710 | Subscriber Portal | Provides a portal for subscribers 204 and 206 to |
| | upload and schedule content and access business |
| | information |
| 712 | Operations Portal | Provides an interface for the service provider to |
| | manage the system and subscribers 204 and 206 |
| 714 | Account Management | Creates and analyzes the requirements collected for |
| | subscriber account creation, modification, and |
| | deletion |
| 716 | Facility and Visual Appliance Management | Creates records of facilities 208 and visual |
| | appliances 308 |
| 718 | Provisioning Management | Provisions records for facilities and visual |
| | appliances 308 for usage by the subscribers 204 |
| | and 206 |
| 720 | Content Management | Manages the content collection and maintenance |
| | processes |
| 722 | Playlist Management | Provides the functionality needed to create, |
| | modify, delete, view, and approve schedule records |
| | (data that directs the system to play particular |
| | content on a particular visual appliance at a |
| | particular time |
| 724 | Content Distribution Management | Manages distribution of content based on the |
| | schedule records |
| 726 | Asset Management | Tracks and manages physical assets (e.g., local |
| | servers 304, visual appliances 308, and wireless |
| | access points 303) |
| 728 | Registration Management | Validates the rights for a local server 304 to |
| | operate within the communications system 200 |
| 730 | Connection Management | Controls the connection of the service provider |
| | server 402 with a local server 304 |
| 732 | Configuration Management | Configures the local servers 304 and visual |
| | appliances 308 at the service provider server 402 |
| 734 | Performance Management | Collects performance statistics from the |
| | communications network 200, including local |
| | servers 304, visual appliances 308, and other |
| | equipment to be reported to the system operator for |
| | review |
| 736 | Fault Management | Collects events and alarms from the local servers |
| | 304 and visual appliances 308 |
| 738 | Session Management | Manages currently active sessions with local |
| | servers 304 and visual appliances 308 by |
| | generating user list and enabling usage |
| 740 | Logging and Auditing Management | Maintains and manages repository of logs |
| | generated by events and audit results |
| 742 | Reporting Management | Manages reporting operations for service provider |
| | 202 and subscribers 204 and 206 associated with |
| | usage of communications system 200 |
| 744 | Billing Management | Provides billing operations for subscribers 204 and |
| | 206 |
| 746 | Security and Role Management | Maintains repository for security-related |
| | information for users, local servers 304, visual |
| | appliances 308, and communications system 200 |
| 747 | System Operations Management | Provides for management of system functions at |
| | the service provider server 702 |
| 748 | Storage Manager | Manages and maintains content on storage units, |
| | on local servers 304 operating on the |
| | communications system 200 |
| 749 | Verification Manager | Manages verification of content being displayed on |
| | visual appliances 308 |
|
FIG. 7B is an exemplary block diagram of functional architecture provided by the[0140]local server304 in accordance with FIGS. 2 and 3A. Similar to theservice provider server702, thelocal server304 includes a processor, memory, input/output (I/O) unit, and storage unit (all not shown) as understood in the art. It should be understood that the storage unit may be coupled to thelocal server304 rather than being integrated therein.
The[0141]local server304 substantially mirrors much of the functional architecture of theservice provider server702, but with more limited functionality. In general, thelocal server304 is operable to receive the content from the communicationsnetwork service provider216 and communicate the content to the scheduled visual appliance(s)308. Eachfacility208 may include alocal server304. However, closely spacedfacilities208 may sharelocal servers304. In response to receipt of the content and associated playlist, thelocal server304 creates a local schedule for thevisual appliances308 that forms the basis of the content distribution to thevisual appliances308. Based on the local schedule, thelocal server304 either broadcasts or multicasts the content to specific visual appliance(s)308 within thefacility208 over thewireless LAN306. In one embodiment, thewireless LAN306 is an 802.11 wireless network (i.e., wireless ethernet). Other wireless protocols as understood in the art alternatively may be utilized. Transmission errors from thelocal server304 to thevisual appliances308 are handled locally. In the case of an improper transmission, thelocal server304 is operable to retransmit lost segments to thevisual appliance308. Polling of thevisual appliances308 by thelocal server304 may be performed to collect errors, alerts, and log data. In one embodiment, when the transmission exceeds a specific threshold, an alert message may be generated to theservice provider server702 or other monitoring system for corrective action.
In general, the[0142]visual appliance308 receives content from thelocal server304 and starts playing the content in thememory320. In addition, thevisual appliance308 may store a default image that may be played during times when no content has been scheduled for thatvisual appliance308. Thevisual appliance308 may forward usage logs and alerts to thelocal server304, and provides interfaces, which allow the operator of theservice provider202 to monitor and manage thevisual appliance308.
TABLE 2 describes the functionality provided by the
[0143]functional architecture750 executed by the
local server304.
| TABLE 2 |
|
|
| Local Server Functionality |
| Ref. No. | Local Server Package | Functionality Package |
|
| 752 | Local Server System | Coordinates and controls functionality of the local server 304 |
| Management | and ensures operability and maintenance of local server |
| 754 | Registration Management | Registration by the local server 304 with the service provider |
| | server 702 at provisioning time |
| 756 | Connection Management | Controls connection operations with the service provider |
| | server 702 |
| 758 | Configuration management | Manages configurations of the local server 304 and visual |
| | appliances 308 as directed by the service provider server 702 |
| 760 | Performance Management | Collects and manages summary information of operations and |
| | performance of the local server 304 and visual appliances 308 |
| | to be reported to the service provider server 702 |
| 762 | Fault Management | Collects and generates events and alarms from the local server |
| | 304 and visual appliances 308 for reporting to the service |
| | provider server 702 |
| 764 | Provisioning Interface | Maintains repository for provisioning information associated |
| | with the local server 304 and visual appliances 308 |
| 766 | Package Receiver | Receives packages of content and playlists as provided to the |
| | service provider server 402 |
| 768 | Package Sender | Sends packages of content to visual appliances 308 |
| 770 | Content Management | Manages content at the local server 304 |
| 772 | Device Status Management | Maintains current operating status of the communications |
| | system 200, including local server 304, local LAN 300b, |
| | visual appliances 308, service provider server 702, etc |
| 7744 | Log Management | Maintains and manages repository of logs generated by events |
| | on the communications system 200, including local server |
| | 304, local LAN 300b, and visual appliances 308 |
| 776 | Audit/Trail | Performs and maintains audit information from local server |
| | 304 and visual appliances 308 |
| 778 | Storage Management | Manages storage of content at the local server 304 |
| 780 | Security Management | Maintains repository for security-related information for |
| | users, local server 304, and visual appliances 308 |
| 782 | Playlist Scheduler | Determines particular content to transmit to particular visual |
| | appliance 308 at a particular time |
| 784 | Systems Operations Management | Provides for management of system functions at the local |
| | server 304 |
| 786 | Verification Management | Manages verification of content being displayed on the visual |
| | appliance 308 |
|
FIG. 7C is an exemplary block diagram[0144]700bthat provides for theservice provider server702 to communicate with thelocal server304 of FIGURES7A and3A, respectively. As shown, thesystem management packages705 and752 of theservice provider server702 andlocal server304, respectively, are utilized to communicate information, such as scheduling and/or system management information, via thenetwork220 to enablesubscribers204 and206 to utilize the content management and distribution services provided by theservice provider202. It should be understood that other and/or additional packages may be utilized to perform communications between theservice provider server702 and thelocal server304.
FIG. 8 is an exemplary hierarchy account structure for[0145]subscribers204 and206 of theservice provider202. It should be understood that a subscriber may also be considered a customer. As shown, each subscriber has an account802a-802cthat includes the same or similar categorical information. Included in the subscriber accounts802 are user accounts804a-804c(collectively804), which allow individuals to utilize the system, content806a-806c(collectively806), facilities and visual appliances808a-808c(collectively808), roles810a-810c(collectively810), and storage812a-812cfor the users. It should be understood that other information for the subscriber account802 may be utilized in providing functionality for thesubscribers204 and206.
In general, the subscriber accounts[0146]802 operates as a master account for asubscriber204 without regard to the number offacilities208 associated with thesubscriber204. For example, asubscriber account802ais created for eachsubscriber204 that is adirect subscriber204 of theservice provider202. Each subscriber account802 is assigned a unique identification number (ID) throughout the system. In addition, billing is associated with each subscriber account802. At the creation of a new subscriber account802, a logical directory structure may be created to hold the content806. The content belonging to thesubscriber204 is associated to the corresponding subscriber account802. In addition, a default user account804 with a subscriber administrator role is created for each subscriber account802.
Multiple user accounts[0147]804 with different roles may be created under the subscriber account802. The users belonging to a particular subscriber account802 are able to access system functionality and objects within the subscriber domain. For example, users belonging to a subscriber account802 for abrand subscriber206 are able to access only the facilities, content,visual appliances308, etc., that have been defined under the domain for thebrand subscriber206. A role is an aggregation of different system functionality. Users associated with specific roles are able to access the system functionality as defined for those roles within the system. For example, a user assigned a content creator role may access the create content, modify content and delete content functions. Operators for theservice provider202 are able to create roles within the system. In addition, subscriber administrators are able to create subscriber specific roles that are applicable within their subscriber domain. A default set of roles are created that may be assigned to both service provider and subscriber users.
FIG. 9 is an exemplary block diagram[0148]900 describing the functional components utilized by theaccount management package714 of FIG. 7A. Theaccount management package714 provides for managing subscriber accounts802, roles of users, subscriber domains, and user accounts804. In managing the subscriber accounts802, theaccount management package714 includes subscriberaccount creation module902, subscriberaccount modification module904, and subscriberaccount deletion module906. Once the subscriber accounts802 are created, theaccount management package714 provides for subscriber accountdomain creation module908 to define the domain for eachsubscriber204. Users for thesubscribers204 may be created by a useraccount creation module910. Once the user account804 is created, the user account804 may be modified by the useraccount modification module912 and deleted by the useraccount deletion module914. The user may then be defined roles, whereby a role defines the features available to the users based on the area of responsibility within the organization of thesubscriber204. In managing the roles, arole creation module916,role modification module918, androle deletion module920 are provided.
FIG. 10 is an exemplary sequence diagram
[0149]1000 that illustrates the creation of a new subscriber account
802 as provided by the subscriber
account creation module902 of FIG. 9. The step numbers and associated actions are provided in TABLE 3 below. As shown, in performing the account management, an
actor1002, which may be a user of the
service provider202, interacts with a service provider (SP) account manager user interface (UI)
module1004. The service provider account manager
user interface module1004 may interact with other modules, including a service provider
account manager module1006, service provider
security manager module1008, and service provider
content manager module1010.
| TABLE 3 |
|
|
| New Subscriber Account CreationFlow |
|
|
| 1012 | Requestaccount creation form |
| 1014 | Displayaccount creation form |
| 1016 | Createnew account |
| 1018 | Createnew account |
| 1020 | Display createsubscriber administrator form |
| 1022 | Create subscriber administrator |
| 1024 | Create subscriber administrator |
| 1026 | Get default security role forsubscriber administrator |
| 1028 | Associate the newly created subscriber administrator |
| with thedefault security role |
| 1030 | Create directory structure for new subscriber account |
|
In operation, the[0150]actor1002 requests an account creation form atstep1012 from the service provider account manageruser interface module1004. The service provider accountmanager interface module1004 may display an account creation form atstep1014. Theactor1002 may utilize the account creation form to create a new subscriber account atstep1016. In creating the new subscriber account802, the service provider account manageruser interface module1004 displays the account creation form, which requests subscriber name, address, e-mail domain, contact number list, contact person list, subscriber ID, and subscription ID, for example. The system automatically generates a user subscriber identifier (ID) for the new subscriber account802. Atstep1018, the service provider account manageruser interface module1004 may initiate a request to the service provideraccount manager module1006 to create a new subscriber account802. The service provider account manageruser interface module1004 may thereafter display a create subscriber administrator form for theactor1002 at1020. Atstep1022, theactor1002 may create a subscriber administrator. The service provider account manageruser interface module1004 may communicate a request to the service provideraccount manager module1006 to create a subscriber administrator atstep1024. Atstep1026, the service provideraccount manager module1006 may get a default security role for the subscriber administrator being created from the service providersecurity manager module1008. Atstep1028, the newly created subscriber administrator is associated with a default security role by the service provideraccount manager module1006. Atstep1030, a directory structure for the new subscriber account802 is created by the service provideraccount manager module1006 notifying the service providercontent manager module1010. The default user account may include the following attributes: user name, password, position, contact number, e-mail address, subscriber ID, and subscription ID. After the subscriber account802 is created, the subscriberaccount modification module904 and subscriberaccount deletion module906 allow theservice provider202 the ability to modify and/or delete the subscriber account802 by utilizing the components1004-1010 as understood in the art.
FIG. 11 is an exemplary sequence diagram
[0151]1100 illustrating the creation of a new subscriber domain by the subscriber
domain creation module908 of FIG. 9. The step numbers and associated actions are provided in TABLE
4 below. A subscriber domain is a collection of
subscriber facilities208 and
visual appliances308 belonging to that
subscriber204 and are used to specify the context within which security roles of users are applicable. For example, the
subscriber204 may create a “northeast” domain comprising all stores for that subscriber in the northeastern United States Subsequently, a user assigned a content approver role and having access to the northeast domain is limited to approving content intended for
facilities208 or stores in the northeast domain.
| TABLE 4 |
|
|
| New Subscriber Domain CreationFlow |
|
|
| 1106 | Request domain creation form forsubscriber |
| 1108 | Request session information |
| 1110 | Request subscriber andvisual appliance information |
| 1112 | Request list of subscriber facilities andvisual appliances |
| 1114 | Send list of subscriber facilities andvisual appliances |
| 1116 | Display form |
| 1118 | Create domain |
| 1120 | Create domain |
|
The subscriber[0152]domain creation module908 utilizes a service providersession manager module1102 and service providerfacility manager module1104 in addition to theactor1002, service provider account manageruser interface module1004, and service provideraccount manager module1006. In creating the new subscriber domain, a request from theactor1002 to the service provider account manageruser interface module1004 is performed atstep1106 for a domain creation form. The service provider account manageruser interface module1004 issues a request to the providersession manager module1102 for session information. Additionally, the service provider account manageruser interface module1004 issues a request to the service provideraccount manager module1006 for information associated with thesubscriber204 andvisual appliance308. Atstep1112, the service provideraccount manager module1006 requests a list ofsubscriber facilities208 andvisual appliances308 from the service providerfacility manager module1104.
At[0153]step1114, the list ofsubscriber facilities208 andvisual appliances308 are sent from the service provideraccount manager module1006 to the service provider account manageruser interface module1004. The service provider account manageruser interface module1004 displays a form with the list ofsubscriber facilities208 andvisual appliances308 to theactor1002 atstep1116. Atstep1118, theactor1002 creates a domain for thesubscriber204 by selecting thefacilities208 and/orvisual appliances308 and provides the domain name and description to the service provider account manageruser interface module1004. Atstep1120, the domain of thesubscriber204 is created by the service provider account manageruser interface module1004 issuing a notice to the service provideraccount manager module1006.
FIG. 12 is a sequence diagram
[0154]1200 that illustrates the creation of a new user account as provided by the user
account creation module910 of FIG. 9. The step numbers and associated actions are provided in TABLE 5 below. Prior to establishing the user account, the
actor1002 is to be authenticated and authorized to access user creation functionality for the
subscriber204. The creation of a new user account for a
subscriber204 is a three-step process. In the first step, the
actor1002 provides the user attributes, including, but not limited to, user name, password, user contact information, e-mail address, subscriber ID, subscription ID, etc., to enable the creation of the user account by the service provider
account manager module1006. In addition, the account administrators of the
service provider202 are able to define the following attributes for a user account: division, department, contact number, address, and status, for example. The system creates a unique ID for each user of the
subscriber204. The system also is able to verify that the e-mail address entered matches the e-mail domain of that
subscriber204. In the second step, the
actor1002 selects the list of security roles to which the newly created user should access and submit this information. Each user has access to at least one role. In the third step, the
actor1002 chooses the domains, (i.e., group of facilities
208) for that
subscriber204 that the newly created user has access and submits this selection. By default, new user accounts are marked “inactive” and are unavailable for use. After the creator of the user accounts marks the newly created account as “active”, the new user account is available for use.
| TABLE 5 |
|
|
| New User Account CreationFlow |
|
|
| 1202 | Request addnew user form |
| 1204 | Request session information |
| 1206 | Display createuser form |
| 1208 | Createnew user |
| 1210 | Create new user for thatsubscriber |
| 1212 | Request list of security roles to which user can belong |
| 1214 | Get list ofsecurity roles |
| 1216 | Display list ofsecurity roles |
| 1218 | Select security role(s) to which user belongs |
| 1220 | Add user to security role(s) |
| 1222 | Add user to security role(s) |
| 1224 | Request list of domains for thatsubscriber |
| 1226 | Display list ofdomains |
| 1228 | Select subscriber domains user can access |
| 1230 | Select domains user can access |
| 1232 | Apply permissions allowing user to access selected domains |
|
As shown, at[0155]step1202, a request by theactor1002 via the service provider account manageruser interface module1004 for an add new user form is performed. Atstep1204, the service provider manageruser interface module1004 requests session information from the service providersession manager module1102. Atstep1206, the service provider account manageruser interface module1004 displays a create user form for theactor1002. Theactor1002 creates a new user by providing the user name, password, contact information, subscriber ID, etc., in the create user form. The service provider account manageruser interface module1004 creates a new user for thesubscriber204 by sending the information to the service provideraccount manager module1006. Additionally, the service provider account manageruser interface module1004 requests a list of security roles that the user is assigned atstep1212. The service provideraccount manager module1006 requests a lists of security roles from the service providersecurity manager module1008 atstep1214.
At[0156]step1216, the service provider account manageruser interface module1004 displays a list of security roles to theactor1002. Theactor1002 selects security roles that the user is assigned atstep1218 and adds the user atstep1220. The service provider account manageruser interface module1004 communicates to the service provideraccount manager module1006 security roles for the user account being created. At step1222, the service provideraccount manager module1006 adds a user to the security role(s) by informing the service providersecurity manager module1008.
The service provider account manager[0157]user interface module1004 requests a list of domains available for thesubscriber204 from the service provideraccount manager module1006 atstep1224. Atstep1226, the service provider account manageruser interface module1004 displays the list of domains to theactor1002. The actor selects subscriber domains that the user may access atstep1228. Atstep1230, the selected domains that the user may access are communicated to the service provideraccount manager module1006 atstep1230. Atstep1232, permissions allowing the user to access selected domains are applied to the user account by the service providersecurity manager module1008. In addition to creating the user account, the user accounts may be modified and deleted by theactor1002 by utilizing theservice provider server702 as understood in the art by utilizing the management tools as discussed herein.
FIG. 13 is an exemplary sequence diagram
[0158]1300 illustrating the adding of a new security role by the
role creation module916 of FIG. 9 The step numbers and associated actions are provided in TABLE
6 below. To add the new security role, a service provider role manager
user interface module1302 and service provider
role manager module1304 are utilized. At
step1306, the
actor1002 requests a new role creation form from the service provider role
manager user interface1302. The service provider role
manager interface user1302 requests session information from the service provider
session manager module1102. Additionally, the service provider role
manager user interface1302 requests a list of features to be assigned to a role from the service provider
role manager module1304 at
step1310. At
step1312, the new role creation form is displayed for the
actor1002 by the service provider role
manager user interface1302.
| TABLE 6 |
|
|
| New Security Role CreationFlow |
|
|
| 1306 | Request newrole creation form |
| 1308 | Request session information |
| 1310 | Request list of features to be assigned to arole |
| 1312 | Display form |
| 1314 | Createnew role |
| 1316 | Createnew role |
| 1318 | Make new role available |
|
At[0159]step1314, the new role is created by theactor1002 providing a new role name, list of features for this role, and type of access to those features. Atstep1316, the service provider rolemanager user interface302 creates a new role by notifying the service providerrole manager module1304. Atstep1318, the service providerrole manager module1304 notifies the service providersecurity manager module1008 and the new role is made available. It should be understood that the roles may be modified and deleted as understood in the art utilizing the components as described herein.
TABLE 7 below is an exemplary table that provides for a mapping of the user roles with the functionality available to the
[0160]service provider202 in managing user accounts for the
subscribers204. As shown, the roles that are indicated are default roles for subscriber user accounts
804 and that the roles and functionality may be modified accordingly. Additionally, it should be understood that the list is not exhaustive and that other or different roles may be added based on business rules desired by the
service provider202 and
subscribers204 and
206. The
subscribers204 are able to access system functionality within the domain of the
subscriber204 while the
service provider202 is able to access system functionality across multiple subscriber accounts
802.
| TABLE 7 |
|
|
| Default User Roles for Service Provider Users |
| Account | Content | Playlist | Provision | Asset | System |
| Functionality | Adm. | Adm. | Adm. | Adm. | Adm. | Operator |
|
| Create Content | | X | | | | X |
| Modify Content | | X | | | | X |
| Delete Content | | X | | | | X |
| View Content | | X | | | | X |
| Assign Access Rights to Content | | X | | | | X |
| Approve Content | | X | | | | X |
| Create Directory | | X | | | | X |
| Delete Directory | | X | | | | X |
| Apply Permissions to Directory | | X | | | | X |
| Move Directory | | X | | | | X |
| Delegate Authority | | X | | | | X |
| Search Content | | X | | | | X |
| Create Playlist | | | X | | | X |
| Modify Playlist | | | X | | | X |
| Delete Playlist | | | X | | | X |
| Approve Playlist | | | X | | | X |
| View Playlist | | | X | | | X |
| Search Playlist | | | X | | | X |
| Create User | X | | | | | X |
| Modify User | X | | | | | X |
| View User | X | | | | | X |
| Delete User | X | | | | | X |
| Search Users | X | | | | | X |
| Create Subscriber Account | X | | | | | X |
| Modify Subscriber Account | X | | | | | X |
| View Subscriber Account | X | | | | | X |
| Delete Subscriber Account | X | | | | | X |
| Create Subscriber Administrator | X | | | | | X |
| Create Security Role | X | | | | | X |
| Modify Security Role | X | | | | | X |
| Delete Security Role | X | | | | | X |
| Assign Security Role | X | | | | | X |
| Create Subscriber Specific | X | | | | | X |
| Domains |
| Set password expiration and | X | | | | | X |
| password recovery rules |
| Reset user passwords | X | | | | | X |
| Create Facility | | | | X | | X |
| Modify Facility | | | | X | | X |
| Delete Facility | | | | X | | X |
| View Facility | | | | X | | X |
| Provision Facility | | | | X | | X |
| Unprovision Facility | | | | X | | X |
| Create VA | | | | X | | X |
| Modify VA | | | | X | | X |
| Delete VA | | | | X | | X |
| View VA | | | | X | | X |
| Provision VA | | | | X | | X |
| Unprovision VA | | | | X | | X |
| Add Asset | | | | X | | X |
| View Asset | | | | | X | X |
| Modify Asset | | | | | X | X |
| Delete Asset | | | | | X | X |
| LS Status Query | | | | | | X |
| VA Status Query | | | | | | X |
| Retrieve Logs | | | | | | X |
| Storage Capacity Query | | | | | | X |
| Retrieve LS Configuration Data | | | | | | X |
| Retrieve VA Configuration Data | | | | | | X |
| Delete LS Files | | | | | | X |
| Retrieve VA Schedule on LS | | | | | | X |
| Retrieve VA List | | | | | | X |
| Apply LS Software Upgrade | | | | | | X |
| Apply VA Software Upgrade | | | | | | X |
| Retrieve Alerts | | | | | X |
| Replace VA Default Image | | | | | | X |
| Modify LS System Parameters | | | | | | X |
| Change LS Encryption Key | | | | | | X |
| Change VA Encryption Key | | | | | | X |
| VA Operating Status Change | | | | | | X |
|
TABLE
[0161]8 is an exemplary table that defines user roles for users of the
subscribers204 and
206, where the functionality for each of the users are predefined. It should be understood that different functionality may be made available to different users of
subscriber204 by an administrator for the
subscriber204 or
service provider202.
| TABLE 8 |
|
|
| Default User Roles for Subscriber Users |
| Subscriber | Content | Content | Content | Playlist | Playlist | Facility | Facility |
| Functionality | Adm. | Creator | Approver | Adm. | Creator | Approver | Manager | Operator |
|
| Create Content | X | X | X | X | | | | |
| Modify Content | X | X | X | X |
| Delete Content | X | X | X | X |
| View Content | X | X | X | X |
| Assign Access | X | | | X |
| Rights to Content |
| Approve Content | X | | X | X |
| Create Director | X |
| Delete Directory | X |
| Apply Permissions | X |
| to Directory |
| Move Directory | X |
| Delegate Authority | X | | | X |
| Search Content | X | X | X | X |
| Create Playlist | X | | | | X | X |
| Modify Playlist | X | | | | X | X |
| Delete Playlist | X | | | | X | X |
| Approve Playlist | X | | | | | X |
| View Playlist | X | | | | X X |
| Search Playlist | X | | | | | X |
| Create User | X | | | | X | X |
| Modify User | X | | | | X | X |
| View User |
| Delete User |
|
FIG. 14 is an exemplary block diagram[0162]1400 providing for the facility and visual appliance manager package416. Facility and visual appliance management involves the creation of records forfacilities208 andvisual appliances308 by asubscriber204. Before an operator of theservice provider202 may provision afacility208 orvisual appliance308 for use, thesubscriber204 creates or defines thefacilities208 andvisual appliances308 Thesubscriber204 is able to create records forvisual appliances308 within thefacilities208 defined by theretail subscriber204 orfacilities208 defined byother brand subscribers206 that the managers have access for creating records forvisual appliances308. The records of thefacilities208 created by theretail subscribers204 within their domain are called “primary stores”, whereas thefacilities208 that belong to a domain of anotherretail subscriber204 to which they have access to createvisual appliances308 are called “secondary stores” In other words, a brand subscriber206 (eg., manufacturer) may have the ability to createvisual appliances308 withinfacilities208 of retail subscribers204 (e.g., retail chain stores). For example, a large manufacturer of a consumer product, may be abrand subscriber206 and controlvisual appliances308 that are defined and established in a variety of grocery and retail stores. Thebrand subscriber206 therefore may be provided access to thefacilities208 of theretail subscribers204
In addition, the[0163]retail subscribers204 may also specify the list of valid location IDs for thevisual appliances308 within thefacility208 and assign the defined location IDs to thevisual appliances308. As understood in the art, valid locations within afacility208, such as a retail store, may be defined by theplanogram600, where the point-of-purchase displays400b,such as shelves, are mapped and products placed on the storage space are associated with particular locations within the retail store.Retail subscribers204 may also modify andsearch facilities208 andvisual appliances308 and deleteunprovisioned facilities208 andvisual appliances308.
As shown, modules may be included with the facility and visual appliance management package[0164]416 for defining and modifyingfacilities208 andvisual appliances308. Such modules may include afacility creation module1402,facility modification module1404, andfacility deletion module1406. Modules to provide for thevisual appliances308 include a visualappliance creation module1408, visualappliance modification module1410, and visualappliance deletion module1412. Additionally, searching modules, including a visualappliance searching module1414 andfacility searching module1416 allow the operator to search the definedvisual appliances308 andfacilities208, respectively.
FIG. 15 is an exemplary sequence diagram
[0165]1500 illustrating the creation and saving of a
facility208 within the
service provider server402 of FIG. 7A. The step numbers and associated actions are provided in TABLE 9 below. To create the
facility208, the
actor1002 is to have authentication and authorization privileges to access the
facility creation module1402. Accordingly, the subscriber account
802 has been previously created for the
retail subscriber204 for which the
facility208 is being created.
| TABLE 9 |
|
|
| Facility CreationFlow |
|
|
| 1508 | Facility creation request |
| 1510 | Get session information |
| 1512 | Facility creation form |
| 1514 | Enter facility information |
| 1516 | Syntax and semantics check |
| 1518 | Save facility information |
| 1520 | Ready for provisioning |
| 1522 | Facility created |
|
To define the[0166]facility208 andvisual appliances308, a service provider facilityuser interface module1502, service provider facility manager1504, and service providerprovisioning manager module1506 are utilized. Atstep1508, theactor1002 requests creation of afacility208 to the service providerfacility user interface1502. Atstep1510, a service providerfacility user interface1502 gets session information from the service providersession manager module1102. The service providerfacility user interface1502 provides a facility creation form to theactor1002 atstep1512.
At[0167]step1514, theactor1002 enters facility information, including location name, address, contact person, subscriber ID, etc. Atstep1516, the service providerfacility user interface1502 performs a syntax and semantics check of the facility information entered. The service providerfacility user interface1502 saves the facility information by communicating with the service providerfacility manager module1104 atstep1518. The service providerfacility manager module1104 notifies the service providerprovisioning manager module1506 that thefacility208 is ready for provisioning atstep1520. Atstep1522, the service providerfacility user interface1502 notifies theactor1002 that the facility has been created in the system.
FIG. 16 is an exemplary sequence diagram
[0168]1600 that illustrates the creation and saving of a
visual appliance308 within the
service provider server702 of FIG. 7A. The step numbers and associated actions are provided in TABLE 10 below. In creating a
facility208, the user or
actor1002 is to be authenticated and authorized to access the
facility creation module1402. Additionally, the subscriber account
802 is to have been previously created for the
subscriber204 for whom the
facility208 is being created.
| TABLE 10 |
|
|
| Visual Appliance CreationFlow |
|
|
| 1602 | Request facility list |
| 1604 | Get session information |
| 1606 | Get all facilities for theuser |
| 1608 | Facility list |
| 1610 | Select facility and requestvisual appliance creation |
| 1612 | Visualappliance creation form |
| 1614 | Entervisual appliance information |
| 1616 | Syntax and semantics check |
| 1618 | Savevisual appliance information |
| 1620 | Ready for provisioning |
| 1622 | Visual appliance created |
|
The managers of the[0169]facilities208 are able to create anew facility208 within the system, where thefacilities208 are defined as primary stores belonging to that subscriber account802. In addition, users of theservice provider202 having a provisioning administrator role are able to create new facilities for thesubscribers204. At the time of creation, users enter facility information, such as site, ID, facility or store name, address, subscriber ID, facility contact person name, contact person phone number, facility open hours, facility planogram, valid locations ofvisual appliances308, etc. The system generates a unique identifier for eachnew facility208 that is added. Eachnew facility208 that is added is, by default, in the “unprovisioned” state until a new facility is “provisioned”. Provisioning managers of theservice provider202 are able to add subscriber IDs for thosesubscribers204 and may createvisual appliances308 in thefacilities208. For thesesubscribers204, thefacility208 is defined as “secondary facilities”. The users may then enter a minimum set of information when creating thefacility208.
In operation, the[0170]actor1002 requests a facility list from the service providerfacility user interface1502 atstep1602. Atstep1604, the service providerfacility user interface1502 requests session information from the service providersession manager module1102. At step1606, the service providerfacility user interface1502 requests thefacilities208 of theactor1002 from the service providerfacility manager module1104. Atstep1608, the service providerfacility user interface1502 provides the facility list to theactor1002.
At[0171]step1610, a facility is selected and a request to create avisual appliance308 is made to the service providerfacility user interface1502. Atstep1612, a visual appliance creation form is provided from the service providerfacility user interface1502 to theactor1002. The actor may then enter visual appliance information atstep1614, where the visual appliance information may include a visual appliance name, type, location, resolution, IP address, subscription ID, etc. Atstep1616, the service providerfacility user interface1502 performs a syntax and semantics check on the visual appliance information entered. The visual appliance information may then be saved with the service providerfacility manager module1104 atstep1618. Atstep1620, the service providerfacility manager module1104 may notify the service providerprovisioning manager module1506 that the visual applicant is ready for provisioning. Accordingly, the service providerfacility user interface1502 may notify theactor1002 that the visual appliance has been created atstep1622. It should be understood that modification and deletion of the facilities may be performed utilizing the same or different modules provided for creating the facilities as understood in the art. Similarly, searches may be performed for the facilities by the facility managers and/or users by theservice provider202.
FIG. 17 is an exemplary sequence diagram
[0172]1700 that illustrates a search for
visual appliances308 by
subscribers204 and
206 of FIG. 2. The step numbers and associated actions are provided in TABLE 11 below. Searches for the
visual appliances308 may be performed by the
subscribers204 and
206 for inventory, verification, accounting, planning, and scheduling purposes, for example. The
actor1002 may be a facility manager, facility operator, and service provider provisioning administrator.
| TABLE 11 |
|
|
| Visual Appliance SearchFlow |
|
|
| 1702 | Requestnew search |
| 1704 | Get session information |
| 1706 | Get allowedsearch fields |
| 1708 | Search form |
| 1710 | Enter search criteria |
| 1712 | Get visual appliances foractor |
| 1714 | Provide Facility list toactor |
| 1716 | Requestvisual appliance details |
| 1718 | Getvisual appliance details |
| 1720 | Provide visual appliance details |
|
At[0173]step1702, theactor1002 requests a new search from the service providerfacility user interface1502. Atstep1704, the service providerfacility user interface1502 requests session information from the service providersession manager module1102. Additionally, the service providerfacility user interface1502 requests allowed searchable fields based on the defined role for theactor1002 from the service providerfacility manager module1104 atstep1706. At step1708 a search form is provided to theactor1002.
At[0174]step1710, theactor1002 enters search criteria into the search form. The service providerfacility user interface1502 requestsvisual appliances308 for the user from the service providerfacility manager module1104 atstep1712. A list ofvisual appliances308 includes the facilities that match the entered criteria and a facility list is provided to theactor1002 atstep1714 Theactor1002 may request visual appliance details from the service providerfacility user interface1502 atstep1716 and visual appliance details are requested from the service providerfacility manager module1104 atstep1718. The details of thevisual appliances308 that are provided to theactor1002 atstep1720 depend on the role of theactor1002.
FIG. 18 depicts the[0175]provisioning management package718 that provides for provisioning oflocal servers304 andvisual appliances308 on theservice provider server702 of FIG. 7A. To provisionlocal servers304, a localserver provisioning module1802, local server provisioninginformation modification module1804, local serverprovisioning status check1806, localserver installation module1808, and localserver unprovisioning module1810 are available. To handle provisioning of visual appliances, avisual appliances308provisioning module1812, visual appliance provisioninginformation modification module1814, visual appliance provisioningstatus check module1816, visualappliance installation module1818, and visualappliance unprovisioning module1820 are available. Each of these modules may be utilized by theservice provider202 and/orsubscriber204 to handle provisioning operations for thelocal server304 andvisual appliance308 that are to be installed and uninstalled withinfacilities208 of asubscriber204 and206.
FIG. 19 is an exemplary sequence diagram
[0176]1900 that illustrates adding provisioning information for the
local server304 within a
facility208 that has already been created at the
service provider server702 of FIG. 7A. The step numbers and associated actions are provided in TABLE 12 below. In this case, the
actor1002 may be the provisioning administrator of the
service provider202 and is to be authenticated and authorized to access the local
server provisioning modual1802. The
facility208 has been created and has been marked ready for provisioning.
| TABLE 12 |
|
|
| Facility ProvisioningFlow |
|
|
| 1908 | Request facility for provisioning |
| 1910 | Get facilities that are ready for provisioning |
| 1912 | Facilities list |
| 1914 | Select facility and enterprovisioning information |
| 1916 | Save provisioning information |
| 1918 | Request encryption key |
| 1920 | Generateencryption key |
| 1922 | Update store andprovisioning information |
| 1924 | Update provisioning information |
| 1926 | Facility provisioning information created |
|
A minimum set of information is to be entered for the[0177]facility208 before it is marked ready for provisioning. The provisioning information may include local server serial ID, IP addresses (for communicating with theservice provider server702 and WLAN access points), communications network service provider remote equipment ID, site ID, subscriber ID, installation schedule, name and contact information of the installer, etc.
In provisioning the[0178]local server304, theservice provider server702 utilizes a service provider provisioninguser interface module1902, service provider localinformation manager module1904, andregistration manager module1906. The local server provisioning process starts atstep1908 with theactor1002 requestingfacilities208 for provisioning from the service providerprovisioning user interface1902. The service providerprovisioning user interface1902 requests facilities that are ready for provisioning from the service providerfacility manager module1104. Atstep1912, the service providerprovisioning user interface1902 provides a facilities list to theactor1002. Theactor1002 selects afacility208 and enters provisioning information utilizing the service providerprovisioning user interface1902 atstep1914. Atstep1916, the service providerprovisioning user interface1902 saves the provisioning information with the service providerprovisioning manager module1506.
At[0179]step1918, the service providerprovisioning manager module1506 requests an encryption key to be used by thelocal server304 to communicate with theservice provider server402 upon establishing connection for the first time. Atstep1920, the service providersecurity manager module1008 generates an encryption key. Atstep1922, the service providerprovisioning manager module1506 updates the facility and provisioning information to be sent to thelocal server304 after registration by notifying the service provider localinformation manager module1904. The facility and provisioning information may include facility open hours, associated visual appliance lists, etc. Atstep1924, the service providerprovisioning manager module1506 updates the provisioning information with theregistration manager module1906, where the provisioning information may include local server ID, site ID, subscriber ID, and encryption key. Atstep1926, the service providerprovisioning user interface1902 notifies theactor1002 that the facility provisioning information has been created. It should be understood that theactor1002 may additionally perform modification and status checks on the provision facility.
FIG. 20 is an exemplary sequence diagram
[0180]2000 that illustrates adding provisioning information for a
visual appliance308 of FIG. 3A that has already been created by the
service provider202. The step numbers and associated actions,, are provided in TABLE 13 below. A provisioning administrator of the
service provider202 operating as the
actor1002 is to be authenticated and authorized to access the visual
appliance provisioning module1812. The
facility208 has been created and marked as being ready for provisioning. A minimum set of information is to be entered for the
visual appliance308 before being marked ready for provisioning, such as visual appliance location, size, etc. The provisioning information also may include a visual appliance IP address, local server IP address, subscription ID, installation schedule, name and contact information of the installer, etc.
| TABLE 13 |
|
|
| Visual Appliance ProvisioningFlow |
|
|
| 2002 | Request visual appliances for provisioning |
| 2004 | Get visual appliances that are ready for provisioning |
| 2006 | Visual appliance list |
| 2008 | Select visual appliance and enterprovisioning information |
| 2010 | Save provisioning information |
| 2012 | Request encryption key |
| 2014 | Generateencryption key |
| 2016 | Update visual appliance andprovisioning information |
| 2018 | Visual appliance provisioning information created |
|
In particular, the[0181]actor1002 requestsvisual appliances308 available for provisioning atstep2002 from the serviceprovider provisioning interface1902. Atstep2004, the service providerprovisioning user interface1902 requests a list of visual appliances that are ready for provisioning from the service providerfacility manager module1104. At step2006, the service providerprovisioning user interface1902 provides theactor1002 with a list of visual appliances available for provisioning. Theactor1002 may select one or morevisual appliances308 and enter provisioning information atstep2008. Atstep2010, the service providerprovisioning user interface1902 saves the provisioning information via the service providerprovisioning manager module1506.
At[0182]step2012, the service providerprovisioning manger module1506 requests an encryption key for thevisual appliance308 to communicate with thelocal server304 when establishing connection for the first time. The service providersecurity manager module1008 generates an encryption key atstep2014 in response to the request for the encryption by the service providerprovisioning manager module1506. Atstep2016, the service providerprovisioning manager module1506 updates the visual appliance and provisioning information to be sent to thelocal server304 for registration of the visual appliance size, visual appliance location, subscriber ID, and encryption key. Additionally, other visual appliance attributes, such as visual appliance memory, resolution, etc., may be sent to the locationinformation manager module1904 for communication of the information to thelocal server304. Accordingly, the service providerprovisioning user interface1902 notifies theactor1002 that the visual appliance provisioning information has been created atstep2018.
FIG. 21 is an exemplary sequence diagram
[0183]2100 that illustrates installation of a
visual appliance308 that has been provisioned at the
service provider server702 of FIG. 7A. The step numbers and associated actions are provided in TABLE 14 below. The installer for the
service provider202 enters information into the
visual appliance308. More specifically, the
actor1002 is able to engage a visual appliance
user interface module2102 provided directly on the
visual appliance308 via an input device or element, such as a touch screen as understood in the art or other control device (e.g., keyboard, remote wireless device, and barcode scanner). Alternatively, the visual
appliance user interface2102 may be located at the
service provider server702 or
local server304. In addition to the input element being utilizable for installation purposes, the
visual appliance308 may provide interactive applications, such as surveys or recipe database, that consumers at a
facility208 may engage via the input element. An output device, such as a printer, integrated or external from the
visual appliance308, may enable the consumer to receive requested or other information, such as coupons or recipes. A visual appliance
configuration manager module2104 and visual appliance
registration manager module2106 may also be utilized in installing the
visual appliance308. At step
2108, the
actor1002 may enter configuration information for the
visual appliance308. The configuration information may include subscriber ID, password, location ID, visual appliance IP address, local server IP address, subscription ID, location name, and planogram information, into the visual
appliance user interface2102 via the touch screen of the
visual appliance308. If the visual appliance is connected to an external
electronic display310, then the installer enters size and resolution of the
electronic display310. In entering the installation information, a graphical user interface may provide entry elements, such as pop-up windows or drop-down menus. Alternatively, simple text entry may be utilized. Still yet, a pen-based entry system may be provided. The serial ID, MAC address, size, type, and subscriber ID is sent to the
local server304 by the
visual appliance308. At
step2110, the visual
appliance user interface2102 may save the configuration of the
visual appliance308 via the visual appliance
configuration manager module2104. Completion of the configuration may prompt a notification from the visual
appliance user interface2102 to the
actor1002 at
step2112.
| TABLE 14 |
|
|
| Visual Appliance Installation Flow |
| STEP | ACTION |
|
| 2108 | Enter configuration |
| 2110 | Save configuration |
| 2112 | Completion notification |
| 2114 | Registration request |
| 2116 | Send registration request tolocal server |
| 2118 | Registration request |
| 2120 | Registration confirmation |
| 2122 | Notifyregistration status |
| 2124 | Registration status |
|
At[0184]step2114, theactor1002 may request registration for thevisual appliance308. The visualappliance user interface2102 may send the registration request to thelocal server304 via the visual applianceregistration manager module2106. Thelocal server304 may receive the registration request atstep2118 from the visual applianceregistration manager module2106 and utilize the information to validate and register thevisual appliance308 when thevisual appliance308 communicates with thelocal server304 for the first time. Theservice provider202 verifies that the information is received prior to installation of thevisual appliances308. The information may include local server serial ID, IP addresses, encryption key, subscriber ID, subscription ID, planogram information, facility location, etc. Atstep2120, thelocal server304 may confirm registration to the visual applianceregistration manager module2106. The registration status may be communicated to the visualappliance user interface2102 atstep2122 and to theactor1002 atstep2124 by the visualappliance user interface2102. Thevisual appliance308 is thereby provisioned and ready for installation at afacility208
It should be understood that the visual appliance may additionally be unprovisioned that has been installed in a[0185]facility208 and registered at thelocal server304 andservice provider server702 by a provisioning administrator of theservice provider202. Once thevisual appliance308 is unprovisioned, thelocal server304 is updated Upon receiving the unprovisioned notification, thelocal server304 updates the records and deregisters thevisual appliance308. Thelocal server304 may thereafter stop monitoring thevisual appliance308 upon becoming deregistered. The manager of thefacility208 also is informed by the service providerprovisioning manager module1506 about the unprovisioning status of thevisual appliance308.
Referring now to FIG. 22, the[0186]content management package720 allows the creation and management of content. Using thecontent management package720, users are able to upload multimedia files, modify content property, view content, and assign permission for that content. Users are also able to submit content for approval by the content approvers of thesubscriber204.
To ease the management of the content, users are allowed to create logical trial directories to segregate the content as understood in the art. Content and subscriber administrators are able to create trial directories and assign security privileges thereto. Each content record may comprise one multimedia file and belongs to one directory/trial directory. For security purposes, content records are not shared between[0187]different subscribers204 and206. Thecontent management package720 utilizes multiple functionality modules. For managing the content.
More specifically, FIG. 22 is an exemplary block diagram showing the[0188]content management package720 that is utilized by thesubscribers204 and206 to manage content as understood in the art. As shown, thecontent management package720 includes acontent creation module2202,content modification module2204,content deletion module2206, content submission forapproval module2208,content approval module2210,content search module2212, and contentpermission change module2214. Additionally, thecontent management package720 includes the ability to manage the content via a directory structure as understood in the art, utilizing adirectory creation module2216, childdirectory move module2218, directoryauthority delegation module2220, directorypermission application module2222, anddirectory deletion module2224.
FIG. 23 is an exemplary sequence diagram
[0189]2300 for illustrating creation of content for distribution on the
communications system200. The step numbers and associated actions are provided in TABLE 15 below. The
actor1002 may be a user of the
subscriber204 and
206, including a content creator, content approver, and/or content administrator. Additionally, the
actor1002 may be a content administrator of the
service provider202. The
actor1002 is to be authentic and authorized to access the content in order to utilize the create content functionality.
| TABLE 15 |
|
|
| Content CreationFlow |
|
|
| 2304 | Request uploadform |
| 2306 | Request session information |
| 2308 | Display form |
| 2310 | Uploadcontent |
| 2312 | Send content information |
| 2314 | Save content |
| 2316 | Apply permissions of the parent directory |
|
The[0190]actor1002 requests an upload form from the service provider content manageruser interface module2302 atstep2304. The service provider contentmanager user interface2302, in turn, requests session information from the service providersession manager module1102 atstep2306. Atstep2308, the service provider contentmanager user interface2302 displays the upload form for theactor1002 to upload content via the service provider contentmanager user interface2302. The uploading of the content involves uploading the multi-media file, adding attributes thereto, and mapping the content to a directory. The content may be added attributes, including content name, file ID, file name, file description, expiration date, creator name, subscriber account, creation time, modification history, file path, file type, file size, resolution, aspect ratio, visual appliance type list, facility list, status, meta data, and clearance, for example. For each content, a unique content ID and file ID is also generated The system also may deduce the following information for each content, file ID, file path, file type, file size, creation time, modified history, resolution, aspect ratio, subscriber account, and creator name, for example. By default, each content may utilize an uploaded multimedia file. Further, by default, the status of each content is set as “inactive” and clearance is assigned “unapproved”. The content information is sent by the service provider contentmanager user interface2302 to the service providercontent manager module2303 atstep2312. The service providercontent manager module2303 saves the content atstep2314, and atstep2316, permissions of the parent directory are applied to the content. Accordingly, content modification and deletion may also be performed in accordance with the principles of the present invention and as understood in the art.
FIG. 24 is an exemplary sequence diagram
[0191]2400 illustrating submission of content for approval by a user designated as content approver for the
subscriber204 of FIG. 2. The step numbers and associated actions are provided in TABLE 16 below. The content approver is charged with approving content deemed acceptable to a
subscriber204 or
206 for display at a
facility208 associated with the
subscriber204 or
206. In providing for the approval submission, a service provider
notification manager module2402 is utilized in conjunction with other modules. The process starts at
step2404 where the
actor1002 requests unsubmitted or unapproved content records from the service provider content
manager user interface2302. At
step2406, the service provider content
manager user interface2302 requests session information from the service provider
session manager module1102. At
step2408, the service provider content
manager user interface2302 requests unsubmitted content records for the
actor1002 from the service provider
content manager module2303. The unsubmitted content records are provided to the
actor1002 by the service provider content
manager user interface2302 at
step2410.
| TABLE 16 |
|
|
| Content Submission for ApprovalFlow |
|
|
| 2404 | Requestunsubmitted content records |
| 2406 | Get session information |
| 2408 | Request unsubmitted content records for thatactor |
| 2410 | Returnunsubmitted content records |
| 2412 | Submit content record(s) forapproval |
| 2414 | Submit content record(s) forapproval |
| 2416 | Content record is available forapproval |
| 2418 | Get list of approvers forsubscriber |
| 2420 | Notify approver(s) |
|
At[0192]step2412, the content record(s) are submitted for approval by theactor1002 to the service provider contentmanager user interface2302. Atstep2414, the service provider content manager users interface2302 submits content record(s) for approval to the service providercontent manager module2303. The content record is set to be available for approval atstep2416. Atstep2418, the service providercontent manager module2303 requests a list of approver(s) for thesubscriber204 and the service providercontent manager module2303 notifies the approver(s) of the content being available for approval. In notifying the approver(s), an e-mail or other notification may be communicated either actively or passively to the approvers atstep2420. Additionally, the service providercontent manager module2303 may mark the content as “awaiting approval”.
FIG. 25 is an exemplary sequence diagram
[0193]2500 illustrating the approval process for the content to be broadcast by the
subscriber204 of FIG. 2. The step numbers and associated actions are provided in TABLE 17 below. The
actor1002 may be a user from the
subscriber204 or
206 (e.g., content approver or content administrator) and/or a content administrator from the
service provider202. The
actor1002 is to be authenticated and authorized to access the
content approval module2210.
| TABLE 17 |
|
|
| Content ApprovalFlow |
|
|
| 2502 | Request list ofunapproved content |
| 2504 | Get session information |
| 2506 | Get list of unapproved content for thatactor |
| 2508 | Display list ofunapproved content |
| 2510 | Select content to approve |
| 2512 | Approvecontent |
| 2514 | Make content available to be added to schedule records |
|
At[0194]step2502, theactor1002 may request a list of unapproved content from the service provider contentmanager user interface2102. Atstep2504, the service provider contentmanager user interface2102 requests session information from the service providersession manager module1102. Additionally, the service provider contentmanager user interface2102 requests a list of unapproved content for that actor from the service providercontent manager module2303 atstep2606. The service provider contentmanager user interface2102 displays the list of unapproved content for theactor1002 atstep2508, whereby theactor1002 may select content to approve atstep2510. Instep2512, the service providermanager user interface2102 may approve the content as selected by theactor1002 and notify the service providercontent manager module2303 thereof. The service providercontent manager module2303 may make the content available to be added to scheduled records atstep2514.
As understood in the art, other content functionality may be provided to the[0195]subscriber204 and206 andservice provider202 including content search and permission change as understood in the art. Additionally, directory creation, directory authority delegation, directory permissions application, child directory move, and directory deletion may be provided for thesubscriber204 and206 andservice provider202.
A playlist approver is a role that is assigned to one or more users per[0196]subscriber204 and206. The playlist approver role enables a user to approve and submit a scheduled record (SR). In addition, the playlist approver role provides the user the same privileges as the playlist creator role. A user is able to add, modify, view, and delete scheduled records. In addition, playlist approvers may have the authority to override any schedule conflicts presented by the system at the scheduled record during the schedule record submission process.
FIG. 26 is an exemplary block diagram[0197]2600 of theplaylist management package722 and associated modules of FIG. 7A. Theplaylist management package722 provides for management of scheduled records utilized for playing content onvisual appliances308 at thefacilities208 of thesubscribers204 and206. Theplaylist management722 includes a scheduledrecord creation module2602, scheduled record submission forapproval module2604, scheduledrecord approval module2606, scheduledrecord search module2608, scheduledrecord modification module2612, and scheduledrecord deletion module2614.
FIG. 27 is an exemplary sequence diagram
[0198]2700 for illustrating creating and saving a scheduled record utilizing the
service provider server702 of FIG. 7A. The step numbers, and associated actions are provided in TABLE 18 below. A service provider playlist
user interface module2702, and service provider
playlist manager module2704 are utilized in conjunction with other modules for the scheduled record creation process. At
step2706, the
actor1002 creates a scheduled record request with the service provider
playlist user interface2702. The service provider
playlist user interface2702 requests session information from the service provider
session manager module1102 at
step2708. The service provider
playlist user interface2702 further requests a list of
facilities208 for the
subscriber204 at
step2710 from the service provider
facility manager module1104. At
step2712, the service provider
playlist user interface2702 lists the facilities for the
actor1002. At this point, the
actor1002 has the facility IDs within the domain of the
subscriber204 for the selection.
| TABLE 18 |
|
|
| Creating Scheduled RecordFlow |
|
|
| 2706 | Create scheduledrecord request |
| 2708 | Get session information |
| 2710 | Get facilities forsubscriber |
| 2712 | List offacilities |
| 2714 | Select facility |
| 2716 | Get visual appliance list for facility for thatsubscriber |
| 2718 | Get all valid content forsubscriber |
| 2720 | Scheduledrecord form |
| 2722 | Scheduledrecord |
| 2724 | Syntax check |
| 2726 | Scheduled record save |
| 2728 | Validation Check |
| 2730 | Scheduled Record Saved |
|
At[0199]step2714, theactor1002 selects a facility ID or group of facilities ID. The service providerplaylist user interface2702 requests a visual appliance list for the selectedfacility208 for thesubscriber204 from the service providerfacility manager module1104 atstep2716. Atstep2718, the service providerplaylist user interface2702 requests valid content for thesubscriber204 from the service providercontent manager module2303. Atstep2720, the service providerplaylist user interface2702 presents a scheduled record form to theactor1002, where the schedule record form may include a facility ID, visual appliance list, and multi-media file list, for example.
At[0200]step2722, theactor1002 may select a facility ID, visual appliance ID, content ID, and start and stop times for the content to be displayed on thevisual appliance308. It should be understood that other and/or alternative identifiers and parameters may additionally be selected accordingly. Atstep2724, the service providerplaylist user interface2702 performs a syntax check on the scheduled record, which is saved atstep2726 by the service providerplaylist manager module2704. The service providerplaylist manager module2704 further performs a validation check atstep2728. A notice of the scheduled record being saved is provided to theactor1002 atstep2730. It should be understood that the scheduled record may further be modified and deleted as understood in the art.
FIG. 28 is an exemplary sequence diagram
[0201]2800 illustrating submission of a scheduled record for approval on the
service provider server702 of FIG. 7A The step numbers and associated actions are provided in TABLE 19 below. The
actor1002 may be a user from the
subscriber204 or
206 and/or playlist administrator of the
service provider202. The
actor1002 is to be authenticated and authorized to access the scheduled record submission for
approval module2604. At
step2802, the
actor1002 requests unsubmitted scheduled records from the service provider
playlist user interface2702, which, in turn, requests session information from the service provider
session manager module1102 at
step2804. At
step2806, the service provider
playlist user interface2702 requests unsubmitted scheduled records for that
actor1002 from the service provider
playlist manager module2704. The unsubmitted scheduled records are provided to the
actor1002 at
step2808.
| TABLE 19 |
|
|
| Submission of Scheduled Record for ApprovalFlow |
|
|
| 2802 | Request unsubmitted scheduledrecords |
| 2804 | Get Session Information |
| 2806 | Request unsubmitted scheduled records for thatactor |
| 2808 | Return unsubmitted scheduledrecords |
| 2810 | Submit scheduled record(s) forapproval |
| 2812 | Scheduled record is available forapproval |
| 2814 | Get list of approvers forsubscriber |
| 2816 | Notify approvers |
| 2818 | Notify user of successful submission |
|
At[0202]step2810, the actor submits scheduled record(s) for approval to the service providerplaylist user interface702. Notice to the service providerplaylist manager module2704 indicating that scheduled record(s) are available for approval atstep2812. Atstep2814, a list of approvers for the subscriber are requested by the service providerplaylist user interface2702 from the service provideraccount manager module1006. Atstep2816, the service providerplaylist user interface2702 notifies approvers that scheduled record(s) are available for approval via the service providernotification manager module2402. In notifying the approvers, the system may utilize e-mail or other communication means about the new scheduled record(s) awaiting approval Atstep2818, the actor is notified of successful submission of the submitted scheduled record(s). It should be noted that a scheduled record may not be submitted for approval unless the following attributes have valid values: file ID, facility name, visual appliance name, location name, content name, scheduled start time, scheduled end time or relevant information, including verification of display of the content. The system tags the submitted scheduled records as “submitted” for record keeping purposes.
FIG. 29 is an exemplary sequence diagram
[0203]2900 illustrating submission of scheduled records for content distribution by the
service provider server702 of FIG. 7A. The step numbers and associated actions are provided in TABLE 20 below. The
actor1002 may be a playlist approver from either the
subscriber204 or
service provider202. The
actor1002 is to be authenticated and authorized to access the scheduled
record submission module2604. A service provider content
distribution manager module2902 is utilized in providing for the scheduled record approval functionality.
| TABLE 20 |
|
|
| Submission of Scheduled Records for DistributionFlow |
|
|
| 2904 | Request list of unapproved scheduledrecords |
| 2906 | Get session information |
| 2908 | Get list of unapproved scheduled records for thatactor |
| 2910 | Display list of unapproved scheduledrecords |
| 2912 | Select scheduled records to approve |
| 2914 | Submit approved scheduledrecords |
| 2918 | Submit scheduled records for content distribution |
|
At[0204]step2904, theactor1002 requests a list of unapproved scheduled record(s) to the service providerplaylist user interface2702, which, in turn, requests session information from the service providersession manager module1102. Atstep2908, the service providerplaylist user interface2702 tests a list of unapproved service requests for theactor1002 from the service providerplaylist manager module2704. The list of unapproved scheduled record(s) is displayed for theactor1002 atstep2910.
At[0205]step2904, theactor1002 selects scheduled record(s) to approve. The service providerplaylist user interface2702 submits the selected approved scheduled record(s) to the service providerplaylist manager module2704 atstep2914. Atstep2916, the system validates that no schedule conflict exists between scheduled records submitted for distribution as well as between submitted scheduled records and scheduled records currently on thelocal server304. Upon successful validation of conflicts, the system sends the selected scheduled record(s) to the service provider contentdistribution manager module2902 atstep2918. If, however, during the schedule conflict resolution, the system detects a conflict, conflict is reported to theactor1002. Theactor1002 may submit the scheduled record(s) in spite of the conflict. In the case of conflicting scheduled records, the system overwrites the existing scheduled record with the new scheduled record. Once the scheduled records are submitted, a scheduled record search may be performed by thesubscriber204 orservice provider202 as understood in the art.
FIG. 30 is an exemplary block diagram[0206]3000 providing for content distribution by the communicationsnetwork service provider216 of FIG. 2. The contentdistribution management package724 includes monitoring the scheduled records to determine when to transmit the scheduled records to the appropriatelocal servers304. Additionally, the content distribution packets determine additional content to be transmitted to the appropriatelocal servers304. Further, the contentdistribution management package724 is responsible for determining the scheduled records ready to be transmitted to thelocal servers304 and the particular local server(s)304 for transmission. Bandwidth usage is optimized by the contentdistribution management package724 by determining scheduled records containing the same content and multicasting the content to multiple locations. After determining the content to be transmitted to the differentlocal server304, the contentdistribution management package724 creates satellite packages multicasting the content and associated meta data to thelocal servers304 atremote facilities208 by a package delivery service from the communicationsnetwork service provider216
The content[0207]distribution management package724 is responsible for substantially guaranteeing delivery of the satellite package to the local server(s)304. To substantially guarantee the delivery of the satellite packages, the contentdistribution management package724 multicast/unicast(s) the satellite package(s) to the local server(s)304 and receive confirmations of successful delivery therefrom. Pre-transmission of the complete or partial satellite packages may also be performed as understood in the art. As shown in FIG. 30, the contentdistribution management package724 includes a createsatellite package module3002 and transmitsatellite package module3004.
FIG. 31 is an exemplary sequence diagram
[0208]3100 illustrating the creation of a satellite package for multicast/unicast to local server(s)
304 of FIG. 3A. The step numbers and associated actions are provided in TABLE 21 below. Rather than having a human actor, the service provider content
distribution manager module2902 operates as the initiator of the creation of the satellite package. The service provider content
distribution manager module2902 initiates the sequence once it has scheduled record(s) that are to be relayed or communicated to the
local server304. As shown, the sequence utilizes a service provider satellite
package creator module3102, service provider local
information manager module3104, and service provider package
delivery sender module3106| TABLE 21 |
|
|
| Creation of Satellite PackageFlow |
|
|
| 3108 | Select scheduled records to be sent |
| 3110 | Select other scheduled records having thesame content |
| 3112 | Send scheduledrecords |
| 3114 | Get package delivery site IDs for each visual appliance ID in |
| scheduled record(s) |
| 3116 | Create satellite package consisting of scheduled records |
| andsite IDs |
| 3118 | Create satellite package consisting of content andsite IDs |
| 3120 | Send satellite package(s) |
| 3122 | Receivepackage delivery confirmation |
| 3124 | Notify ofsuccessful transmission |
| 3126 | Notify of successful transmission |
|
In operation, the service provider content[0209]distribution manager module2902 selects scheduled records to be sent atstep3108. In selecting the scheduled records to be sent, the service provider contentdistribution manager module2902 determines which scheduled records to submit for delivery based on the time that the content is scheduled to play. The time interval for delivery prior to playtime may be configurable (e.g., 2 days, 5 days, or 1 week) for priority delivery purposes. Atstep3110, the service provider contentdistribution manager module2902 may select other scheduled records having the same content as previously selected, but not yet eligible for delivery, so as to maximize distribution of a single content via a broadcast/multicast. Instep3112, the service provider contentdistribution manager module2902 sends the scheduled records to the service provider satellitepackage creator module3102.
The service provider satellite[0210]package creator module3102 requests package delivery site IDs for each visual appliance ID in the scheduled record(s) from the service provider localinformation manager module3104 atstep3114. The service provider satellitepackage creator module3102 may create multiple satellite packages. A first satellite package is created atstep3116 and includes scheduled records and site IDs. A second satellite package is created atstep3118 and includes content and site IDs. The packages having content may have the following attributes for each file: file name, size, resolution, aspect ratio, creation date, last modified date, expiration date, subscriber ID, subscription ID, verification parameters, and status. The service provider satellitepackage creator module3102 sends the satellite package(s) to the service provider packagedelivery sender module3106 atstep3120. In response, the service provider packagedelivery sender module3106 communicates a package delivery confirmation receipt back to the service provider satellitepackage creator module3102 atstep3122. The service provider satellitepackage creator module3102 notifies the service provider localinformation manager module3104 of a successful transmission atstep3124 and the service providerplaylist manager module2704 of the successful transmission atstep3126. The service providerplaylist manager module2704 may mark the status of the scheduled records as “sent”.
FIG. 32 is a more basic exemplary sequence diagram
[0211]3200 of the sequence diagram
3100 of FIG. 31 that illustrates the multicasting/unicasting of the satellite package(s) to the local server(s)
304. The step numbers and associated actions are provided in TABLE 22 below. In operation, the
service provider server702, via the service provider package
delivery sender module3106, receives a valid satellite package along with a list of valid site ID(s) to where the package is to be sent, and, based on this information, the service provider package
delivery sender module3106 multicasts/unicasts the satellite package to the specified local server(s)
304. More specifically, the
service provider server702 sends the satellite package along with site ID(s) to the service provider package
delivery sender module3106 at
step3202 and the satellite package is multicast/unicast to the
local server304 at
step3204. At
step3206, the
local server304 sends a confirmation of a successful receipt of the satellite package to the
service provider server702.
| TABLE 22 |
|
|
| Distribution of Satellite PackageFlow |
|
|
| 3202 | Send satellite package along with site ID(s) |
| 3204 | Multicast/unicast satellite package |
| 3206 | Confirmation of successful receipt of satellite package |
|
FIG. 33 is an exemplary block diagram[0212]3300 of theasset management package726 for managing the physical assets of FIG. 3A. Assets are defined as the infrastructure components of the system, including servers, such as theservice provider server702 andlocal server304,satellite dishes302,visual appliances308, wireless access point602, etc. Asset management involves maintaining a knowledge base of the inventory. In one embodiment, the asset management maintains the entire inventory in a single location via thecommunications system200. Theasset management package726 provides a mechanism to perform asset management from theservice provider server702. Theasset management package726 includes anasset addition module3302,asset modification module3304,asset search module3306, andasset deletion module3308.
FIG. 34 is an exemplary sequence diagram
[0213]3400 illustrating the asset addition process provided by the
asset addition module3302 of FIG. 33. The step numbers and associated actions are provided in TABLE 23 below. The
actor1002 may be the asset administrator of the
service provider202 who has been authenticated and authorized to access the asset addition functionality. The asset administrators may utilize the asset addition functionality to add assets of the
service provider202, including
local server304,
visual appliances308,
satellite dishes302,
receivers303, and access points
314. A service provider asset
user interface module3402 and service provider
asset manager module3404 modules are utilized in the asset additions process.
| TABLE 23 |
|
|
| Asset AdditionFlow |
|
|
| 3406 | Request for adding anasset |
| 3408 | Get session information |
| 3410 | Asset form |
| 3412 | Enter asset detailed information, ID andattribute |
| 3414 | Syntax check |
| 3416 | New asset information create |
| 3418 | New asset information added |
|
In operation, the[0214]actor1002 requests to add assets via the service providerasset user interface3402 atstep3406. Atstep3408, the service providerasset user interface3402 requests session information from the service providersession manager module1102. Atstep3410, the service providerasset user interface3402 provides theactor1002 with an asset form, which includes fields, such as serial ID, physical location, type, make, owner, and status for each asset.
At[0215]step3412, theactor1002 enters asset detailed information as provided by the fields on the asset form. Atstep3414, the service providerasset user interface3402 performs a syntax check on the asset information and new asset information is created in response to the service providerasset manager module3404 receiving a communication from the service providerasset user interface3402. New asset information is created atstep3416. Atstep3418, the service providerasset user interface3402 notifies theactor1002 that the new asset information has been added to the system for future utilization. It should be understood that asset modification, asset deletion, and asset searching may be performed as understood in the art.
FIG. 35 provides the[0216]system operations package748 for theservice provider202 to provide the service operations and maintenance for the assets of thecommunications system200 of FIG. 2. As shown, the functionality of thesystem operations package748 includes performing operations for thelocal servers304 andvisual appliances308. The functionality for thelocal servers304 include local serveroperating status change3502, local server encryptionkey change3504, localserver status check3506, local server performance andconfiguration check3508, localserver software upgrade3510, local serversystem parameter change3512, local serverstorage system check3514, and localserver content deletion3516. The visual appliance functionality includes visual applianceoperating status change3518, visual appliance encryption key change3520, visualappliance status check3522, visual appliance performance andconfiguration check3524, visual appliancedefault image replacement3526, upgradevisual appliance software3528, local server visualappliance schedule request3530, and visualappliance list retrieval3532. In addition, thesystem operations package748 includes functionality for retrieval of system information, includingalerts retrieval3534 andlogs retrieval3536. In general, the functionality provided by thesystem operations package748 includes status checks, updating configuration parameters, and upgrading software. The functionality of the modules are as understood in the art. However, certain operations are described hereinafter in accordance with the principles of the present invention so as to provide for those aspects of thecommunications system200 that enable theservice provider202 the ability to provide for a system features in accordance with the principles of the present invention.
FIG. 36 is an exemplary sequence diagram
[0217]3600 that illustrates retrieving alert history via the
communications system200 of FIG. 2. The step numbers and associated actions are provided in TABLE 24 below. The
actor1002 in this case is a system operator of the
service provider202 who has been authenticated and authorized to retrieve logs from the
local servers304. As shown, a service provider system operation
user interface module3602 and service provider system
operation manager module3604 are utilized in providing the alert retrieval functionality. It should be understood that the alert retrieval functionality is a post-processing function to look-up alerts that have occurred in the past and that current alerts are, in general, automatically propagated from the device (e.g.,
local server304 and visual appliance
308) to the
service provider server702. The
service provider server702, in response, may communicate message(s) to the
facility208 or an operator at the
service provider202 to take corrective actions to address the alert.
| TABLE 24 |
|
|
| Alert RetrievalFlow |
|
|
| 3606 | Request retrieve alert form for a givenlocal server |
| 3608 | Display retrievealert form |
| 3610 | Submit form withsearch parameters |
| 3612 | Submit retrievealert form |
| 3614 | Retrieve alerts based on submittedparameters |
| 3616 | Send alerts |
| 3618 | Send alerts |
| 3620 | Display alerts |
|
At[0218]step3606, theactor1002 requests a retrieval alert form for a particularlocal server304 from the service provider systemoperation user interface3602. The requested retrieved alert form is displayed for theactor1002 atstep3608. Theactor1002 may search for alerts for a givenlocal server304 based on visual appliance identifier (ID), date, and alert severity level, for example, atstep3610 by submitting the form with the search parameters to the service provider systemoperation user interface3602. Atstep3612, the retrieved alert form is communicated to the system provider systemoperation manager module3604, which, in turn, requests alerts based on the submitted parameters from the service provider localinformation manager module3104 atstep3614. The alerts as searched are returned atstep3616 and3618 and displayed to theactor1002 atstep3620.
FIG. 37 is an exemplary sequence diagram illustrating the retrieval of logs from the
[0219]local server304 of FIG. 3A. The step numbers and associated actions are provided in Table 7 below. The process starts at
step3702 by the
actor1002, who may be a system operator of the
service provider202, requesting to retrieve logs for a given
local server304 from the service provider system
operator user interface3602. At
step3704, the service provider system
operator user interface3602 requests the logs from the
local server304 from the service provider system
operation manager module3604, which, in turn, requests to transmit logs from the
local server304 at
step3706. The
local server304, in response to the request to transmit the logs, transmits the logs to the service provider system
operation manager module3604 at
step3708. The logs may be transmitted via a management channel on the
communications system200. The logs of the
local server304 are forwarded to the service provider system
operator user interface3602 at
step3710 and displayed for the
actor1002 at
step3712.
| TABLE 25 |
|
|
| Log RetrievalFlow |
|
|
| 3702 | Request to retrieve logs for a givenlocal server |
| 3704 | Retrieve logs from thelocal server |
| 3706 | Request to transmitlogs |
| 3708 | Transmitlogs |
| 3710 | Forwardlocal server logs |
| 3712 | Display logs |
|
FIG. 38 is an exemplary sequence diagram
[0220]3800 that illustrates the replacement of a default image for a
visual appliance308 by a
subscriber204 of the
service provider202 of FIG. 2. The step numbers and associated actions are provided in TABLE 26 below. A default image may be any image, including still (e.g., logo) or motion (e.g., video), to prevent an
electonic display310 from having a blank screen. The default image replacement process starts at
step3802, where a request to download a default image form by the
actor1002 to the service provider system
operator user interface3602 is performed. The default image form is displayed for the
actor1002 at
step3804. At
step3806, the actor submits the default image form after entering a visual appliance ID and loads content (e.g., default image previously approved). At
step3808, the submitted content to be downloaded to the
visual appliance308 is sent to the service provider system
operator manager module3604, which sends the content to be downloaded as a default image for the
visual appliance308 to the service provider
content distribution module2902 at
step3810. The content is thereafter communicated to the
local server304 at
step3812. The
local server304 communicates the content to the
visual appliance308 to be loaded as the default image at
step3814. It should be understood that the default image may be a fixed or dynamic image.
| TABLE 26 |
|
|
| Default Image ReplacementFlow |
|
|
| 3802 | Request downloaddefault image form |
| 3804 | Display form |
| 3806 | Submitform |
| 3808 | Submit content to be downloaded to thevisual appliance |
| 3810 | Send content to be downloaded as default Image for |
| visual appliance |
| 3812 | Send content forvisual appliance |
| 3814 | Send content to loaded as thedefault image |
| 3816 | Notify of successfuldefault image load |
| 3818 | Notify of successfuldefault image load |
| 3820 | Update default file information forvisual appliance |
| 3822 | Notify of successfuldefault image load |
| 3824 | Notify of successful default image load |
|
In response to the[0221]visual appliance308 receiving and loading the content as the default image, thevisual appliance308 notifies thelocal server304 of a successful default image load atstep3816. The notification of the successful default image load is further updated throughout the system atsteps3818,3820,3822, and3824, which ultimately notifies theactor1002.
Local Server Software Packages and Processes[0222]
FIG. 39 is an exemplary block diagram[0223]3900 providing for the packages that the localserver management package752 interfaces for operating thelocal server304 of FIGURE 3A. As shown, the localserver management package752 interfaces with the localregistration management package754, local serverconnection management package756, local serverconfiguration management package758, local serverperformance management package760, local serverdefault management package762, and visual applianceregistration management package754. Modules754-762 are generally described with regard to FIG. 7B. The visual applianceregistration management package754 is operable to registervisual appliances308 with thelocal server304.
FIG. 40 is an exemplary sequence diagram
[0224]4000 illustrating registration of the
local server304 of FIG. 7B to the
service provider server702 at the time of provisioning. The step numbers and associated actions are provided in TABLE 27 below. For registration, the
local server304 is to be previously defined in the
service provider server702 through the
provisioning management package718, locally configured, and ready for registration with the
service provider server702. To provide for the registration of the
local server304, a service provider
configuration manager module4002 is utilized.
| TABLE 27 |
|
|
| Local Server RegistrationFlow |
|
|
| 4004 | Registration request |
| 4006 | Authentication request |
| 4008 | Authentication process |
| 4010 | Get new encryption key |
| 4012 | Getinitial configuration profile |
| 4014 | Registration confirmation |
| 4016 | Registration notification |
| 4018 | Registration notification |
| 4020 | Registration notification |
|
At installation time, an operator installing the[0225]local server304 configures thelocal server304 by loading software into thelocal server304 and entering system parameters into the system. Such parameter may include the IP address of theservice provider server702, the local server ID (LSID), the serial ID, subscription ID, and an initial encrypting key.
Once the local configuration is successful, the operator or installer is to bring the[0226]local server304 online to register with theservice provider server702. Atstep4004, thelocal server304 requests registration from the service providerregistration manager module1906. The registration request communicates an information packet containing an encrypted local server ID, which may be decrypted and validated by the service providersecurity manager module1008 atsteps4006 and4008. Upon a successful validation, the service providerregistration manager module1906 requests a new encryption key from the service providersecurity manager module1008. An initial configuration profile may be requested atstep4012 from the service providerconfiguration manager module4002, where the initial configuration profile may include site ID for content distribution purposes and the visual appliance list for visual appliance management purposes. Upon completion of the registration, the service providerregistration manager module1906 communicates a registration confirmation to thelocal server304 atstep4014. The registration confirmation may include registration profile, including the new encryption key for connection purposes and other system parameters. The service providerregistration manager module1906 may additionally communicate a registration notification message to the service providerprovisioning manager module1506 atstep4016, the service providerfacility manager module1104 atstep4018, and the service providerasset manager module3404 atstep4020.
Local Server[0227]
The[0228]local server304 is typically deployed at eachfacility208 of thesubscriber204. Thelocal servers304 have multiple functions and receive satellite packages as provided for by theservice provider server702. Additionally, thelocal server304 validates the satellite packages and extract the scheduled records and content. The extracted contents are stored locally and the scheduled records are added to the visual appliance scheduler being locally maintained. Also, thelocal server304 is responsible for transmitting the content to thevisual appliances308 and thefacility208 at the scheduled times.
Apart from receiving the satellite packages as provided by the[0229]service provider server702 and transmitting the content to thevisual appliances308, thelocal server304 is responsible for commissioning the visual appliances and collecting logs, alerts, and performance related data from thevisual appliances308. Thelocal server304 also monitors thevisual appliances308 in thefacility208 and notifies theservice provider server702 in real-time of any high-priority alerts.
The[0230]local server304 is responsible for its own maintenance. In that regard, thelocal server304 constantly monitors its local storage capacity and deletes content if the usage reaches a certain threshold. Thelocal server304 may further be capable of deciding which visual appliance alerts to pass on to theservice provider server702 in real-time and which ones to pass on periodically. In addition to performing the various system management tasks, thelocal server304 also processes requests from theservice provider server702. The operators of theservice provider202 may send multiple types of requests from theservice provider server702 to thelocal server304. The requests may request information, task performance, or collected logs. In general, however, thelocal server304 is primarily tasked with transmitting content to thevisual appliances308 and collecting logs and alerts therefrom.
FIG. 41 is an exemplary block diagram that depicts the[0231]local server304 of FIG. 7B and functionality provided thereby, including the satellitepackage receiver package766, visual applianceregistration management package754, visual applianceconnection management package756, visual applianceconfiguration management package758, visual applianceperformance management package760, visual appliancefault management package762, andcontent transmission package4102. The functionality of the packages provides for substantially automatic operation via thelocal server304 so that the scheduling of the content may be performed by a single operator of thesubscriber204 orservice provider202 by interfacing with theservice provider server702, thereby minimizing efforts at theindividual facilities208.
FIG. 42 is an exemplary sequence diagram
[0232]4200 that illustrates receipt and post processing of satellite packages by the
local server304 of FIG. 7B. The step numbers and associated actions are provided in TABLE 28 below. The satellite package receipt verification process utilizes a local server package
delivery client module4202, local server
package extractor module4204, local server
storage manager module4206, and local server visual
appliance scheduler module4208. The process starts at
4210 as the
service provider server702 sends the satellite package to the local server package
delivery client module4202, which verifies that the complete satellite package has been received at
step4212. In the case of the satellite package missing one or more segments, a request for those missing segments is made to the
service provider server702. Upon successfully receiving the satellite package, the local server package
delivery client module4202 sends a receipt of a successful package delivery to the
service provider702 at step
4214.
| TABLE 28 |
|
|
| Satellite Package ReceiptFlow |
|
|
| 4210 | Send satellite package |
| 4212 | Verify that complete package has been received |
| 4214 | Send receipt ofsuccessful package delivery |
| 4216 | Send satellite package |
| 4218 | Validate thepackage |
| 4220 | Send content along withdescriptors |
| 4222 | Store content inrespective directories |
| 4224 | Send scheduledrecords |
| 4226 | Add scheduled records to the visual appliance schedule |
|
The satellite package further is sent to the local server[0233]package extractor module4204 atstep4216 and a validation of the package is made atstep4218. The validation includes performing multiple tests, including verifying that content exists as specified in each schedule record, verifying that the content has been scheduled for visual appliance(s)308 with the correct resolution, and verifying that file descriptors exist for each content received. Atstep4220, the local serverpackage extractor module4204 sends a content along with descriptions to the local serverstorage manager module4206, which stores the contents in respective directories at4222 Atstep4224, the local serverpackage extractor module4204 sends the scheduled records to the local server visualappliance scheduler module4208, which adds the scheduled records to the schedule of thevisual appliance308 atstep4226. In the case of a conflicting schedule, the current scheduled record may override any other scheduled record existing in the schedule.
FIG. 43 is an exemplary sequence diagram
[0234]4300 that illustrates delivery of content to the
visual appliances308 of FIG. 3A. The step numbers and associated actions are provided in TABLE 29 below. For delivery of the content, the
local server304 utilizes an active visual appliance schedule list as produced by receiving content from the communications
network service provider216 as directed by the
service provider server702. The content transmission is responsible for transmitting the content to the
visual appliances308 in these
facilities208 of the
subscribers204 and
206. The local server visual
appliance scheduler module4208 is constantly executed on the
local server304 and, at the appropriate times, transmits content to the visual appliance(s)
308 as indicated in the stored schedule record(s). Before delivery of any content to a
visual appliance308, verification of the content being appropriate for the
visual appliance308 is performed at
step4304. The verification process may include checking the aspect ratio, size of the content, and expiration time and date against the specifications of the
visual appliance308 that the content is to be displayed. After ensuring the validity of the content, the local server visual
appliance scheduler module4208 sends the content for multicast/unicast to the local server
content distribution module4302 at
step4306.
| TABLE 29 |
|
|
| Content DeliveryFlow |
|
|
| 4304 | Verify if content appropriate forvisual appliance |
| 4306 | Send content for multicast/unicast |
| 4308 | Multicast/unicast content |
| 4310 | Send ‘start’ command |
|
At[0235]step4308, the local servercontent distribution module4302 communicates the content via a multicast/unicast technique to thevisual appliances308 as understood in the art. In one embodiment, the communication technique utilizes an 802.11 wireless protocol. Thevisual appliance308 loads the content into memory for execution or display thereby. In one embodiment, the local server visualappliance scheduler module4208 communicates a “start” command over a management channel to the visual appliance(s)308 to begin play of the content. Alternatively, the visual appliance(s)308 may begin playing the content during or upon completion of receiving the content into memory. It should be understood that thevisual appliance308 generally operates as a dummy terminal in that it responds to commands by thelocal server304 for the display of the content.
FIG. 44 is an exemplary sequence diagram
[0236]4400 that depicts a registration process for the
visual appliances308 with the
local server304 of FIG. 3A. The step numbers and associated actions are provided in TABLE 30 below. Prior to the communication of content to the visual appliances, the
visual appliances308 are registered with the
local server304 at the provisioning time. Also, prior to the
visual appliances308 being installed locally (i.e., via the local server
304), the
visual appliances308 are to be provisioned in the
service provider server702 before the registration process. In performing the registration process, a local server
registration manager module4402, local server
security manager module4404, and local server
configuration manager module4406 are utilized.
| TABLE 30 |
|
|
| Visual Appliance RegistrationFlow |
|
|
| 4408 | Registration request |
| 4410 | Authentication request |
| 4412 | Authentication process |
| 4414 | Get new encryption key |
| 4416 | Getinitial configuration profile |
| 4418 | Registration confirmation |
| 4420 | Visual appliance registration complete |
|
The registration process begins at[0237]step4408 where a registration request, which may contain an encrypted visual appliance ID, from thevisual appliance308 is made to the local serverregistration manager module4402 operating within thelocal server304. The operator or installer of thevisual appliances308 configures thevisual appliance308 by entering the system parameters, such as the IP address of thelocal server304, the visual appliance ID, and the initial encryption key. The visual appliance ID may be composed of three fields, including subscriber ID, facility ID, and serial machine ID. It should be understood that other or alternative ID fields may be utilized. Atstep4410, the local serverregistration manager module4402 requests authentication from the local serversecurity manager module4404, which, in turn, performs an authentication process atstep4412. Once authenticated, the local serverregistration manager module4402 communicates a request for a new encryption key from the local serversecurity manager module4404 atstep4414.
At step[0238]4416, the local serverregistration manager module4402 requests an initial configuration profile from the local serverconfiguration manager module4406. The local serverregistration manager module4402 communicates a registration confirmation to thevisual appliance308, where the associated registration profile includes a new secret key for connection purposes and other system parameters. Atstep4420, the local serverregistration manager module4402 communicates a message to theservice provider server702 that the visual appliance registration process is complete for thatvisual appliance308.
FIG. 45 is an exemplary flow diagram[0239]4500 for updating location information ofvisual appliance308 of FIG. 3A. The location update process starts atstep4502. Atstep4504, a request for a location form at the visual appliance is received. The location form is displayed on thevisual appliances step4506. The location form may be a graphical user interface displayed on thevisual appliance308, where the graphical user interface includes entry fields for an operator to enter the location or position information of thevisual appliance308. Because thevisual appliance308 may be small enough to apply directly to a shelf containing products within afacility208, the location form may include information associated with a planogram of thefacility208. For example, in the case of thefacility208 being a grocery store, a graphical map, entry field, product list, or other representative feature within the grocery store may be available to the operator for selecting or notifying thevisual appliance308 of the position thereof.
At[0240]step4508, the new location information of thevisual appliance308 is received and communicated from thevisual appliance308. In one embodiment, the location information is communicated to thelocal server304 for updating a database containing location information of thevisual appliances308. Alternatively, the location information may be communicated via thesatellite218 to theservice provider server702 directly from thevisual appliance308. It should be understood that the communication may be a passive communication, whereby thelocal server304 requests the updated information from thevisual appliance308 rather than thevisual appliance308 actively notifying thelocal server304 in response to the update information being received. The location updating process ends atstep4512.
FIG. 46 is an exemplary sequence diagram
[0241]4600 that shows polling of summary information by the
local server304 from the
visual appliance308 of FIG. 3A. The step numbers and associated actions are provided in TABLE 31 below. The summary information may be polled on a periodic or a periodic basis from the
local server304. The polling may occur on an established management connection channel with the
visual appliance308 and the
local server304. Two modules utilized for polling the summary information include a local server
performance manager module4602 and local server
log manager module4604.
| TABLE 31 |
|
|
| Summary Information PollingFlow |
|
|
| 4606 | Get summary statistics |
| 4608 | Performance statistics |
| 4610 | Log theperformance information |
| 4612 | Send visual appliance performance summary |
| statistics to service provider server |
|
The performance management polling process starts at[0242]step4606 as the local serverperformance manager module4602 requests summary performance statistics from thevisual appliance308. Atstep4608, thevisual appliance308 responds to the local serverperformance manager module4602 and communicates the summary performance statistics is to the localserver performance manager4602. Atstep4610, a log of the summary performance statistics is communicated to the localserver log manager4604 periodically or a periodically and the visual appliance summary performance statistics are sent periodically or a periodically to theservice provider server702 atstep4612. In general, the performance management receives the aggregate statistics from thevisual appliance308 including CPU utilization, memory utilization, display qualify measurement index, packet losses, content transfer loss rate, and other performance statistics.
Service Provider Software Classes[0243]
FIG. 47 is an exemplary class diagram for operating on the
[0244]local server304 of FIG. 3A in accordance with the principles of the present invention. Interaction and interconnection between the classes are provided. The classes for each module are provided in TABLES 32-50 as shown herein below. TABLE 32 shows classes utilized by the
content manager module2303 and provides content management functionality ranging from content creation to child directory creation for applying permissions to content.
| TABLE 32 |
|
|
| Content Manager Classes |
| Is_Authorized( ) | |
| Delete_by_Content_ID( ) |
| Get_Content_ID_by_Attribute( ) |
| Set_Permission_on_Content( ) |
| Get_Unapproved_Content( ) |
| Approve_Content( ) |
| Content_Creation( ) |
| Content_Deletion( ) |
| Set_Content_Description( ) |
| Modify_Content_Description( ) |
| Create_Directory( ) |
| Delete_Directory( ) |
| Get_Directory_Structure( ) |
| Get_Patent_Directory( ) |
| Set_User_Directory_Access( ) |
| Delete_User_Directory_Access( ) |
| Modify_User_Director_Access( ) |
| Get_Content_Search_Parameter( ) |
| |
TABLE 33 shows classes utilized by the
[0245]playlist manager module2704 that provides functionality to create, modify, delete, view, and approve scheduled records. The
playlist manager module2704 interfaces with other classes to provide its functionality, and provides interfaces to other classes.
| TABLE 33 |
|
|
| Playlist Manager Classes |
| Is_Schedule_Record_Existing( ) | |
| Is_Content_In_Schedule( ) |
| Add_Scheduled_Record( ) |
| Delete_Scheduled_Record( ) |
| Modify_Scheduled_Record_Attribute( ) |
| Get_Unsubmitted_Scheduled_Record( ) |
| Get_Search_Parameter( ) |
| |
TABLE 34 shows a class utilized by the content
[0246]distribution manager module2902. Approved scheduled records are submitted to content distribution manager, which processes scheduled records according to the start times specified in the scheduled records. After processing the scheduled records, the content
distribution manager module2902 interacts with the
package creator module3102 to create the satellite package that is multicast to the
facilities208.
| TABLE 34 |
|
|
| Content Distribution Manager |
| CONTENT DISTRIBUTION MANAGER |
| |
| Submit_Scheduled_Record( ) |
| |
TABLE 35 shows a class utilized by the
[0247]package creator module3102 to receive scheduled records and content from the content
distribution manager module2902, and create satellite packages with proper package headers and addressed to appropriate
local servers304.
| TABLE 35 |
|
|
| Package Creator Class |
| PACKAGE CREATOR |
| |
| Transmit_Scheduled_Record( ) |
| |
TABLE 36 shows classes utilized by the
[0248]account manager module1006 to provide functionality to create/modify/delete a subscriber account
802 and a user account
804. The
account manager module1006 also maintains the repository of the subscriber specific domains.
| TABLE 36 |
|
|
| Account Manager Classes |
| ACCOUNT MANAGER |
| |
| Get_Approver_List( ) |
| Change_Access_Control( ) |
| Create_Directory( ) |
| Modify_Account( ) |
| Create_Account( ) |
| Delete_Account( ) |
| Get_Account_Info( ) |
| Create_Domain( ) |
| Modify_Domain( ) |
| Delete_Domain( ) |
| Get_Domain( ) |
| Create_User( ) |
| Delete_User( ) |
| Get_User_Role( ) |
| Add_User_Role( ) |
| Modify_User_Role( ) |
| Delete_User_Role( ) |
| |
TABLE 37 shows classes utilized by the
[0249]facility manager module1104 to maintain the facility repository for subscribers. The
facility manager module1104 also provides interfaces for other classes to query this repository.
| TABLE 37 |
|
|
| Facility Manager Classes |
| FACILITY MANAGER |
| |
| Get_Facility_List( ) |
| Get_LSID( ) |
| Get_Unprovisioned_Facility( ) |
| Create_Facility( ) |
| Modify_Facility_Attribute( ) |
| Delete_Facility( ) |
| Get_Facility_Attribute( ) |
| Get_Search_Parameter( ) |
| Create_VA( ) |
| Delete_VA( ) |
| Get_VA_List( ) |
| Get_VA_Attribute( ) |
| Modify_VA_Attribute( ) |
| Get_Unprovisioned_VA( ) |
| Get_Provisioned_VA( ) |
| Update_Provision_Status( ) |
| |
TABLE 38 shows classes utilized by the local
[0250]information manager module3104 to provide functionality for information, including configuration, visual appliance schedule, storage space, list of files, etc., about each
local server304 maintained by this class at the
service provider server402 to provide quick access to that information.
| TABLE 38 |
|
|
| Local Information Manager Classes |
| LOCAL INFORMATION MANAGER |
| |
| Update_Facility_Status( ) |
| Update_VA_Status( ) |
| Update_LS_Status( ) |
| Update_Software_Version( ) |
| Get_LS_Status( ) |
| Get_VA_Status( ) |
| Get_Deleted_File_List( ) |
| |
TABLE 39 shows a class utilized by the
[0251]notification manager module2402 to notify applicable parties of an event occurring within the
service provider server402 that are reviewed and/or approved.
| TABLE 39 |
|
|
| Notification Manager Class |
| NOTIFICATION MANAGER |
| |
| Notification( ) |
| |
TABLE 40 shows classes utilized by the system operator (sysop)
[0252]manager module3604 that provide functionality used by the system operators to perform administrative tasks, such as upgrade software, query local server or visual appliance, retrieve alerts, etc.
| TABLE 40 |
|
|
| SYSOP Manager Classes |
| SYSOP MANAGER |
| |
| Request_Software_Version( ) |
| Update_Software_Version( ) |
| Retrieve_Configuration_Profile( ) |
| Request_LS_Status( ) |
| Change_Encryption_Key( ) |
| Activate_VA( ) |
| Deactivate_VA( ) |
| Activate_LS( ) |
| Deactivate_LS( ) |
| Retrieve_VA_Statistics( ) |
| Get_VA_Status( ) |
| Get_LS_Status( ) |
| |
TABLE 41 shows classes utilized by the
[0253]fault manager4702 to collect the events and alarms from the
local server304 and the
visual appliances308 . When the
local server304 or
visual appliances308 detects the abnormal or special conditions that change the operational state of the devices, the alarm/event is reported to the
service provider server402. The fault management process allows the operations of the
service provider202 to identify the fault location and can quickly take the corrective action to fix or find a way to work around faults.
| TABLE 41 |
|
|
| Fault Manager Classes |
| FAULT MANAGER |
| |
| Get_Alert_History( ) |
| Alert( ) |
| |
TABLE 42 shows classes utilized by the
[0254]log manager4704 to maintain the repository of logs generated by events and provide interfaces to other components to add logs and query the existing logs.
| TABLE 42 |
|
|
| Log Manager Classes |
| LOG MANAGER |
| |
| Log_Alarm_Event( ) |
| Log_Performance_Statistics( ) |
| Log_Security_Violation( ) |
| Retrieve_Log( ) |
| |
TABLE 43 shows a class utilized by the
[0255]performance manager4706 to provide a mechanism to collect the performance statistics from the
local server304 and
visual appliances308 and report to the system operator for the review. The statistics collected may include the operational characteristics of the
local server304 being consolidated in an aggregation form.
| TABLE 43 |
|
|
| Performance Manager Class |
| PERFORMANCE MANAGER |
| |
| Initiate_Collection( ) |
| |
TABLE 44 shows classes utilized by the
[0256]security manager module1008 to maintain the repository for security-related information for users,
local servers304, and
visual appliances308. The
security manager module1008 further is responsible for generating encryption keys and maintaining the relationship between users and security roles. Interfaces are also provided to other classes to query for security related information.
| TABLE 44 |
|
|
| Security Manager Classes |
| SECURITY MANAGER |
| |
| Get_Permission_List( ) |
| Change_Permission( ) |
| Remove_Permission( ) |
| Set_Permission( ) |
| Create_Encryption_Key( ) |
| Request_Authentications( ) |
| |
TABLE 45 shows classes utilized by the
[0257]configuration manager module4002 to properly configure the local server and the
visual appliances308 during the registration time and during the connection state. The configuration parameters include the local server wide system parameters and facility specific parameters.
| TABLE 45 |
|
|
| Configuration Manager Classes |
| CONFIGURATION MANAGER |
| |
| Get_Software_Version( ) |
| Get_Configuration_Profile( ) |
| Get_System_Parameter( ) |
| Modify_System_Parameter( ) |
| Initiate_Config( ) |
| |
TABLE 46 shows classes utilized by the
[0258]connection manager4708 to control the connection with the
local server304 by establishing a management channel to transport the management related information (command/response) to the
local server304 from the
service provider server402 or vice versa. The
connection manager4708 is responsible for sending a keep alive message to the
local server304 to assure the management channel is continuously operational.
| TABLE 46 |
|
|
| Connection Manager Classes |
| CONNECTION MANAGER |
| |
| Connection_Request( ) |
| Connection_Release( ) |
| |
TABLE 47 shows classes utilized by the
[0259]role manager1302 to maintain the repository of security roles and provide interfaces to create, view, delete, and modify roles. The
role manager1302 also is the repository of basic system functionality that creates roles and provides interfaces to other classes to query about existing roles.
| TABLE 47 |
|
|
| Role Manager Classes |
| ROLE MANAGER |
| |
| Add_Role( ) |
| Delete_Role( ) |
| Modify_Role( ) |
| Associate_Role( ) |
| |
TABLE 48 shows a class utilized by the
[0260]registration manager module1906 for the
service provider server402 to validate the rights of a
local server304 to operate within the
communications system200. When the
local server304 is provisioned at the
facility208, it registers with the
service provider server402 by sending the encrypted local server ID. The
service provider server402 validates the local server ID to authenticate the
local server304. At the end of the successful registration, the
service provider server402 assigns a unique encryption key to the
local server304.
| TABLE 48 |
|
|
| Registration Manager Class |
| REGISTRATION MANAGER |
| |
| Update_Registration_Info( ) |
| |
TABLE 49 shows classes utilized by the
[0261]provisioning manager module1506 to maintain the repository of provisioning information for
local servers304 and
visual appliances308.
| TABLE 49 |
|
|
| Provisioning Manager Classes |
| PROVISIONING MANAGER |
| |
| Check_Provisioning_Status( ) |
| Update_Provisioning_Status( ) |
| Ready_Facility_Provisioning( ) |
| Remove_Provisioning_by_Facility( ) |
| Get_Provisioning_Info( ) |
| |
TABLE 50 shows classes utilized by the
[0262]asset manager module3404 to maintain the repository of infrastructure assets (e.g., visual appliances
308) and provides interfaces to other classes to add/modify/view/delete assets.
| TABLE 50 |
|
|
| Asset Manager Classes |
| ASSET MANAGER |
| |
| Update_Registration_Status( ) |
| Get_Unprovisioned_Asset( ) |
| Add_New_Asset( ) |
| Delete_Asset( ) |
| Get_Asset_Info( ) |
| Modify_Asset_Info( ) |
| |
Local Server Software Classes[0263]
FIG. 48 is an exemplary class diagram for the[0264]local server304 operating within thecommunications system200 of FIG. 2 and for providing the principles of the present invention. The class diagram includes associations between the modules and classes. The classes are further provided in TABLES 51-67 as shown herein below.
TABLE 51 shows classes utilized by the local server
[0265]registration manager module4402 for the local server to validate the rights of
visual appliances308 to operate within the domain of the
local server304 When
visual appliances308 are provisioned at the
local facility208 , the
visual appliances308 register with the
local server304 by sending the encrypted visual appliance identifier. The
local server304 validates the visual appliance ID to authenticate the
local server304. Upon successful registration, a new unique encryption key is assigned to each of the
visual appliances308.
| TABLE 51 |
|
|
| Local Server Registration Manager Classes |
| LS: REGISTRATION MANAGER |
| |
| VA_Registration( ) |
| LS_Registration_to_SP( ) |
| |
TABLE 52 shows classes utilized by the local server
[0266]security manager module4404 that are executed on every
local server304 and responsible for ensuring that that the communications with
visual appliances308 and the
service provider server402 are secure. The classes also are responsible for generating encryption keys.
| TABLE 52 |
|
|
| Local Server Security Manager Classes |
| LS: SECURITY MANAGER |
| |
| Create_Encryption_Key( ) |
| Authenticate_Request( ) |
| Replace_Encryption_Key( ) |
| |
TABLE 53 shows classes utilized by the local server visual
[0267]appliance session manager4802 for initiation of the network connection between the
local server304 and
visual appliances308.
| TABLE 53 |
|
|
| Local Server Visual Appliance Session Manager Classes |
| LS: VISUAL APPLIANCE SESSION |
| MANAGER |
|
| VA_Session Init( ) |
| VA Session_Release( ) |
| |
TABLE 54 shows classes utilized by the local
[0268]server connection manager4804 to provide connection control of the
visual appliances308 to the
local server304. The purpose of providing connection control is to establish a management channel to transport the management related information (command/response) to the
local server304 from the
visual appliance308 or vice versa. The
connection manager4804 is responsible for sending the “keep alive” message to the
visual appliance308 to assure the management channel is continuously operational.
| TABLE 54 |
|
|
| Local Server Connection Manager Classes |
| LS: CONNECTION MANAGER |
|
| VA_Connect( ) |
| SP_Connect( ) |
| VA_Disconnect( ) |
| SP_Disconnect( ) |
| |
TABLE 55 shows classes utilized by the local server
[0269]device status manager4812 for managing the operating status of the
visual appliances308 in
facility208 of the
local server304. Interfaces are provided to other classes to query this repository.
| TABLE 55 |
|
|
| Local Server Device Status Manager Classes |
| LS: DEVICE STATUS MANAGER |
|
| VA_Status_Change( ) |
| Get_VA_Status( ) |
| Get_LS_Status( ) |
| |
TABLE 56 shows classes utilized by the local server
[0270]configuration manager module4406 to properly configure
visual appliances308 during the registration/connection time. The configuration parameters include the visual appliance wide system parameters and facility specific parameters.
| TABLE 56 |
|
|
| Local Server Configuration Manager Classes |
| LS: CONFIGURATION MANAGER |
|
| Configuration_Init( ) |
| Get Configuration_Profile( ) |
| Modify Configuration_Parameter( ) |
| |
TABLE 57 shows classes utilized by the local
[0271]server performance manager4602 to collect the performance statistics from the
visual appliances308 and report to the system operator for review. The statistics collected may include the operational characteristics of the
visual appliances308 in an aggregated form.
| TABLE 57 |
|
|
| Local Server Performance Manager Classes |
| LS: PERFORMANCE MANAGER |
|
| VA_Performance_Collect( ) |
| LS_Performance_Deliver( ) |
| Get_VA_Performance( ) |
| Get_LS_Performance( ) |
| |
TABLE 58 shows classes utilized by the local
[0272]server log manager4604 to maintain the repository of logs generated by events. The
log manager4604 is executed at the
service provider server402, except this class is executed on every
local server304 and is limited in functionality. Interfaces to other classes to add logs and query the existing logs also are provided.
| TABLE 58 |
|
|
| uz,9/24 Local Server Log Manager Classes |
| LS: LOG MANAGER |
|
| Log_Alert_Event( ) |
| Log_Performance_Statistics( ) |
| Package_Receive_Error( ) |
| |
TABLE 59 shows classes utilized by the local server service
[0273]provider session manager4806 for initiation of the network connection with the
service provider server402 and for the routing of network message to appropriate handlers, such as
connection manager4804,
registration manager module4402, etc., on the
local server304.
| TABLE 59 |
|
|
| Local Server Service Provider Session Manager Classes |
| LS: SERVICE PROVIDER SESSION MANAGER |
|
| SP_Session_Init( ) |
| SP_Session_Release( ) |
| |
TABLE 60 shows classes utilized by the local server fault manager
[0274]4803 to collect the event and alarms from the
visual appliances308. When the
visual appliance308 detects the abnormal or special conditions that change the operational state of the devices, the alarm/event is reported to the
local server304. The fault and alarm collection process allows the operators of the
service provider202 to identify the fault location and to quickly take the corrective action to fix or find a way to work around the faults
| TABLE 60 |
|
|
| Local Server Fault Manager Classes |
| LS: FAULT MANAGER |
|
| VA_Fault( ) |
| LS_Fault( ) |
| Package_Receiving_Fault( ) |
| Playlist_Conflict( ) |
| |
TABLE 61 shows a class utilized by the local server
[0275]system operation module4810 for handling the system requests originating from the
service provider server402, such as visual appliance status check, storage allocation, etc.
| TABLE 61 |
|
|
| Local Server System Operation Class |
| LS: SYSTEM OPERATION |
|
TABLE 62 shows classes utilized by the local
[0276]server content manager4812 to maintain the local repository of content files and to provide interfaces to other local server classes to interact with the content repository. The local
server content manager4812 is similar in functionality to the
content manager module2303 being executed at
service provider server402, except this
content manager4812 is executed on each
local server304 and is limited in functionality.
| TABLE 62 |
|
|
| Local Server Content Manager Classes |
| LS: CONTENT MANAGER |
|
| Get_Default_MMF( ) |
| Get_MIME_Path( ) |
| Remove_File( ) |
| Lock_File( ) |
| Get_PlayList( ) |
| |
TABLE 63 shows classes utilized by the local server
[0277]storage manager module4206 to maintain the storage of the
local servers304. The local server
storage manager module4206 determines when and which content to delete.
| TABLE 63 |
|
|
| Local Server Storage Manager Classes |
| LS: STORAGE MANAGER |
| |
| File_Saved( ) |
| Storage_Operation( ) |
| |
TABLE 64 shows a class utilized by the local
[0278]server package receiver4814 to receive satellite packages transmitted or caused to be transmitted by the
service provider202, The
package receiver4814 verifies that received packages are complete and error free and, if need be, requests the
service provider server402 to retransmit segments of the package or the complete package.
| TABLE 64 |
|
|
| Local Server Package Receiver Class |
| LS: PACKAGE RECEIVER |
| |
| Receive_Package( ) |
| |
TABLE 65 shows a class utilized by the local
[0279]server package extractor4816 to accept a verified complete satellite package from the local server
package receiver module4814 and extract the content and scheduled requests contained in the satellite package.
| TABLE 65 |
|
|
| Local Server Package Extractor Class |
| LS: PACKAGE EXTRACTOR |
| |
| Extract_Package( ) |
| |
TABLE 66 shows a class utilized by the local server
[0280]playlist scheduler module4208 to maintain a schedule of what file needs to be transmitted to which
visual appliance308 at what time within the
facility208.
| TABLE 66 |
|
|
| Local Server Playlist Scheduler Class |
| LS: PLAYLIST SCHEDULER |
| |
| Send_PlayList( ) |
| |
TABLE 67 shows a class utilized by the local server
[0281]content distribution manager4302 to create packages, including files, and transmit the packages to the
visual appliances308 in the
same facility208. The
content distribution manager4302 of the
local server304 is similar in functionality as the content
distribution manager module2902 of the
service provider server402, except that it is executed on each
local server304 and has limited capability.
| TABLE 67 |
|
|
| Local Server Content Distribution Manager Class |
| LS: CONTENT DISTRIBUTION MANAGER |
| |
| Transmit_File( ) |
| |
Content Display Verification[0282]
FIG. 49 is an exemplary block diagram of a[0283]local network300bfor displaying and verifying that visual content and/or display parameters are displayed on avisual appliance308 of FIG. 3A. As shown, thelocal network300bincludes thelocal server304 andvisual appliance308. Accordingly, more or fewer components may be utilized to provide for the proper and timely display of the content.
The[0284]local server304 includes acontent display manager4902, which may include the packages described hereinbefore, that is operable to manage the content for display by thevisual appliance308. As understood in the art, thelocal server304 may interface and operate manyelectronic display controllers312 coupled to or integrated withelectronic displays310 located on thelocal network300b. Thecontent display manager4902 may include astorage unit4904 operable to facility (i) acontent database4906a having the content facility therein, (ii) a management database4606bthat maintains information utilized to distribute the content to thevisual appliance308 at specific times and dates, for example, (iii) alog database4906c operable to maintain information associated with the display of the content being fed-back from thevisual appliance308, and (iv) an expectedoperational parameter database4906dfor signature analysis usage. In managing the content, locally or remotely a user of thelocal server304 may utilize input andcontrol devices4908aand4908bcoupled to thelocal server304. The input andcontrol devices4908aand4908bmay be a keyboard and computer mouse, respectively. Alternatively, other input andcontrol devices4908aand4908b,such as a stylus, operable to interact with thecontent display manager4902, may be utilized to generate and/or schedule the content for distribution and display. It should be understood that to maintain security control may be limited to control at theservice provider server702.
The[0285]electronic display controller312 is operable to receive information from thelocal server304 and drive theelectronic display310. Additionally, theelectronic display controller312 may be utilized to interact with and/or control theelectronic display310 based on information or operational parameter(s) being fed-back by theelectronic display310. Additional detail for an exemplary embodiment of theelectronic display controller312 andelectronic display310 is shown further in accordance with FIGS.50A-50C. In another embodiment (not shown), functionality of thelocal server304 may be included into theelectronic display controller312 to enable theelectronic display310 to operate in a substantially standalone manner (i.e., where no local server exists and without having to operate in a local network).
In operation, the[0286]local server304 communicates acontent signal4910ain the form of data packets226 (FIG. 2) viacommunication path307ato the visualelectronic controller312, which, in turn, communicates acontent signal4910bviacommunication path307bto theelectronic display310. The content signals4910aand4910b(hereinafter4910) may be identical or thecontent signal4910bmay be a derivative of thecontent signal4910a.Thecontent signal4910 may be analog or digital. If thecontent signal4910 is analog, then theelectronic display controller312 may convert thecontent signal4910 into a digital signal for communication to theelectronic display310. Alternatively, theelectronic display controller312 may directly or indirectly communicate thecontent signal4910 as an analog signal for direct display or for analog-to-digital (A/D) conversion and display by theelectronic display310. Additionally, thelocal server304 communicates control signals4912aviacommunication path4914ato theelectronic display controller312, which, in turn, may communicatecontrol signals4912b(hereinafter control signals4912) via communication path4914 to theelectronic display310. The same or derivative control signals4912areceived by theelectronic display controller312 may be communicated to theelectronic display310 ascontrol signals4912b.
The control signals[0287]4912 may be utilized to initiate display of thecontent signal4910, alter operational parameters of theelectronic display310, or perform some other control function of theelectronic display controller312 orelectronic display310. The control signals4912 may be digital signals, however, analog control signals alternatively may be utilized to control theelectronic display310. A standard bus architecture and protocol may be utilized for communicating the control signals4912. Alternatively, a non-standard or proprietary bus architecture and protocol may be utilized. If thecontent signal4910 is digital, then thecontent signal4910 andcontrol signals4912 may be communicated over a single communication path (e.g., bus) as understood in the art. Theelectronic display controller312 processes or conveys thecontent signal4910 andcontrol signals4912 for delivery to theelectronic display310.
The[0288]electronic display310, which may be of any display type, including CRT, LCD, LED, organic LED, plasma, or any other electronic display device, may receive thecontrol signals4912 and provide for operational data4916ato be fed-back from theelectronic display310 to theelectronic display controller312 viacommunication path4918aand may be analog or digital. The operational data4816amay include any operational information of theelectronic display310 that can be measured as understood in the art. Such operational data4916amay include temperature, voltage, current, frame rate, refresh rate, etc., according to the type ofelectronic display310 being utilized and sensors operating within theelectronic display310. It should be understood that a variety of voltage and currents may be measured at theelectronic display310. For example, a voltage level from the power supply that sources theelectronic display310 may be measured. Alternatively, voltage or current levels being drawn by various components, such as a fluorescent light bulb of a liquid crystal display device or LED of an LED display device, may be measured.
The[0289]electronic display controller312 further may process and/or communicate the operational data4916aback to thelocal server304 asoperational data4916b(collectively operational data4916). Thelocal server304 may apply theoperational data4916 of theelectronic display310 to thelog database4906cstored by thestorage unit4904. Additionally, data other than theoperational data4916 of theelectronic display310 may be provided to thelocal server304. For example, information regarding the communication of thecontent signal4910 from theelectronic display controller312 to theelectronic display310 may be applied to thelog database4906c.The communication information may include the existence of date and/or time of the communication of thecontent signal4910.
By feeding-back the[0290]operational data4916 and data associated with the communication of thecontent signal4910 to thelocal server304 and ultimately to theservice provider server702,verification levels1 and2 may be achieved. In other words, by recording when the content is communicated to theelectronic display310 and recording the operational parameter(s) of theelectronic display310 at the time of the display of that content,verification level1 may be performed either automatically or manually by determining that (a) the content was delivered and (b) theelectronic display310 was operating properly during the display of the content. If theoperational data4916 has associated expected operational parameter data facility in the expectedoperational parameter database4906d,thenverification level2 may be achieved by comparing the operational parameter data fed-back with the expected operational parameter data.
FIGS. 50A, 50B, and[0291]50C (FIG. 50) are more detailed block diagrams of theelectronic display controller312 andelectronic display310 of FIG. 49. FIG. 50A illustrates theelectronic display controller312 coupled to a communication path or databus307aand307b,which may be analog or digital and operable to carry thecontent signal4910. A network IP bus orcommunication path4914a,PCI bus4918b,andpower bus5004 are further coupled to theelectronic display controller312 and utilized to communicate general network, control information (e.g., control signals4912), and power, respectively, to theelectronic display controller312 from thelocal server304.
It should be understood that the[0292]content signal4910 may be communicated across thePCI bus4918brather than thedatabus307. It should further be understood that thecontent signal4910 andcontrol signals4912 are not dependent on the protocol or architecture of the associated buses. For example, rather than utilizingmultiple buses307,4914a,and4918b,a single bus may be used to provide for communication of thecontent signal4910 and control signals4912. Theelectronic display controller312 may include aprocessor5006 coupled to amemory5008, and further coupled to astorage unit5010 and adriver unit5012. Thedriver unit5012 may include adisplay driver5014 and input/output (I/O)driver module5016. Theprocessor5006 is operable to executesoftware5018 as discussed with regard to FIG. 7B.
As shown in FIG. 50B, the[0293]software5018, which is executed by theprocessor5006, may include alocal content manager5022 that manages the visual content and other content information received by theelectronic display controller312.Rules manager5024 is operable to apply rules for making decisions as to management of the content, applying the verification code, monitoring operational parameters, and performing other functional operations in accordance with the principles of the present invention. It should be understood that the packages described for the software are general and that the specific packages discussed with regard to FIGS. 7A and 7B provide additional detail.
[0294]Control function drivers5026 may be software that operate hardware for controlling theelectronic display310. Thecontrol function drivers5026 may include multiple drivers for providing interfacing capability with a variety of types and brands ofelectronic displays310 produced by different manufactures ofelectronic displays310. For example, a plasma-typeelectronic display310 utilizes differentcontrol function drivers5026 than does an LCD-typeelectronic display310. And, different manufacturers of the same type ofelectronic display310 may utilize different control protocols or commands and therefore require differentcontrol function drivers5026.
The[0295]control function drivers5026 may include various levels of control capability for theelectronic display310. For example, a low costelectronic display controller312 may not include various automatic adjustment type drivers, such as intensity or volume, while a more expensiveelectronic display controller312 may include intensity and volumecontrol function drivers5026. Additionally, depending upon the verification level being utilized, othercontrol function drivers5026 may be included. For example, while averification level1 system may simply measure the existence of a particular operational parameter communicated via theoperational data4916, averification level2 system may utilize acontrol function driver5026 that alters the operational parameters being fed-back by theelectronic display310 by comparing theoperational data4916 with certain expected operational parameters of theelectronic display310 as a result of displaying aparticular content signal4910 or test signal.
A[0296]limit table manager5028 may be utilized to determine that certain responses of the operational parameters result from displaying acontent signal4910 on theelectronic display310, thereby providing forverification levels2 and4. For example, thelimit table manager5028 may interact with the expectedoperational parameter database4906dstored in thestorage unit4904 of thelocal server304 or a corresponding expectedoperational parameter database4906dstored in thestorage unit4904 of theelectronic display controller312 for performing signature analysis based on expected operational parameter feedback. Test or signature patterns may be stored and inserted into thecontent signal4910 to perform signature analysis Further included in thesoftware5018 of theelectronic display controller312 aremeasurement functions5030 as understood in the art. The measurement functions5030 operate to receive theoperational data4916 and determine values associated therewith. For example,operational data4916 representative of voltage levels (e.g., power supply or individual component usage) used by theelectronic display310 may be sensed by sensors in theelectronic display310 and measured by the measurement functions5030. Alternatively, the measurement function may be performed by theelectronic display310. The measurement functions5030 may also interact with thelimit table manager5028 in performing the signature analysis by comparing expected operational parameters with the actual measured operational parameters as provided by theoperational data4916.
A[0297]log generator5032 may be utilized to form a log event in the log database5020beach time theelectronic display controller312 communicates thecontent signal4910 to theelectronic display310 and/or each time thecontent signal4910 is displayed on theelectronic display310. Thelog generator5032 may receive information via thePCI bus4918aor as part of thecontent signal4910 orcontrol signals4912 that includes identification data associated with thecontent signal4910. By having thelog generator5032 form a log event,verification levels1 and2 of thecontent signal4910 being displayed is enabled. However, it should be understood that thelog generator5032 may be executed by thelocal server304, whereby when thelocal server304 communicates thecontent signal4910 to theelectronic display controller312, a log of the communication may be facility in thelog database4906c.
As shown in FIG. 50C, the[0298]driver unit5012 may include a number of components including aclock5034, test pattern orcharacter generator5036, network local area network (LAN)driver5038, local bus/display driver5040,PCI bus interface5042,signal measurements unit5044, anddisplay driver5014. It should be understood, however, that the functions of thedriver unit5012 may additionally and/or alternatively be executed by theprocessor5006. Theclock5034 may be utilized to maintain proper synchronization between theelectronic display controller312 and theelectronic display310. The test pattern orcharacter generator5036 may be utilized to generate a test pattern to allow theelectronic display controller312 to measure operational parameter(s) having an expected operational parameter feedback, thereby providing for test and calibration capabilities.
The[0299]network LAN driver5038 may be utilized in performing communications between theelectronic display controller312 and theelectronic display310 Thenetwork LAN driver5038 may also be utilized in communicating with other remotely located devices as understood in the art. The local bus/display driver5040 may additionally provide local communication with theelectronic display310 or other remotely located devices. ThePCI bus interface5042 may be utilized to interface with theprocessor5006 and thelocal server304 via thePCI bus4918bas understood in the art.
A[0300]signal measurements unit5044 may be capable of interfacing with analog and/or digital signals from theelectronic display310. Accordingly, thesignal measurements unit5044 may include A/D converters (not shown) for sampling analog signals, if the signals received from theelectronic display310 are analog. Thesignal measurements unit5044 may also include a processor (not shown) or other electronic device operable to perform measurements of theoperational data4916. It should be understood that the measurement functions5030 and thesignal measurements unit5044 may be combined or operated in conjunction with one another such that theoperational data4916 is measured or received in accordance with the types of operational parameters being fed-back by theelectronic display310 viaPCI bus4918a.
The[0301]electronic display310 includes aprocessor5046 coupled tomemory5048 andvideo driver5050, which is coupled to and operable to drive anelectronic display unit5052 It should be understood that, depending on the type ofelectronic display310, other hardware components may be included or excluded from theelectronic display310 as understood in the art. For example, a CRT-typeelectronic display310 would include a picture tube for displaying thecontent signal4910 and an LCD-typeelectronic display310 would include LCD drivers and, typically, a florescent light source.
The[0302]processor5046 further may be coupled to conventional sensor(s)5054 that may be utilized to measure operational parameters of theelectronic display310. For example, thesensors5054 may sense voltage, current, scan rate, etc. The information sensed by the sensor(s)5054 may be received directly by theprocessor5046 or, in the case of measuring analog signals, be sampled by D/A converters (not shown) located in theelectronic display310 orelectronic display controller312. The processor executessoftware5056 that is used to interface with thevideo driver5050 in order to display thecontent signal4910 by theelectronic display unit5052. Thesoftware5056 may also be utilized to form log data in thememory5048 for communication to theelectronic display controller312.
Other functionality may be performed by the[0303]software5056. For example, thesoftware5056 may be utilized to interface with a wireless communication device or interface to receive thecontent signal4910 andcontrol signals4912 and communicate theoperational data4916 back to theelectronic display controller312. It should be understood that theelectronic display310 may alternatively be a slave device and be fully operated and controlled by theelectronic display controller312.
FIG. 51A is an exemplary flow diagram[0304]5100aprovidingverification level1 of the visual content being displayed on thevisual appliance308 of FIG. 3C. Theverification level1 process starts atstep5102. Atstep5104, thecontent signal4910, which may be analog or digital, is communicated via a wired or wireless communication channel to thevisual appliance308. In one embodiment, wireless ethernet using the 802.11b standard may be utilized. Alternatively, satellite wireless communication may be utilized either indirectly or directly to thevisual appliance308. Depending upon the configuration of the system, the fact that thecontent signal4910 is provided to thevisual appliance308 from thelocal server304 may be sufficient to consider that the content is displayed on thevisual appliance308. Alternatively, a communication from theelectronic display controller312 to theelectronic display310 may be utilized in verifying that the content is displayed on thevisual appliance308.
At[0305]step5106, a first indicator of the occurrence of the communication of thecontent signal4910 is recorded. The first indicator may be established in response to thecontent signal4910 being communicated from thelocal server304 to theelectronic display controller312 or from theelectronic display controller312 to theelectronic display310 depending on the system configuration In one embodiment, the first indicator includes a date and time. Other indicators may alternatively be recorded, including a flag indicative of thecontent signal4910 being communicated.
At[0306]step5108, the content is displayed on theelectronic display310 via thecontent signal4910. At least one operational parameter of thevisual appliance308 is sensed atstep5110. The operational parameter(s) may be any operational parameter that is available to be sensed by a conventional or custom designedsensor5054 for theelectronic display310. Atstep5112, a second indicator indicative of the sensed operational parameter(s) is recorded. The second indicator may be a measured value or an indicator that is indicative of the fact that the operational parameter(s) are operating in a normal range. For example, the voltage operational parameter of theelectronic display310 may be verified to have been operating at120+5 volts. By associating or combining the knowledge that the first and second indicators are valid,verification level1 may be satisfied for the operator of thevisual appliance308 and/or the provider of the visual content. Theverification level1 process ends at step A.
FIG. 51B is an exemplary flow diagram[0307]5100bof averification level2 process. Theverification level2 process starts at step A, which extends from theverification level1 process of FIG. 51A. Atstep5114, a value indicative of the sensed operational parameter is determined. In other words, a measurement of the sensed operational parameter produces a measured value corresponding thereto.Verification level2 may additionally measure the time-varying operational parameter at multiple times for determination purposes. Atstep5116, a determination is made if the measured value is inside an expected measured value range. Atstep5118, a notification identifier indicative of the measured value being inside or outside the expected measured value range is formed. If the measured value is inside the expected measured value range, then the notification identifier may be set to a value of “1” or logical TRUE. If the measured value is outside the expected measured value range, the notification identifier may be a “0” or logical FALSE. Atstep5120, a notification based on the notification identifier is communicated. In one embodiment, the notification may be communicated from theelectronic display310 to theelectronic display controller312. Alternatively, the notification may be communicated from theelectronic display controller312 to thelocal server304. The process ends atstep5122. It should be understood that each of the indicators and identifiers may be stored in thelog database4906cof thelocal server304.
TABLE 68 is an exemplary log table containing logs for
[0308]verification levels1 and
2. As shown, a number of different data elements indicative of the delivery of the
content signal4910 and measurement of operational parameters are stored. Examples of such data elements are delivery/playtime of the
content signal4910, content identifier, content name, operational parameters, and verification identifier. The delivery/playtime may include a date and time that the
content signal4910 is delivered from the
local server304 to the
electronic display controller312 or from the
electronic display controller312 to the
electronic display310. Since the delivery of the
content signal4910 may only be performed once and then the display of the
content signal4910 be repeated continuously at the
visual appliance308, playtime may also be logged. It should also be understood that subscriber ID, visual appliance ID, and other relevant information associated with content verification may be stored.
| DELIVERY/PLAYTIME | CONTENT | CONTENT | OPERATIONAL PARAMETERS | VERIFICATION |
| DATE | TIME | IDENTIFIER | NAME | TEMP | VOLTS | CURRENT | LIGHT | REFRESH | IDENTIFIER |
|
| Jun. 14, 2002 | 2:45 p.m. | 50286-03471 | Running Shoe | 96 | 120 | .5 | — | — | L1-PASS |
| Jun. 14, 2002 | 2:48 p.m. | 50286-03471 | Running Shoe | 98 | 122 | .58 | — | L1-PASS |
| Jun. 14, 2002 | 2:51 p.m. | 50286-03471 | Running Shoe | 110 | 32 | .01 | — | — | L1-FAIL |
| Jun. 21, 2002 | 8:30 a.m. | 28400-07056 | Snacks-Chips | 95 | 120 | .5 | 1.4 | 60 | L2-PASS |
| Jun. 21, 2002 | 8:35 a.m. | 28400-07056 | Snacks-Chips | 95 | 120 | .52 | 1.4 | 60 | L2-PASS |
| Jun. 21, 2002 | 8:40 a.m. | 28400-07056 | Snacks-Chips | 95 | 120 | .52 | 1.4 | 60 | L2-PASS |
| Jun. 21, 2002 | 8.45 a.m. | 28400-07056 | Snacks-Chips | 95 | 120 | .51 | 1.32 | 60 | L2-PASS |
| Jun. 21, 2002 | 8:50 a.m. | 28400-07056 | Snacks-Chips | 95 | 120 | .5 | 1.28 | 60 | L2-FAIL |
| Jun. 28, 2002 | 12:00 p.m. | Coca-Cola ® | Carbonated | 95 | 120 | .5 | 1.4 | 60 | L2-PASS |
| | | Beverage |
|
The content identifier may be any identifier associated with the content provided by the[0309]content signal4910. For example, if the content is an advertisement that shows a running shoe, then the content identifier may be the uniform product code (UPC) associated therewith. Alternatively, the operator may assign a random or non-random alphanumeric value for the content identifier. The content name may be an identifier associated with the content or a provider of the content, for example. The operational parameters may include any operational parameter of theelectronic display310 that is measured or derived from theelectronic display310.
As shown, the operational parameters may include temperature, volts, current, light, and refresh rate. For the running shoe visual content, operational parameters are measured and stored in the log table each time the content is delivered and/or played. For example, on Jun. 14, 2002, at 2:45 p.m., the operating temperature of the[0310]visual appliance308 is 96 degrees Fahrenheit and the operating voltage is 120 volts with thevisual appliance308 drawing a current of 0.5 amps. As indicated by the verification identifier (right most column) being “L1-PASS”, the delivery of thecontent signal4910 was successful and thevisual appliance308 is deemed to be operational. The running shoe advertisement is displayed at three minute intervals (i e., 2:45 p.m., 2:48 p.m., and 2:51 p.m.). However, while thevisual appliance308 at 2:51 p.m. is deemed to be operational at 2:48 p.m., the operational parameters (volts and current) indicate a failure of theverification level1 of thevisual appliance308 as identified by the verification identifier (i.e., “L1-FAIL”).
The log table further includes data associated with a second advertisement. As shown, on Jun. 21, 2002, at 8:00 a.m., a “snacks-chips” advertisement having a content identifier of 28400-07056, representative of the UPC number or any other proprietary or standard number associated with the snack-chips product, is displayed. The operational parameters for the[0311]visual appliance308 include an additional parameter of light, which is derived from measuring a current operational parameter drawn by the picture tube, for example and utilizing factory setting parameters as understood in the art. The light operational parameter may be utilized by thevisual appliance308, and more specifically by thelimit table manager5028, to verify that the operational parameter is operating within an expected operational parameter range for the given time sample of the display of thecontent signal4910. In this case, the current measured has a corresponding light operational parameter of 1.4 Foot-Lamberts (FL). The range of expected light parameters may be set between 1.3 FL and 1.5 FL, so that the light operational parameter for the visual content displayed at 8:30 a.m. allows therules manager5024 of theelectronic display controller312 to indicate that the display of thecontent signal4910 was acceptable from averification level2 standpoint. Accordingly, the verification identifier at 8:30 a.m. receives “L2-PASS”. The carbonated beverage advertisement is displayed every 5 minutes and continues to receive “L2-PASS” indications until 8:50 a.m., where the light operational parameter falls outside the expected light operational parameter range with a value of 1.28 FL. Accordingly, the verification identifier is logged as being “L2-FAIL”, which indicates averification level2 failure.
A third visual content is shown to be communicated to the[0312]visual appliance308 via thecontent signal4910 on Jun. 28, 2002 at 12:00 p.m The content identifier is alphanumeric and spells the name of the manufacturer “Coca-Cola®” rather than using a uniform product code (UPC) number. As described in relation to FIG. 50A, the content identifier may be utilized as a verification code to be displayed on thevisual appliance308 to provide for verification levels3 and4. The delivery and operational parameters successfully met theverification level2 conditions and, thus, a verification identifier of “L2-PASS” is logged.
It should be understood that rather than using a single log table to record both levels of verification that separate tables may be utilized to support each verification level. Additionally, it should be understood that one or more tables may be organized to record visual content being displayed on each[0313]visual appliance308, thereby providing the operator of thelocal server304 easier log manageability. It should also be understood that there may be more or fewer operational parameters than those shown in TABLE 68. While the operational parameters are shown to be static, the operational parameters may be provided in a more detailed or time-varying format. Datafile(s) containing expected time-varying recordation of operational parameter measurements that provides for signature analysis may be stored by thelocal server304 expectedoperational parameter database4906d.Thesoftware5018 may facility the datafiles for lookup by the parametric limit table forcontrol functions manager5028 andrules manager5024 for performing the verification process ofverification level2.
Verification levels[0314]3 and4 are based on a sensing technique that extends beyond conventional sensing of operational parameters. As understood in the art, conventional sensing of operational parameters in non-production operations (i.e., beyond factory testing operations) are limited to those parameters that may be measured electronically (i.e., voltage or current) within theelectronic display310. Again, in the case of determining the color or intensity of light for conventional systems, a current measurement is performed and a numerical conversion is performed utilizing factory established parameters as understood in the art to estimate the light produced by theelectronic display310. Techniques for performing verification levels3 and4 are described hereinafter.
To provide for content verification levels[0315]3 and4, a verification code (see, FIG. 53) may be generated and associated with or descriptive of the content that is displayed on the visual appliance308 (see, FIG. 52A). The verification code may be generated automatically or manually. If generated automatically, the verification code may be based on the name of the content datafile stored in thecontent database4906a. Alternatively, the verification code may be based on another identifier associated with the visual content, such as the UPC number or proprietary barcode number, product or service name, or other related information stored in thecontent database4906a.
The verification code is ultimately a binary word or multiple binary words to represent the information associated with the visual content. For example, an ASCII letter “G” may be represented as[0316]71, (hexadecimal or 010001112binary). Alternatively, the verification code may be an alphanumeric identifier generated by the content provider or operator of the operation server102. For example, the alphanumeric identifiers may be generated over time or for successive image frames, either serially (e.g., C001, C002, C003, etc.) or randomly (e.g., XP483, YN248, 32A3N, etc.), without repeating values, or, alternatively, used on a limited predetermined basis to form the verification code. Still yet, time and date may be included in generating unique verification codes for the associated content. For example, a verification code may include a product name, date, time, and/or identifier of anvisual appliance308. If the verification code is generated manually, the same or similar information utilized to automatically generate the verification code may be used. It should be understood that the verification code may be generated at thelocal server304,electronic display controller312,electronic display310, or a combination thereof.
In practice, a number of techniques may be utilized to generate and apply the verification code to be displayed on the[0317]visual display310. One embodiment includes utilizing a software tool for producing video content. One such software tool is Macromedia Director™. Another embodiment for generating and/or applying the verification code to be displayed via a visual verification code signal includes software or hardware operated by thelocal server304,electronic display controller312,electronic display310, either individual or by a combination thereof The software and/or hardware may apply the visual verification code signal to either an analog or digital video signal containing content. The digital video signal may be MPEG-1, -2, or -4, or any other digital video signal format supported by a communication system. It should be understood that the verification code may be applied automatically, semi-automatically, or manually by any of thesubscriber204 and206,service provider202, advertiser, or other content provider/editor.
In the case of the[0318]content signal4910 being analog, synchronization pulses indicating the beginning of lines and fields (i.e., horizontal and vertical synchronization) as understood in the art may be utilized to insert the visual verification code signal. In one embodiment, an on-screen display or video pattern generator, such as those used to generate an on-screen menu guide, may be utilized to insert the visual verification code signal onto thecontent signal4910 being displayed by thevisual appliance308. For example, at a specific line and column based on the synchronization pulses, thecontent signal4910 being delivered to or displayed by thevisual appliance308 is switched to the visual verification code signal. To accomplish the switching of the signals, an on-screen display (OSD) chip as understood in the art may be utilized.
In the case of the[0319]content signal4910 being converted to digital by any of thelocal server304,electronic display controller312, orelectronic display310, a variety of techniques may be utilized to display the visual verification code signal in association with thecontent signal4910. Three such techniques include (1) using the same or similar technique as discussed above with regard to insertion of the visualverification code signal5206 by counting the synchronization pulses in conjunction with a video pattern generator, (2) forming a data stream of images of the content in memory and applying or overwriting the visual verification code signal onto the proper locations in the memory such that the verification code is displayed at a desired location on theelectronic display310, or (3) performing real-time insertion of the visual verification code signal into thecontent signal4910 utilizing video mixing equipment as understood in the art. Again, by displaying the verification code, verification levels3 and4 may be enabled.
FIGS.[0320]52A-52C provide a number of exemplary embodiments for utilizing an optical sensor for measuring illumination of a verification code. FIG. 52A(1) provides an exemplaryelectronic display310 having anoptical sensor5202 coupled thereto for sensing illumination of adisplay region5204 identified within dashed lines for displaying a visualverification code signal5206 on thescreen5208 of theelectronic display310. Theoptical sensor5202 may be electronic or any other type of sensor (e.g, photodiode, phototransistor, and solar cell) capable of sensing illumination of the visualverification code signal5206 by theelectronic display310. In one embodiment, theoptical sensor5204 is one produced by Panasonic Corporation and identified as a part number PN335.
As can be seen on the front view of the[0321]electronic display310aof FIG. 52A(1), theoptical sensor5202 is disposed within the display area orregion5204 formed to display the visualcode verification signal5206. To reduce optical noise during sensing by theoptical sensor5202, including simultaneous display of the visual content and ambient lighting conditions, theoptical sensor5202 should have a field-of-view no greater than thedisplay region5204 for displaying the visualverification code signal5206.
The[0322]optical sensor5202 may be coupled to thescreen5208 using adhesives or other non-permanent or permanent securing materials. FIG. 52A(2) shows a front isometric view of theelectronic display310 having the optical sensor coupled to thescreen5208. The optical sensor as shown does not have any wires for communicating the signal sensed by illumination from the visualverification code signal5206, but rather utilizes a wireless communication device (not shown) coupled to theoptical sensor5202. In one embodiment, the wireless communication device is produced by Radiotronix, Inc. and having part number rtc-433-as. Alternatively, the optical sensor may be wired to an electronic board for communicating the sensed visualverification code signal5206.
FIG. 52B([0323]1) is a front view of theelectronic display310 that provides an alternative embodiment for coupling theoptical sensor5202 to theelectronic display310 for illumination by the visualverification code signal5206. In this embodiment, a bracket orsupport member5210 may be coupled to ahousing5212 of theelectronic display310 using adhesives or other fastening techniques as understood in the art. As shown in FIG. 52B(2), thesupport member5210 is curved and disposes theoptical sensor5204 in a position to be illuminated by display of the visualverification code signal5206. Alternatively, theoptical sensor5202 may be mounted to a support member that is not directly coupled to thehousing5212 of theelectronic display310. In another embodiment, a mirror, light pipe, optical fiber, or another light reflection device may be utilized to project the illumination of the visualverification code signal5206 onto theoptical sensor5202 that is remotely associated with theelectronic display310. For some display types having rear projection systems, theoptical sensor5202 may be placed behind the viewing screen. For a front projection system, theoptical sensor5202 may be placed at the display plane (e.g., screen) or within the projector itself.
FIG. 52C([0324]1) is a front view of theelectronic display310ashowing that theoptical sensor5202 is not positioned externally in front of thedisplay region5204 on thescreen5208. As shown on FIG. 52C(2), theoptical sensor5202 is disposed within theelectronic display310 and behind thescreen5208 by coupling theoptical sensor5202 bysupport member5210, which is further coupled to thehousing5212 or thescreen5208 of theelectronic display310b.To illuminate the optical sensor with the visualverification code signal5206, amirror5214 reflects thevisual code signal5206 onto theoptical sensor5202. It should be understood that a beam splitter may alternatively be used to reflect thevisual code signal5206 onto theoptical sensor5202 so that at least a portion of the visualverification code signal5206 orother content signal4910 is displayed on thescreen5208 to reduce distraction in viewing of theelectronic display310.
Another embodiment for utilizing the[0325]optical sensor5202 is an outdoor display utilizing LED and LCD devices (e.g., electronic billboard). Outdoor LED displays may utilize LED bulbs, as understood in the art, where the LED bulbs include multiple light emitting diodes to produce multiple colors from a single LED bulb. To ensure that the electronic billboard is operating properly, theoptical sensor5202 may be coupled to a portion or all of the LED bulbs. Alternatively, theoptical sensor5202 may be or disposed to receive the illumination from some or all of the LED bulbs. Accordingly, by sensing the illumination being displayed from the LED bulbs, verification of content and/or display parameters (e.g., color, intensity, etc.) of the outdoor display may be performed. Theoptical sensor5202 may be utilized similarly with an LCD display.
Yet another embodiment for utilizing the principles of the present invention includes a video display wall, where multiple[0326]electronic displays310 form a large, single electronic display. In such a case, each individualelectronic display310 may have theoptical sensor5202 or other feedback mechanism(s), as previously discussed, so as to ensure the proper operation of each individualelectronic display310.
FIG. 53 is an[0327]exemplary graph5300 for showing a digitalverification code signal5302 representative of a content identifier (TABLE 68), which may be utilized to form a verification code associated with acontent signal4910. The digitalverification code signal5302 is formed of 48 bits having four (4) bits per word. The time segments T0-T48represent the time segments for each bit. For example, bit-0 extends between times T0-T1, bit-1 extends between times T1-T2, bit-2 extends between times T2-T3, and bit-3 extends between times T3-T4. Word 1, therefore, forms the hexadecimal number5H(i.e., binary number 01012).Word2, forms a hexadecimal number of 6H(i.e., 01102) andword12 forms the hexadecimal number 8H(i.e., 10002). It should be understood that the digitalverification code signal5302 may be formed of words having fewer or more than 4-bits. For example, if alphanumeric or ASCII code values are desired to be utilized for the verification code, then8-bit words may be utilized, thereby providing a potential of256 values for each character.
In displaying the digital[0328]verification code signal5302 as a visual verification code signal5306, the bits are displayed in series (i.e., bit-0, bit-1, bit-2, bit-3, etc.). The bits may be synchronized with thecontent signal4910 according to the frame and/or refresh rate of theelectronic display310. It should be further understood that other modulation techniques may be utilized to represent the verification code. For example, pulse width modulation (PWM) may be utilized such that percentage of a word that is HIGH may be utilized in forming different levels or average values that represent characters of the verification code.
FIGS.[0329]54A-54D show a sequence of images that illustrate the digital verification code signal5302 (FIG. 53) being displayed as a visualverification code signal5206 on theelectronic display310. FIGS.54A(1)-54D(1) show a sequence of the 4-bits representative ofword1 of thedigital verification code5302 of FIG. 53. Between times T0and T1, the visualverification code signal5206ais highlighted, thereby indicating that the bit between times T0and T1of the digitalverification code signal5302 is HIGH. FIG. 54B(1) has the visualverification code signal5206bbeing unhighlighted, thereby indicating that the second bit (i.e., bit-1) of the digitalverification code signal5302 is LOW between times T1and T2. FIG. 54C(1) again has the visualverification code signal5206abeing indicated as highlighted, thereby representing that the third bit of the digitalverification code signal5302 is HIGH. FIG. 54D(1) shows the visualverification code signal5206bas being unhighlighted, thereby indicating that the fourth bit of the digitalverification code signal5302 is LOW. By sensing the illumination of the visualverification code signal5206 from each frame provided by FIGS.54A(1)-54D(1), a determination may be made that the verification code being represented by the digitalverification code signal5302 and displayed by the visualverification code signal5206 is a hexadecimal number 5H(i.e., 01012).
FIG. 54B illustrates the digital[0330]verification code signal5302 being displayed as a combination of values (e.g., HIGH and LOW). Thedisplay region5204 is formed of a visualverification code signal5206chaving two half-regions being inverse from one another In other words, to represent a HIGH value, shown on FIG. 54A(2), theleft half5206eof the visualverification code signal5206cis highlighted and theright half5206fis unhighlighted. FIG.54B(2) shows a low bit of the digitalverification code signal5302, whereby theright half5206fof the visualverification code signal5206dis highlighted and theleft half5206eis unhighlighted. By using a pair of sensors being configured electronically as a differential pair, optical noise from ambient lighting conditions may be reduced in sensing the visualverification code signal5206 illuminated by theelectronic display310. It should be understood that other configurations and/or patterns generated to represent a HIGH value and a LOW value of the digitalverification code signal5302 may be utilized for sensing purposes.
Further, the HIGH and LOW colors may be other than black and white. For example, an operator may desire to verify that the colors (i.e., red, green, blue) of the[0331]electronic display310 are operating properly. To verify the colors, the visualverification code signal5206 may be cycled or selectively turned on independent of the other colors to verify that (i) each color is operating and (2) the intensity of each color is balanced with respect to the other colors. Still yet, the visualverification code signal5206 may be formed to appropriately match other colors surrounding the content identification region to minimize distraction for the viewer as the visualverification code signal5206 is being displayed by theelectronic display310. Another technique for verifying the colors may include applying the colors simultaneously with the substantially same or different intensities and measured accordingly.
FIG. 55A is an exemplary flow chart[0332]5500adescribing an operation for the verification level3 of the visual content being displayed on thevisual appliance308 of FIG. 3C. The verification level3 process starts atstep5502. Atstep5504, a digital signal representative of a verification code is converted to a visualverification code signal5206. Theverification code signal5206 is displayed in relation to acontent signal4910, where the visualverification code signal5206 may be displayed prior to, in conjunction with, or after thecontent signal4910. By displaying the visualverification code signal5206 in relation to the visual content signal, knowledge that aparticular content signal4910 was displayed may be determined by measuring the visualverification code signal5206.
At[0333]step5508, the digitalverification code signal5302 displayed as a visualverification code signal5206 is read. In reading the visualverification code signal5206, the illumination of the visualverification code signal5206 may be sensed byoptical sensors5204 and measured by circuitry and/or software. Atstep5510, a verification code is determined based on the read visualverification code signal5206. The verification code is the code based on a content identifier and generated to form the digitalverification code signal5302. By determining the verification code as represented by the visualverification code signal5206, a high level of certainty as to whichcontent signal4910 displayed can be made for successfully providing verification level3. The verification level3 process ends at step B.
FIG. 55B is an exemplary flow chart[0334]5400bdescribing verification level4, which indicates that aparticular content signal4910 is timely and properly displayed on thevisual appliance308 of FIG. 3C. The process starts at step B, which is an extension of the process of FIG. 55A. Atstep5512, operational parameter(s) are sensed. In sensing the operational parameters, the optical sensor(s)5054 may be utilized to measure operational parameters of thevisual appliance308. The process continues at step A of FIG. 51B so as to determine values of the sensed operational parameters and compare the sensed values with expected operational parameter values to determine (1) the quality of the visual content signal being displayed and (2) perform signature analysis of the operational parameter(s). In one embodiment, signature analysis may be performed by measuring each of the component colors displayed by the visualverification code signal5206. The verification level4 process ends atstep5514.
While the principles of the present invention provide for feedback of parameters associated with the display of the content, it should be understood that feedback of parameters associated with audio may also be utilized in accordance with the principles of the present invention. In the case of feeding back audio parameters, measurements of audio characteristics rather than optical characteristics are performed. Such audio characteristics may include fidelity (e.g., static and interference), volume, range dynamics, etc.[0335]
In accordance with verification levels ([0336]1) and (2), measurement and knowledge of sensory information, such as audio, being communicated to an electronic device (e.g., the visual appliance308) may establish verification that the sensory information (e.g., audio and/or video) is properly communicated and output or played by the electronic device. A transducer or microphone (not shown) may be utilized to sense the audio produced by theelectronic display310 or, optionally, a remotely located radio. In one embodiment, the feedback of the audio measurements may be utilized to verify that the audio is operating properly. The feedback may additionally be fed-back to provide for the volume to automatically be adjusted to a particular level. For example, in the case of thevisual appliance308 being located in an aisle of a grocery store, the volume may be adjusted to a predetermined level to enable individuals within a certain distance (e.g., eight feet) to hear the audio being produced by thevisual appliance308.
In accordance with verification levels ([0337]3) and (4), an audio verification code may cause an audio verification code signal that may or may not be heard by the human ear (i.e., at a very high or low frequency), but is capable of being produced by a sound system and measured by an audio sensor. The measurement of the audio verification code signal may be fed-back to thelocal server304 to verify that a particular audio and/or video content is played by the output device (e.g., radio or visual appliance308). To further improve the audio verification, speech recognition may be used to detect key words or phrases embedded into the audio content to “blend” the audio verification code into the content itself.
An audio selection flag may be established for each[0338]visual appliance308 at thelocal server304. If the operator of thevisual appliance308 does not want to play the audio, the audio selection flag may be set to an OFF state, thereby preventing error conditions from being reported when the measurement of the audio signal from thevisual appliance308 results in an OFF condition Otherwise, an error condition may be reported and the operator may correct the audio problem manually, semi-automatically, or automatically.
System Databases[0339]
TABLES 69-71 are exemplary databases that provide for maintaining information associated with the
[0340]service provider202 and
subscribers204 and
206. Additionally, the tables for maintaining information in connection with the
service provider server702,
local servers304 and
visual appliances308. Additionally, TABLES 73-75 maintain information associated with the content, operation of the components, and financial obligations (e g., billing) of the
subscribers204 and
206 to the
service provider202.
| TABLE 69 |
|
|
| Server Provider Server Database(s) |
| Local Server Population |
| |
| Visual Appliance Population |
| Content |
| Playlists |
| Accumulated Logs |
| Storage Mapping |
| Reporting |
| Billing |
| |
TABLE 69 includes databases maintained by the[0341]service provider server702 that includes information associated with the equipment, (e.g.,local servers304 and visual appliances308), content and schedules for the content to be played on thevisual appliances308, billing, and reporting. The local server population database is utilized to maintain information associated withlocal servers304 that are distributed amongst thesubscribers204 and206. Such information may include detailed information identifying the local servers, locations, operators, software version, etc. The visual appliance population database includes information associated with thevisual appliances308 that are being utilized on thecommunications system200 operating within thefacilities208 of thesubscribers204 and206. The visual appliance population database may associate thevisual appliances308 in communication with specificlocal servers304 Additionally, the visual appliance population database includes identification information associated with the each of thevisual appliances308. Still yet, the visual appliance population database may include other relevant information associated with eachvisual appliance308, including software version, processor, age, screen size, refresh rate, etc. The content database may include content information associated with eachsubscriber204 and206. For example, the content information may include location of storage of the content, size of the content, type of content, cumulative size of content, average moves per month of content, etc The playlist database includes playlists generated maintained by thesubscribers204 and206 and used to display the content on thevisual appliances308 located at thefacilities208.
The accumulated logs database includes logs generated by the[0342]local servers304 andvisual appliances308. The accumulated logs may include performance, health, number of plays, verification information, etc. It should be understood that the accumulated logs are typically a summary of the log information provided by thelocal servers304 andvisual appliances308. However, a complete set of logs may also be maintained.
The storage mapping database includes location of the content being stored for the
[0343]subscribers204 and
206. Because the equipment, such as the
local servers304, are owned by the service provider in one business model, the service provider is able to maintain storage for content for the different subscribers anywhere within the network of
local servers304. In other words, because the content is not deemed to be critical business data, the
subscribers204 and
206 may share storage on the
local servers304 with data of
other subscribers204 and
206. Therefore, a storage mapping of the content is utilized by the
service provider202 to maintain location information of the content being stored for each
subscriber204 and
206. The reporting database is utilized for maintaining information associated with reporting usage and billing information to the
subscribers204 and
206. The billing database is utilized for billing purposes for maintaining billing records for the
subscribers204 and
206 for utilization of the services provided by the
service provider202. For example, the billing information may include distribution of data charges via the
satellite218 on a per unit of measure (e.g, megabytes) rate. Additionally, the billing information may include storing content on a per unit per time of measure basis (e.g., megabytes for a month). It should be understood that other billing arrangements may be maintained by the billing databases as described herein and as understood in the art.
| TABLE 70 |
|
|
| Local Server Database(s) |
| Local Server ID |
| |
| Visual Appliance Population |
| Type |
| Location |
| Current Content |
| Visual Appliance ID |
| MAC Address |
| IP Address |
| Subscription ID |
| Accumulated Logs from Visual Appliance |
| Content |
| Playlists |
| Content |
| Start Time |
| End Time |
| Specific Location |
| Storage |
| |
TABLE 70 includes databases maintained by the[0344]local server304. The databases may include local server identification information, visual appliance population, accumulated logs from thevisual appliances308, content, playlists, and storage. The local server identification information may include addresses, serial numbers, etc. The visual appliance population may include type, location (within the facilities208), current content, visual appliance identification number, MAC address, IP address, etc. The location information may be associated with the planogram of thefacilities208 as understood in the art. The accumulated logs from the visual appliance may include performance, health, type ID, start and stop of content play, number of plays, verification information, or any other information generated by thevisual appliances308. The content database may include a list of content being stored by thelocal server304. In one embodiment, the content database includes a list of content to be played on the associatedvisual appliances308.
The playlist database may include content, start time, end time, subscription ID, content ID, visual appliance ID, specific location for the
[0345]visual appliance308, etc. The playlist database may be utilized by the manager of a
facility208 to ensure that the content is displayed in association with product located at the facility. For example, a manager of a grocery facility is to notify personnel that a particular
visual appliance308 is to be placed in association (e.g., attached to a particular shelf) with a particular product. For example, a soup advertisement is to have the
visual appliance308 located or positioned in relation to the soup product. Therefore, the facility manager may verify and confirm that the
visual appliance308 to play the soup advertisement is located at or has been moved to a shelf that stores the soup prior to distribution of the content to the
visual appliance308. A verification of the location of the
visual appliance308 may be performed automatically prior to the content being communicated or displayed. If it is determined that the
visual appliance308 is not properly located for display of the particular content, a notification may be sent to the
subscriber204 to move the
visual appliance308. The storage database may maintain information associated with the content to be displayed by the
visual appliances308 at the
facility208. Additionally, the storage database may maintain information associated with all content being stored by the
local server304, whether or not it is to be displayed by the
visual appliances308 at the
facility208.
| TABLE 71 |
|
|
| Visual Appliance Database(s) |
| Visual Appliance Address Information |
| |
| Local Server ID |
| MAC Address |
| IP Address |
| ESN |
| Location ID |
| Visual Appliance ID |
| Subscription ID |
| Content |
| Log |
| Performance |
| Health |
| Type ID |
| Start/End |
| Number of Plays |
| Verification Information |
| Correct ID |
| Frame Rate |
| Color |
| Intensity |
| Performance |
| Correct Resolution for Screen |
| |
TABLE 71 is an exemplary set of databases that are maintained by the[0346]visual appliances308 of FIG. 3C. The databases may include visual appliance ID information, including local server ID, MAC address, IP address, EFN, location ID, subscription ID, and visual appliance ID number, for example. The location ID may be associated with a planogram mapping of afacility208 and updated each time thevisual appliance308 is moved from one location to another. The updating may be performed at thevisual appliance308 via a touch screen or local connection to ensure that the location information has been updated appropriately. The content database maintains the current content information that is downloaded onto thevisual appliance308. Content database may include date of download, size of file, name of content, type of content, subscriber ID, etc., as provided by thesubscriber204 into a playlist.
The log database maintains information associated with operation of the[0347]visual appliance308. The log database may include information, such as performance and alerts of thevisual appliance308. For example, the performance may include temperature or other environmental and operational conditions of thevisual appliance308, either determined by theelectronic display controller312 orelectronic display310. The log information may also maintain information associated with the content being displayed by thevisual appliance308, including type ID, start/end time, subscriber ID, and number of plays. The type ID may be the type of content being displayed, such as a still or video image. The start/end times may be utilized to verify that the content is being displayed by thevisual appliance308, including the number of times played on thevisual appliance308. The verification information may be utilized to provide thesubscribers204 and206 with a “electronic tearsheet” for verification purposes utilizing the verification levels described hereinbefore. The verification information may include correct ID, frame rate, color, intensity, performance, correct resolution for screen and/or other verification information. Accordingly, thevisual appliance308 may perform a summary or accumulation of the log information prior to communicating the log information to thelocal server304. By accumulating the log information, a minimal amount of bandwidth and storage space may be utilized while still capturing enough information for reporting and billing purposes. Alternatively, thevisual appliance308 may be notified to upload log information to thelocal server304, which may in turn, upload the log information to theservice provider server402.
Because the[0348]visual appliance308 is formed of theelectronic display controller312 andelectronic display310 in either an integrated or separate configuration, a wide variety of designs of thevisual appliance308 may be utilized in accordance with the principles of the present invention. The designs may range from small, light-weight, flat-panel LCD screens that may be integrated onto facility shelves, display stands, peg-board displays, and other display structures. Additionally, the visual appliances may be integrated into functional product dispensers, such as candy machines, soft-drink dispensers, beer-tap dispensers, cigarette machines, etc In other non-integrated embodiments of thevisual appliance308, theelectronic display controller312 may be coupled to an existing electronic display, such as a CRT or television, for download and display of the content.
System User Interfaces[0349]
FIGS.[0350]56A-56D show a set of user interfaces56 provided by thesubscribers204 and206 to utilize for providing broadcasting services using thecommunications system200. The user interfaces may include alibrary user interface5602, scheduling/transmission user interface5604, siteselection user interface5606, andaccount interface5608. Theuser interfaces5600 allow thesubscribers204 and206 to handle content being maintained, communicated, and displayed at thefacilities208 of thesubscribers204 and206. Additionally, theuser interfaces5600 provide for receiving and reporting account (e.g., billing) information.
The[0351]library user interface5602 of FIG. 56A allows for thesubscribers204 and206 to manage content being stored by theservice provider202. Thelibrary user interface5602 may be formed in a hierarchical structure or folder based structure as understood in the art Alternatively, thelibrary user interface5602 may utilize a content management system that manages the content in a “black-box” manner. The library or content database partitions the content being stored by thesubscribers204 and206 so that eachsubscriber204 and206 is prevented from viewing content of other subscribers. Thelibrary user interface5602 may be utilized forsubscribers204 and206 who engage the system for storage and/or broadcast purposes. In other words, thelibrary user interface5602 may be utilized for a variety of different subscription types.
[0352]Subscribers204 who upload the content to the library may establish rules for distributing the content via thelibrary user interface5602. For example, if a new product advertisement is uploaded, but intended to be confidential until a certain release date, thesubscriber204 may set a restriction date by which theservice provider server702 prevents the content from being distributed. Additionally, thelibrary user interface5602 may enable the user to set rules for storage of the content. For example, a rule may be established to always maintain a backup copy of the content at least one time zone away.
The scheduling/[0353]transmission user interface5604 of FIG. 56B allows thesubscribers204 and206 to establish times, locations, and/orvisual appliances308 for the content being maintained by the library to be broadcast. The scheduling/transmission interface5604 may be utilized for generating playlists for the content to be distributed and played on thevisual appliances308. The scheduling/transmission user interface5604 may provide thesubscriber204 with the ability to categorize thefacilities208 and/orvisual appliances308 into a variety of categories for multicasting the content. For example, thefacilities208 may be categorized into regions (e.g., midwest), venues (e.g., malls), size (e.g., over 100,000 sq. ft.), type (e.g., clothing store), locations (e.g., northeast), owners (e.g., Southwest Enterprises), or any other category for thefacilities208 to be associated. Thevisual appliances308 also may be categorized for multicasting, including categorizing by locations (e.g., store fronts), regions (e.g, northeast), venues (e g., malls), departments (e.g., mens wear), planogram defined locations (e.g., aisle3), associated products (e.g., jellies), associated services (e.g., lawn services), size (e.g., 48×36-inch electronic displays), or any other category for thevisual appliances308 to be associated. Still yet, the scheduling/transmission user interface5604 may include pricing to be provided to thesubscribers204 and206 in a dynamic fashion as thesubscribers204 and206 define the content to be broadcast. Thesubscriber204 and206 may select content distribution delivery options based on priority. For example, content that is to be broadcast in a few weeks may be sent as low-priority, while content to be broadcast the same day may be selected as a high-priority delivery, which may have a higher cost as established by the communicationsnetwork service provider216.
The site[0354]selection user interface5606 of FIG. 56C may provide thesubscribers204 and206 the ability to establish details for thefacilities208. Such details may include address, facility manager, planogram, size, products, facility hours, venue, owner, facility ID, and/or any other details to assist theservice provider202 andsubscriber204 with providing infrastructure and content distribution services. One or more planogram may be generated and associated with thefacilities208 of thesubscribers204 and206 on an individual or collective basis, thereby providing thesubscribers204 and206 an easy way to manage and service infrastructure and schedule the content for broadcasting.
The account[0355]information user interface5608 of FIG. 56D provides thesubscribers204 and206 the ability to view account information, including billing and revenue. Thesubscribers204 and206 may be billed according to usage of thecommunications system200, such as on a per unit of size per unit of time (e.g., megabytes/month) Thesubscribers204 and206 may, in turn, form revenue by billing the advertisers for the broadcast services. Additionally, the accountinformation user interface5608 may provide for the verification information that indicates that the content was timely and properly displayed on thevisual appliances308. It should be understood that the accountinformation user interface5608 may provide other administrative information and functionality as understood in the art.
Business Models for System Utilization[0356]
Revenue Stream Models[0357]
FIG. 57 is an exemplary block diagram that describes a[0358]subscription model5700 for theservice provider202 of FIG. 2 to provide the content management and distribution services according to the principles of the present invention. Because the cost of the infrastructure is generally cost prohibitive for most retailers, thesubscription model5700 generally enables both large andsmall subscribers204a-204n(collectively204) to utilize the infrastructure and profit from the usage by selling advertisement space, communication, access, capacity toadvertisers5702
More specifically, the[0359]service provider202 engages the communication services of the communicationsnetwork service provider216 to providecommunication services5703 via thecommunications system200 for thesubscribers204. The communication services5903 may be via thesatellite218 to provide substantially complete communications coverage for the United States and/or other continents. To provide the communicationsnetwork service provider216 withsubscribers204, theservice provider202 may offer a subscription based service to thesubscribers204 that enables thesubscribers204 to utilize the content delivery maintenance and distribution technology in accordance with the principles of the present invention without having to purchase the infrastructure5704 (e.g.,local servers304 and visual appliances308). In providing thesubscriptions5708 to thesubscribers204, theservice provider202 establishessubscriptions5708 for theinfrastructure5704 andservices5706 at minimal or no cost to thesubscribers204. In one embodiment, thesubscriber204 pays usage fees of theinfrastructure5704 irrespective of the type or amount ofinfrastructure5704 utilized. In another embodiment, thesubscriber204 pays for usage of a certain number ofvisual appliances308. The usage fees may. include communication and/or storage fees in terms of capacity communicated and/or content stored over a given time period.
The[0360]infrastructure5704 may include all of the equipment necessary to operate as a broadcast provider for advertisers within thefacilities208 of thesubscriber204. For example, theinfrastructure5704 may include a home office and individual facility equipment. The home office equipment may include a satellite dish, home office server, home office terminals, and home office network equipment. The individual facility equipment may include asatellite dish302,local server304,wireless access point314, wired access point, storage units, andvisual appliances308.
Additionally, the[0361]service provider202 provides theservices5706 to install and maintain theinfrastructure5704. Because theinfrastructure5704 is not owned by thesubscriber204, but merely utilized, thesubscriber204 may receive the installation andmaintenance services5706 as part of a subscriber agreement orsubscription5708. And, because theinfrastructure5704 is not owned by thesubscriber204, thesubscriber204 may treat the infrastructure usage as an expense rather than having to treat theinfrastructure5704 as a capital asset on a balance sheet, thereby minimizing exposure to the equipment and technology becoming outdated while still being depreciated.
In addition to the installation and[0362]maintenance services5704 provided by theservice provider202, theservice provider202 provides the content management and distribution services for thesubscribers204. As previously discussed, theservice provider202 offers a network interface to enable thesubscribers204 to upload the content of theadvertisers5702 and schedule the content for distribution and play on thevisual appliances308 at the facilities of thesubscribers204. Because thesubscribers204 operate as the broadcaster, thesubscribers204 have incentive to seek advertising from theadvertisers5702 from both an advertising revenue and product movement (i.e., sales) point-of-view. Utilizing therevenue model5700 of FIG. 57, thesubscribers204 may incur advertising revenue without having to manage and maintain theinfrastructure5704.
The[0363]subscription5708 may establishsubscription fees5708 for usage of theinfrastructure5704 to be in the form of usage fees for bothcommunication services5703 and storage for the content. For the communication services5903, thesubscription fees5710 may be established as a fee per billable unit of measure over a unit of time. For example, thesubscriber204 may by charged a certain amount of money per megabyte per month (e.g., $1/megabyte/month). Further, theservice provider202 may be able to predetermine a date of profitability by setting a minimum subscription fee on the unit of time (e.g., monthly). If thesubscriber204 is able to sell additional content broadcasting services and the volume of communications is over the minimum unit, then apremium communications fee5711 may be charged to thesubscriber204. However, while the communications fee may be charged to thesubscriber204, the communications fee may be passed through to theadvertisers5702 that utilize the broadcasting services so as to minimize cost to thesubscribers204. Depending on the agreement between thesubscriber204 andadvertisers5702, the overhead (e.g., communications and storage fees) may be applied to the cost of advertising for theadvertisers5702.
For the storage fees, the[0364]service provider202 may offer thesubscriber204 storage fees for the content on a per unit measure over a unit of time (e.g., megabytes per month) Additionally, a minimum amount of storage capacity for content without cost on a unit of time basis (e.g., monthly) for promotional purposes, based on the number ofvisual appliances308 utilized, based on the number offacilities208 that thesubscriber204 owns, based on the subscription fees, etc. Any storage capacity utilized over the minimum, theservice provider202 may assess a premium storage fee to thesubscriber204. Additional discussion with regard to distributed storage utilizing the principles of the present invention is provided in conjunction with FIGS. 65 and 66.
In operation, the[0365]subscribers204 sell advertising services, access, capacity, advertising space, etc., which include thecommunication services5703 of the communicationsnetwork service provider216 and content management by theservice provider202, to theadvertisers5702 within thefacilities208 of thesubscribers204. In return for the broadcasting services, thesubscribers204collect advertising fees5714, which may be include collecting for miscellaneous fees, such as communication and/or storage premium fees, passed through from thesubscriber204 to theadvertiser5702. Thesubscribers204 upload and schedule thecontent5712 to be distributed to the propervisual appliances308 as requested by theadvertisers5702 as discussed hereinbefore. Accordingly, the cost for broadcasting and/or storing the content may be applied to theadvertising fees5714 paid by theadvertisers5702.
If the[0366]subscriber206 is a manufacturer or advertiser that places thevisual appliances308 into thefacilities208 of its customers (e.g., grocery store), then thesubscriber206 may not haveadvertisers5902 because thesubscriber206 is, in-fact, the advertiser. Thesubscriber206 in this case may have a lower overhead cost because thesubscriber206 may not pay for surcharges that the subscriber204 (e.g., retailer) would assess to thesubscriber206. Additionally, thesubscriber206 essentially guarantees the dedicated usage of the infrastructure5904 (e.g., visual appliances308) over time. In other words, if thebrand subscriber206 is large enough, thebrand subscriber206 may purchase a long-term subscription5908 from theservice provider202, thereby making thesubscription5708 more cost effective for thesubscriber206. Thesubscriber206 may thereafter place thevisual appliances308 into thefacilities208 in association with the products of thesubscriber206 and control the content being distributed to thevisual appliances308. If thefacilities208 of the customers of thesubscriber206 do not have thenecessary infrastructure5904 for communication of the content to thevisual appliances308, then thebrand subscribers206 may, in essence, “push” and/or subsidize the customers to becomesubscribers204 of theservice provider202.Brand subscribers206 who push the customers may achieve a “charter subscriber” status, which enables thebrand subscriber206 to operate under a “special” agreement with the service provider, thereby enabling the charter subscriber to service select retailers.
In one embodiment, the subscription fees are based on the costs of the infrastructure utilized by the[0367]subscriber204. In determining the capacity utilization fees, a total cost of thelocal server304,receiver303,visual appliances308, andwireless access point314 may be computed and divided into the term of the subscription (e.g., 5 years).
To produce revenue to continue to produce the infrastructure for subscribers, initial subscriptions sold to large business entities having good credit (e.g., credit rating of A) may be sold to financial institutions for a discount, thereby producing revenue. Once the revenue is no longer needed to capitalize the infrastructure, the[0368]service provider202 may keep the subscriptions and the subscription fees generated therefrom.
FIG. 58 is an exemplary flow diagram[0369]5800 describing operation of therevenue stream5700 depicted in FIG. 57. The process for establishing the revenue stream for thesubscriber202 starts atstep5802. Atstep5804, infrastructure is provided to thesubscriber204. The infrastructure may be provided to thesubscriber204 at, below, or no cost to thesubscriber204 as payment for theinfrastructure5704 is supported by thesubscription5708 for utilizing theinfrastructure5704 via content management and communication services by theservice provider202. Atstep5806, subscriber-controlled scheduling and storage services are provided for thesubscriber204. where the subscriber-controlled scheduling services allow the subscribers to schedule thecontent5712 for distribution and display on thevisual appliances308. Because thesubscriber204 controls the scheduling of content for distribution and display at thevisual appliances308 located in the facility(s)208 of thesubscriber204, thesubscriber204 is motivated to schedule as many advertisements or content delivery as possible. Atstep5808,communication services5703 via the communicationsnetwork service provider216 are arranged. In utilizing thecommunications system200, thesubscriber204 may be billed on a capacity utilization basis. Atstep5810, the subscriber is billed for the capacity utilized. The process ends atstep5812.
Network Affiliate Model[0370]
FIG. 59 is an exemplary block diagram that describes a network[0371]affiliate subscription model5900 that utilizes a point-of-purchase (POP)display manufacturer5902 and advertisement agencies/manufacturer advertiser5904 to offer the content management and distribution services of theservice provider202 of FIG. 2 in accordance with products and/or services offered by thePOP display manufacturer5902 and advertisement agency/manufacturer advertiser5904.POP display manufacturers5902 face a competitive market with regard to selling point-of-purchase displays. The business model forPOP display manufacturers5902 has traditionally been to manufacture and sell the point-of-purchase displays without potential for any residual financial benefits after the sale of the displays.
In accordance with the principles of the present invention, the[0372]POP display manufacturer5902 may execute anagreement5906 that enables thePOP display manufacturer5902 to incorporate thevisual appliances308 into point-of-purchase displays5908 and sellsubscriptions5910 tosubscribers204 with the point-of-purchase display6908 for theservice provider202. ThePOP display manufacturer5902 may reduce or eliminate the cost of the point-of-purchase display5908 by selling the subscription6910 due to theservice provider202 providing residual revenue over the life of thesubscription5910. Accordingly, thesubscriber204 may pay thePOP display manufacturer5902fees5912 for the cost of the point-of-purchase display5908 and theservice provider202fees5914 for the usage of the services. Additionally, the POP display manufacturer may payfees5916 to the service provider for infrastructure and/or services in producing the point-of-purchase display5908 and theservice provider202 may financially compensate to thePOP display manufacturer5902 for the initial sale of thesubscription5910 and residual revenue in the form offees5918 during the lifetime of thesubscription5910.
The[0373]POP display manufacturer5902 may additionally and/or alternatively sell the point- of-purchase display5908 forfees5902 to the advertisement agency/manufacturer advertiser5904, who may sell or distribute the point-of-purchase display5908 to thesubscriber204 to assist with sales of products and/or services. ThePOP display manufacturer5902 may sell asubscription5910 to the advertisement agency/manufacturer advertiser5904 with the point-of-purchase display5908 to offset the cost of the point-of-purchase display5908, optionally. Accordingly, the advertisement agency/manufacturer advertiser5904 may pay thesubscription fee5914 directly to theservice provider202. Accordingly, thePOP display manufacturer5902 may receive financial compensation for the sale of thesubscription5910 and for residual revenue during the lifetime of thesubscription5910.
FIG. 60A is an exemplary flow diagram[0374]6000 describing thesubscription model5900 of FIG. 59. The subscription model process starts atstep6002. At6004, anagreement5906 is established with thePOP display manufacturer5902 to provide visual appliance(s)308 for point-of-purchase displays5908 and communication services based on a subscription that may be offered by thePOP display manufacturer5902 tosubscribers204 and206. The visual appliance(s)308 may be provided to thePOP display manufacturer5902 at, below, or no cost to thePOP display manufacturer5902 for integration into the point-of-purchase displays5908 so as to encourage thePOP display manufacturer5902 to incorporate thevisual appliances308 into the point-of-purchase displays5908. Atstep6006, subscriber-controlled schedule and communications services based on thesubscription5910 may be provided to thesubscribers204 and206. The process ends atstep6008.
FIG. 60B is an exemplary flow diagram[0375]6010 describing the networkaffiliate subscription model5900 of FIG. 59 from the view of thePOP display manufacturer5902. The process starts atstep6012. Atstep6014, a point-of-purchase fixture ordisplay5908 having at least one visual appliance incorporated therein is formed. The point-of-purchase fixture5908 is distributed tosubscribers204 and206 who utilize the point-of-purchase fixtures5908 in displaying products at step6036. Atstep6018, a subscription is sold by thePOP display manufacturer5902 for services to utilize the visual appliance(s)308 to thesubscribers204 and206. The process ends atstep6020.
Sign Management Model[0376]
FIG. 61 is an exemplary block diagram describing a subscription model from a[0377]service provider202 of FIG. 2 to asign management company6102. As understood in the art, thesign management company6102 typically manages out-of-home signs that are visible to the viewing public. Because thesign management company6102 currently manages established signs located on prime areas of real estate, theservice provider202 is motivated to work with thesign management company6102. Thesign management company6102 may execute asubscription6104 to utilize theinfrastructure5904 provided by theservice provider202. Thesubscription6104 may obligate theservice provider202 to replace the current signs of thesign management company6102 withvisual appliances308 and obligate thesign management company6102 to utilize the content management and distribution services of theservice provider202 for a minimum number of years, for example. As understood in the art, thesign management company6102 sells advertising space for the sign locations to advertisers. In accordance with the principles of the present invention, thesign management company6102 may sell advertisement space on thevisual appliances308 for the replaced signs and manage the content provided by theadvertisers5902 by utilizing the content management services provided by theservice provider202. Accordingly, asubscription fee6106 may be paid to theservice provider202 on a substantially periodic basis based on usage of the communication and storage capacity utilized by thesign management company6102 for distribution and storage of thecontent5912. Further in accordance with the principles of the present invention, theservice provider202 may provide theinfrastructure5904 to thesign management company6102 at, below, or without cost to thesign management company6102.
Billing System Bridge Model[0378]
FIG. 62 is an exemplary block diagram[0379]6200 that provides for a billing system bridge forsubscribers204 of theservice provider202. performing the billing system bridge, theservice provider202 utilizes theinfrastructure5904 provided to thesubscribers204 to electronically distribute bills orinvoices6202aand6204ato thedifferent subscribers204. As shown, thesubscribers204 may include aretailer6203 and an out-of-home advertiser6205. Thebills6202aand6204amay be “passed through” thesubscribers204 to theadvertisers5902a-5902mand5902a-5902n,respectively, in the form ofbills6202band6204b.The billing system bridge, which may be operated by the server utilized by the home office of thesubscribers204, may (i) operate on or in conjunction with an accounting software package as understood in the art and (ii) incorporate thebills6202aand6204agenerated by thesubscribers204 utilizing the services of theservice provider202 into thebills6202band6204bfor the advertising services provided to theadvertisers5902. In other words, the billing system bridge may seamlessly provide a mechanism for passing the bills from theservice provider202 to theadvertisers5902 for thesubscribers204. Alternatively, thebills6202aand6204amay be formatted in accordance with information of thesubscribers6203 and6205, including letterhead, cost structures, etc., and be merely sent from thesubscribers204 to theadvertisers5902 without incorporating into an account package managed by thesubscribers204.
FIG. 63A is another billing[0380]system bridge model6300 forsubscribers204 to billadvertisers5902 utilizing thecommunications system200 of FIG. 2. As shown, a serviceprovider billing system6302 issues aninvoice6304 to asubscriber billing system6306, which may operate on a server utilized by a home office of thesubscriber204. Theinvoice6304 may include fees generated by thesubscriber204 utilizing the communications and storage services provided by theservice provider202. As shown, the fees of theinvoice6304 are for a total of $A for theadvertiser5902. In response to thesubscriber billing system6306 receiving theinvoice6304, aninvoice6308 including (i) the fees $A for the service provider fees and (ii) the costs or fees $B associated with theadvertiser5902 for advertising on thevisual appliances308 operated by thesubscriber204 at thefacilities208. As shown, theinvoice6308 is for a total of $A+$B. Alternatively, a percentage markup may be applied to the bill for thesubscriber204. In response to theinvoice6308, theadvertiser5902 sends thesubscriber204 apayment6310 for $A+$B. Thesubscriber204, in turn, sends the service provider202 apayment6312 of $A. By utilizing such a billingsystem bridge model6300, the fees for utilizing the content management and distribution services provided by theservice provider202 to thesubscriber204 may be seamless and/or invisible to theadvertiser5902. It should be understood that theinvoice6304 provided by the serviceprovider billing system6302 may be on an individual advertiser basis or on a cumulative basis for all of theadvertisers5902 serviced by thesubscriber204 depending on how thesubscriber billing system6306 is set-up.
FIG. 63B is an exemplary flow diagram[0381]6314 describing a process for performing the billingsystem bridge model6300 of FIG. 63A. The process starts at6316. Atstep6318, a subscription is established with thesubscriber204 to provide content management, distribution and storage services. Atstep6320, advertising scheduling services for thesubscriber204 are provided. Atstep6322, communication of the content based on a schedule established by thesubscriber204 is initiated. The cost of content management and communication for the advertising services are determined atstep6324. Atstep6326, the cost of communication for inclusion into a bill from thesubscriber204 to theadvertiser5902 is communicated. In one embodiment, the cost is a cumulative cost for alladvertisers6302 of thesubscriber204. Alternatively, the cost of content management and communication is separated forindividual advertisers6302 of thesubscriber204. The process ends atstep6328.
System Appendages Model[0382]
FIG. 64 is an exemplary block diagram[0383]6400 representative of thelocal network300bof afacility208 of asubscriber204 of FIG. 2. Thelocal network300bmay utilize theinfrastructure5904 provided by theservice provider202 and other equipment provided by a vendor of theservice provider202. Vendors of theservice provider202 may be providers or manufacturers of thelocal server304, who also produceretail equipment6402 and6404 that thesubscriber204 utilizes at thefacility208 for performing retail functions. For example, the vendor may provide cash registers that retailers utilize in performing operations for retail and services. Additionally, and/or alternatively, the vendors may provide services that thesubscribers204 utilize in performing the retailing services. For example, the communicationsnetwork service provider216 may provide credit card confirmation communication services for thesubscribers204, where the retailers currently purchase infrastructure for the credit card confirmation communication services.
Accordingly, the vendors of the[0384]service provider202 may sell or provide subscriptions to thesubscribers204 to the content management and distribution services provided by theservice provider202 in conjunction with selling equipment and/or services to thesubscribers204. In other words, the vendors may sell appendages to theinfrastructure5904 provided by theservice provider202 that operates in conjunction with theinfrastructure5904. For example, cash registers may be connected to thelocal server304 or other services that simultaneously operates thevisual appliances308. This selling of a subscription by theservice provider202 to thesubscribers204 may be a “value-added” service that entices thesubscribers204 to purchase theequipment6402 from the vendors. It should be understood that thevendor equipment6402 may be provided at, below or without cost to thesubscribers204 in connection with the purchasing of a subscription to the services of theservice provider202. Alternatively, theinfrastructure5904 may be provided to thesubscribers204 in connection with purchasing of a subscription directly from theservice provider202 and theequipment6402 and6404 may be provided to thesubscriber204 as an add-on to theinfrastructure5904, thereby enticing thesubscriber204 to purchase a subscription from theservice provider202. Still yet, theservice provider202 may offer reduced or free credit card verification communication services from the communicationsnetwork service provider216, or network operated by theservice provider202, in conjunction with asubscriber204 purchasing the subscription for the content management and distribution services. Again, because theservice provider202 is able to accurately determine a minimum amount of revenue generated by selling subscriptions to thesubscribers204 for the content management and distribution services over a long term period (e.g., five years), theservice provider202 may provide a variety of different subscription options in conjunction with equipment and services provided by vendors of theservice provider202.
A variety of functional operations may be provided by the[0385]local server304 due to theequipment6402 and6404 andvisual appliances308 being simultaneously managed by thelocal server304. One such functional operation may include dynamic pricing of products. Because thelocal server304 may monitor product sales real-time, pricing changes may be displayed on thevisual appliances308 in substantial real-time. If a product is briskly or sluggishly selling, then the price may be dynamically altered by providing notice to shoppers via thevisual appliance308 located at the shelf of the product. Another functional operation may include the dynamic display of one content versus another based on the sales volume. For example, if sales are below average, a more consumer appealing advertisement may be played on thevisual appliance308, possibly based on time of day if more risque content is to be played.
Distributed Storage Model[0386]
FIG. 65 is an[0387]exemplary map100 showing a distributed network ofstorage unit6500 located infacility208 ofsubscribers204 of theservice provider202 of FIG. 2. Thestorage units6500 are typically under-utilized by thefacilities208 utilizing thevisual appliances308. Because theservice provider202 owns thestorage units6500, theservice provider202 may utilizeexcess capacity6502 in thestorage unit6500 for storing content ofsubscribers204 other than those utilizing thestorage units6500 for communication operations at thefacilities208 The content is generally deemed to be non-critical data of asubscriber204 and may therefore be stored in thestorage unit6500 with content ofother subscribers204.
In providing for[0388]subscribers204 to share available storage capacity on thestorage unit6500, theservice provider202 may chargesubscribers204 for actual storage capacity utilized on a per storage amount per time unit basis (e.g., MB per month). In providing for the storage capacity on a per time unit basis, theservice provider202 may allow thesubscribers204 to have a free amount of storage capacity on a per month basis and pay for additional storage capacity utilized on a premium basis, for example. Alternatively, thesubscribers204 may simply be charged on an actual storage capacity amount used over a given time period. In one embodiment, the actual storage capacity is an average storage capacity utilized over the given time period. A variety of different billing models may be utilized, but, essentially, the subscriber of storage capacity need not pay for thestorage unit6500 either located in afacility208 or central location of theservice provider202 as thestorage units6500 are owned and/or managed by theservice provider202. Therefore, thesubscriber204 need not pay for unutilized storage capacity. It should be understood that subscribers of storage capacity need not be subscribers of the content management and distribution services of theservice provider202.
Because the[0389]storage units6500 are established in a distributed network across the United States, for example, theservice provider202 may strategically locate and make redundant the content of thesubscribers204 and206 in a variety of locations or regions around the country to substantially minimize the risk of loss for the content based on a regional disturbance within the distributed network. Because thestorage unit6500 may be linked via the satellite218 (FIG. 2) managed by the communicationsnetwork service provider216, content may easily be communicated between locations. Terrestrial communication may alternatively be utilized to communicate the content for storage purposes.
Storage rules may be generated to provide for the management of the content in accordance with the desires of the[0390]subscribers204. For example, asubscriber204 may wish to not have content ofother subscribers204 located onstorage units6500 operating within thefacilities208 of thesubscribers204. In such a case, theservice provider202 may charge additional fees to thesubscriber204 for making unavailable the excess storage capacity of thestorage unit6500 operating within thefacilities208 of thesubscriber204. It should be understood that other rules may be utilized to charge fees or manage data amongst thestorage units6500 in accordance with the principles of the present invention (i e., service fees to move data in and out in addition to bandwidth charges)
FIG. 66 is an exemplary flow diagram[0391]6600 describing a data storage model utilizing the storage units of FIG. 65. The process starts atstep6602. Atstep6604, a subscription for storage capacity for digital data is received from a storage subscriber. Digital data to be stored on thestorage unit6500 is received from the storage subscriber atstep6606. Atstep6608, the digital data is stored on astorage unit6500. It should be understood that the digital data may be stored onstorage unit6500 operated by anothersubscriber204 as thestorage unit6500 is merely being utilized by thesubscriber204, but owned and/or managed by theservice provider202.
In storing the digital data on the[0392]storage unit6500, rules may be utilized to determine where and when to store and distribute the digital data. The subscription for storage capacity may allow the subscriber to have a fixed amount of storage area over a given time period. For example, the fixed amount of storage capacity may be in terms of megabytes per month. Any storage capacity utilized by the storage subscriber over the fixed amount of storage capacity (e.g, 100 megabytes) per month may be charged a premium to the storage subscriber by theservice provider202. Alternatively, the subscriber may pay for an actual amount of storage capacity utilized over a given time period without having to purchase a minimum amount of storage capacity via the storage subscription fee. Other subscriber models may be utilized for providing storage capacity for the storage subscribers utilizing the distributed network ofstorage units6500. Atstep6610, the storage subscriber is charged for the storage capacity utilized on an actual or average basis, for example, in accordance with the subscription. The process ends atstep6612.
The previous description is of a preferred embodiment for implementing the invention, and the scope of the invention should not necessarily be limited by this description. The scope of the present invention is instead defined by the following claims.[0393]