US20140006430A1 - Indexing multimedia web content - Google Patents

Indexing multimedia web content Download PDF

Info

Publication number
US20140006430A1
US20140006430A1 US13/904,485 US201313904485A US2014006430A1 US 20140006430 A1 US20140006430 A1 US 20140006430A1 US 201313904485 A US201313904485 A US 201313904485A US 2014006430 A1 US2014006430 A1 US 2014006430A1
Authority
US
United States
Prior art keywords
multimedia content
recited
display page
potential
content data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/904,485
Inventor
Edwin Seng Eng Ong
Aleksandra R. Vikati
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gracenote Media Services LLC
Original Assignee
CastTV Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CastTV Inc filed Critical CastTV Inc
Priority to US13/904,485 priority Critical patent/US20140006430A1/en
Publication of US20140006430A1 publication Critical patent/US20140006430A1/en
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: CastTV Inc., CHICAGO TRIBUNE COMPANY, LLC, CHICAGOLAND PUBLISHING COMPANY, LLC, LOS ANGELES TIMES COMMUNICATIONS LLC, SUN-SENTINEL COMPANY, LLC, THE BALTIMORE SUN COMPANY, LLC, THE HARTFORD COURANT COMPANY, LLC, TRIBUNE BROADCASTING COMPANY, LLC, TRIBUNE COMPANY, TRIBUNE CONTENT AGENCY, LLC, TRIBUNE INTERACTIVE, LLC, TRIBUNE MEDIA SERVICES, LLC, TRIBUNE TELEVISION NEW ORLEANS, INC., WDCW, LLC, WGN CONTINENTAL BROADCASTING COMPANY, LLC
Assigned to CastTV Inc., TRIBUNE MEDIA SERVICES, LLC, TRIBUNE DIGITAL VENTURES, LLC, GRACENOTE, INC. reassignment CastTV Inc. RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to GRACENOTE MEDIA SERVICES, LLC reassignment GRACENOTE MEDIA SERVICES, LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: CastTV Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30321
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Definitions

  • Web crawlers are programs that locate web content. While dynamic formats provide a rich, interactive experience, they present a challenge for web crawlers.
  • Traditional web crawlers are built to parse HTML and other text content by following hypertext links, and automatically submitting forms in order to crawl database-driven information that is not accessible by following links alone. But traditional web crawlers are not able to fully crawl all relevant data upon encountering many web pages in dynamic formats.
  • FIG. 1 is a block diagram illustrating an embodiment of a system for indexing actual and/or potential multimedia content data files and/or other rich content.
  • FIG. 2 is a diagram illustrating an embodiment of a display page configured to provide access to multimedia or other rich content.
  • FIG. 3 is a flowchart illustrating an embodiment of a process to locate, extract and index multimedia content data files.
  • FIG. 4 is a flowchart illustrating an embodiment of a process to identify potential multimedia content data files.
  • FIG. 5 is a block diagram illustrating an embodiment of a system configured to use a sniffer to observe network traffic between a data source and an application.
  • FIG. 6 is a flowchart illustrating an embodiment of a process to verify and index potential multimedia content data files.
  • FIG. 7 is a flowchart illustrating an embodiment of a heuristic to build a standard data model.
  • the invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or communication links.
  • these implementations, or any other form that the invention may take, may be referred to as techniques.
  • a component such as a processor or a memory described as being configured to perform a task includes both a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task.
  • the order of the steps of disclosed processes may be altered within the scope of the invention.
  • Locating, extracting, and indexing multimedia web content is disclosed.
  • a display page is processed to locate a page element that may be associated with an external multimedia content file, such as an external XML file, which is a data file rather than an actual media file, like a video file itself
  • the page element is used in some embodiments to determine a locator, such as a URL, associated with an external file. If the external file is determined to contain multimedia content data, e.g., XML data, a data model of the file is built.
  • the data model is used in some embodiments, either directly or indirectly by generating an index entry based thereon, to determine whether the multimedia content with which the external XML file is associated and/or the display page with which it is associated is/are responsive to a query.
  • data models for content files associated with different websites are normalized to facilitate search for multimedia content across websites.
  • FIG. 1 is a block diagram illustrating an embodiment of a system for indexing actual and/or potential multimedia content data files and/or other rich content.
  • web crawler 102 locates, extracts and indexes actual and/or potential multimedia content data files.
  • Web crawler 102 is connected to an indexing engine 104 that maintains the index 106 database.
  • Web crawler 102 is also connected to a network 108 ; a public or private network and/or combination thereof, for example the Internet, an Ethernet, serial/parallel bus, intranet, Local Area Network (“LAN”), Wide Area Network (“WAN”), and other forms of connecting multiple systems and/or groups of systems together.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the network 108 connects web crawler 102 with a variety of different web sites each of which may include or reference multimedia or other rich content.
  • examples of web sites that may include or reference multimedia or other rich content include a movie site 110 , a television site 112 , a multimedia content server 114 , and a video site 116 .
  • the movie site 110 comprises one or more display pages written primarily in HTML, the video content of which may be accessible directly to a traditional web crawler/search engine configured to parse HTML.
  • the television site 112 makes video content, e.g., teasers, trailers, and/or entire episodes of shows, as Flash content.
  • such content may be embedded in a display page in a form that a Flash or other browser plug-in can render, an SWF file for example, or the display page may include a Flash element or component that causes the browser Flash plug-in to retrieve and render an external file, such as an external XML file, that includes the content data.
  • the multimedia content is actually contained within the JavaScript block in the HTML display page rather than in an external file.
  • the display pages of video site 116 include or point to JavaScript or other code configured to retrieve and/or to cause a browser or browser plug-in to retrieve video or other content data store in an external XML file.
  • Multimedia content is not always stored within a web site, and in the example shown in FIG. 1 , network 108 connects web crawler 102 with at least one multimedia content server 114 that provides multimedia content to a web site like sites 110 , 112 , and/or 116 .
  • FIG. 2 is a diagram illustrating an embodiment of a display page configured to provide access to multimedia or other rich content.
  • Examples of a web site that may include a page such as the one shown in FIG. 2 include web sites 110 , 112 , and 116 .
  • Display page 202 shows the layout of the page as rendered by a browser.
  • Display page 202 includes a quick reference frame 204 , which allows the user to search multimedia content data files, see the most popular multimedia content data files, see new multimedia content data files, or browse all multimedia content data files.
  • a browser frame 206 allows the user to browse through a hierarchy of multimedia by genre.
  • the browser frame 206 includes a navigation subframe 208 , which shows the hierarchy from browsing all shows, to a focus on a “reality show” genre, to a focus on a specific reality show called “race”, to a focus on all full episodes available.
  • the multimedia content data files are interpreted by the web site to output the display in subframe 208 .
  • the multimedia content data files available with the given focus in subframe 208 are available with the given focus in subframe 208 .
  • One example would be the first episode from season 1 of race, represented by button 210 .
  • the user has selected the second episode from season 1 of race, represented by highlighted button 212 .
  • the page 202 also includes a related content frame 214 that shows related multimedia content data files to the multimedia content data file highlighted in button 212 .
  • the multimedia content data files are interpreted by the web site to output the display in frame 214 .
  • the display page 202 also includes a frame 216 in which the multimedia content is rendered, including controls for the viewing.
  • the display page 202 also includes a synopsis frame 218 , which may include a title, a description, authors, producers, directors, cast, crew, ratings, run times, and release dates for the multimedia content data being rendered in frame 216 .
  • Flash or Javascript or other formats and/or code may be used to make multimedia or other rich content available via a page such as display page 202 .
  • the actual multimedia content data file may be stored in an eXtensible Markup Language (“XML”) or other file stored externally to the display page and/or a server on which the display page resides.
  • XML eXtensible Markup Language
  • server 114 eXtensible Markup Language
  • FIG. 3 is a flowchart illustrating an embodiment of a process to locate, extract and index multimedia content data files.
  • the process may be implemented in web crawler 102 .
  • the display page 202 is analyzed to locate elements associated with multimedia content.
  • this includes locating elements, such as HTML tags, that indicate multimedia content made available using technologies such as Flash or JavaScript. Examples of page elements associated with multimedia content include OBJECT, EMBED, and similar tags.
  • the web crawler 102 finds elements on the HTML in display page 202 .
  • tags are included as elements.
  • the web crawler 102 is configured to locate multimedia made available in formats like Flash or other multimedia web content by first finding the OBJECT, EMBED and other tags in the HTML comprising a display page such as display page 202 .
  • Such tags may be used, for example, to embed or point to a multimedia content file, such as a Flash SWF (“SWF”) file.
  • SWF Flash SWF
  • the web crawler 102 finds the tags by regular expressions or Document Object Model (“DOM”) traversal.
  • step 304 a potential multimedia content data file is identified for display page 202 based on the elements located in step 302 .
  • a list of potential multimedia content data files is built.
  • each entry in the list of potential multimedia content data files is loaded to verify whether the potential multimedia content data file contains multimedia content.
  • the actual multimedia content is in XML.
  • Each verified multimedia content data file is indexed, for example by processing one or more XML tags comprising the file to build a data model of the file.
  • the data model mirrors the model of the XML file. For each tag in the XML file, a corresponding category is created in the data model. For tags that are sub-tags of other tags, the parent-child relationship is captured in the data model.
  • FIG. 4 is a flowchart illustrating an embodiment of a process to identify potential multimedia content data files.
  • the process of FIG. 4 is included in 304 of FIG. 3 .
  • the process may be implemented in web crawler 102 .
  • multimedia-related HTML tags included in the display page are parsed to locate any available pointers to potential multimedia content data files.
  • these pointers are Uniform Resource Locators (“URLs”) that point to potential multimedia content data files.
  • the web crawler 102 parses the tag by parsing tag attributes, the tag body (which is content enclosed by the open and closed tags), and any URL argument that is part of the attributes or tag body. Upon locating a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • step 404 media files, if any, embedded in and/or linked to by the display page, such as a SWF file, are decompiled into source code, which source code is then scanned for any available pointers to potential multimedia content data files. In some embodiments, this includes scanning the binary source code for plain text URLs. Upon encountering a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • the web crawler 102 locates scripting code on the display page 202 .
  • the scripting code includes JavaScript.
  • the code may be inline or located in a referenced external script file.
  • the web crawler 102 does the same with the frame parent or pop-up parent of display page 202 , if any exist.
  • the web crawler 102 scans the scripting code to find any available pointers to potential multimedia content data files, or potential multimedia content data files actually contained within the scripting code.
  • the web crawler 102 executes the scripting code via a code interpreter to locate additional pointers to potential multimedia content data files that are not evident by scanning un-interpreted script code alone. Upon encountering a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • a sniffer may be used to observe network traffic between a data source and the web crawler 102 .
  • An analysis of the observed network traffic may infer additional pointers to potential multimedia content data files by parsing the sniffer output to identify potential multimedia content data files by locating tags and formats, or reconstruct obfuscated data.
  • the process of FIG. 4 includes and/or is controlled at least in part by logic that omits one or more of steps 402 , 404 , 406 , and 408 depending on whether any URL's and/or potential multimedia content files have been located.
  • step 408 is performed only if no potential multimedia content files have been located after completing steps 402 , 404 , and 406 .
  • FIG. 5 is a block diagram illustrating an embodiment of a system configured to use a sniffer to observe network traffic between a data source and an application. This system may be implemented to process step 408 .
  • Data source 502 represents a source for the data in display page 202 with data coming either from a web site like television site 112 , or multimedia content server 114 .
  • Data source 502 is connected to a network 504 ; a public or private network and/or combination thereof, for example the Internet, an Ethernet, serial/parallel bus, intranet, Local Area Network (“LAN”), Wide Area Network (“WAN”), and other forms of connecting multiple systems and/or groups of systems together.
  • the application 506 is also connected to network 504 to data source 502 , and an example of application 506 is web crawler 102 .
  • Sniffer 508 is set up to observe web traffic between data source 502 and application 506 .
  • the sniffer is optimized to analyze HyperText Transfer Protocol (“HTTP”) traffic, and parses the HTTP traffic to recognize XML data as comprising or being associated with a potential multimedia content data file.
  • HTTP HyperText Transfer Protocol
  • the sniffer identifies an XML file by parsing and identifying XML tags using regular expressions or DOM traversal.
  • the sniffer 508 is useful in instances where either the pointer to multimedia content data files or multimedia content data files themselves are intentionally or unintentionally obfuscated within display page 202 .
  • FIG. 6 is a flowchart illustrating an embodiment of a process to verify and index potential multimedia content data files.
  • the process of FIG. 6 is included in 306 of FIG. 3 .
  • the process may be implemented in web crawler 102 .
  • a pointer to a potential multimedia content data file is loaded from the list of pointers.
  • a URL is loaded from an XML file list. If it is determined in step 604 that the pointer points to a multimedia content data file, then control is transferred to step 606 . In some embodiments this can be determined by examining the loaded page for XML tags.
  • the web crawler 102 proceeds to index the multimedia content data file.
  • a data model is built.
  • the data model “mirrors” the model of the XML file.
  • tags that are sub-tags of other tags, the parent-child relationship is captured in the data model.
  • a data model is a relational database.
  • a table is created for each type of tag encountered. For example, if the XML file contains the tag ⁇ category>, a table is created for the ⁇ category> tag. Multiple occurrences of the same tag are entered as rows. For example, if both ⁇ category>Movie ⁇ /category> and ⁇ category>TV ⁇ /category> occur in the same file, two rows, one with value “Movie” and one with value “TV” are entered in the category table. To express parent-child relationship, an additional table or column can be created to express such a relationship.
  • the row which contains “Drama” in the subcategory table may have an additional column with the value being the ID of the row that contains “TV” in the category table.
  • a normalized index database 106 can be searched with the same search terms for different web sites 110 , 112 , and 114 . For example, by searching for a date, a search engine utilizing the index database 106 can find television air dates, movie release dates and video production dates that all match the searched dates.
  • step 608 for tag values or attributes that are pointers to potential multimedia content data files or URLs, the pointers or URLs are added to the XML file list for indexing.
  • FIG. 7 is a flowchart illustrating an embodiment of a heuristic to build a standard data model.
  • the process of FIG. 7 is included in 606 of FIG. 6 .
  • the process may be implemented in web crawler 102 .
  • a potential mapping to test includes using the values as titles of the multimedia content, or genres of the multimedia content.
  • a title may refer to the title of a television series or the title of a movie.
  • the mapping is tested by matching known values.
  • a short string cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.
  • a mapping received via user input is learned in the sense that the association between a particular element of the data model and an information type to which it maps, e.g., title, is stored and used to generate the appropriate mapping without further human interaction when building subsequently a data model of a subsequently processed multimedia content file from the same source.
  • a potential mapping to test includes using the values as a description of the multimedia content.
  • a description may include a synopsis of a television episode or description of a movie. Within the description, proper names may be identified as authors, producers, directors, cast, or crew.
  • the mapping is tested by matching known values. In some embodiments, if a long string cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.
  • a potential mapping to test includes using the values as a rating of the multimedia content.
  • a rating may include a Motion Pictures Association of America (“MPAA”) rating.
  • MPAA Motion Pictures Association of America
  • the mapping is tested by matching known values such as “G”, “PG, “PG-13”, “R”, and “NC-17.”
  • G Motion Pictures Association of America
  • a potential mapping to test includes using the values as a release date or runtime of the multimedia content.
  • a “release date” refers to any date related to the multimedia content, for example an airdate for a television show, a release date for a movie, or a production date for a video.
  • a runtime refers to the play length of the multimedia content.
  • the mapping is tested by matching known values. In some embodiments, if a date or time cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.

