PATENT CLAIM ANALYSIS

Application Number: 15947941
Application Type: Utility
Filing Date: 2018-04
Publication Date: 2019-10
Patent Classification: ["725", "032000"]

Abstract:
A scalable, multi-platform, seamless Server-side Ad-Insertion system and method with a single stream input and output having an Advertisement Detector and Playlist Instrumenter (ADPI) which puts out Advertisement Break position and duration for an Advertisement Replacement System (ARS) and a Common Instrumented Playlist (CIP) for the users, a Load Switch to balance the ADPI and ARS loads when they need to scale according to user-demand, and a plurality of users on a plurality of devices and platforms communicating with the ARS. The ARS communicates with the Advertisement Server to enable fetching advertisements for every user and reports successful advertisement playback. The CIP contains a list of URLs having Beacon redirections which are added periodically to indicate user presence to the ARS and content URLs. ServeAd redirections is added to the ARS only during advertisement break so that ARS can replace in-stream advertisements.

Claim (Index 9):
A scalable, multi-platform, seamless Server-side Ad-Insertion (SSAI) method with a single stream input and output having (a) Stream Playout ( 600 ), (b) a Stream Receiver, Parser and Decoder ( 602 ), (c) a plurality of users ( 605 ), (d) a Cue Detector ( 606 ), (e) a Break Aggregator ( 608 ), (f) a Boundary Annealer and Segmenter ( 610 ), (g) a Segment Store ( 611 ), (h) a Playlist Builder and Server ( 613 ), (i) a Load Switch ( 615 ), (j) a User Tracker Server (UTS) ( 616 ), (k) a Replacement Advertisement Builder (RAB) ( 619 ), (I) an Advertisement Transcoder ( 620 ), (m) a Replacement Content Server (RCS) ( 622 ), (n) an Advertisement Server ( 625 ), and (o) a Quartile Reporter ( 626 ), comprising the steps of:\n a) advertisement Detection and Playlist Instrumentation (ADPI) ( 650 ) further comprising the steps of:\n i) starting the process with the Stream Receiver, Parser and Decoder ( 602 ) taking an authenticated input stream ( 601 ) from the Stream Playout ( 600 ); \n ii) handling authentication and authorization schemes as applicable by the Stream Receiver and passing over a playlist variant stream to the Parser for parsing and downloading each segment; \n iii) decrypting the content by the Decoder if the adaptive input stream ( 601 ) is DRM protected; \n iv) receiving the stream segment along with header information ( 603 ) by the Cue Detector ( 606 ) and looking for advertisement cues in headers or in Content Segments ( 604 ) and passing the cue information to the Break Aggregator ( 608 ) for conveying the break information ( 607 ) in the following format, {Splice PTS, Break Type, Media Index, duration wherein:\n A) splice PTS indicates precise Presentation Time Stamp (PTS) where content is switched to an advertisement, the PTS is a reference to audio and video frame where the content has stopped, and an advertisement started; \n B) break Type indicates start or end of an Advertisement Break; \n C) media Index is segment number in a variant playlist, where change was noticed; \n D) duration is not always available more so for Live input streams, {0x12345678, begin, 48}, {0x5aibaba, end, 53} which means advertisement break started at splice PTS of 0x12345678 in segment #48, ended at 0x5aibaba in segment 53; and \n E) media index, PTS values are maintained cross-referenceable across playlist variants; \n \n v) aggregating ( 609 ) smaller breaks into larger breaks by the Break Aggregator ( 608 ) to facilitate larger choice for a replacement, also breaking very large advertisement breaks into reasonable size chunks typically a multiple of 5 seconds, often 5,10, 15, 20 or 30 seconds; \n vi) re-encoding a portion of the content by the Boundary Annealer in the Boundary Annealer and Segmenter ( 610 ) when the content-advertisement boundary is within a segment and serving them separately; \n vii) chopping media segments into smaller chunks by a Segmenter present within the Boundary Annealer and Segmenter ( 610 ) and storing them in the Segment Store ( 611 ) and serving, thus imparting higher flexibility during advertisement replacement; and \n viii) the Playlist Builder and Server ( 613 ) builds output playlist ( 614 ) with periodic redirections to the UTS ( 616 ) called Beacons, these are used to track users, said output playlist ( 614 ) also includes redirections to the RCS ( 622 ) only during advertisement break with URL parameters referring to chopped input advertisement which are stored in the Segment Store ( 611 ) called ServeAd redirections; \n b) advertisement Replacement (ARS) ( 660 ) further comprising the steps of:\n i) playing the output playlist ( 614 ) by the end-users in playing devices ( 605 ), said output playlist ( 614 ) comprises periodic redirections in the form of Beacon redirections ( 617 ) which is utilized by the User Tracker Server (UTS) ( 616 ) for tracking users and ServeAd redirections ( 624 ) that helps the Replacement Content Server (RCS) ( 622 ) for replacing advertisement segments where the output playlist ( 614 ) is the communication between the users and the ADPI ( 650 ); \n ii) conveying the Advertisement Break position and duration ( 618 ) every time to the Replacement Advertisement Builder (RAB) ( 619 ) by the Playlist Builder and Server ( 613 ), the format is like that between the Cue Detector ( 606 ) and Break Aggregator ( 608 ) \n iii) communicating the aggregated breaks to the Advertisement Replacement System (RCS) ( 660 ) by the Playlist Builder and Server ( 613 ); \n iv) receiving a list of active users ( 630 ) by the RAB ( 619 ) from the UTS ( 616 ), and Fetching advertisements ( 627 ) for all active users from the Advertisement Server ( 625 ); \n v) transcoding the received advertisements ( 621 ) with the help of the Advertisement Transcoder ( 620 ); \n vi) maintaining a mapping of replacement advertisement per active user, per detected advertisement segment ( 623 ) in the RAB ( 619 ) which is presented by the RCS ( 622 ) based on the ServeAd redirections ( 624 ); and \n vii) reporting Quartiles ( 629 ) to the Quartile Reporter ( 626 ) by the RCS ( 622 ), once replacement segment is served for downloaded advertisement segment with reporting URL ( 628 ), this is done for all Quartiles for all the replacement advertisements, for all breaks, and for all users; \n c) load Balancing wherein the Load Switch ( 615 ) commanding the Playlist Builder and Server ( 613 ) if there is overloading in the Advertisement Replacement System (ARS) ( 660 ), stopping to insert Beacons and ServeAds into the playlist further comprising the steps of:\n i) reconfiguring the ARS ( 660 ) while the load is reduced or when the ARS ( 660 ) is scaled for handling a higher load; and \n ii) instructing the Playlist Builder and Server ( 613 ) for inserting ServeAds and Beacons again.

Metadata:
- Claim Count in Document: 29.0
- Percentile: 91.0
- Lexical Diversity: 1.71429
- Patent Class: 725.0
- Transitional Phrase Type: open
- Component Type: 1
- Foreign Priority: False
- Related Applications: ['14168734', '13246528', '13246624', '14019592', '10662776']

Analysis Scores:
- 35 USC 101 Eligibility (BERT): 0.3964779316918676
- 35 USC 102 Novelty (BERT): 0.5108986069369431
- Combined Prediction Score: 0.4079199992163752
- Mean Citation Score: 202.397042
- Max Citation Score: 224.29971
- Similarity Product: 136.755899570117

Labels:
- Claim Label 101: 1
- Claim Label 102: 1
- Claim Label 103: 1
- Claim Label 112: 0
- Combined Label: 1
- Label 101 Adjusted: 1

Dataset: test