`Attorney Docket No. 081009-552442
`Filed Via EFS-Web
`
`SYSTEM AND METHOD FOR ROUTING MEDIA
`
`RELATED APPLICATIONS
`
`[0001]
`
`The present application is a continuation of U.S. Patent Application Serial No.
`
`14/819,107, filed August 5, 2015, entitled System and Method for Routing Media, which is a
`
`continuation of U.S. Patent Application Serial No. 13/842,478, filed March 15, 2013, (now U.S.
`
`Patent No. 9,135,636, issued September 15, 2015) and entitled System and Method for Routing
`
`Media, which is a continuation of U.S. Patent Application Serial No. 11/680,407, filed February
`
`28, 2007, (now U.S. Patent No. 8,554,940, issued October 8, 2013) and entitled System and
`
`Method for Routing Media, which is a divisional of U.S. Patent Application Serial No.
`
`10/051,406, filed January 18, 2002, (now U.S. Patent No. 7,191,244, issued March 13, 2007) and
`
`entitled System and Method for Routing Media, which is a continuation-in-part of U.S. Patent
`
`Application Serial No. 09/838,993, filed April 20, 2001, (now U.S. Patent No. 7,054,949, issued
`
`May 30, 2006) and entitled System and Method for Streaming Media, which is a continuation-in(cid:173)
`
`part of U.S. Patent Application Serial No. 09/766,519, filed January 19, 2001, entitled System
`
`and Method for Streaming Media, the entire contents of which all are incorporated herein by
`
`reference; and U.S. Patent Application Serial No. 10/051,406, filed January 18, 2002, takes
`
`priority to U.S. Patent Application Serial No. 60/263,044, filed January 19, 2001, entitled Media
`
`Routing Algorithm, the entire contents of which all are incorporated herein by reference.
`
`FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
`
`[0002]
`
`Not Applicable.
`
`COMP ACT DISK APPENDIX
`
`[0003]
`
`Not Applicable.
`
`FIELD OF INVENTION
`
`[0004]
`
`The present invention is related to the fields of management and
`
`administration of media streaming.
`
`BACKGROUND OF THE INVENTION
`
`[0005]
`
`Real time transport of audio, video, and other data commonly referred to as
`
`"media" may be manipulated and rendered using computers and/or digital appliances, such as a
`
`54766288.1
`
`1
`
`
`
`set top box. A digital appliance is a product that uses computer based technology and/or a
`
`telecommunication network or other packet based network to access, retrieve, interact with,
`
`report, and/or handle media or other information.
`
`[0006]
`
`As computers and computer based appliances gain popularity, the demand for
`
`digital media streaming services also increases. This occurs, for example, because digital media
`
`streaming can be used to create enhanced consumer and business services. For example, a
`
`manufacturer of a refrigerator may install a digital appliance that connects the refrigerator's
`
`digital appliance to the Internet. A consumer can use the refrigerator's digital appliance to
`
`receive digital audio/video explaining how to prepare a favorite recipe.
`
`[0007]
`
`The digital appliances and other computers can use real time media streaming
`
`services to render media while it is streamed from the media's server computer. Real time media
`
`streaming often is preferred over pure downloading since media streaming permits a consumer to
`
`view video and/or hear audio shortly after it is requested instead of waiting for a delayed
`
`download of the complete media and a subsequent playing of the media by the digital appliance.
`
`[0008]
`
`Real time media streaming is difficult to implement on diverse networks, such
`
`as the Internet, corporate private networks, corporate intranets, and other packet based
`
`networking solutions. This is because real-time media applications typically are resource
`
`intensive and lack sufficient state control models to ensure proper quality of service.
`
`[0009]
`
`Enhanced media streaming services generally compound the difficulties
`
`because multiple digital media streams are transmitted for enhanced services instead of a single
`
`digital media stream, such as for non-enhanced services. In the instances of enhanced services,
`
`current technologies treat each digital media stream as an individual session with little or no
`
`association to the viewer. Moreover, existing digital media streaming devices focus on the
`
`technical transmission and delivery of media, and place little control over the viewer
`
`management and media content management. Finally, the current streaming video networks lack
`
`sufficient notions of network-wide and multi-level resource allocation and control, trouble
`
`detection and automatic fail-over transparent to the viewer, and sophisticated anti-spoofing,
`
`denial of service prevention, and unauthorized access prevention techniques.
`
`SUMMARY OF THE INVENTION
`
`[0010]
`
`Enhanced media streaming services generally compound the difficulties
`
`because multiple digital media streams are transmitted for enhanced services instead of a single
`
`54766288.1
`
`2
`
`
`
`digital media stream, such as for non-enhanced services. In the instances of enhanced services,
`
`current technologies treat each digital media stream as an individual session with little or no
`
`association to the viewer. Moreover, existing digital media streaming devices focus on the
`
`technical transmission and delivery of media, and place little control over the viewer
`
`management and media content management. Finally, the current streaming video networks lack
`
`sufficient notions of network-wide and multi-level resource allocation and control, trouble
`
`detection and automatic fail-over transparent to the viewer, and sophisticated anti-spoofing,
`
`denial of service prevention, and unauthorized access prevention techniques.
`
`[0011] In one aspect, a video streaming system has one or more servers, each of the one
`
`or more servers including one or more processors and a memory. The one or more servers
`
`receive from a client device via a packet-based telecommunication network signaling to have
`
`video content streamed to the client device. In response to the received signaling, the one or
`
`more servers generate an identifier uniquely associated with the client device and a viewing
`
`session for the video content and transmit to the client device, via the packet-based
`
`telecommunication network and in one or more files, each of the one or more files being in a
`
`format compatible with a media player on the client device, (i) an indication of one or more
`
`segments of the video content, (ii) a URL including an identification of one or more resources of
`
`a content distribution network available to facilitate streaming of the one or more segments to the
`
`client device, (iii) information instructing the client device how to communicate with the one or
`
`more resources of the content distribution network to cause the plurality of segments to be
`
`streamed to the client device by the content distribution network, (iv) information instructing the
`
`client device how to communicate with an advertising server to cause one or more
`
`advertisements to be streamed from the advertising server to the client device in sequence with
`
`the streaming of the plurality of segments to the client device by the content distribution
`
`network, and (v) the identifier.
`
`[0012] In another aspect, a method is performed by an apparatus having a processor,
`
`memory, and a packet-based network interface. The method comprises receiving from a client
`
`device via a packet-based telecommunication network signaling to have video content streamed
`
`to the client device. The method further comprises, in response to the received signaling,
`
`generating an identifier uniquely associated with the client device and a viewing session for the
`
`video content and transmitting to the client device, via the packet-based telecommunication
`
`54766288.1
`
`3
`
`
`
`network and in one or more files, each of the one or more files being in a format compatible with
`
`a media player on the client device, (i) an indication of one or more segments of the video
`
`content, (ii) a URL including an identification of one or more resources of a content distribution
`
`network available to facilitate streaming of the one or more segments to the client device, (iii)
`
`information instructing the client device how to communicate with the one or more resources of
`
`the content distribution network to cause the plurality of segments to be streamed to the client
`
`device by the content distribution network, (iv) information instructing the client device how to
`
`communicate with an advertising server to cause one or more advertisements to be streamed
`
`from the advertising server to the client device in sequence with the streaming of the plurality of
`
`segments to the client device by the content distribution network, and (v) the identifier.
`
`[0013] In another aspect, a video streaming system comprises one or more servers, each
`
`of the one or more servers including one or more processors and a memory. The one or more
`
`servers receive signaling from a client device via a packet-based telecommunication network. In
`
`response to the received signaling, the one or more servers transmit to the client device, via the
`
`packet-based telecommunication network, a file in a format compatible with a media player on
`
`the client device, the file including (i) an indication of one or more segments of video content,
`
`(ii) one or more URLs identifying one or more resources of a content distribution network
`
`available to facilitate streaming of the one or more segments and one or more advertisements to
`
`the client device, (iii) information instructing the client device how to communicate with the one
`
`or more resources to cause the one or more segments of the video content and the one or more
`
`advertisements to be streamed to the client device in a predetermined sequence, and (iv) an
`
`identifier uniquely associated with the client device and a viewing session for the video content.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0014]
`
`Figure 1 is a block diagram of a streaming system in accordance with an
`
`embodiment of the present invention.
`
`[0015]
`
`Figure 2 is a block diagram of a reservation system in accordance with an
`
`embodiment of the present invention.
`
`[0016]
`
`Figure 3 is a block diagram of a name routing processor in accordance with an
`
`embodiment of the present invention.
`
`[0017]
`
`Figure 4 is a block diagram of a control manager for a name routing processor
`
`in accordance with an embodiment of the present invention.
`
`54766288.1
`
`4
`
`
`
`[0018]
`
`Figure 5 is a block diagram of the name resolution system for a name routing
`
`processor system in accordance with an embodiment of the present invention.
`[0019]
`
`Figure 6 is a block diagram of the routing engine for a name routing processor
`
`in accordance with an embodiment of the present invention.
`
`[0020]
`
`Figure 7 is a block diagram of the switch manager for a name routing
`
`processor in accordance with an embodiment of the present invention.
`
`[0021]
`
`Figure 8 is a block diagram of a routing data structure used in a name routing
`
`processor in accordance with an embodiment of the present invention.
`
`[0022]
`
`Figure 9 is a block diagram of a stream control table in accordance with an
`
`embodiment of the present invention.
`
`[0023]
`
`Figure 10 is a block diagram of a network status table in accordance with an
`
`embodiment of the present invention.
`[0024]
`
`Figure 11 is a table diagram of treatment table access points in accordance
`
`with an embodiment of the present invention.
`
`[0025]
`
`Figure 12 is a block diagram of an active reservation table in accordance with
`
`an embodiment of the present invention.
`
`[0026]
`
`Figure 13 is a block diagram of a network access table in accordance with an
`
`embodiment of the present invention.
`
`[0027]
`
`Figure 14 is a block diagram of a signal mapping table in accordance with an
`
`embodiment of the present invention.
`
`[0028]
`
`Figure 15 is a block diagram of a signal access point table in accordance with
`
`an embodiment of the present invention.
`
`[0029]
`
`Figure 16 is a block diagram of a stream percent skipped table in accordance
`
`with an embodiment of the present invention.
`
`[0030]
`
`Figure 17 is a block diagram of a stream rate table in accordance with an
`
`embodiment of the present invention.
`
`[0031]
`
`Figure 18 is a block diagram of a treatment table in accordance with an
`
`embodiment of the present invention.
`
`[0032]
`
`Figure 19 is a block diagram of a referring host table in accordance with an
`
`embodiment of the present invention.
`
`54766288.1
`
`5
`
`
`
`[0033]
`
`Figure 20 is a block diagram of an exception table in accordance with an
`
`embodiment of the present invention.
`
`[0034]
`
`Figure 21 is a block diagram of a personal identification number table in
`
`accordance with an embodiment of the present invention.
`
`[0035]
`
`Figure 22 is a block diagram of a content screening table in accordance with
`
`an embodiment of the present invention.
`
`[0036]
`
`Figure 23 is a block diagram of a content location table in accordance with an
`
`embodiment of the present invention.
`
`[0037]
`
`Figure 24 is a block diagram of a network status table in accordance with an
`
`embodiment of the present invention.
`
`[0038]
`
`Figure 25 is a block diagram of a day of year table in accordance with an
`
`embodiment of the present invention.
`
`[0039]
`
`Figure 26 is a block diagram of a day of week table in accordance with an
`
`embodiment of the present invention.
`
`[0040]
`
`Figure 27 is a block diagram of a time of day table in accordance with an
`
`embodiment of the present invention.
`
`[0041]
`
`Figure 28 is a block diagram of a signal route choice table in accordance with
`
`an embodiment of the present invention.
`
`[0042]
`
`Figure 29 is a block diagram of a class of service table in accordance with an
`
`embodiment of the present invention.
`
`DETAILED DESCRIPTION
`
`[0043] Media streaming, both live and on-demand, also provides an environment for
`
`viewers to experience multimedia by establishing a logical, one-to-one connection between the
`
`media and the audience (a "session"). Sessions enable a rich media, interactive experience and
`
`provide a foundation for a reliable streaming service platform. Media may include audio, video,
`
`images, moving text messages such as stock ticker tapes, and other data. Media may include one
`
`or more media clips or a part of a media clip. A session may include an internet protocol
`
`session, a broadband connection, or other session parameters. For simplicity, "session" may be
`
`used in some instances to mean only an internet protocol (IP) session, only a broadband
`
`connection, or both, depending on verbiage. In a different embodiment, more than one session
`
`can exist to a given audience member simultaneously. However, improved systems and methods
`
`54766288.1
`
`6
`
`
`
`are needed for implementing control features, such as real time routing of requests for media
`
`service, dynamic matching of content to the viewer, and enforcement of media content owners'
`
`rights and distribution criteria.
`
`[0044]
`
`In one embodiment, the present invention is directed to an overall integrated
`
`and distributed media routing algorithm (MRA) that correlates the diverse needs of a media
`
`content owner and/or an agent ("content owner" or "media owner"), a packet distribution
`
`network owner, one or more viewers, and the health of a network traversed in the media delivery
`
`process. The MRA enables the content owner to control who views its content and what content
`
`is actually streamed for viewing. In another embodiment, the MRA enables a network owner to
`
`efficiently control the network and its devices to maximize quality of service while enabling the
`
`devices to respond automatically and transparently to viewer problems.
`
`[0045]
`
`In another embodiment, the present invention enables content owners to create
`
`viewing programs that can be targeted at viewers based on the amount of information known
`
`about an individual viewer. The content owner may create a program having one or more media
`
`items. A viewer may desire to receive one or more of the media identified in the program. The
`
`viewing programs and viewer information may be used to dynamically create a presentation
`
`tailored for that viewer. For example, the presentation may contain a list of media from the
`
`program, possibly with or without one or more other media items, that is to be streamed to the
`
`viewer and that is combined to make a single viewing experience. In another example, a movie
`
`trailer followed by a full-length movie may combine two different media to make a simple
`
`program.
`
`[0046]
`
`A program, however, can contain media selectors that identify a set of media.
`
`A media selector is used in the presentation creation process when the content owner desires to
`
`target different media at an audience, based on audience characteristics, and to create different
`
`presentations for different groups of audiences. Examples of audience characteristics may
`
`include the individual's sex, age, hobbies, historical viewing habits, or other data the viewer
`
`would provide.
`
`[0047]
`
`In another embodiment, systems and methods of the present invention control
`
`a state model, such as a basic streaming state model (BSSM), for streaming media through
`
`enhanced communications between communication devices coupled over disparate packet
`
`networks, such as the Internet, intranets, virtual private networks, cable systems, frame relay
`
`54766288.1
`
`7
`
`
`
`networks, asynchronous transfer mode (ATM) networks, satellite networks, and/or any
`
`combination of interconnected, data communication networks.
`
`[0048]
`
`The state model data identifies a viewer using a reservation, identifies the
`
`switch or switches from which media is streamed, the media that is streamed, the duration the
`
`media is streamed, and other state changes in the streaming, such as whether a stream is paused,
`
`canceled, forwarded, or reversed. If a presentation is streamed, the state model data identifies
`
`the presentation and the media in the presentation. The state model data includes stream state
`
`changes, viewing session state changes, device mode changes from a switch or signaling routing
`
`processor and error and alarm conditions for any switch, signaling routing processor,
`
`management system, service routing processor, or other communication device in the streaming
`
`system. A state model is kept for each NRP and each MMS as described more fully below.
`
`Multiple levels of the BSSM enable event generation, tracking information, and storing
`
`information for transitions within a presentation from its initial generation to its completion or
`
`termination.
`
`[0049]
`
`Figure I depicts an exemplary embodiment of a streaming system of the
`
`present invention. The streaming system 102 of Figure I comprises a service processor, a
`
`management system, a reservation system, a routing processor, and a media switch, such as an
`
`enhanced service routing processor (ESRP) I 04, a real time switch management system
`
`(RTSMS) 106, a reservation system 108, a name routing processor (NRP) 110, and a managed
`
`media switch (MMS) 112, respectively, each communicating through a packet network 114. A
`
`portal 116 may communicate with the reservation system 108 of the RTSMS 106 via the packet
`
`network 114, and one or more viewers 118 and 120 may communicate with the NRP 110, the
`
`MMS 112, and/or the portal 116 via a packet network 122.
`
`[0050]
`
`The streaming system 102 has a network owner that controls the streaming
`
`system and controls what entities use network operators to perform work on the streaming
`
`system. For example, a network provider may build a streaming system and sell streaming
`
`services to a publishing customer. The network provider is the network owner. The network
`
`owner and the publishing customer sell a product, i.e. media, to customers via a website or a
`
`contract with a web portal using the streaming system.
`
`54766288.1
`
`8
`
`
`
`[0051]
`
`In some instances, the publishing customer also may be the network provider.
`
`This may occur, for example, where a corporate enterprise is streaming media to its employees
`
`or customers directly. Other examples exist.
`
`[0052]
`
`Identifying the network owner of the streaming system 102 or another
`
`network enables the streaming system to track legal, financial, contractual, and service auditing
`
`issues associated with crossing signaling and/or other communications, such as media, from one
`
`network to another. For example, a first streaming network and a second streaming network may
`
`agree to inter-connect their networks to build a large viewing audience. This may occur, for
`
`example, if a media owner desires as many viewers as possible to see its media, and the media
`
`owner is less concerned with what network owner the viewer uses to receive the media.
`
`[0053]
`
`In this example, the first network owner and the second network owner may
`
`agree on a revenue sharing, based on what the viewer receives, and the revenue generated from
`
`that viewer receiving the media may be split according to the revenue sharing agreement. In this
`
`example, the first network owner and the second network owner cannot control each other's
`
`service, network distribution rules, and/or other routing or operational processes. Thus, the first
`
`network owner and the second network owner are required to agree on the revenue sharing and
`
`how their networks will interconnect in order to provide distribution of media and receive
`
`revenue based on that distribution.
`
`[0054]
`
`The streaming system 102 also enables a media owner to identify a program
`
`or a portion of a program that is made available for streaming. The program typically identifies
`
`the sequencing, whether sequential, parallel, timing, or other, in which media clips are to be
`
`streamed, where the media clips are to be placed, and, in some instance, to whom the media clips
`
`can be transmitted.
`
`[0055]
`
`A program may have a list of media, an order, and/or other media rules. The
`
`program may also have program creation rules and/or program routing rules. Network
`
`distribution rules generated by the owner and/or operator of the streaming system 102 (hereafter,
`
`"network owner") or one or more other packet network suppliers also may be associated with the
`
`program. The network distribution rules, the media list, the order, and any other special media
`
`rules, such as program creation rules and/or program routing rules, govern the transmission of
`
`the media for a program.
`
`54766288.1
`
`9
`
`
`
`[0056]
`
`Program creation rules are defined by a media owner. Program creation rules
`
`may identify if a program can be created from one or more other programs and how the one or
`
`more other programs may be combined. For example, a program may have program creation
`
`rules identifying which individuals are allowed to alter the program rules, listings of
`
`identifications of other media owners that have agreed to share media, and other administrative
`
`data.
`
`[0057]
`
`Program routing rules are defined by the media owner. Program routing rules
`
`define where and/or how media may be routed. Program routing rules may be superceded by
`
`network distribution rules.
`
`[0058]
`
`Network distribution rules are defined by the network owner and/or one or
`
`more other packet network suppliers. Network distribution rules are used to manage capacity,
`
`load, bandwidth, switch resources, and/or other events and/or resources, including resources for
`
`sessions and connections. For example, a program can be configured to stream ten minutes of a
`
`sitcom based media, insert an advertisement, and then return to the sitcom based media. The
`
`publisher may define the program rules to transmit greater than 30 frames per second, but the
`
`network distribution rules may be restricted to 30 viewing frames per second by the network
`
`supplier. The program would not be streamed since it violated the network distribution rules. The
`
`network distribution rules may manage and/or identify resources needed to transfer media
`
`between the streaming system 102 and one or more other packet networks.
`
`[0059]
`
`The media list may include one or more different media references identifying
`
`one or more media clips and one or more different types of media. For example, the media list
`
`may contain media names or other media references. The media list may include references to
`
`one or more of recorded media, live media, a media alias, a media selector including an
`
`advertising selector, and/or other media.
`
`[0060]
`
`Recorded media typically directly references a media file name. Live media
`
`typically has connection instructions to a live ingress switch. A media alias typically references
`
`one or more other media clips. A media selector typically contains rules identifying how to
`
`select one or more of several possible media clips. An advertising selector is a type of media
`
`selector used to select an advertising media clip.
`
`54766288.1
`
`10
`
`
`
`[0061]
`
`Each type of media may contain one or more of the above-stated identifiers or
`
`other identifiers. Additionally, each media clip may have a title assigned to it by the media
`
`owner.
`
`[0062]
`
`An order is a request by a paying or collecting entity for the network owner to
`
`provide some sort of streaming or related service, such as storage. Typically, the order is made
`
`by a paying or collecting entity, such as a publisher, another streaming network service provider,
`
`a viewer, a private company, an advertising service, or another entity that desires to enter into a
`
`contract with the network owner for streaming service or related services, such as real time usage
`
`reporting.
`
`[0063]
`
`An order may be associated between multiple entities. For example, a
`
`publisher may be primarily responsible for payment to the network owner for streaming services,
`
`but an advertiser has agreed to pay the network owner based upon the number of people viewing
`
`their ads. Thus, two paying entities and one collecting entity are associated with the order. In
`
`this example, an entity can be both a paying entity and a collecting entity. For example, a
`
`publisher can pay for streaming services and also collect a portion of the fee generated by
`
`streaming media.
`
`[0064]
`
`An order can contain several order components, such as service billing rules,
`
`storage billing rules, collection rules, viewing rules, settlement rules, and other fiscally important
`
`information. This fiscal information allows a network owner to generate an invoice for
`
`streaming services rendered. The associated invoiced revenue may be collected based on the
`
`fiscal information, and other collection entities, such as publishers and other networks, may be
`
`paid based on that fiscal information.
`
`[0065]
`
`Service billing rules normally are related to making the media available for
`
`viewing. Multiple media items can be associated to a single service rule. Service rules allow the
`
`publisher to describe to the network owner how the media viewing will be paid. For example,
`
`pay-per view media may require the viewer to pay for the service. A fee for service may require
`
`the publisher to pay a fee based on the number of data bytes transmitted to all viewers for a
`
`defined period of time. An advertising revenue share may require the network owner to collect a
`
`percentage of the advertising revenue generated by the program being viewed. Other payment
`
`methods and combination of payments may be used.
`
`54766288.1
`
`11
`
`
`
`[0066]
`
`An order also can contain storage rules for determining where the media or
`
`program will be located and the costs associated with the physical storage of the media. Storage
`
`rules allow the publisher to target media to MMS locations that they believe will provide the
`
`most streaming service. For example, advertising media that is localized to the mid-west of the
`
`United States of America could be located on only MMSs within that region. Storage rules can
`
`specify a single MMS device, an offline storage location that is not attached to any MMS,
`
`multiple MMS devices, all MMS devices, and other networks that can provide the same media, if
`
`needed. Storage rules also allow the network owner to bill for the amount of storage a publisher
`
`uses on a periodic basis, such as an average daily storage use. A storage order can have multiple
`
`media and programs attached to it.
`
`[0067]
`
`An order may contain collection rules identifying which entity or entities are
`
`collecting a payment for services rendered. For example, a service rule that designates pay-per(cid:173)
`
`view might require an immediate credit card payment by the viewer. The collection rule may
`
`identify the credit card collection agency, collection account, and other vital settlement data for
`
`the processing of the viewer's credit card. In another example, the viewer may select pay-per(cid:173)
`
`view and simply be billed the amount on their monthly cable bill. Collection rules also apply to
`
`the invoicing of charges to corporate type accounts, such as how soon payment is due after the
`
`invoice is printed. Collection rules focus on receiving the payment portion of the transaction.
`
`Multiple collection rules may be applied to a single order.
`
`[0068]
`
`An order may contain viewing rules for the media and/or programs that are
`
`attached to it. Viewing rules associated with an order allow the publisher to determine who sees
`
`the media or program based on the viewer's account status. For example, a viewing rule for a
`
`subscription based service in which a viewer is 90 days or more behind in payments might block
`
`the service.
`
`[0069]
`
`In another example, if a viewer selects a pay-per-view media item that
`
`requires a credit card payment, and the credit card collection agency returns a code declaring the
`
`card is over its limit, the viewing rule might block the service. Order viewing rules typically are
`
`associated to a credit rating or current collection status of an account for the person requesting to
`
`view the media or the publisher wishing to make the media available for distribution.
`
`[0070]
`
`An order can contain settlement rules for determining how collections are
`
`divided and which entities participate in the settlement. For example, a program may be created
`
`54766288.1
`
`12
`
`
`
`by a publisher in which advertisers agree to pay the publisher and the network owner for
`
`targeting their advertising to a specific set of viewers. The viewer is allowed to view the
`
`program free of charge, except the viewer will receive advertisements. The settlement rules
`
`would describe the agreed upon advertising rates that will be applied on a per viewer basis, the
`
`percentage or fixed fee being supplied to the network owner for each viewer, and other
`
`settlement data.
`
`[0071]
`
`There may be a many-to-many relationship between an order and a program.
`
`That is, one program or multiple programs may appear in a single service order, and a single
`
`program may appear in a one order or multiple orders. For example, in the former instance, an
`
`order may associate multiple programs that are the publisher's $4.99 pay-per-view programs for
`
`distribution in the United States. Whereas, in the latter instance for example, a single program
`
`may be associated with one order for pay-per-view customers and another order for subscribers.
`
`[0072]
`
`In some embodiments, the program has a program identification. The
`
`program identification may be used to track use of the program, such as how many times the
`
`media for a program is streamed and the number of users receiving that program. Additionally,
`
`the program identification may be used to track other attributes associated with the program,
`
`such as viewer attributes associated with the viewer receiving the media, streaming times, other
`
`media or programs streamed with a particular program, and/or other tracking purposes.
`
`[0073] When a program and its order are complete, it may be published. Publishing
`
`is the act of making a program available on the streaming network 102 for distribution to one or
`
`more viewers via a switch, such as the MMS 110.
`
`[0074]
`
`After a program is published, a presentation may be generated based on the
`
`program. A presentation results from applying a viewer profile to a program, including the
`
`program's order and any other media rules, at the time a reservation is made for the program by
`
`the viewer. A viewer profile may be any set of attributes of interest for a viewer and their
`
`values. Thus, the presentation typically is customized for an individual viewing session, and the
`
`program and the viewe