Abstract

A method of indexing multimedia content is disclosed. An element associated with a multimedia content is located in a display page. A potential multimedia content data file is identified through automated processing of data associated with the display page. An index data associated with one or more of the following: the display page, the multimedia content, and the potential multimedia content data file, is generated by processing the potential multimedia content data file.

Description

    CROSS REFERENCE TO OTHER APPLICATIONS
  • This application is a continuation of co-pending U.S. patent application Ser. No. 11/891,289 (Attorney Docket No. CASTP001) entitled INDEXING MULTIMEDIA WEB CONTENT filed Aug. 8, 2007 which claims priority to U.S. Provisional Patent Application No. 60/821,703 entitled TECHNIQUES FOR LOCATING, EXTRACTING, AND INDEXING MULTIMEDIA WEB CONTENT filed Aug. 8, 2006 which are incorporated herein by reference for all purposes.
  • BACKGROUND OF THE INVENTION
  • With the advent of broadband, there is an increasingly large volume of video, audio, and other multimedia content being posted to the Internet and the World Wide Web (“web”). A significant portion of multimedia content is delivered via dynamic formats to web browsers with the appropriate dynamic format modular interface (“plug-in”). Unlike regular web pages, dynamic formats may not be programmed in Hypertext Markup Language (“HTML”). Rather, the code is typically compiled into a different format, which is embedded on a web page and played by a web browser's appropriate plug-in. Certain other multimedia products also follow a similar delivery pattern.
  • Web crawlers are programs that locate web content. While dynamic formats provide a rich, interactive experience, they present a challenge for web crawlers. Traditional web crawlers are built to parse HTML and other text content by following hypertext links, and automatically submitting forms in order to crawl database-driven information that is not accessible by following links alone. But traditional web crawlers are not able to fully crawl all relevant data upon encountering many web pages in dynamic formats.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
  • FIG. 1 is a block diagram illustrating an embodiment of a system for indexing actual and/or potential multimedia content data files and/or other rich content.
  • FIG. 2 is a diagram illustrating an embodiment of a display page configured to provide access to multimedia or other rich content.
  • FIG. 3 is a flowchart illustrating an embodiment of a process to locate, extract and index multimedia content data files.
  • FIG. 4 is a flowchart illustrating an embodiment of a process to identify potential multimedia content data files.
  • FIG. 5 is a block diagram illustrating an embodiment of a system configured to use a sniffer to observe network traffic between a data source and an application.
  • FIG. 6 is a flowchart illustrating an embodiment of a process to verify and index potential multimedia content data files.
  • FIG. 7 is a flowchart illustrating an embodiment of a heuristic to build a standard data model.
  • DETAILED DESCRIPTION
  • The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. A component such as a processor or a memory described as being configured to perform a task includes both a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
  • A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
  • Locating, extracting, and indexing multimedia web content is disclosed. In some embodiments, a display page is processed to locate a page element that may be associated with an external multimedia content file, such as an external XML file, which is a data file rather than an actual media file, like a video file itself The page element is used in some embodiments to determine a locator, such as a URL, associated with an external file. If the external file is determined to contain multimedia content data, e.g., XML data, a data model of the file is built. The data model is used in some embodiments, either directly or indirectly by generating an index entry based thereon, to determine whether the multimedia content with which the external XML file is associated and/or the display page with which it is associated is/are responsive to a query. In some embodiments, data models for content files associated with different websites are normalized to facilitate search for multimedia content across websites.
  • FIG. 1 is a block diagram illustrating an embodiment of a system for indexing actual and/or potential multimedia content data files and/or other rich content. In the example shown, web crawler 102 locates, extracts and indexes actual and/or potential multimedia content data files. Web crawler 102 is connected to an indexing engine 104 that maintains the index 106 database. Web crawler 102 is also connected to a network 108; a public or private network and/or combination thereof, for example the Internet, an Ethernet, serial/parallel bus, intranet, Local Area Network (“LAN”), Wide Area Network (“WAN”), and other forms of connecting multiple systems and/or groups of systems together.
  • The network 108 connects web crawler 102 with a variety of different web sites each of which may include or reference multimedia or other rich content. As shown in FIG. 1, examples of web sites that may include or reference multimedia or other rich content include a movie site 110, a television site 112, a multimedia content server 114, and a video site 116. In the example shown in FIG. 1, the movie site 110 comprises one or more display pages written primarily in HTML, the video content of which may be accessible directly to a traditional web crawler/search engine configured to parse HTML. By contrast, in the example shown in FIG. 1 the television site 112 makes video content, e.g., teasers, trailers, and/or entire episodes of shows, as Flash content.
  • Depending on the implementation, such content may be embedded in a display page in a form that a Flash or other browser plug-in can render, an SWF file for example, or the display page may include a Flash element or component that causes the browser Flash plug-in to retrieve and render an external file, such as an external XML file, that includes the content data. In some embodiments, the multimedia content is actually contained within the JavaScript block in the HTML display page rather than in an external file. In the example shown in FIG. 1, the display pages of video site 116 include or point to JavaScript or other code configured to retrieve and/or to cause a browser or browser plug-in to retrieve video or other content data store in an external XML file. Multimedia content is not always stored within a web site, and in the example shown in FIG. 1, network 108 connects web crawler 102 with at least one multimedia content server 114 that provides multimedia content to a web site like sites 110, 112, and/or 116.
  • FIG. 2 is a diagram illustrating an embodiment of a display page configured to provide access to multimedia or other rich content. Examples of a web site that may include a page such as the one shown in FIG. 2 include web sites 110, 112, and 116. Display page 202 shows the layout of the page as rendered by a browser.
  • Display page 202 includes a quick reference frame 204, which allows the user to search multimedia content data files, see the most popular multimedia content data files, see new multimedia content data files, or browse all multimedia content data files. A browser frame 206 allows the user to browse through a hierarchy of multimedia by genre.
  • In the example shown in FIG. 2, the browser frame 206 includes a navigation subframe 208, which shows the hierarchy from browsing all shows, to a focus on a “reality show” genre, to a focus on a specific reality show called “race”, to a focus on all full episodes available. In some systems the multimedia content data files are interpreted by the web site to output the display in subframe 208. Also within the browser frame 206 in this example are the multimedia content data files available with the given focus in subframe 208. One example would be the first episode from season 1 of race, represented by button 210. In the example shown, the user has selected the second episode from season 1 of race, represented by highlighted button 212.
  • In the example shown in FIG. 2, the page 202 also includes a related content frame 214 that shows related multimedia content data files to the multimedia content data file highlighted in button 212. In some systems the multimedia content data files are interpreted by the web site to output the display in frame 214. In the example shown in FIG. 2, the display page 202 also includes a frame 216 in which the multimedia content is rendered, including controls for the viewing. In the example shown in FIG. 2, the display page 202 also includes a synopsis frame 218, which may include a title, a description, authors, producers, directors, cast, crew, ratings, run times, and release dates for the multimedia content data being rendered in frame 216.
  • Many existing web sites use code other than HTML to make multimedia or other rich content available via a display page such as display page 202. In some embodiments, Flash or Javascript or other formats and/or code may be used to make multimedia or other rich content available via a page such as display page 202. In some cases, the actual multimedia content data file may be stored in an eXtensible Markup Language (“XML”) or other file stored externally to the display page and/or a server on which the display page resides. For example, such an external XML or other content file may be stored on an external multimedia content server such as server 114. Locating, extracting and indexing such multimedia content data files is disclosed.
  • FIG. 3 is a flowchart illustrating an embodiment of a process to locate, extract and index multimedia content data files. The process may be implemented in web crawler 102.
  • In step 302, the display page 202 is analyzed to locate elements associated with multimedia content. In some embodiments this includes locating elements, such as HTML tags, that indicate multimedia content made available using technologies such as Flash or JavaScript. Examples of page elements associated with multimedia content include OBJECT, EMBED, and similar tags.
  • In some embodiments, the web crawler 102 finds elements on the HTML in display page 202. In some embodiments, tags are included as elements. The web crawler 102 is configured to locate multimedia made available in formats like Flash or other multimedia web content by first finding the OBJECT, EMBED and other tags in the HTML comprising a display page such as display page 202. Such tags may be used, for example, to embed or point to a multimedia content file, such as a Flash SWF (“SWF”) file. In some embodiments, the web crawler 102 finds the tags by regular expressions or Document Object Model (“DOM”) traversal.
  • In step 304, a potential multimedia content data file is identified for display page 202 based on the elements located in step 302. A list of potential multimedia content data files is built.
  • In step 306, each entry in the list of potential multimedia content data files is loaded to verify whether the potential multimedia content data file contains multimedia content. In some embodiments the actual multimedia content is in XML. Each verified multimedia content data file is indexed, for example by processing one or more XML tags comprising the file to build a data model of the file. In some embodiments, the data model mirrors the model of the XML file. For each tag in the XML file, a corresponding category is created in the data model. For tags that are sub-tags of other tags, the parent-child relationship is captured in the data model.
  • FIG. 4 is a flowchart illustrating an embodiment of a process to identify potential multimedia content data files. In some embodiments, the process of FIG. 4 is included in 304 of FIG. 3. The process may be implemented in web crawler 102.
  • In step 402, multimedia-related HTML tags included in the display page are parsed to locate any available pointers to potential multimedia content data files. In some embodiments, these pointers are Uniform Resource Locators (“URLs”) that point to potential multimedia content data files.
  • In some embodiments, the web crawler 102 parses the tag by parsing tag attributes, the tag body (which is content enclosed by the open and closed tags), and any URL argument that is part of the attributes or tag body. Upon locating a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • In step 404, media files, if any, embedded in and/or linked to by the display page, such as a SWF file, are decompiled into source code, which source code is then scanned for any available pointers to potential multimedia content data files. In some embodiments, this includes scanning the binary source code for plain text URLs. Upon encountering a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • In step 406, the web crawler 102 locates scripting code on the display page 202. In some embodiments, the scripting code includes JavaScript. The code may be inline or located in a referenced external script file. In some embodiments, JavaScript external scripts may be referenced using the SCRIPT tag technique, for example using <SCRIPT SRC=″external_file.js></SCRIPT> to refer to a script file named external_file.js. The web crawler 102 does the same with the frame parent or pop-up parent of display page 202, if any exist. The web crawler 102 scans the scripting code to find any available pointers to potential multimedia content data files, or potential multimedia content data files actually contained within the scripting code.
  • In some embodiments, the web crawler 102 executes the scripting code via a code interpreter to locate additional pointers to potential multimedia content data files that are not evident by scanning un-interpreted script code alone. Upon encountering a URL, the URL is added to the XML file list. The web crawler 102 continues this step until all URLs are added to the XML file list.
  • In step 408, a sniffer may be used to observe network traffic between a data source and the web crawler 102. An analysis of the observed network traffic may infer additional pointers to potential multimedia content data files by parsing the sniffer output to identify potential multimedia content data files by locating tags and formats, or reconstruct obfuscated data.
  • In some embodiments, the process of FIG. 4 includes and/or is controlled at least in part by logic that omits one or more of steps 402, 404, 406, and 408 depending on whether any URL's and/or potential multimedia content files have been located. For example, in some embodiments step 408 is performed only if no potential multimedia content files have been located after completing steps 402, 404, and 406.
  • FIG. 5 is a block diagram illustrating an embodiment of a system configured to use a sniffer to observe network traffic between a data source and an application. This system may be implemented to process step 408.
  • Data source 502 represents a source for the data in display page 202 with data coming either from a web site like television site 112, or multimedia content server 114. Data source 502 is connected to a network 504; a public or private network and/or combination thereof, for example the Internet, an Ethernet, serial/parallel bus, intranet, Local Area Network (“LAN”), Wide Area Network (“WAN”), and other forms of connecting multiple systems and/or groups of systems together. The application 506 is also connected to network 504 to data source 502, and an example of application 506 is web crawler 102.
  • Sniffer 508 is set up to observe web traffic between data source 502 and application 506. In some embodiments, the sniffer is optimized to analyze HyperText Transfer Protocol (“HTTP”) traffic, and parses the HTTP traffic to recognize XML data as comprising or being associated with a potential multimedia content data file. In some embodiments, the sniffer identifies an XML file by parsing and identifying XML tags using regular expressions or DOM traversal. The sniffer 508 is useful in instances where either the pointer to multimedia content data files or multimedia content data files themselves are intentionally or unintentionally obfuscated within display page 202.
  • FIG. 6 is a flowchart illustrating an embodiment of a process to verify and index potential multimedia content data files. In some embodiments, the process of FIG. 6 is included in 306 of FIG. 3. The process may be implemented in web crawler 102.
  • In step 602, a pointer to a potential multimedia content data file is loaded from the list of pointers. In some embodiments, a URL is loaded from an XML file list. If it is determined in step 604 that the pointer points to a multimedia content data file, then control is transferred to step 606. In some embodiments this can be determined by examining the loaded page for XML tags.
  • In step 606, the web crawler 102 proceeds to index the multimedia content data file. In some embodiments, for each XML file, a data model is built. The data model “mirrors” the model of the XML file. For each tag in the XML file, a corresponding category is created in the data model. For tags that are sub-tags of other tags, the parent-child relationship is captured in the data model.
  • In some embodiments, a data model is a relational database. A table is created for each type of tag encountered. For example, if the XML file contains the tag <category>, a table is created for the <category> tag. Multiple occurrences of the same tag are entered as rows. For example, if both <category>Movie</category> and <category>TV</category> occur in the same file, two rows, one with value “Movie” and one with value “TV” are entered in the category table. To express parent-child relationship, an additional table or column can be created to express such a relationship. For example, if <subcategory>Drama</subcategory> is a sub-tag of <category>TV</category>, then the row which contains “Drama” in the subcategory table may have an additional column with the value being the ID of the row that contains “TV” in the category table.
  • By standardizing categories, a normalized index database 106 can be searched with the same search terms for different web sites 110, 112, and 114. For example, by searching for a date, a search engine utilizing the index database 106 can find television air dates, movie release dates and video production dates that all match the searched dates.
  • In step 608, for tag values or attributes that are pointers to potential multimedia content data files or URLs, the pointers or URLs are added to the XML file list for indexing.
  • FIG. 7 is a flowchart illustrating an embodiment of a heuristic to build a standard data model. In some embodiments, the process of FIG. 7 is included in 606 of FIG. 6. The process may be implemented in web crawler 102.
  • In step 702, if the data type of a table is a short string, then a potential mapping to test includes using the values as titles of the multimedia content, or genres of the multimedia content. For example, a title may refer to the title of a television series or the title of a movie. In some embodiments, the mapping is tested by matching known values. In some embodiments, if a short string cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping. In some embodiments, a mapping received via user input, e.g., via a user interface, is learned in the sense that the association between a particular element of the data model and an information type to which it maps, e.g., title, is stored and used to generate the appropriate mapping without further human interaction when building subsequently a data model of a subsequently processed multimedia content file from the same source.
  • In step 704, if the data type of a table is a long string or paragraph, then a potential mapping to test includes using the values as a description of the multimedia content. For example, a description may include a synopsis of a television episode or description of a movie. Within the description, proper names may be identified as authors, producers, directors, cast, or crew. In some embodiments, the mapping is tested by matching known values. In some embodiments, if a long string cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.
  • In step 706, if the data type of a table is a string of one or more characters included in a set of strings associated with a content rating, then a potential mapping to test includes using the values as a rating of the multimedia content. For example, a rating may include a Motion Pictures Association of America (“MPAA”) rating. In some embodiments, the mapping is tested by matching known values such as “G”, “PG, “PG-13”, “R”, and “NC-17.” In some embodiments, if a string cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.
  • In step 708, if the data type of a table is a date or time, then a potential mapping to test includes using the values as a release date or runtime of the multimedia content. Throughout this specification a “release date” refers to any date related to the multimedia content, for example an airdate for a television show, a release date for a movie, or a production date for a video. A runtime refers to the play length of the multimedia content. In some embodiments, the mapping is tested by matching known values. In some embodiments, if a date or time cannot be mapped and the heuristic fails, an exception is generated for human interaction and mapping.
  • Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.

