Abstract:
A central asset registry and associated satellite registries tie Digital Asset Management (DAM) repositories and satellite repositories into a unified enterprise system. The system removes rights and asset relationship tracking from the DAMs and the satellites by gathering asset metadata tags and capturing digital asset rights and relationships between assets to improve speed, scalability, and flexibility in analyzing and traversing networks of rights and relationships of digital assets. The central asset registry and the satellite registries use a pluggable architecture and track and store multi-dimensional relationships as an asset hierarchy. The asset hierarchy and rights model depicts rights and relationship data between the assets and provides a flexible array of asset types and properties for addition of new assets, new asset types, and new rights without re-factoring the other data, nodes, and edges. The system uses asset metadata to create edge relationships between the assets. The combination of the satellite registries and the central asset registry facilitates queries and retrieval of the media assets.

Description:
TECHNICAL FIELD 
       [0001]    This technology relates to storing, tracking, accessing, and distributing media assets to viewers and business partners. More particularly, the technology relates to systems and methods to flexibly integrate multiple sets of Media Asset Management (MAM) repositories capturing the complex relationships between assets to provide rapid asset navigation, storage, and retrieval and to managing inbound and outbound intellectual property rights to media assets. 
       BACKGROUND 
       [0002]    Devices that capture and produce still images, video images, audio recordings, animations, and other types of audio, visual, and written content allow the creation of large collections of media assets, including digital media assets. These assets can be stored in a common storage location or distributed across a wide variety of storage locations. The assets may also be physically stored on a wide variety of devices such as tape or computer disk. As the number and size of media assets increases and the storage devices become large and varied, it is increasingly difficult to navigate through the assets to locate and access particular content of interest. 
         [0003]    Media companies have thousands of assets with complex, opaque, and multi-dimensional relationships to each other. The assets can be spread across many different institutions, facilities, and vendors. Broadcasters and those entities that deliver these assets must navigate these interconnections on a daily basis, and problems in one system can quickly transmit throughout the enterprise, impacting any number of other business processes in their wake. Understanding and managing relationships between assets is important for many key functions in the enterprise, including content delivery, licensing, advertising, and financial reconciliation. For example, advertising analysts need a clear, detailed understanding of asset viewing and license limitations to calculate values and expected returns on these assets. Yet, broadcasters struggle to understand and analyze the complex web of relationships that are fundamental to their daily operations. 
         [0004]    Media asset management involves many diverse disciplines and requires data of various kinds, from a wide array of sources. Multi-platform media companies harness and manage assets from disparate sources to deliver interactive and engaging user experiences. The existing processes for gathering asset metadata and capturing relationships between assets is often manual, ad-hoc, and frequently, difficult to repeat or update. Conventional commercial Media Asset Management (MAM) systems require inclusion of all metadata into a single MAM system to capture relationships. This limits the choice of system to a single vendor or suite. The result is a monolithic system that cannot change quickly as new asset types or business needs are introduced. 
         [0005]    Many current asset management tools and techniques focusing on relational databases lack both the necessary speed and flexibility to analyze and traverse networks of relationships in a media asset environment. 
         [0006]    Distribution of video content is rapidly expanding across multiple platforms, each with different display characteristics and ability to interact with related content. In order to program and distribute efficiently across multiple platforms, content distributors must be able to quickly select a collection of related assets and bundle them for distribution. 
         [0007]    The global nature of content creation and distribution combined with regional laws and restrictions has resulted in the need for local and regional satellite MAM systems that still provide a view into a global inventory. 
         [0008]    While the scope and inventory of content is becoming global, increasingly diverse business activities in content distribution, licensing, and other initiatives affected by media rights are also driving the creation of complex content distribution packages. The complex content distribution packages incorporate diverse content elements and content types consumed by end users in non-traditional manners, including non-linear video (e.g., interactive multimedia content), social media, and third-party content distributors. This explosion of distribution channels and content packaging results in the need for equally complex hierarchical intellectual property rights administration to support the many asset monetization opportunities. 
       SUMMARY 
       [0009]    The systems and methods of the claimed invention provide a central asset registry of media assets to tie together multiple Digital Asset Management (DAM) repository systems into a unified whole. By tying together multiple DAMs, the systems and methods of the claimed invention can optimize different DAMs for each major media asset type (e.g., video, recipes, images, writings, and the like). Implementing a centralized registry in accordance with the claimed invention allows the use of a pluggable system architecture. Digital Asset Management (DAM) systems are more general cases of Media Asset Management (MAM) systems. That is, Media Asset Management (MAM) systems include digital assets that are media assets. In this document, the terms are used interchangeably. 
         [0010]    Removing the tracking of asset relationships from the Media Asset Management (MAM) repository and creating a central asset registry elegantly addresses problems with gathering asset metadata (with tags, for example) and capturing relationships between assets and provides the necessary speed, scalability and flexibility to analyze and traverse networks of relationships in a media asset environment. 
         [0011]    The central asset registry tracks and stores the multi-dimensional relationships between the assets. Relationships such as show/series/episode “part of” hierarchies, inbound and outbound intellectual property rights inheritances, media “version” and “variant” derivation histories, “reference” relationships for ancillary materials, and ad-hoc grouping of assets into sets or containers all can be done in the central asset registry. Adding new relationship types is then just a change to the central asset registry, not to the individual MAM repositories. 
         [0012]    While MAM repositories are usually implemented using a relational database, the central asset registry, as a separate system, can be implemented in any desired technology. In fact, the tracking of relationship and identifier information is an ideal candidate for a graph database. The “graph” in graph database refers to relating objects together as a mathematical graph structure. The entire graph area of mathematics is dedicated to studying and representing relationships. Therefore, the use of a graph database for the central asset registry simplifies the expression of the asset hierarchy, enables flexibility in adding relationship types dynamically, allows rapid retrieval from the asset hierarchy, and opens up analytical opportunities not easily available from other database types. 
         [0013]    The systems and methods of the claimed invention use graph databases to implement a central asset registry as it relates to a media asset system, such as a multi-platform media company, including a cable television network. Likewise, over-the-top (OTT) and other forms of media distribution can also use the systems and techniques of the claimed invention. The systems implement a central asset registry in conjunction with one or more media asset repositories. Each repository that is referenced by the central asset registry is abstracted by a proxy service masking the underlying platform specifics and repository representation. Instead, a uniform record is created in the central asset registry. Needed assets types and supporting repositories can be added quickly and normalized at the registry layer. 
         [0014]    The claimed invention provides an analytical and visual depiction of relationship data. The systems and methods provide graph objects corresponding to the relationship data of media assets and categorize the graph objects that represent a network structure. Instead of storing all the asset metadata in one database along with the relationships, the asset metadata can be spread over multiple MAM databases with the relationships consolidated to a central graph database registry. The central asset registry of the claimed invention stores its data (and allows queries of the data) in the form of a graph, or network-like structure. The graph database of the claimed invention provides performance advantages over conventional relational databases and object-oriented databases. 
         [0015]    The claimed invention provides a system and method of organizing cable television and other non-linear media content into a hierarchical tree of nodes. Each node can represent media content, such as a television show, season, episode, segment, or other content. The system can navigate between nodes of the graph with a user interface. In one example embodiment, the system employs a property graph data model with nodes, relationships, properties, and labels. The nodes function as containers for properties. The system uses nodes to represent “things” or “entities” or other things with identities in the realm of media assets, such as cable television content and other non-linear media content including videos viewed on websites, social media, standalone kiosks, and the like. Every node can contain one or more “properties,” and the properties represent attributes or qualities of the nodes. The nodes connect or relate to one another with “relationships.” Each relationship has a name and a direction to help structure the overall data set and to lend semantic clarity to the data set to understand the context of each of the nodes. The system also attaches properties to the relationships to denote a quality of that relationship (e.g., a qualifier, a weight, etc.). The system also uses metadata (tags) to denote qualities such as a time stamp, or a version number, or the like. Further, the system uses “labels” to assign roles to the nodes. The system can attach one or more labels to each of the nodes to represent the role(s) the node plays within the cable television media asset hierarchy. Labels allow the system to index and group the nodes and to associate specific constraints with the nodes. 
         [0016]    The system user interface applications and associated services provide graphical data representing related content (assets) within the hierarchy of the assets consolidated from multiple MAM repositories. The services can be independent software components that can be called from other software components. For example, a service may look up information in a database and return metadata about an asset. Services are independent in that they are packaged and deployed separately to run on a given computer system. Services can call other services. The central asset registry itself and the various underlying repositories are exposed via a software service tier. The service tier provides a single programmatic interface to access asset information across all the integrated repositories. Requesting systems or users require no direct access to the underlying repositories, and security and access control can be enforced outside of the federated repositories. The service tier also abstracts the location of the repositories from the requesting agent. By providing uniform access to the data, the service tier is analogous to a Domain Name System (DNS) for assets. Physical retrieval of the asset instance is also supported at the service tier level supporting potentially long running asynchronous transfers of large files. 
         [0017]    The system user interface browses the hierarchy levels of related assets. For example, the related media assets can include an ordered sequence of television show seasons, episodes for each season, video segments for each episode, and the like. The services and user interface applications allow the system to traverse the assets by any relationship type such as rights inheritance, derived assets, versions, reformats, reference assets, and the show/series/episode hierarchies example above. Additionally, the node and edge flexibility of the central asset registry allows the creation of arbitrary containers of assets sets called collections and media carts. This approach provides the flexibility to add new node types and edges while maintaining backwards compatibility. Older systems using the data can continue to use the old relationships to traverse, while new systems can take advantage of the new relationships and node types (such as abstract episode, for example). 
         [0018]    Users navigate through the node tree by providing input to traverse to a sibling node (within the same level of the hierarchy) or to a parent or child node (to a different level of the hierarchy). Nodes of the hierarchy can be represented through an interface in a row of graphical content or images. 
         [0019]    The system and method of the claimed invention provides benefits over previous systems because it can store, manage and represent complex relationships of media assets used by broadcasters, including assets of similar types, of hierarchical relationships, between companies, and among people. The systems and methods of the claimed invention are modular and can be integrated with any number of MAM repositories, and new relationships and node types can be added at any time. The data corresponding to real-world relationships can be stored in a database in a structure corresponding to the relationships that exists in the digital media field, making manipulation, searching, and representation of the data in the database more efficient and effective. In some embodiments, the graph engine can include an ontological structure, which is represented in the same manner as the asset relationship data. This provides an analytics, querying, and data input platform to maximize the utility of the representations presented to a user and the overall computational power of the graph engine. The system is fast and scalable, and can thus analyze millions or billions of relationships quickly, accurately and flexibly. For example, query times for finding related items in a graph with 2.5 million nodes and 60 million edges averages under 5 milliseconds (ms), even when hosted on modest computer hardware. Conventional relational database queries that depended upon many “join” commands or many recursive joins can be performed many times faster on a graph database, as the traversal query time can be constant no matter how big the graph grows. Traversals in relational databases always get slower as the size of the database increases. 
         [0020]    Pulling the relationship information together into a central asset registry of the claimed invention provides a single system with a complete picture of the complex relationships between assets. The resultant database can be quickly searched, using many underlying database implementation technologies. Various database technologies can be used for the central asset registry including search indexes such as Elasticsearch or Solr, relational databases such as Oracle or MySQL, Lightweight Directory Access Protocol (LDAP) directories, or noSQL databases such as a graph database. 
         [0021]    Alternate, traditional approaches involving joins over multiple MAM relational databases or polling over multiple MAM systems all result in much more CPU-intensive and IO-intensive computations. The resultant relationship calculation using traditional approaches is more complex, slower, and more expensive from a resource perspective. 
         [0022]    Although large improvements in search complexity and speed are due to the centralization of the registry, the choice of central asset registry technology further improves search speed and performance. One example implementation discussed below involves the use of a graph database. Graph database traversal time can be a constant no matter how big the graph grows. This is known as O(1) behavior in “Big  0 ” notation for computational complexity. Traversals using other database technologies, such as relational databases like Oracle, always get slower as the size of the database increases. The best such databases can achieve is O(n) without an index (linear increase in time) or O(log n) at best with an index. 
         [0023]    The central asset registry of the claimed invention uses graph structures for semantic (meaning) queries with nodes, relationships, and properties to represent and store media asserts. Semantic queries enable the retrieval of both explicitly and implicitly derived information based on syntactic (rules), semantic (meaning), and structural information contained in data (media assets). Semantic queries deliver precise results or answer more fuzzy and wide open questions through pattern matching and digital reasoning. When querying a graph database of the claimed invention, the query processes the actual relationships between information (nodes) and infers the answers from the network of data. Each node in the graph database directly and physically includes a list of relationship-records that represents its relationships to other nodes. The relationship records are organized by type and direction. 
         [0024]    The central asset registry graph database of the invention associates information with names to each of the participating entities. The registry node in the graph database acts as a proxy to the real asset stored in one of (possibly) many repositories. This allows the system to have multiple asset repositories (e.g., still image repository, video image repository, recipe repository, etc.) and allows the system to recognize any of the assets across any of the repositories and makes the overall solution look and feel like a single repository. The use of a service layer provides an abstraction layer over the multiple asset repositories. When combined with the central asset registry, the service layer can then transparently direct asset retrieval to the appropriate asset repository. 
         [0025]    The central asset registry can maintain a variety of relationships. In addition to those described above, the central asset registry of the claimed invention can track inbound and outbound rights associated with assets over all the MAM repositories. Such rights tracking can be done by enhancing the central asset registry to track relationships between assets and a contract(s) that bears the rights for that asset. In one example implementation, rights are hierarchical. For example, the contract at the show level can be different from a contract at the series level, which can be different then a contract at the episode level. The rights are the composition of these contracts tied together. Having rights tied to the asset hierarchy makes it easier to resolve the rights at any given episode or any given time. The systems and methods of the claimed invention allow users to fold in restrictions as well. For example, inbound rights of a media distributor to a show can include all territories in perpetuity. In licensing the outbound rights to another entity, the outbound rights can be a subset of the inbound rights, such as an exclusive right to a Canadian broadcaster to show the episode in Canada for six months. These rights and restrictions can all be reflected as data on the graphs. 
         [0026]    The extensible nature of the central asset registry not only allows incorporation of multiple MAM repositories and inheritable attributes such as intellectual property rights, but also provides a way to add new relationship dimensions. For example, the system supports adding geographical relationships to quickly find episodes about restaurants in Chicago or locations within an arbitrary map polygon. 
         [0027]    The claimed invention includes a system and method to create a single, uniform, highly performant view of multiple federated repositories. One example implementation includes a system for managing digital assets in a distributed repository framework. The system includes a plurality of federated repositories connected to a network, and each of the plurality of federated repositories maintains digital assets with metadata tags. The system also includes a central registry of digital assets. The central registry of digital assets receives relationship information, asset identifiers and location information concerning the digital assets from the plurality of federated repositories based on the metadata tags of the digital assets when a digital asset is saved to one of the plurality of federated repositories. The central registry of digital assets stores the relationship information and location information of the digital asset to provide a comprehensive view of the digital assets in the plurality of federated repositories that make up the system. 
         [0028]    The system of the invention can include a central asset registry with an asset relation hierarchy that allows rapid navigation and read performance across assets held in multiple repositories. Likewise, the central asset registry can include an asset relationship hierarchy incorporating multiple media types. 
         [0029]    In one example system, the central asset registry of digital assets is a graph database. The graph database can include a registry node as a proxy to a corresponding digital asset stored in at least one of the federated repositories. The graph database objects can show a hierarchy of the assets. For example, the graph database can include graph objects corresponding to the relationship data of the digital assets and a categorization of the graph objects representing a hierarchy of the digital assets. Additionally, the graph database can include a property graph data model with nodes, relationships, properties, and labels in a hierarchy of the digital assets. 
         [0030]    A system for managing digital assets in a distributed repository framework in accordance with the claimed invention can include a central asset registry that includes a uniform record to each of the digital assets. 
         [0031]    Additionally, the system can include a pluggable architecture that provides a proxy of multiple repositories and media types. For example, in one embodiment, the plurality of federated repositories includes at least one pluggable digital asset management (DAM) repository. Further, the pluggable repository can be configured to house a single digital asset type to allow optimization for that asset type. The single digital asset type can be still images, videos, text, recipes, and the like. 
         [0032]    In one example implementation, the system for managing digital assets in a distributed repository framework can also include a proxy service masking underlying platform information to abstract the plurality of federated repositories and provide a single interface to the plurality of federated repositories. The systems of the invention have the ability to federate repositories and access to assets in disparate geographic locations, such as when the federated repositories are located in disparate geographic locations. 
         [0033]    In some implementations, the central asset registry includes a rights registry. The central asset registry receives rights information concerning the digital assets from the plurality of federated repositories based on the metadata tags of the digital assets when a digital asset is saved to one of the plurality of federated repositories. The relationship registry and/or rights registry is a pluggable architecture. 
         [0034]    The structure of the invention provides the ability to rapidly add new media types and relationships to other assets while scaling efficiently. For example, digital assets saved to one of the plurality of federated repositories can include a new relationship type of relationship information based on the metadata tag of at least one digital asset. Similarly, digital assets saved to one of the plurality of federated repositories can include a new asset type or new media type that includes relationship information and location information concerning the new media type digital asset based on the metadata tag of the at least one digital asset. The central asset registry updates the database(s) based on the new media type of asset and its relationship information. That is, the central asset registry receives the new media type relationship information and location information when the new media type digital asset is saved to one of the plurality of federated repositories and updates the comprehensive view of the digital assets in the plurality of federated repositories that make up the system. 
         [0035]    In one example embodiment of the invention, the system for managing digital assets in a distributed repository framework includes a service tier that provides a programmatic interface to access digital asset metadata across the plurality of federated repositories. Also, the system can include a digital asset service configured to read metadata tags in the digital assets stored in the federated repositories and provide the metadata tags to the central asset registry. 
         [0036]    The systems and methods for managing digital assets in a distributed repository framework of the claimed invention provide additional capabilities and performance not available with previous systems, both in terms of flexibility to integrate with other commercial systems and in the ability to optimize repositories and registries for each type of data. 
         [0037]    Just as a central registry can be used to integrate diverse repositories into a single overall MAM, another configuration of the invention uses a central registry to link together a hierarchy of satellite MAM systems in one overall MAM. This satellite and central registry system automatically assesses intellectual property rights and inventory related to large numbers of digital assets, including video assets and the like, stored in satellite MAMs where each satellite MAM includes one or more repositories and a local registry. The system recognizes the location of the repository (or repositories) in which the digital asset resides. The system utilizes a (web) service layer to create a local view of each satellite MAM as well as a unified view across all the multiple satellite MAMs. Each satellite MAM may contain one or more repositories appropriate for the various asset types as outlined above. Additionally, each satellite MAM includes a local registry integrating the local repositories and linked back to the central registry. For example, a recipe for a Brazilian chicken dish can be stored in a recipe repository in Virginia and/or another repository in Sao Paolo where the asset was created. The service layer and central registry brings the local asset registries and repositories together as a single, unified view, regardless of the type and location of the asset repository and asset registry. Thus, the central registry records the Brazilian chicken dish asset having local copies in a Virginia MAM and Sao Paolo MAM. 
         [0038]    The rights registry system associates an asset to a set of inbound and outbound intellectual property rights derived from the contract for that asset. Because rights are hierarchical, just like the assets, there may be a set of intellectual property rights associated at the show level, another set at the series level, and yet another at an episode level. The system determines the rights as the combination/composition of the hierarchies. The system ties the rights to the asset hierarchy to resolve the actual rights a user has in any given asset or at any given point in time. 
         [0039]    The system also folds in restrictions as well. A contract for a particular show may include inbound intellectual property rights to the system with restrictions on the outbound rights that can be granted. The satellite and central registry can reflect the rights and restrictions in a graph database or other suitable persistent store. For example, the graph database of the invention can concisely represent the intellectual property rights associated with the assets. The graph database abstracts the hierarchies into a network of relationships where any entity can be related to any other. Intellectual property rights are linked to assets, and restrictions and terms may be attributes on the graph edges linking the nodes. Restrictions and terms include territory, time ranges, and language. Intellectual rights may then be traversed to include restrictions such as “find all assets with non-allocated rights in Mexico for a given time frame.” 
         [0040]    The relationships of assets and intellectual property rights leads to a data network that can be navigated or traversed in the same hierarchy as the media, and any related information can be retrieved quickly from any starting point. Although other persistent database stores are possible, the flexibility and scalability of the graph database accurately represents intellectual property rights at each level of the rights hierarchies and at each level of the asset hierarchy. The graph structure of the relationships allows analysis of asset and market sectors, content creation and distribution partnerships, and other opportunities not evident with traditional databases, which are unable to scale to support the types of data volumes and flexibility required for modeling the rights relationships. As outlined above, a URI is used for identifying data resources and metadata, and a federated platform query accesses multiple types of data using that URI, regardless of the location and type of database in which the asset is stored. 
         [0041]    Satellite systems may be nested to form a hierarchy. An example is shown in  FIG. 12  where Satellite B  1151  might represent a regional European system which further supports Satellite B 1   1251  and Satellite B 2   1252  systems which might represent United Kingdom and Polish local systems. 
         [0042]    Performance enhancements over other available systems is enabled by a combination of nested, federated satellite systems (e.g. Satellite B  1151 ) with registries covering inventory, rights, and other data about local assets and a central registry providing the same information for all enterprise assets. The satellite systems provide a more local view of inventory and intellectual property rights. The central registry provides an enterprise view. Queries often can be satisfied at one of the nested satellite levels, precluding the need for a remote query to the central enterprise system. 
         [0043]    Another benefit of the approach using federated systems linked by a central registry is the ability to combine local inventories into a single global inventory. The central registry tracks where physical copies of the assets exist anywhere in the enterprise. Users requiring a copy of the physical asset may therefore pull a copy from the closest/fastest location. 
         [0044]    The invention for managing rights and distribution of digital assets in a distributed repository framework includes a plurality of federated repositories connected to a computer network, a satellite repository connected to the computer network, a central registry of digital assets, and a satellite registry of digital assets. Each of the federated repositories maintains enterprise digital assets with metadata tags, and the satellite repository maintains a local digital asset with metadata tags. The central registry of digital assets receives digital asset rights attributes, relationship attributes, asset identifiers, and location attributes concerning the enterprise digital assets from at least one of the federated repositories based on the metadata tags of the digital assets when a digital asset is saved to one of the plurality of federated repositories. The satellite registry of digital assets receives digital asset rights attributes, relationship attributes, asset identifiers, and location attributes concerning a local digital asset from the satellite repository based on the metadata tags of the local digital asset when a local digital asset is saved to the satellite repository. The central registry of digital assets registers the local digital asset as an enterprise digital asset upon receiving an indication that the local digital asset will be available throughout the enterprise, and the central registry of digital assets stores the digital asset rights attributes, the relationship attributes, asset identifiers, and location attributes of the digital asset to provide an enterprise-wide view of the digital assets in the federated repositories and the satellite repository that make up the enterprise system. 
         [0045]    The central registry can include a relationship registry and a rights registry, and the central registry can update these registries as a local asset is designated as an enterprise asset that will be available throughout the enterprise system. To speed up searches, the rights registry can include cached queries, flattened views of hierarchical data, and pre-calculated query values for retrieval and inclusion in a search index of the rights attributes. 
         [0046]    Additionally, the satellite registry of digital assets can record a global identifier of the enterprise asset upon receiving an indication that the local digital asset will be available throughout the enterprise system. 
         [0047]    Graph databases work well as the central registry and/or as a satellite registry (registries). A registry node can be a proxy to digital assets stored in the federated repositories and the satellite repository. The graph database of the rights registry can include graph objects corresponding to the rights information of the digital assets and a categorization of the graph objects representing a rights hierarchy of the digital assets. The graph database(s) can include a property graph data model with nodes, relationships, properties, and labels in a rights hierarchy of the digital assets. 
         [0048]    The central registry can include a uniform record of each of the digital assets and can automatically resolve intellectual property rights and distribution rights of digital assets stored in the federated repositories and the satellite repository based on the metadata tags of the enterprise digital assets and the local asset. The intellectual property rights can include inbound and outbound intellectual property rights, and the outbound intellectual property rights can include restrictions. Further, the automatic resolution of intellectual property rights and distribution rights includes tying the intellectual property rights to an asset hierarchy to resolve the intellectual property rights a user has in the digital asset at a point in time. 
         [0049]    In the systems of the invention, the central asset registry, the relationship registry, and/or rights registry can be pluggable between systems and system architectures. Additionally, the central registry can include an asset rights hierarchy for rapid navigation across digital assets in the federated repositories and the satellite repository. The central registry can include an asset rights hierarchy with multiple media types. Further, the repositories can be in different geographic locations. 
         [0050]    In the systems of the invention, when a digital asset is saved to the satellite repository, new and different rights types and rights information can be specified by metadata tag of the digital asset. 
         [0051]    The systems of the invention can also include a service tier that provides access to the metadata in all the repositories. For example, the service tier can provide a programmatic interface to access digital asset metadata across the federated repositories and the satellite repository that make up the enterprise. 
         [0052]    Additionally, the systems of the invention can also include a digital asset service that reads the metadata tags in the digital assets stored in the federated repositories and the satellite repository and provides the metadata tags to the central registry of digital assets. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0053]      FIG. 1  shows a generic system for registering assets and accessing multiple federated media repositories. 
           [0054]      FIG. 2A  shows a sample representation of a media asset hierarchy over one of many possible relationship dimensions. 
           [0055]      FIG. 2B  shows a sample representation of an example media asset registry entry used in accordance with the claimed invention. 
           [0056]      FIG. 3  illustrates a dynamic addition of a new asset type in the media asset hierarchy ontology structure of  FIG. 2A . 
           [0057]      FIG. 4  shows a dynamic addition of a new relationship type in the media asset hierarchy ontology structure of  FIG. 2A . 
           [0058]      FIG. 5  shows a central asset registry system deployed in a cloud infrastructure in accordance with the claimed invention. 
           [0059]      FIG. 6  is a sequence diagram showing one example of how assets can be added to the system and registered and how they may be subsequently accessed via an API interface. 
           [0060]      FIG. 7  shows a component drawing of a central asset registry system deployed in a single computing device. 
           [0061]      FIG. 8  shows a central asset registry system deployed in a data center in accordance with the claimed invention. 
           [0062]      FIG. 9  shows a component drawing of a central asset registry system deployed as a computing device in contact with a network of computing devices. 
           [0063]      FIG. 10  shows a block diagram of a rights system in accordance with the claimed invention. 
           [0064]      FIG. 11  shows an example system for registering assets and accessing multiple federated media repositories and satellite repositories and registries. 
           [0065]      FIG. 12  illustrates example satellite locations with their respective registries, repositories, and their connectivity and interaction with the central asset registry. 
           [0066]      FIG. 13  shows a process flow for an example system registering assets at satellite locations. 
           [0067]      FIG. 14  shows a process flow for an example system searching and retrieving assets at satellite locations. 
           [0068]      FIG. 15  shows an example intellectual property rights model used in the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0069]    The claimed invention provides a central asset registry system, implemented as a graph database. The central asset registry system provides a database and set of services to access aggregated information of distributed media asset sources. The central asset registry system maintains a list of assets and their relationships. The central asset registry provides end users and programmatic access the ability to efficiently query and retrieve assets across multiple repositories in multiple locations. The system allows an arbitrary number of underlying repositories to be represented and scaled effectively. 
         [0070]    The claimed invention also provides a pluggable architecture to provide extensibility and dynamic expansion as needed. The pluggable architecture supports parallel development by different teams as features can be implemented as separate components. Pluggable repositories may be custom-developed, commercial suites, centrally located, or may be geographically dispersed. Additionally, the pluggable architecture provides a defined interface to facilitate additional development. 
         [0071]    The claimed invention includes a scalable, graph-centric data storage and analysis system (i.e., graph engine instantiating the enterprise logic implemented as service wrappers around a graph database) as the central asset registry. The graph engine instantiates, manages, and stores complex networked (related) structures through the use of a relationship or “graph” database. The graph database stores and represents actors and relationships as graph structures, instead of table entries in a relational database. The data structure of the graph engine uses graph objects to represent the data, including nodes and edges. Each of the graph objects can be defined by and coupled with ontological categories of a particular ontology. In one embodiment of the invention, the ontology includes a cable television ontology—a “concept framework” that models cable television programming interaction as a set of interrelationships between MVPDs (multichannel video programming distributors) and shows. As will be discussed, utilizing data structures that are composed of graph objects, coupled with a particular ontology, allows the graph objects to be stored, combined, and represented in a semantically meaningful way, which facilitates data consistency, advanced analytics, and visualization of complex networks. 
         [0072]    At a top level of a multilevel storage hierarchy, a digital asset management (DAM) system is configured to provide management actions and decisions regarding the ingestion, annotation, classification, storage, retrieval, and distribution of digital assets. In one example embodiment of the claimed invention, the digital assets include media assets (media content) such as still images, video images, audio recordings, animations, and other types of audio, visual, and written content, and the DAM system can be termed a “media asset management system” (MAM). While recognizing differences between these types of systems, for simplicity and brevity, the term “repository” can be used to connote a system for managing a set of metadata about an inventory of digital assets. 
         [0073]    Likewise, an “asset” is a general term for a media entity such as an episode of a television show. Assets are hierarchical and may be a container for other entities. For example, a show titled “Chopped” could be an asset. A specific episode of that show titled “Fried Chicken Time” would also be an asset. An “abstract asset” is a term used to represent a grouping of the variations of a single media entity. For example, an abstract episode would represent a linear broadcast episode for a given show and series. Many variations of the abstract episode may exist, differing in format and editing to meet business requirements. 
         [0074]    “Variants” are concrete, actual implementations of the abstract episode that differ only in format. A low resolution and high resolution implementation of the same abstract episode would be considered variants of each other. 
         [0075]    “Versions” are concrete, actual implementations of the abstract episode that differ materially in the content, not just the format. For example, an implementation of an abstract episode that was edited for time would be a version. 
         [0076]    The graph engine manages a database that stores graph objects (media assets) that proxy media assets held in one or more media repositories. Each media repository holds detailed asset metadata and an inventory of asset instances. An instance is the actual media physical object. Examples of instances include image files of various formats, such as “jpeg,” “tiff,” or “bmp.” Examples of video instances include digital files of various formats such as “mov,” or “mp4.” Instances may be digital or analog and may be physically stored on a variety of media such as tape or computer disk. Instances may exist in multiple physical locations, such as one instance in a repository in data center A with another instance in a repository in data center B. A given asset may have many associated instances. 
         [0077]    A media registry can include many hundreds of millions or billions of graph objects. Repositories can be partitioned from a single storage medium or can be located alongside each other in one physical computer system or can be geographically separated in different computers, different buildings, different cities, and different countries. The graph objects in the registry may proxy assets in remote repositories (media DAMs) that allows for the federation of repositories. The remote repositories control access to their digital assets. With federated repositories, the size of the maintained data set can be effectively unlimited. 
         [0078]    The underlying detailed metadata for the assets can be located in the individual media repositories. The graph objects in the central asset registry act as proxies with identifiers that act as keys into the individual media repositories. In this manner, relationships between assets can be recorded in the graph database without having to import or replicate all the repository metadata. 
         [0079]    Repository and registry underlying technology may be replaced over time, allowing each module to be horizontally and vertically scaled as needed. The pluggable architecture prevents lock-in to any given vendor solution or technology. 
         [0080]    A registry can include a set of media assets (graph objects) that include an ontology, that is, a formal naming and definition of the types, properties, and relationships of the media assets. The ontology can have a general purpose facility for defining and refining categorical structures and other ontological elements. The ontology does not need to be dedicated to a particular ontological domain, such as cable television. These facilities are also used to define the overall system ontology, which categorizes the objects used in the implementation of the graph engine itself and can be used to build other ontological structures. 
         [0081]    Repositories (DAMs) can contain different ontological structures, but in one embodiment of the invention, every repository contains a base ontology. In another embodiment of the invention, the repositories can include different media asset types. For example, one repository can include still image objects, another repository can include video objects, and another repository can include recipes. To simplify boot-strapping of the system, the base ontology can correspond to a small set of pre-defined unique identifiers. The overall system ontology can use these identifiers the same way in every DAM, to identify the built-in ontological categories and other ontology-related objects that are required by the system. As a minimum, each DAM repository just needs an asset identifier, which can be used by the central asset registry to link the registry with the given repository. 
         [0082]    The system uses metadata to describe the media assets in the DAM repository. For example, the metadata can describe the asset contents, the location of the asset, the means of encoding/decoding, the history of the asset, ownership, access rights, and the like. In one example embodiment, the system uses the Dublin Core schema of vocabulary terms to describe the assets. In another example embodiment, the system uses the PBCore metadata standard as a set of specified fields in the database to catalogue and manage the assets. 
         [0083]    The central asset registry has been implemented in several different physical configurations. For example,  FIG. 5  shows a central asset registry  501  in a cloud deployment to an Amazon Web Service (AWS) cloud environment. This cloud deployment diagram ( FIG. 5 ) can be directly mapped to the generic distributed repository framework shown in  FIG. 1 . For example, the Asset Registry Service  570   a ,  570   b ,  570   c  (collectively shown as an Auto-Scaling Group  570 ) in  FIG. 5  corresponds to the Registry Service Layer  170  in  FIG. 1 . Similarly, the Neo4j Cluster  502  in  FIG. 5  is (are) the database(s) housing the relationship registry  151 , the rights registry  153 , and the other registry  155  shown in  FIG. 1 . The Neo4j master slave clustering architecture (cluster  502 ) is a set of database instances working together in a master/slave relationship. The cluster management is managed by the Neo4j nodes  505 ,  506 ,  507  via a TCP connection between the nodes. The nodes  505 ,  506 ,  507  handle self-nomination to master and settle consistency checks between the nodes. Lastly, the Service Endpoint  577  in  FIG. 5  corresponds to the Service Entry Point  177  in  FIG. 1 . 
         [0084]    The cloud deployment shown in  FIG. 5  leverages Amazon Web Service (AWS) cloud built-in environment functions. The Auto-Scaling Group  570 , Elastic Load Balancing  520 ,  540 , and Route  53  DNS  530  are all available as components of the AWS cloud environment. For example, auto-scaling group  570  relates redundant copies of a service and/or application over one or more availability zones (essentially different data centers). In the cloud deployment of  FIG. 5 , the claimed invention can leverage the inherent capabilities and features of the AWS cloud environment. Likewise, in other deployment environments, the central asset registry of the claimed invention can capitalize on the capabilities and features of those deployment environments as well. 
         [0085]    For example,  FIG. 8  shows a deployment of a central asset registry  801  to a corporate data center environment. The corporate data center deployment can be on physical computer systems, virtual systems, or a combination of the two. This corporate data center deployment ( FIG. 8 ) can be directly mapped to the generic distributed repository framework shown in  FIG. 1 . For example, the Asset Registry Service  870   a ,  870   b , (collectively  870 ) in  FIG. 8  corresponds to the Registry Service Layer  170  in  FIG. 1 . Similarly, the Neo4j Cluster  802  in  FIG. 8  is (are) the database(s) housing the relationship registry  151 , the rights registry  153 , and the other registry  155  shown in  FIG. 1 . The Neo4j master slave clustering architecture (cluster  802 ) is a set of database instances working together in a master/slave relationship. The cluster management is managed by the Neo4j nodes  805 ,  806 ,  807  via a TCP connection between the nodes. The nodes  805 ,  806 ,  807  handle self-nomination to master and settle consistency checks between the nodes. Lastly, the Service Endpoint  877  corresponds to the Service Entry Point  177  in  FIG. 1 . 
         [0086]    These example deployments are representational only, and the central asset registry can be deployed to a number of physical configurations, including a combination of those described above. For example,  FIG. 7  shows a central asset registry  701  deployed to a single physical computing device (system  700 ). The web application container  770  of  FIG. 7  holds an implementation of the registry service layer  170 , DAM Service 1   141 , DAM Service 2   142 , DAM Service 3   143 , DAM Service n  144 , composition service layer  160 , and event generator  180  depicted in  FIG. 1 . Additionally, the computer system  700  holds an instance of registry database  750 , including database engine  710  and database files  720 . The registry database  750  includes an implementation of the relationship registry  151 , rights registry  153 , and other registry  155  shown in  FIG. 1 . In  FIG. 7 , the registry database  750  shown is the Neo4j graph database deployed as a single node. Other databases can be used in a similar fashion. The registry service layer contained in the web container  770  can query the database either via a REST service call or via a native API call  730 . 
       Central Asset Registry System for Media Assets 
       [0087]    As shown in  FIG. 1 , a central asset registry system  100  of media assets in accordance with the claimed invention separates the registry  101  from the various DAMs (repositories)  131 ,  132 ,  133 ,  134 . The registries  151 ,  153 ,  155  together provide a central logical place to hold a list of all the assets spread over the various repositories  131 ,  132 ,  133 ,  134 . The resultant framework integrates multiple DAMs (repositories) and registries through a service layer allowing abstraction of the actual underlying repositories and registries. The architecture allows new DAMs or registries to be plugged into the framework seamlessly. Existing DAMS and registries can be refactored or switched to entirely new technologies without impact to the overall system. 
         [0088]      FIG. 9  provides a simplified component drawing of a system  900  with a central asset registry  901  of media assets separated from the various DAMs (repositories)  131 ,  132 ,  133 ,  134 , such as a deployment that can be implemented on a single computer system. The central asset registry  901  of media assets shown in the system  900  of  FIG. 9  incorporates a registry service layer  970  (akin to registry service layer  170  in  FIG. 1 ) as well as a relationship registry  951 , rights registry  953 , and other registry  955 . The central asset registry  901  of media assets of  FIG. 9  also includes a composition service layer  960  (akin to composition service layer  160  in  FIG. 1 ) as well as DAM services  941 ,  942 ,  943 ,  944  to service the media DAMs  131 ,  132 ,  133 ,  134 . The resultant central asset registry  901  of media assets provides a centralized registry as well as services to access the federated media DAMs  131 ,  132 ,  133 ,  134 . Other configurations of the components are also possible, such as cloud deployments, data center deployments, and the like, as described above. The components described with regard to  FIG. 9  can also be hosted on separate computer systems to allow for independent clustering and scaling. 
         [0089]    Returning to  FIG. 1 , the pluggable modules  102  on the right side of  FIG. 1  represent the actual implementations of each registry and DAM (repository). For example, Media DAM 1   131  can be a repository for image assets implemented by a third party vendor in their data center. Media DAM 2   132  can be a repository of video assets implemented as a custom system in a cloud data center, such as in a SaaS DAM. Similarly, Media DAM 3   133  can be a repository of recipe assets stored in an on-premise system data center. Any number of DAMs can exist and can be distributed geographically and/or implemented to focus on specific asset types (e.g., still image assets, video assets, recipe assets, and the like). The framework allows separate scaling of individual DAMs to match business needs as each repository grows. While  FIG. 1  shows four DAMs  131 ,  132 ,  133 ,  134 , the number and type of DAMs can be scaled and customized based on content stored in each DAM, location of each DAM, vendor and business relationships, and other factors. 
         [0090]    As further shown in  FIG. 1 , the registries  151 ,  153 ,  155  together provide a central logical place to hold a list of all the assets spread over the various DAMs (repositories)  131 ,  132 ,  133 ,  134 . The resultant framework integrates multiple DAMs (repositories)  131 ,  132 ,  133 ,  134  and registries  151 ,  153 ,  155  through a service layer  103  allowing abstraction of the actual underlying DAMs (repositories) and registries. The architecture allows new registries to be plugged into the framework seamlessly. Existing DAMS and registries can be refactored or switched to entirely new technologies without impact to the overall system. 
         [0091]    Multiple registries can exist that focus on different asset relationships. One Relationship Registry  151  may associate assets in a hierarchical inheritance structure such as shows/series/episodes. Another Rights Registry  153  may relate the inbound and outbound intellectual property rights to each asset. Yet another registry  155  may relate assets to various geographic locations. Other registries can also be used to relate assets to business partners. The registries  151 ,  153 ,  155  can be implemented separately or combined. Also, they may be deployed in a number of combinations such as cloud or on premise. The number and types of registries is expandable and can be based on many factors in addition to the examples listed. 
         [0092]    The left side of  FIG. 1  depicts the framework  103  built over the actual DAMs (repositories) and registries. The framework  103  includes several layers of services. At the lowest layer, a DAM service exists for each actual Media DAM (repository). For example, DAM Service 1   141  is a service implementation over Media DAM 1   131 , DAM Service 2   142  is a service implementation over Media DAM 2   132 , DAM Service 3   143  is a service implementation over Media DAM 3   133 , and DAM Service n  144  is a service implementation over Media DAM n  134 , and so on for all the actual repositories. This service abstraction layer allows any given repository to be replaced by a new vendor implementation, custom system, or even refactoring of an existing repository without disrupting the other DAMs (repositories). The DAM services  141 ,  142 ,  143 ,  144  can be optimized for the particular type of media asset stored in each of the DAMs to provide optimal interface service and support. 
         [0093]    A composition service layer  160  exists over each DAM service  141 ,  142 ,  143 ,  144 , abstracting the interface to each DAM (repository)  131 ,  132 ,  133 ,  134 . In this way, new DAMs can be introduced without changing the service entry point  166  to the composition service layer  160 . The composition service layer  160  can include asset entity services, instance retrieval services, and search and view capabilities. Consumers of the composition service layer  160  do not have to change when new DAMs are introduced or lower interfaces (such as DAM services  141 ,  142 ,  143 ,  144 ) change. The composition service layer  160  provides a single entry point (composition layer service entry point  166 ) to access assets from any DAM (repository). 
         [0094]    The registry service layer  170  provides a single entry point  177  to access information from any of the underlying registries  151 ,  153 ,  155 . The use of the registry service layer  170  allows introduction of new registries or changes to implementations of existing registries without impacting consumers of the service via the registry service entry point  177 . All assets from the various repositories have at least an entry in the relationship registry  151 . The list of assets in the relationship registry  151  therefore ties all the repositories  131 ,  132 ,  133 ,  134  together. 
         [0095]    The framework  103  provides an event generator  180  to publish events whenever asset metadata, relationships, or physical instances change in the system  100 . The event generator  180  provides a fast, reliable, and scalable message queuing service. Subscribers can access queues and topics to exchange data using point-to-point or publish and subscribe patterns. The event stream  185  is available for any other system to be notified of changes in any aspect of the data contained in one of the pluggable modules (registries  151 ,  153 ,  155  or DAMs  131 ,  132 ,  133 ,  134 ). 
       Central Asset Registry Method for Media Assets 
       [0096]      FIG. 1  shows a central asset registry system  100  for registering and accessing assets over multiple federated media repositories (DAMs  131 ,  132 ,  133 ,  134 ). As further shown in  FIG. 2B , upon ingest, each media asset (registry entry)  290  is added to the central asset registry  101  and assigned a unique identifier  280  via the central asset registry service  170 . Detailed metadata about the asset and the physical asset itself is placed in a repository (DAMs  131 ,  132 ,  133 ,  134 ). That unique identifier  280  is used to “relate” the asset  290  to a position in an asset hierarchy  200  (shown in  FIG. 2A ). The repository (DAMs  131 ,  132 ,  133 ,  134 ) maintains the detailed metadata about the asset  290  and the instance inventory. Multiple repositories (DAMs  131 ,  132 ,  133 ,  134 ) can exist distributed over multiple geographic areas or separated by asset type. A central asset registry  101  is used to hold the identifiers  280  of assets over all repositories (DAMs  131 ,  132 ,  133 ,  134 ) and holds the relationships between the assets  290 . The central asset registry  101  can have a sparse set of metadata including reference to the underlying repository (DAM  131 , for example) with asset and instance location. In the central asset registry  101 , location of asset repository  270  and instance entities are represented by a URI and other descriptive metadata. 
         [0097]    The central asset registry  101  can be implemented as a graph database to efficiently track asset relationship and identifier information.  FIG. 2A  shows an example media asset hierarchy  200  as a directed graph. In general, graph edges or relationships can be “directed” or “undirected.” A directed relationship points explicitly from one node to another. For example, a directed edge may point from a “Show”  205  to a “Series  1 ”  215  with edge type “Has Part”  210 . An undirected edge can be used to point from one peer to another, without implying a hierarchy. For example, an undirected edge may point from one variant of an episode to another or from one actor to another. 
         [0098]    In more complex ontologies, category nodes must be organized into a categorical structure, such as a hierarchy, where categories “lower” in the hierarchy represent specializations (or descendants) of categories “higher” in the hierarchy. For instance, the node that represents the category of “Show”  205  might have several more specific descendant categories that represent specific kinds of shows, including different “Series” of the “Show”  205 , such as “Series1”  215  and “Series n”  216 . To model this using the graph object structure discussed above, the graph engine can include as part of the built-in ontology an edge category called “Has Part”  210 . In practice, an edge that refers to the “Has Part”  210  as its ontological category can link, for example, the “Show” category node  205  with a descendant category node, such as “Series1”  215 , to indicate that the “Series1” category node  215  is a sub-type of the “Show” category node  205 . The semantic meaning of edges  210  that are marked with the “Has Part” category can be part of the built-in ontology of the graph engine, and can be how the ontological machinery is boot-strapped. 
         [0099]    Another example can be the addition of “Pilots”  317  and “Specials”  319  as new asset types as shown in the asset hierarchy  300  in  FIG. 3 . The use of a graph database allows new asset types to be dynamically added without refactoring the rest of the system or any clients that access the graph engine. Client modules or downstream systems that don&#39;t need to know about “Specials” can continue to use the system without change. 
         [0100]    Using media assets as a graph allows dynamic addition of new relationship types, such as the ability to relate people to media assets and include their role such as “Host,”  444  “Producer,”  446  and so forth as shown in the asset hierarchy  400  in  FIG. 4 . Relationship types may be added dynamically without refactoring the rest of the system or any clients that access the graph engine. 
         [0101]    Integration to the system  100  shown in  FIG. 1  is via the Registry Service Entry Point  177 . The Composition Layer Service Entry Point  166 , and the Event Stream  185 . The implementation of the module integrating to the service entry points  177 ,  166 ,  185  might be a graphical user interface, an API call from another system, a module polling a watch folder, or other mechanism. Calls using an API interface, for example, typically involve REST or SOAP protocols via HTTP over TCP/IP networks. Interface via a graphical user interface might involve a web browser-based application, a thick client installed on a workstation, or other user interface technology. 
         [0102]    A media database of the claimed invention can include people, who are actors, directors, producers, and the like. The media database also includes movies, videos, television shows, still pictures, and other “productions” that are viewed by an audience. Many actors appear in many television shows, and many video productions. The actors&#39; roles can be defined and tracked as well. Additionally, television shows can include a number of different episodes, and actors may star in a single episode or in many episodes over many seasons. 
         [0103]      FIG. 6  is a sequence diagram showing one example of how assets may be added to the system  100  and how they may be subsequently accessed via an API interface. For asset creation, the client module  699  calls the Composition Service Layer  160  to create an episode asset  601 , which directs the call to the Video Repository Service  142  to create the episode asset  603 . The Video Repository Service  142  provides a service wrapper over the actual Video Media DAM  132  to create an episode asset DAM record  605 . The Video Media DAM  132  is responsible for holding the detailed metadata about the new asset and returns a local DAM identifier  607  to the Video Repository Service  142 . The Video Repository Service  142  now calls the Registry Service Layer  170  to record  609  the new asset in the central asset registry  101 . The Registry Service Layer  170  calls the Relationship Registry  151  to record  611  the new asset in the graph database, returning  613  the global registry identifier back up the call chain to the Video Repository Service  142 . Lastly, the Video Repository Service  142  calls  615  the Event Generator  180  to send out an Asset Creation event  617 . The Event Generator  180  is responsible to distribute the event to any listeners of the Event Stream. 
         [0104]    Once an asset is created, instances of the asset may be added to the system. Instances are the actual physical objects corresponding to the asset. For an episode, for example, the instance may be an MP3 video file. In the example of  FIG. 6 , the client module  699  calls the Composition Service Layer  160 , which directs the call the Video Repository Service in much the same sequence as when creating an asset. The main difference is in this case the Event Generator would send out an Instance Creation event to indicate a physical copy of the asset has been added to the system. 
         [0105]    Once the asset is created in the repository, the instance (or physical asset files) can be ingested. During this process, the client module  699  calls the Composition Service Layer  160  to ingest a video instance  641 , which directs the call to the Video Repository Service  142  to create the video instance  643 . The Video Repository Service  142  provides a service wrapper over the actual Video Media DAM  132  to create an instance DAM record  645 . The Video Media DAM  132  is responsible for holding the detailed metadata about the new instance and returns a local DAM identifier  647  to the Video Repository Service  142 . The Video Repository Service  142  now calls the Registry Service Layer  170  to record  649  the new instance in the central asset registry  101 . The Registry Service Layer  170  calls the Relationship Registry  151  to record  651  the new instance in the graph database, returning  653  the global registry identifier back up the call chain to the Video Repository Service  142 . Lastly, the Video Repository Service  142  calls  655  the Event Generator  180  to send out an Instance Creation event  657 . The Event Generator  180  is responsible to distribute the event to any listeners of the Event Stream. 
         [0106]    Similar mechanisms exist to modify and delete assets and asset instances. Again, multiple protocols and transports may be used. 
         [0107]    Once the assets and instances have been added, the system can be queried to retrieve metadata, relationships, or the actual instance files. As an example, the sequence at the bottom of  FIG. 6  depicts retrieving a list of assets related to a given episode. In this example, when a user commences a search for an asset, the client module  699  calls the Registry Service Layer  170  for a list of related assets  681 . The Registry Service Layer  170  in turn calls the Relationship Registry  151 , retrieves the information  683 , and returns the list of related assets back to the client  685 . The list of related assets can include assets stored in many of the distributed repositories. The client query to the central asset registry  101  looks up descriptors and identifiers of the content, and returns an identification of the related assets, their respective locations, and their relationship to one another based upon matching metadata descriptors. The system returns pointers to the related assets to provide a list to the user. The identification can be provided as thumbnail images of the asset, size, location, rights, and the like. The user can then select and receive a digital asset or set of assets from the list. In this fashion, the graph data is accessed by accessing a node by index and then traversing through the set of relationships. To further improve performance of the system, search results can be cached to avoid repeated accessing operations of the same content. 
       Rights Registry and Rights Model 
       [0108]    Just as the repositories can be modular, allowing use of multiple repositories optimized for different media types, the central asset registry can be extended to multiple registry types while maintaining a centralized registration of assets from all repositories, thereby maintaining the enterprise ID and relationships between assets. For example, the central registry may be expanded by adding another registry focused on intellectual property rights. Such a rights registry includes an intellectual property rights model and can be extended by plugging other modules into the framework further defining relationships between assets such as asset hierarchies, intellectual property rights in and rights out, talent roles, and other aspects of the features and restrictions that are tied to each asset. 
         [0109]      FIG. 10  shows two sample implementations of a rights registry as an extension of the central registry in the framework of the claimed invention. In one configuration the rights registry  153  acts as an operational data store holding a copy of the intellectual property rights as rights objects and relationships to media assets in a database  1004 . 
         [0110]    In this configuration, an external rights system  1002  acts as a system of record for intellectual property rights and may be a custom implementation or a commercial system. As a system of record, the external system is typically responsible for overall contract and intellectual property rights management and supports complex reporting and planning surrounding inbound and outbound intellectual property rights. For example, if a given asset has been licensed exclusively to a third party in Canada for  2017 , the asset is not available for further licensing in Canada during that timeframe. 
         [0111]    The intellectual property rights current state data is fed from the external rights system  1002  into the central rights registry  153  via the registry service layer  170 . By feeding a copy of the intellectual property rights into the rights registry  153 , the MAM system can make current state intellectual property rights known throughout the enterprise. 
         [0112]    Another implementation of an intellectual property rights registry depicted in  FIG. 10  omits the external rights system  1002  (shown by dashed line around external rights system  1002  in  FIG. 10 ). In this configuration, the rights registry  153  (shown in  FIGS. 11 and 12 ) becomes the authoritative system of record for intellectual property rights in the central registry  101 . As a system of record, the rights registry  153  is responsible for tracking the inbound and outbound intellectual property rights for a given asset. The difference in this configuration is that the rights registry  153  would have fewer reporting and analytic capabilities than the external rights system  1002 . The ability to configure the rights registry  153  with or without an external system of record  1002  provides great flexibility to integrate to other systems optimized for contract and rights management. In this configuration the rights registry  153  would provide a minimum set of intellectual property rights management, just as if the data was fed in from the external system  1002 . 
         [0113]    The rights registry  153  can be configured in a number of ways to improve performance and optimize capabilities of the system. For example, the rights registry  153  includes dependent structures built off the rights objects to increase query speed and to handle the query load. These dependent structures can be cached queries, flattened views of hierarchical data, and pre-calculated values stored in  1008  and kept up to date by the rights registry  153 . The structures  1008  therefore allow fast retrieval and inclusion in a search index for an application that needs rights information  1010 . Intellectual property rights associated with the asset hierarchy and inheritance can be used to evaluate the actual rights for any given asset. For example, the rights assigned to a series would need to be considered when determining the rights of a specific episode in the series. Precalculating the results of such inheritance can dramatically speed up a query for rights on a specific asset. 
         [0114]    When the rights objects and relationships  1004  are stored in a graph database, the rights relationship attributes themselves lend to extremely fast queries. Attributes such as license duration, country, music license details, can be added to the relationships and automatically considered by the query, filtering out unwanted or otherwise unavailable assets. Complex queries involving graph traversal including impact of restrictions are substantially faster than those implemented on traditional relational databases as outlined above. 
         [0115]    Likewise, given that system access and reads to the rights data in an operational system far outweigh the inserts and/or updates of the rights data, the system can store the data in a flattened manner. That is, if the rights of a series are changed, the corresponding rights of all children would be changed at the same time. This optimization extends the time to perform update and inserts, but speeds up reading the rights for a given asset. The flattened rights can also directly feed a search index build process. 
         [0116]      FIG. 15  shows an intellectual property rights model used in this invention. While there are existing systems that model intellectual property rights, those systems either focus on a small set of intellectual property rights groups with limited extensibility or require all the assets to be held in a single vendor system. The modular approach to the central asset registry  101  allows inclusion of other registries such as the rights registry  153  (shown in  FIGS. 11 and 12 ). Implementing the rights registry  153  as a graph in a graph database allows expansion of rights groups to cover any or all intellectual property rights groups simply, without a system outage. As shown in  FIG. 15 , these groups might start with exhibition rights  1503  and be expanded to cover other complex groups such as derivative rights  1505 , promotion rights  1507 , merchandising rights  1509 , and licensing rights  1511 . These major intellectual property rights groups are further divided into subgroups. For example, derivative rights  1505  is subdivided into format rights  1513 , rights to edit  1515 , and rights to complete  1517 , forming a tree structure. 
         [0117]    By implementing both the asset relationship registry  151  and the rights registry  153  (shown in  FIGS. 11 and 12 ) in a graph database, assets may be associated to any rights group at any level with inheritance. Restrictions on the rights are kept in the graph database edges, allowing very fast, complex queries when determining asset availability for any given purpose. Lastly, as discussed in the next section, using distributed satellite registries (e.g., satellite A registry  1113  from  FIG. 11 ) allows rights information to be queried locally, reducing network traffic and the size of the queried dataset. 
       Satellite and Central Registry System 
       [0118]      FIG. 11  shows an example satellite and central registry system  1100  according to the claimed invention. The satellite and central registry system  1100  takes the initial distributed repository framework and the asset hierarchy databases and distributes the registry and repositories (for example, a registry and one or more repositories can be distributed geographically among satellite offices as shown in  FIG. 12 ). In  FIG. 11 , satellite A registry  1113  and satellite B registry  1163  both access central asset registry  101  via registry service entry point  177 . Registry service entry point  177  can also provide access to a quick search indexing mechanism implemented in central registry  101 . In accessing the central asset registry  101 , a user in satellite A can view enterprise assets through the lens of the central asset registry as if the assets were in a single repository (i.e., media DAMs  131 ,  132 ,  133 ,  134  appear as one, as described above). 
         [0119]    The arrangement of a satellite registry and central registry provides several innovations to improve performance. For example, assume satellite A  1101  in  FIG. 12  is geographically separated from the central asset registry  101 . A local user of satellite A  1101  can search for and retrieve local-only assets without any communication to the central registry  101 . Only when a search needs to expand to other satellites would a query be directed to the central registry  101 . While the central registry  101  has a record of all enterprise assets, the satellite A registry  1113  has a record of all local-only assets and only those enterprise assets that have a local copy in the satellite MAM. By limiting communication from the satellite  1101  to the central registry  101  to queries involving enterprise assets, the traffic to the central registry  101  is greatly reduced. Also, since enterprise users can only see enterprise assets, there is no chance local-only assets might be mistakenly used by other satellites. 
         [0120]      FIG. 12  shows one example implementation of the invention where satellite A  1101  can be São Paulo, where local users create and store digital assets in satellite A  1101 . The actual physical media assets are stored in satellite A MAM  1107  repository and are registered in satellite A registry  1113 . Assets that will never be used outside the satellite A  1101  are registered as local-only media assets  1103 , whereas assets to be used throughout the enterprise are registered as enterprise assets  1105 . The process of registering enterprise assets  1105  (as opposed to local-only assets) involve a registration to the central asset registry  101  via the central registry service access point  177  as described below. 
         [0121]    Satellite B  1151  is another satellite system, which may be geographically or logically separated from satellite A  1101 . Satellite B local-only media assets  1153  are not visible to other satellites or to the central registry  101 . Only upon promotion to enterprise assets do the satellite assets get registered to the central registry  101  and become visible to other satellites and the enterprise as a whole. 
         [0122]    Since they are registered to the central asset registry  101 , the enterprise media assets  1105  may be used outside satellite A  1101  in other enterprise locations, including satellite B  1151 . Satellite A  1101  registers these enterprise assets  1105  with the enterprise for users in the rest of the enterprise to become aware of and have access to these enterprise media assets stored in satellite A  1101 . Upon registering the enterprise media assets  1105  with the central asset registry  101 , users throughout the enterprise have information and knowledge regarding the assets. The once local media assets are now enterprise media assets. However, there is no requirement for satellite A  1101  to register all assets (local media assets  1103  and enterprise media assets  1105 ) with the central registry. Satellite A  1101  can selectively register assets in this fashion. The assets not registered with the central registry remain local-only media assets  1103 . 
         [0123]    Although a new asset may be registered first in a satellite and then with the central registry as an enterprise asset, this is just one of several ingest paths. For example, a new asset may be registered first with the central registry and then physically stored in DAMs  131 - 134 . Copies of the physical asset may or may not be also sent to the satellites. 
         [0124]    By use of the satellite registry service layers  1111  and  1157  (shown in  FIG. 12 ), the actual implementation of the satellite registries  1113  and  1163  can vary from custom code to commercial products. The flexibility to integrate with third party implementations of satellite registries is a major advantage of the invention. The invention provides benefits over previous systems as it includes both features from the central registration of enterprise assets, and local registration of local assets. The system realizes benefits of a global view of enterprise assets courtesy of the central registry, yet satellites however are free to have their own assets as well. Further, by using a system wrapper on the service (for example, on satellite A registry service layer  1111  and on satellite B registry service layer  1157 ), the system can be vendor agnostic and plug in other registries, just like it plugs in DAM vendors. 
         [0125]    In contrast, other asset registry systems either don&#39;t allow a federated registry with a distinction between local and enterprise assets, or they require all registries to lock into the same vendor. The approach used in this invention provides both federation and the ability to integrate with various vendor products. 
         [0126]    In the claimed invention, each satellite (satellite A  1101 , satellite B  1151 , and the like) can have their own satellite registry (satellite A registry  1113 , satellite B registry  1163 , and the like). As outlined above, enterprise media assets  1105  can physically remain in satellite A MAM  1107 , but metadata describing the enterprise media asset  1105  is registered in central asset registry  101  giving location information, rights information, and other information regarding the enterprise media asset  1105 . In this fashion, a query against the central registry  101  or against any of the satellite registries shows an integrated view of the assets held in any of the federated MAMs (e.g.,  1107  and  1171 ) and DAMs. The view from the central registry  101  can see all enterprise assets. The view from the satellite registries  1113  and  1163  can see both the enterprise assets and those local to the given satellite. Similarly, satellite A physical enterprise media assets held in satellite A MAM  1107  can be copied to other locations (e.g., Media DAM  1   131 , Media DAM  2 ,  132 , Media DAM  3 ,  133 , Media DAM n,  134 , Satellite B media asset management system  1171 , and the like). The enterprise physical media assets can then be distributed throughout the enterprise in various MAMs, with central asset registry  101  tracking the assets. 
         [0127]    The hybrid approach of centrally registering enterprise assets while allowing local-only assets in the satellite registries  1113  and  1163  allows the satellite systems to vary from autonomous to tightly integrated with the central registry  101  while a service layer abstraction (e.g.  1111  and  1157 ) provides the ability to integrate with different vendor systems (vendor agnostic). 
         [0128]    In these systems, much of the workflow for satellite systems revolves around local assets and doesn&#39;t require communication to the central registry  101 . However, when an enterprise asset view is needed, the satellites make a simple query to the central registry, saving the need to concatenate queries from each of the satellite systems. 
         [0129]    Additionally, the hybrid approach to registration allows the enterprise to provide the asset where it is used most, eliminate it where it is not used saving storage costs, store it where storage charges are least expensive, optimize for network traffic by positioning physical copies near the consumer, and take advantage of other storage and access variables that can change over time such as storage latencies. With the central asset registry  101  tracking the location and rights of enterprise assets, the system knows the asset exists and where the asset exists (along with other information from the asset metadata), and can access it accordingly. The resulting system provides faster queries, quicker access to physical media, and is more responsive to load variations. 
         [0130]    Using satellite A registry  1113 , a user in satellite A  1101  has a view of the local media assets  1103  in satellite A  1101  as well as the enterprise media assets  1105  physically in satellite A and all other enterprise media assets stored in other locations of the enterprise (e.g., DAMs  131 ,  132 ,  133 ,  134 , and satellite B media asset management system  1171 ) via the registry service access point  177  to access the central asset registry  101 . Likewise, users can search the enterprise for assets in a similar fashion. 
         [0131]    As outlined above, the registry service layer  170  provides a single entry point  177  to access information from any of the underlying registries  151 ,  153 ,  155  (and now satellite A registry  1113 ). The use of the registry service layer  170  allows introduction of new registries or changes to implementations of existing registries without impacting consumers of the service via the registry service entry point  177 . All enterprise assets from the various repositories, including enterprise media assets  1105 , have at least an entry in the central relationship registry  151 . The list of assets in the relationship registry  151  therefore ties all the repositories  131 ,  132 ,  133 ,  134 , satellite A  1101 , and satellite B  1151  together for those assets designated to be enterprise assets. 
         [0132]    Although  FIG. 12  shows only two satellites, satellite A  1101  and satellite B  1151 , the configuration is logically extensible to any number of satellites all accessing the central asset registry  101  via register service access point  177 . Further, each satellite can include more than one registry. Satellite B  1151 , for example, could include additional satellites B 1  and B 2  (reference numerals  1251  and  1252 , respectively), each with their own registry  1263 ,  1264  as keeping track of other (local) assets within satellite B 1   1263  and within satellite B 2   1264 . The satellites and satellite registries can be configured based on asset characteristics, rights attributes of the assets, physical storage characteristics, and other business considerations. In all configurations, the central registry  101  is authoritative for enterprise assets, and the satellite registries are authoritative for local-only assets. 
         [0133]    Registration of an Asset in a Satellite and Central Registry 
         [0134]      FIG. 13  shows a process flow and program function of the registration of a media asset in a satellite in one example of the claimed invention. Registration includes creating a metadata record for the asset in a media DAM (or MAM) and optionally, recording the asset in the central registry for enterprise assets. Ingest of the physical media asset is a separate process where the physical asset is associated with metadata record. In this example of the claimed invention,  FIG. 13  focuses on the registration of the asset metadata record as opposed to the ingest of the physical asset. 
         [0135]    The process begins when a user creates an asset metadata record in block  1301  at a satellite location, such as satellite A  1101   FIG. 12 . The satellite A media asset management system  1107  receives a command to create a metadata record. 
         [0136]    In block  1305 , satellite A then registers the MAM asset with satellite registry  1113  as a local asset. If the asset is a local-only asset, as determined in block  1309 , the process then stops at block  1399 . 
         [0137]    However, if the asset is determined to be an enterprise asset (that is, not a local-only asset) in block  1309 , the process continues in block  1313  to register the asset with the central registry  101  using registry service access point  177 . As shown in  FIG. 12 , central asset registry  101  uses the registry service layer  170  to update the relationship registry  151  and rights registry  153  in block  1315  characterizing the enterprise media asset  1105  residing in satellite A  1101 . The rights information is either entered by the user in the satellite MAM  1101 , determined by inheritance in the central registry  101 , or fed from an external rights system  1002 . If determined by inheritance, the asset hierarchy is traversed upwards till a rights object is found. For example if adding an episode, the parent series or show would be checked for rights assignment. Any rights found in the series or show could then be applied to the episode. In block  1316 , the updated information is stored and indexed to facilitate retrieval. The central asset registry  101  can also update other registries, including Other Registry  155 , based upon characteristics of the enterprise media asset  1155 . A global ID is returned from the central registry  101  to the satellite registry  1117 . 
         [0138]    Once the central registry step is complete, the process continues in block  1317  by recording the global ID obtained from the central registry  101  in the satellite registry  1113 . The process then stops at block  1399 . Although the process shown in  FIG. 13  block  1301  describes an action from an interactive user, registration may be triggered by any of a typical set of automation such as API call, batch processing, message queueing, or other common automation technique. 
         [0139]    Search and Retrieval of a Physical Asset in a Satellite Registry 
         [0140]      FIG. 14  shows a process flow and program function of the retrieval of a digital asset in one example of the claimed invention. For simplicity, Satellite B  1151  from  FIG. 12  will serve as an example for the asset request process. In block  1404 , a user (e.g., local server  1185 ) accesses a media asset management system  1171 . The local server can be a part of a media asset management system as shown by reference numerals  1185  and  1109  in  FIG. 12 , or the local server can be a different access point to the overall system. 
         [0141]    As shown in block  1408 , users can request a digital asset by searching for an asset or by displaying a list of available assets based on user-chosen criteria. The user (such as local server  1185 ) uses APIs provided by the media asset management system  1171  to initiate a query. 
         [0142]    In block  1412 , the media asset management system  1171  in turn queries the satellite registry  1163  to get a list of assets known to the satellite matching the user query parameters. The system can return an asset list that displays asset metadata characteristics including asset title, thumbnails (for graphical assets), asset size, asset location, IP rights, and other asset criteria that can be specified by users. Satellite B Registry  1163  has a view of all local media assets  1153  as well as an access point (via registry service access point  177 ) that provides access to the central asset registry  101  for an enterprise-wide view of all enterprise media assets, including those enterprise media assets  1155  that reside in satellite B  1151 , enterprise media assets  1105  that reside in satellite A  1101 , and enterprise media assets that reside in other satellite locations and in other media DAMs, including Media DAMs  131 ,  132 ,  133 ,  134 , and the like. The requesting location (that is, satellite B  1151 ) receives the location information and the rights constraints of the requested digital asset from the central asset registry  101 . The located media assets can then be retrieved by satellite B if they reside in other locations. 
         [0143]    When a requested digital asset is listed in the satellite B registry  1163  as a local media asset  1153 , local server  1185  can retrieve the local media asset  1153  using satellite B media asset management system  1171  as shown in block  1420 . The satellite B media asset management system  1171  can request authentication credentials (e.g., passwords, certificates, biometric access controls, and the like) from the requesting user prior to retrieving and providing the local digital asset to the requesting user in block  1424  and stopping the process in block  1428 . 
         [0144]    In the case in block  1416  that a requested digital asset is not listed in the satellite B registry  1163  as a local media asset  1153 , local server  1185  via asset management system  1171  can query the satellite B registry  1163  to in turn query the central registry  101  using registry access point  177  as shown in block  1440 . In block  1444 , the central registry  101  checks to determine if the requested digital asset in listed in the central asset registry  101  as an enterprise asset. Since the central registry  101  has a global view of inventory and metadata for enterprise assets, the local satellite registry  1163  can be updated with global inventory information via a single, efficient call. That is, the system does not have to poll the various other satellites in response to individual requests to present a global view. 
         [0145]    If the requested digital asset is not listed in the central registry as an enterprise media asset (e.g., the requested digital asset does not exist, was not found, could not be identified, and the like), the process stops at block  1490 . 
         [0146]    If the requested digital asset is listed in the central registry as an enterprise media asset, the process continues to block  1468 . 
         [0147]    For available enterprise media assets, in block  1468 , the central registry  101  reports the location information, the security constraints, and the IP rights constraints of the requested digital asset back to the satellite registry  1163  which in turn passes the information to the local server  1185  via the media asset management system  1171 . 
         [0148]    If the local media asset management system  1171  already has a copy of the physical asset in the proper format and the MD5 (or other cyclic redundancy check) of the local file matches the metadata values returned from block  1468 , the process can continue on to block  1476 . The caching of the physical assets locally combined with CRC values to verify the file is currently dramatically reduces the load on the network, especially for large media files. 
         [0149]    If the local media asset management system  1171  does not have a local copy of the physical asset, a list of inventory locations retrieved as part of the block  1468  data is presented to the local user server  1185 . The local server may then either access the physical file remotely (as in retrieving from a remote cloud storage locations) or request a copy as shown in block  1472 . The request involves the local media asset management system  1171  calling the service layer entry point  166  (see  FIG. 11 ) to retrieve an authoritative copy from the relevant DAM  131 ,  132 ,  133 , or  134 . 
         [0150]    In block,  1476 , the located enterprise media assets can then be retrieved by satellite B if they reside in other locations. The central asset registry  101  and/or the media asset management system satellite B media asset management system  1171  can request authentication credentials (e.g., passwords, certificates, biometric access controls, and the like) from the requesting user prior to retrieving and providing the local digital asset to the requesting user in block  1476 . 
         [0151]    Since the physical asset for media files may be quite large, various technologies are leveraged in moving a copy of the physical asset from DAMs  131 - 134  to the local media asset management system  1171 . Another innovation of the system is the ability to leverage third party tools that specialize in the error free movement of large media files. 
         [0152]    Should the physical local asset or the other copies located elsewhere not be in the required format, the local media asset management system  1171  can initiate a transcode of the physical asset. Such a new physical asset may be held as a local-only asset in the satellite  1151  or may be go through the registration process described previously in  FIG. 13 . 
         [0153]    Lastly should the physical asset be copied to Satellite B MAM  1171 , the central registry  101  is updated as shown in block  1480  and the process stops in block  1490 . By updating the central registry  101  when a copy of the physical asset is sent to Satellite B, the central registry maintains a global inventory of all copies of the physical asset. 
         [0154]    In some embodiments of the invention, the requesting server/asset management system may know in advance that certain authentication information is needed to receive the enterprise media asset. In those cases, passwords, certificates, and other authentication information can be provided along with the original request for the enterprise media asset. 
         [0155]    Previous systems required the management of the physical asset and IP rights to be managed by the same system or vendor architecture. By separating the management of the physical asset and the rights into separate systems along with using service wrappers like the satellite registry service layer  1111  and  11157 , users are not locked into a single vendor&#39;s product or architecture. Each satellite MAM repository ( 1107  or  1171 ) and satellite registry ( 1113  or  1163 ) can be a different commercial product made by different companies, for example. The central asset registry pulls the assets together and is authoritative for relationships between enterprise assets and IP rights of enterprise assets. 
         [0156]    The central asset registry can manage enterprise assets in a variety of media asset management systems, including satellite locations. Assets in the satellite locations can be registered as local media assets outside the view of the enterprise, or can be registered as enterprise media assets and tracked and utilized as a part of the enterprise under the watch of the central registry. The system does not need to move physical assets from satellite locations to other databases or repositories. The central asset registry provides an enterprise-wide view of all the enterprise assets. In this manner, system network traffic is minimized, there are fewer calls to access and move assets, and the assets can be stored most efficiently. 
         [0157]    The creation of a central asset registry separate from the individual repositories is key in providing a pluggable architecture with the ability to plug in different repositories by geographic location, asset type, or other considerations as business needs change. The use of a graph database for the central asset registry offers optimized speed and flexibility to traverse relationships and add new relationship types.