`
`I \·-2.q-o)
`
`Alfrn~
`
`PROVISIONAL APPLICATION FOR PA TENT COVER SHEET
`This is a request for filing a PROVISIONAL APPLICATION FOR PATENT under 37 C.F.R. 1.53(c)
`
`Express Mail Label Number _.....,6=-=L---=6:..;::5:a..:ct.......,;;;J. .... i......_3 __ 3...._...J"'-3""", ...,,U~S-
`
`Docket Number
`
`2657 .2010-000
`
`Given Name
`(first and middle (if any))
`
`INVENTOR(S)
`
`Family Name or Surname
`
`Residence
`(Street Address, city and either state or Foreign Country)
`
`Lee
`
`Kamentsky
`
`32 Dodge Street, Arlington, Massachusetts 02474
`
`Citizenship - U.S
`
`[ X] Additional inventors are being named on the separately numbered sheet(s) attached hereto
`
`TITLE OF THE INVENTION (280 characters max)
`
`Synchronization of Bulk Data Transfers to End Node Devices in a Multimedia Network
`
`i=-:R
`
`•e
`
`CORRESPONDENCE ADDRESS
`
`;;;;;;;;;;; -
`e
`ci.O'\-
`'-D-c
`··-
`m<"">
`, ....
`0--~ .......
`::::-
`-~-C'll
`cc::> - . - i
`\O\.D ;;;--::::..-1
`-
`·r,
`
`y
`
`i.J/rect all correspondence to:
`David J. Thibodeau, Jr., Esq.
`g~
`~ME
`HAMILTON, BROOK, SMITH & REYNOLDS, P.C .
`.
`¾IDDRESS
`Two Militia Drive
`Lexington
`USA
`
`.
`
`~TY
`'.¢'.PUNTRY
`.... ,.
`
`~;
`
`I STATE
`I TELEPHONE
`ENCLOSED APPLICATION PARTS (check all that apply)
`
`MA
`{781) 861-6240
`
`ZIP CODE
`FAX
`
`02421-4799
`(781) 861-9540
`
`i~[X] Specification Number of Pages
`rmx1 Drawing(s) Number of Sheets
`
`[35]
`
`[ 14]
`
`[ l Other (specify)
`
`i.'fi
`\~
`l.,,.i
`[X] A check or money order is enclosed to cover the filing fees
`
`[
`
`] The Commissioner is hereby authorized to charge filing fees or credit
`any overpayment to Deposit Account Number 08-0380
`
`METHOD OF PAYMENT OF FILING FEES FOR THIS PROVISIONAL APPLICATION FOR PATENT (check one}
`
`FILING FEE
`AMOUNT($)
`
`$150
`
`The invention was made by an agency of the United States Government or under a contract with an agency of the United
`States Government.
`
`[X] No
`
`[
`
`] Yes, the name of the U.S. Government agency and the Government contract number are:
`
`.
`{ fo h fjJfj£ w
`
`A
`
`/2 /
`
`JI/
`
`1,1.
`
`t.,
`Dav.· J. Thibodeau, Jr.
`
`Date
`
`NoL~Gr'I 2.Jj 2..u-0. o
`
`Reg. Number
`
`31,671
`
`Signature
`
`Submitted bN
`Typed or Printed ame
`
`Rev. August 4, 1999
`
`BBiTV EX2174
`DISH v. BBiTV
`IPR2020-01267
`
`
`
`PROVISIONAL APPL/CATION COVER SHEET
`Additional Page
`
`I Docket Number
`
`I 2657.2010-000
`
`INVENTORS
`
`Given Name
`(first and middle (if any))
`
`Family Name or Surname
`
`Residence
`(Street Address, city and either state or Foreign Country)
`
`Lacroix
`
`Fagnani
`
`Hall
`
`Killer
`
`244 John's Road, Williston, Vermont 05495
`
`Citizenship: U.S
`
`17 Frank Street, Watertown, Massachusetts 02472
`
`Citizenship: U.S
`
`42 Ready Road, Ashtead Surrey, UK
`
`Citizenship: United Kingdom
`
`43 Trapelo Road, Suite 1, Brighton, Massachusetts
`02135
`
`Citizenship: Sweden
`
`John
`
`Mark
`
`Peter
`
`~:!"~
`'"
`
`!~ager
`t# R
`L:i
`t~l
`ff\:
`¼ih)
`
`r:
`)e0J,,
`
`('"'i"
`rt1
`!~~
`LI
`t:)
`
`::ODMA\MHODMA\iManage:180945;1
`
`Number2 of2
`
`
`
`::ODTrfA\MHODMA\IMANAGE;l81104;1
`
`DJT/TAG/ps
`11/28/00
`
`PATENT APPLICATION
`Docket No.: 2657.2010-000
`
`-1-
`
`Date:_/_J_,/ ..... ,i~&~/ O_O __
`i
`
`I
`
`Express Mail Label No. £L5522 g--33~3 U-5
`
`Inventor(s): Lee Kamentsky, John LaCroix, Mark Fagnani, Peter Hall, and Roger Killer
`
`Attorney's Docket No.:
`
`2657.2010-000
`
`SYNCHRONIZATION OF BULK DATA TRANSFERS TO END NODE DEVICES
`
`IN A MULTIMEDIA NETWORK
`
`BACKGROUND OF THE INVENTION
`
`At the present time, most data network devices located in the residences include
`
`5
`
`some type of personal computer. Typically, these personal computers are used to
`
`connect to Internet Service Providers over dial-up connections to execute application
`
`programs such as email clients and Web browsers that utilize the global Internet to
`
`access text and graphic content. Increasingly, the demand is for multimedia content,
`
`including audio and video, to be delivered over such networks. However, the backbone
`
`10
`
`architectures of purely data networks, especially those designed for use with the
`
`telephone network, were not originally designed to handle such high data rates.
`
`The trend is towards a more ubiquitous model where the network devices in the
`
`home will be embedded systems designed for a particular function or purpose. This has
`
`already occurred to some degree. Today, for example, cable television (CATV) network
`
`15
`
`set-top boxes typically have limited data communication capabilities. The main
`
`function of the data devices is to handle channel access between residential users and a
`
`head end or server on the cable TV network.
`
`However, it is estimated that the worldwide market for Internet appliances such
`
`as digital set-top boxes and Web-connected terminals will reach $17.8 billion in 2004,
`
`20
`
`and millions of such digital set-top boxes have already been deployed. Increasingly,
`
`advertisers and content providers view the cable set-top as the first platform of choice
`
`
`
`2657.2010-000
`
`for widespread delivery of a suite of intelligent content management and distribution
`
`services.
`
`In the future, the functionality offered by these set-top boxes or other embedded
`
`platforms, such as a game system, will be expanded. For example, they may offer
`
`5
`
`Internet browsing capabilities and e-commerce serving capabilities. Moreover, it is
`
`anticipated that common-household appliances will also have network functionality, in
`
`which they will be attached to the network to automate various tasks.
`
`SUMMARY OF THE INVENTION
`
`Because of their extremely large number of network devices in such networks, efficient
`
`10
`
`distribution and delivery of promotions and other digital content remains a challenge.
`
`Where the personal computer can be updated with new network drivers as the network
`
`evolves, embedded client systems remain relatively static. In addition, such networks
`
`may have hundreds of thousands, if not millions, of network devices to manage. It is
`
`evident that standard data Open Systems Inerconnection (OSI) layered network
`
`15
`
`protocols, which were optimized for peer to peer communication, are not an entirely
`
`acceptable arrangement.
`
`Consider that the digital set top box provides certain interesting functionalities,
`
`such as the ability to store certain amounts of data. The set top box can thus be
`
`designed to store a multimedia computer file which represents a digitized version of the
`
`20
`
`promotion. However, such a network may have hundreds of thousands, if not millions
`
`of set top boxes, to which delivery of promotions must be individually coordinated. If
`
`such a data network were built using only the standard protocols such as direct TCP/IP
`
`messaging from a central promotion server to the set top boxes, the sheer volume of
`
`message traffic needed to route the promotions to the intended destinations would
`
`25
`
`quickly overload the central data server.
`
`The present invention involves a technique for synchronization of bulk data
`
`transfers to end node devices in a multimedia network in which an initial schedule
`
`message is sent prior to broadcast or multicast of a content file. The content file could
`
`
`
`2657.2010-000
`
`-3-
`
`be a promotion or other file that must be efficiently sent to a large number of end node
`
`devices, such as television set top boxes. The schedule message contains at least an
`
`data transmission time for the content file so that an end node device is aware of when
`
`to listen for the later bulk data transmission of the content file. The schedule message
`
`5 may contain other parameters such as promotion identification, message duration,
`
`frequency, multicast address and UDP port.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram illustrating a multimedia content delivery system for
`
`distributing content such as targeted promotions according to one embodiment of the
`
`10
`
`present invention.
`
`FIG. 2 is a diagram of a set top box/video display system displaying active
`
`promotions according to one embodiment.
`
`FIG. 3A is a diagram illustrating a set of packages according to one
`
`embodiment.
`
`15
`
`FIG. 3B is a table containing typical data transmission parameters specified by a
`
`package according to one embodiment.
`
`FIG. 3C is a table containing parameters specified by a transmission group
`
`according to one embodiment.
`
`FIG. 3D is a flow diagram illustrating a process for packaging promotions for
`
`20
`
`transmission groups according to one embodiment.
`
`FIG. 3E is a diagram illustrating one way in which devices may be mapped from
`
`their a promotion group into transmission groups.
`
`FIG. 4A is a time line diagram illustrating a promotion transmission lead-time
`
`with its constituent lead-times according to one embodiment.
`
`25
`
`FIG. 4B is a time line diagram illustrating a schedule transmission lead-time
`
`according to one embodiment.
`
`FIG. 5 is a state line diagram illustrating a process for synchronizing the delivery
`
`of promotions to end node devices according to one embodiment.
`
`
`
`2657.2010-000
`
`-4-
`
`FIG. 6A is a table identifying the parameters of a local moniker according to one
`
`embodiment.
`
`FIG. 6B is a table identifying the parameters of a remote moniker according to
`
`one embodiment.
`
`5
`
`FIG. 7 is a flow diagram illustrating a process for generating transmission
`
`schedules for devices according to one embodiment.
`
`FIG. 8 is a flow diagram illustrating a process of generating transmission
`
`requests according to one embodiment.
`
`FIG. 9 is a table illustrating the parameters of a transmission request according
`
`10
`
`to one embodiment.
`
`FIG. 10 is a diagram illustrating the organization of tables of record within the
`
`database according to one embodiment.
`
`The foregoing and other objects, features and advantages of the invention will be
`
`apparent from the following more particular description of preferred embodiments of
`
`15
`
`the invention, as illustrated in the accompanying drawings in which like reference
`
`characters refer to the same parts throughout the different views. The drawings are not
`
`necessarily to scale, emphasis instead being placed upon illustrating the principles of the
`
`invention.
`
`DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
`
`20
`
`Turning attention now to the drawings, FIG. 1 illustrates a multimedia content
`
`delivery system for distributing content such as targeted promotions according to one
`
`embodiment of the present invention. Embodiments of the multimedia content delivery
`
`system allow advertisers and service providers the ability to effectively utilize a
`
`multimedia network for targeting promotions or other content at consumers through
`
`25
`
`network devices. In particular, the system facilitates the targeting of promotions in
`
`varying degrees of granularity from individuals to entire market segments. The system
`
`includes a large number of set top boxes or network devices 10 connected to respective
`
`video displays 20, such as televisions.
`
`
`
`2657.2010-000
`
`-5-
`
`Promotions 30 typically include promotional content that may be presented in
`
`various multimedia formats including standard audio visual clips, but also computer
`
`graphics, icons, or Hypertext Markup Language (HTML) content. Promotions are used
`
`to advertise goods and services, promote events, or present other commercial or
`
`5
`
`non-commercial information. One or more promotions 30 may be simultaneously active
`
`within the video displays 20 and may be displayed in different ways. For example, in
`
`FIG. 2, promotions 30 are presented on electronic program guides, channel information
`
`bars 40, or overlaying video broadcast programming. Some active promotions that may
`
`be displayed on digital set top boxes allow user interaction such as linking to
`
`10
`
`e-commerce web-sites via hyperlink connections or direct communication to a
`
`promotion server subsystem to obtain additional software, such as device drivers, video
`
`games, or other application software.
`
`Referring back to Fig. 1, the multimedia content delivery system also includes a
`
`promotion server subsystem 200 located at a data center and a promotion agent
`
`15
`
`subsystem 300 embedd~d within each of the network devices. The promotion server
`
`subsystem 200 and the promotion agent subsystems 300 communicate with each other
`
`through a combination of application-level messaging and serialized bulk data
`
`transmissions.
`
`The promotion server subsystem 200 periodically collects viewer usage data
`
`20
`
`from the promotion agent subsystem 300 of each of the multimedia content viewing
`
`devices to generate viewership profiles. In television networks, the data collected by the
`
`promotion server subsystem 200 may include tuner data (i.e., a history of channels
`
`watched) and responses to past promotions. This history is kept on a relatively fine time
`
`scale, such as five seconds. In this way, it can be determined how long a particular
`
`25
`
`promotion was deployed, or even which portions of a promotion or video program were
`
`viewed.
`
`Regarding promotion delivery, the promotion server subsystem 200 includes a
`
`database server 210, a promotion manager server 220, one or more bulk data
`
`servers 230, a promotion manager client 240, a life-cycle manager server 240, and a
`
`
`
`2657.2010-000
`
`-6-
`
`bank ofrouters 250-1, 250-2, ... , 250-n. These components are typically located at a
`
`central location in the multimedia network at a data center, at a head end, or divided
`
`between the two depending on the density and population of devices. It should be
`
`understood that these components may share physical platforms or be distributed across
`
`5 multiple machines located at different places in the network. For scalability reasons, a
`
`promotion scheduling process in the promotion manager server 220 may be separated
`
`from a function which is responsible for delivering promotion packages to the network
`
`devices 10. The delivery function may be instantiated on multiple machines, for
`
`example, to provide better scalability, such as having one bulk data server per head end
`
`10
`
`in the network. The life cycle manager 240 may also be instantiated separately for each
`
`router 250.
`
`The routers 250 communicate with the network devices 10 through a data
`
`network 75 which may itself include a further hierarchy of routers and bulk servers (not
`
`shown in FIG. 1). Ultimately, each of the network devices is connected to the network
`
`15
`
`75 through a head end location 50. In a typical cable television network, there may be
`
`many thousands of network devices connected to a particular head end, and there may
`
`be many thousands of head ends 50.
`
`To determine how to deliver targeted promotions to the network devices, the
`
`life-cycle manager server 240 of the promotion server subsystem 200 first generates
`
`20 viewership profiles for each of the multimedia content viewing devices from the
`
`collected data using a variety of statistical models. The viewership profiles are then
`
`used to associate groups of network devices with a given target promotion.
`
`Promotion groups are collections of multimedia content viewing devices whose
`
`individual viewership profiles match membership criteria describing a particular
`
`25
`
`demographic or viewership history. For example, a promotion group may be
`
`demographically based, (i.e., married women in their 30's with more than one school
`
`age child and a household income of at least $100,0000), or based on viewership
`
`history, (i.e., tends to watch the Golf Channel on Sunday afternoon). Therefore, the
`
`promotion server subsystem 200 is adaptable to changes in viewer usage or viewership
`
`
`
`26~ 7.2010-000
`
`-7-
`
`patterns by making adjustments to promotion groups. Viewership profiles and
`
`promotion groups are described in more detail in U.S. Patent Application Attorney
`
`Docket Number 2657.2003-000, entitled "Using Viewership Profiles to Target
`
`Advertisements" filed on the same date herewith.
`
`5
`
`Promotions are then scheduled for delivery to specific promotion groups. A
`
`promotion is scheduled for delivery to a promotion group by an advertiser or service
`
`provider entering a scheduling request for a promotion such as via a promotion manager
`
`interface client 225. As promotions are scheduled, the promotion manager server 220
`
`adds or removes promotion groups and/or scheduling information to promotions. This
`
`10
`
`causes the creation or modification promotion delivery packages via stored data
`
`functions or procedures in the database 210. Later, the package information is read
`
`from the database 210 and used to create customized transmission schedules that specify
`
`when and how each of the network devices 10 is to receive it.
`
`The promotion agent subsystem 300 embedded in each of the network devices
`
`15
`
`10 includes a promotion agent 310 and a bulk data agent 320. Upon receipt of the
`
`transmission schedule messages, the promotion agent 310 processes each schedule entry
`
`forwarding promotion download requests to the bulk data agent 320 to receive each
`
`promotion identified in the transmission schedule. The bulk data agent 320 handles the
`
`reception of the promotions from the scheduled data transmission as specified in the
`
`20
`
`promotion download requests. For example, in one embodiment, the bulk data agent
`
`320 tunes into a multicast data transmission stream at a specified time and channel or
`
`network address specified in the transmission schedule.
`
`To initiate a transmission of promotion packages, the promotion manager server
`
`220 extracts a set of promotion packages from the database 210 and converts each into a
`
`25
`
`transmission request that is sent to one or more of the bulk data servers 230. The bulk
`
`data server 230 fetches the promotions from the database 210 that are identified in the
`
`transmission request message, and transmits them via multicast or broadcast
`
`transmission depending on the subnetwork or capabilities of the end node devices.
`
`
`
`2657.2010-000
`
`-8-
`
`Once the promotions have been successfully delivered, the promotions are
`
`activated at the network viewing devices as specified in promotion control data of the
`
`transmission schedules. Promotion activation may be event, time, or channel driven.
`
`Packaging Promotions for Transmission Groups
`
`5
`
`Promotions may be scheduled for promotion groups that include diverse types of
`
`end node devices. For example, a promotion group may include devices that are
`
`functionally different, such as television set top boxes and Internet video phones. Even
`
`functionally similar types of devices (e.g., set top boxes) may differ with respect to
`
`certain physical and functional device attributes. Such attributes may include data
`
`10
`
`storage capacity and the ability to receive multicast transmissions using standard data
`
`protocols, such as Transmission Control Protocol or Universal Data Protocol over
`
`Internet Protocol (TCP/IP or UDP/IP) networks. Device attributes have a direct effect
`
`on the manner in which promotions and other content are actually delivered to devices
`
`of targeted promotion groups. For example, devices with less data storage capacity are
`
`15
`
`not able to cache as many promotions as devices with more storage capacity. The
`
`promotion server subsystem 200 adapts the delivery of promotions to the attributes of
`
`different device types within a promotion group through the use of packages.
`
`FIG. 3A is a diagram illustrating a set of packages according to one
`
`embodiment. A package is a data object 600 containing a set of promotions 610 and
`
`20
`
`data transmission parameters 620 that specify the time and/or manner of delivery for a
`
`set of promotions to a particular transmission group. Transmission groups are sets of
`
`end node devices sharing common device attributes, such as storage and resource
`
`limitations. For example, set top boxes of a particular model number may be considered
`
`to be part of the same transmission group. Devices may be initially assigned to a
`
`25
`
`transmission group manually, or automatically, during an automated registration process
`
`in which device attributes are discovered.
`
`
`
`2657.2010-000
`
`-9-
`
`FIG. 3B is a table containing typical data transmission parameters specified by a
`
`package according to one embodiment. Such parameters include data rates, data
`
`transmission times, and routing addresses, such multicast or broadcast port addresses.
`
`Furthermore, a package includes a TRANSMISSION_ GROUP _ID parameter that
`
`5
`
`identifies the transmission group which is to receive the package. FIG. 3C is a table
`
`containing parameters specified by a transmission group according to one embodiment.
`
`The parameters of a transmission group add to or affect the data transmission
`
`parameters of the package. For example, the size of a package is determined by the
`
`maximum package size parameter of a transmission group.
`
`10
`
`When a promotion is scheduled, the scheduling process determines
`
`TRANSMISSION_ GROUP_ ID by mapping promotion group identifiers into
`
`transmission group identifiers. In the preferred embodiment, all of the promotions
`
`within a single package share a common transmission group identifier. When a
`
`promotion is associated with more than one transmission group, a separate package is
`
`15
`
`created in the system for each group.
`
`FIG. 3D is a flow diagram illustrating a process for packaging promotions for
`
`transmission groups according to one embodiment.
`
`In step 410, a promotion is scheduled for delivery to one or more promotion
`
`groups where each of the promotion groups includes a set of end node devices. In
`
`20
`
`particular, an advertiser or service provider enters a promotion schedule request into the
`
`promotion server subsystem 200 through the promotion manager client 225. In one
`
`embodiment, the promotion schedule request identifies a promotion, a recipient of the
`
`promotion (i.e. promotion group), as well as promotion scheduling information (e.g.,
`
`channel time slot information containing start times, trigger events, or other such criteria
`
`25
`
`for promotion activation).
`
`The promotion manager server 220, in tum, places database function calls that
`
`add the promotion, recipients, and scheduling information to the database 210. As an
`
`indirect result of the promotion manager server 220 adding/removing recipients to
`
`promotions and adding/removing scheduling information for promotions, packages are
`
`
`
`2657.2010-000
`
`-10-
`
`created or modified. According to one embodiment, the creation and modification of
`
`packages is handled by a set of stored database procedures internal to the database 210
`
`starting at step 420.
`
`In step 420, the set of end node devices included in the promotion group is
`
`5
`
`subdivided into one or more transmission groups. According to one embodiment, the
`
`promotion group is resolved into transmission groups by an internal database query
`
`resulting in a list of unique transmission group identifiers corresponding to the various
`
`types of end node devices within the promotion group. FIG. 3E is a diagram illustrating
`
`one way in which devices may be mapped from their promotion group into transmission
`
`10
`
`groups. Each of the resulting transmission groups 510 and 520 includes a mutually
`
`exclusive set of devices from the promotion group. Packages then must be created
`
`and/or appended to for each of the transmission groups which is to receive the
`
`promotion.
`
`Referring back to FIG. 3D, a determination is made whether or not a package
`
`15
`
`has been created for a transmission group in step 430. According to one embodiment,
`
`this involves an internal database query for a package indexed by the unique identifier
`
`for the transmission group.
`
`If there is no package associated with a transmission group, a new package is
`
`created for the transmission group in step 440. The creation of a package involves
`
`20
`
`creating a new package record within the database 210. The data transmission
`
`parameters of the package record illustrated in FIG. 3B are adapted to the device
`
`attributes of the transmission group. The record is maintained in the database 210
`
`within a table of other package records.
`
`In more detail regarding adapting packages to transmission groups, one attribute
`
`25 of network devices of the same transmission group may include data storage capacity.
`
`The data storage capacity may be an expected amount or percentage of available cache
`
`memory in the set top box. Alternatively, the data storage capacity may be an expected
`
`amount or percentage of data storage dedicated solely for caching promotions.
`
`
`
`2657.2010-000
`
`-11-
`
`Network providers in cable networks typically restrict data storage available for
`
`dedicated functionality, such as promotion caching.
`
`Accordingly, the package may be adapted with a maximum package size less
`
`than or equal to the data storage capacity available for the specific end node devices
`
`5 which are members of the present transmission group. The maximum package size,
`
`therefore, limits the number and size of promotions that can be delivered to a
`
`transmission group. The maximum package size may be different among packages for
`
`transmission groups ranging from small to large package sizes. The maximum package
`
`size ensures that an optimal number and size of promotions are delivered to devices
`
`10 within a transmission group.
`
`In another preferred embodiment, the common device attributes accommodated
`
`by the package may also include data processor speed. Faster data processors are able to
`
`handle higher data transmission rates as opposed to slower processors. A package may
`
`be adapted to accommodate the data processor speed for a transmission group by
`
`15
`
`specifying an appropriate data transmission rate which prevents data overflow from
`
`occurring during transmission of promotions. Data overflow typically occurs when a
`
`device data processor cannot handle the amount of data being received from the
`
`network.
`
`Referring to step 450, if a package is already created for a transmission group,
`
`20
`
`the promotion manager server 220 determines whether there is sufficient space to add
`
`the scheduled promotion based on its maximum package size. Promotions are added to
`
`each package unless the maximum package size would be surpassed. Therefore, if there
`
`is insufficient space for the addition of the promotion, a new package is created for the
`
`transmission group as specified in step 440.
`
`25
`
`Once a package is either created or located within the database 210 having
`
`sufficient space, the promotion is added to the package in step 460. Promotions may be
`
`added to packages containing promotions for different promotion groups. In one
`
`embodiment, promotions are added to packages by creating a record in the database 210
`
`
`
`2657.2010-000
`
`-12-
`
`that correlates a promotion identifier with a package identifier and storing the record in
`
`a corresponding table entry.
`
`Precasting Promotions in a Multimedia Network
`In addition to specifying the manner of transmitting promotion packages,
`
`5 packages may also specify the timing of promotion delivery to transmission groups. As
`
`illustrated in FIG. 3B, each package specifies a package start time
`
`(i.e., PACKAGE_START_TIME) corresponding to the earliest promotion start time for
`
`its set of promotions. As promotions are added to a package, the package start time is
`
`updated using the start time of the earliest promotion in the package.
`
`10
`
`According to a preferred embodiment of the present invention, a package of
`
`promotions is sent in advance of, or "precast" to a transmission group at a data
`
`transmission time which is prior to the package start time to ensure that the promotions
`
`will be activated as scheduled.
`
`Optimally, the data transmission time should be far in advance of the package
`
`15
`
`start times, particularly at a time of low network bandwidth utilization such as in the
`
`early pre-dawn hours of the day. However, due to certain device constraints, in
`
`particular data storage capacity, packages destined for transmission groups having low
`
`data storage capacity must be delivered closer to the package start time. Otherwise,
`
`there is a risk that promotions from subsequent packages may overwrite promotions that
`
`20 were previously cached but have not yet expired.
`
`The promotion delivery system therefore optimally precasts packages of
`
`promotions by accounting for the data storage capacity and other common device
`
`attributes of a transmission group. The process results in packages of promotions being
`
`transmitted at appropriate data transmission times preventing data loss and utilizing the
`
`25
`
`available network bandwidth more efficiently.
`
`In brief overview, the process for determining the data transmission time for a
`
`package of promotions involves (1) determining a package transmission lead-time from
`
`the common device attributes of a transmission group; (2) determining a data
`
`
`
`265J.2010-000
`
`-13-
`
`transmission time by subtracting the package transmission lead-time from the package
`
`start time; and (3) initiating the transmission of the promotion package to the
`
`transmission group at the data transmission time.
`
`FIG. 4A is a time line diagram illustrating considerations for determining a
`
`5 package transmission lead-time with its constituent lead-times according to one
`
`embodiment. Each of the constituent lead-times relates to a common device attribute of
`
`the transmission group to which the package corresponds. The package transmission
`
`lead-time 700 typically includes a storage dependent lead-time AT1, a data transit lead(cid:173)
`time AT2, a network latency lead-time AT3, and a load factor lead-time AT4•
`According to one embodiment, the data storage capacity of a transmission group
`
`10
`
`is a device attribute for determining the package transmission lead-time. Device storage
`
`capacity is accounted for in a storage-dependent lead-time AT 1 which is a variable time
`period directly related to the data storage capacity of a transmission group.
`
`Transmission groups having low storage capacity need promotion content
`
`15
`
`cached in its devices closer to the time of promotion activation. Otherwise, there is a
`
`risk that the promotion content may be overwritten by promotions from subsequent
`
`packages, prior to the scheduled time for activation of the stored promotion. Therefore,
`
`if the device data storage capacity is low, the storage-dependent lead-time AT 1 is
`relatively short, being closer to the package start time. Short storage-dependent lead-
`
`20
`
`times typically range from seconds to minutes.
`
`Conversely, transmission groups having high data storage capacity have the
`
`necessary cache resources to store more promotions. This allows promotion content to
`
`be received at an earlier time when expected network bandwidth utilization is low.
`
`Therefore, the storage-dependent lead-time AT I is relatively long for the transmission
`groups which have high data storage capacity, optimally falling within a period of
`
`25
`
`expected low bandwidth utilization of the multimedia network. Long storage-dependent
`
`lead-times typically range from hours to days. According to one embodiment, the
`
`storage-dependent lead-time AT 1 is stored in the database 210 as a transmission group
`parameter (i.e., DATA_TX_LEADTIME) of FIG. 3C.
`
`
`
`2657.2010-000
`
`-14-
`
`By way of example, assume that a set of promotions is targeted for a promotion
`
`group having two transmission groups. One group corresponds to devices having a low
`
`storage capacity attribute, while the other is associated with a high storage capacity
`
`attribute. Packages are created containing the promotions and having the same package
`
`5
`
`start time for each group. However, the package of promotions for the transmission
`
`group having a high storage capacity would have an earlier data transmission time (e.g.,
`
`one day in advance of package start time at 3:00AM) as opposed to the transmission
`
`group having less storage capacity (e.g., 5 minutes prior to package start time). Thus, by
`
`precasting the packages at different data transmission times, allocation of network
`
`10 bandwidth is more efficiently distributed for promotion delivery among the transmission
`
`groups.
`
`According to another embodiment, the device processor speed of a transmission
`
`group is another device attribute for determining the package transmission lead-time
`
`700. Since device processor speeds vary between manufacturers and device models, the
`
`15
`
`processor speed of a transmission group is accommodated by a data transmission rate
`
`for a promotion package. Accordingly, th