Claims (21)

What is claimed is:
1. to 23. (canceled)
24. A method, comprising:
locating in a display page an element associated with a multimedia content;
identifying through automated processing of data associated with the display page a binary multimedia application code;
decompiling the binary multimedia application code;
using a sniffer to parse network traffic to identify a potential multimedia content data file by parsing HTTP traffic to recognize XML files by identifying XML tags using regular expressions or DOM traversal;
applying a heuristic to the potential multimedia content data file that associates a short string as a title; a long string as a description; a string included in a set of rating strings as a rating; and a date as a release date; and
using the application of the heuristic to build a data model of the potential multimedia content data file.
25. A method as recited in claim 24, wherein the element is a tag.
26. A method as recited in claim 24, wherein the element is an OBJECT tag or an EMBED tag.
27. A method as recited in claim 24, wherein the automated processing comprises one or more of the following: finding a URL in the element, decompiling a multimedia application code associated with the element, finding a script embedded in the display page, or monitoring a network communication associated with the display page.
28. A method as recited in claim 24, wherein the potential multimedia content data file comprises XML.
29. A method as recited in claim 24, wherein the potential multimedia content data file is contained within a script.
30. A method as recited in claim 24, wherein the potential multimedia content data file is external to the display page.
31. A method as recited in claim 24, wherein the potential multimedia content data file is stored externally to a system on which the display page resides.
32. A method as recited in claim 24, wherein the display page comprises HTML.
33. A method as recited in claim 24, wherein processing of data includes identifying through further automated processing of data a nested binary multimedia application code.
34. A method as recited in claim 24, further comprising using the data model to determine that the multimedia content is responsive to a query.
35. A method as recited in claim 24, further comprising using the data model to determine that the multimedia content is responsive to a search query.
36. A method as recited in claim 24, wherein to build the data model comprises applying a heuristic and generating an exception for human interaction if the heuristic fails.
37. A method as recited in claim 24, wherein the data model is implemented using a relational database.
38. A method as recited in claim 24, wherein the data model is implemented using a relational database such that each element type represents a table.
39. A method as recited in claim 24, wherein the data model is normalized when compared with a second data model associated with a second display page.
40. A method as recited in claim 24, further comprising using the data model to determine that the multimedia content data file is responsive to a query, and if it responsive to the query, returning data identifying the display page.
41. A system, comprising
a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
locate in a display page an element associated with a multimedia content;
identify through automated processing of data associated with the display page a binary multimedia application code;
decompile the binary multimedia application code;
use a sniffer, coupled to the processor, to parse network traffic to identify a potential multimedia content data file by parsing HTTP traffic to recognize XML files by identifying XML tags using regular expressions or DOM traversal;
apply a heuristic to the potential multimedia content data file that associates a short string as a title; a long string as a description; a string included in a set of rating strings as a rating; and a date as a release date; and
use the application of the heuristic to build a data model of the potential multimedia content data file.
42. A system as recited in claim 41, further comprising using the data model to determine that the multimedia content is responsive to a search query.
43. A computer program product, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
locating in a display page an element associated with a multimedia content;
identifying through automated processing of data associated with the display page a binary multimedia application code;
decompiling the binary multimedia application code;
using a sniffer to parse network traffic to identify a potential multimedia content data file by parsing HTTP traffic to recognize XML files by identifying XML tags using regular expressions or DOM traversal;
applying a heuristic to the potential multimedia content data file that associates a short string as a title; a long string as a description; a string included in a set of rating strings as a rating; and a date as a release date; and
using the application of the heuristic to build a data model of the potential multimedia content data file.
US13/904,485 2006-08-08 2013-05-29 Indexing multimedia web content Abandoned US20140006430A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/904,485 US20140006430A1 (en) 2006-08-08 2013-05-29 Indexing multimedia web content

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82170306P 2006-08-08 2006-08-08
US11/891,289 US8489609B1 (en) 2006-08-08 2007-08-08 Indexing multimedia web content
US13/904,485 US20140006430A1 (en) 2006-08-08 2013-05-29 Indexing multimedia web content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/891,289 Continuation US8489609B1 (en) 2006-08-08 2007-08-08 Indexing multimedia web content

Publications (1)

Publication Number Publication Date
US20140006430A1 true US20140006430A1 (en) 2014-01-02

Family

ID=48749165

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/891,289 Active 2028-08-27 US8489609B1 (en) 2006-08-08 2007-08-08 Indexing multimedia web content
US13/904,485 Abandoned US20140006430A1 (en) 2006-08-08 2013-05-29 Indexing multimedia web content

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/891,289 Active 2028-08-27 US8489609B1 (en) 2006-08-08 2007-08-08 Indexing multimedia web content

Country Status (1)

Country Link
US (2) US8489609B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893571A (en) * 2016-03-31 2016-08-24 乐视控股(北京)有限公司 Method and system for establishing content tag of video
CN108196847A (en) * 2017-12-29 2018-06-22 上海全成通信技术有限公司 A kind of web site contents assembly dissemination method for being suitable for multistage coordination operation
CN109889475A (en) * 2018-12-05 2019-06-14 苏州蜗牛数字科技股份有限公司 A kind of method and system for preventing TCP connection to be bypassed equipment sniff
WO2021128914A1 (en) * 2019-12-27 2021-07-01 苏宁云计算有限公司 Commodity short title generation method and apparatus

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676863B1 (en) * 2008-09-15 2014-03-18 Liberty Mutual Insurance Company Maintaining a relational database and its schema in response to a stream of XML messages based on one or more arbitrary and evolving XML schemas
US9589036B2 (en) * 2012-08-01 2017-03-07 Oracle International Corporation Query-level access to external petabyte-scale distributed file systems
US9547630B2 (en) 2014-04-08 2017-01-17 International Business Machines Corporation Identification of multimedia content in paginated data using metadata
US20150379023A1 (en) * 2014-06-30 2015-12-31 Outmobile Ltd. Method and system for embedding an enrichment application file into a host application file
CN109496295A (en) * 2018-05-31 2019-03-19 优视科技新加坡有限公司 Multimedia content generation method, device and equipment/terminal/server
CN111737629B (en) * 2020-07-02 2020-12-29 杭州海康威视数字技术股份有限公司 Data detection method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865573B1 (en) * 2001-07-27 2005-03-08 Oracle International Corporation Data mining application programming interface

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162691B1 (en) * 2000-02-01 2007-01-09 Oracle International Corp. Methods and apparatus for indexing and searching of multi-media web pages
US7260564B1 (en) * 2000-04-07 2007-08-21 Virage, Inc. Network video guide and spidering
US6578050B1 (en) * 2000-06-01 2003-06-10 Sprint Communications Company, L.P. Method and apparatus for implementing persistence in name services associated with computer system
US7222090B2 (en) * 2001-08-29 2007-05-22 Sedna Patent Services, Llc Method and system for parsing purchase information from web pages
US20040039757A1 (en) * 2002-08-26 2004-02-26 Mcclure William B. System, method, and apparatus for managing form-based business records
US20070239528A1 (en) * 2006-03-29 2007-10-11 Reachlocal, Inc. Dynamic proxy method and apparatus for an online marketing campaign

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865573B1 (en) * 2001-07-27 2005-03-08 Oracle International Corporation Data mining application programming interface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893571A (en) * 2016-03-31 2016-08-24 乐视控股(北京)有限公司 Method and system for establishing content tag of video
CN108196847A (en) * 2017-12-29 2018-06-22 上海全成通信技术有限公司 A kind of web site contents assembly dissemination method for being suitable for multistage coordination operation
CN109889475A (en) * 2018-12-05 2019-06-14 苏州蜗牛数字科技股份有限公司 A kind of method and system for preventing TCP connection to be bypassed equipment sniff
WO2021128914A1 (en) * 2019-12-27 2021-07-01 苏宁云计算有限公司 Commodity short title generation method and apparatus

Also Published As

Publication number Publication date
US8489609B1 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
US8489609B1 (en) Indexing multimedia web content
US9268856B2 (en) System and method for inclusion of interactive elements on a search results page
US8954416B2 (en) Method and apparatus for an application crawler
AU2005309617B2 (en) Method and apparatus for an application crawler
US7257585B2 (en) Method and system for augmenting web content
US7870475B2 (en) System and method for bookmarking and tagging a content item
US20100313131A1 (en) Search engine for video and graphics
US20220114211A1 (en) Video matching service to offline counterpart
US20110029541A1 (en) System and method for intent-driven search result presentation
US20040030681A1 (en) System and process for network site fragmented search
CN103838862B (en) Video searching method, device and terminal
US9378280B2 (en) Facilitating video search
CN103744987B (en) Video website media asset integrating method and system based on DOM tree matching
CA2353533C (en) Search engine for video and graphics
CN104573001A (en) Mobile terminal-based webpage data acqusition and classification method
CN110874254A (en) System including a computing device, readable medium, and method of generating a help system
US7296034B2 (en) Integrated support in an XML/XQuery database for web-based applications
US20090019011A1 (en) Processing Digitally Hosted Volumes
Hernández et al. An architecture for efficient web crawling
Chen Web evolution
Yang et al. Pavideoge: A Metadata Markup Video Structure in Video Search Engine
AU2012202541A1 (en) System and method of inclusion of interactive elements on a search results page
CA2587054A1 (en) Search engine for video and graphics

Legal Events

Date Code Title Description
AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL

Free format text: SECURITY AGREEMENT;ASSIGNORS:TRIBUNE COMPANY;CASTTV INC.;CHICAGO TRIBUNE COMPANY, LLC;AND OTHERS;REEL/FRAME:032125/0204

Effective date: 20131227

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: TRIBUNE DIGITAL VENTURES, LLC, ILLINOIS

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:041656/0804

Effective date: 20170201

Owner name: TRIBUNE MEDIA SERVICES, LLC, ILLINOIS

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:041656/0804

Effective date: 20170201

Owner name: CASTTV INC., ILLINOIS

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:041656/0804

Effective date: 20170201

Owner name: GRACENOTE, INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:041656/0804

Effective date: 20170201

AS Assignment

Owner name: GRACENOTE MEDIA SERVICES, LLC, CONNECTICUT

Free format text: MERGER;ASSIGNOR:CASTTV INC.;REEL/FRAME:053076/0338

Effective date: 20171222