US20030125976A1 - Rights expression system - Google Patents

Rights expression system Download PDF

Info

Publication number
US20030125976A1
US20030125976A1 US10/298,222 US29822202A US2003125976A1 US 20030125976 A1 US20030125976 A1 US 20030125976A1 US 29822202 A US29822202 A US 29822202A US 2003125976 A1 US2003125976 A1 US 2003125976A1
Authority
US
United States
Prior art keywords
rights
rel
type
layouts
layout
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/298,222
Other versions
US7177843B2 (en
Inventor
Mai Nguyen
Joseph Fung
Duc Tran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Contentguard Holdings Inc
Original Assignee
Contentguard Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/046,695 external-priority patent/US7085741B2/en
Application filed by Contentguard Holdings Inc filed Critical Contentguard Holdings Inc
Priority to US10/298,222 priority Critical patent/US7177843B2/en
Assigned to CONTENTGURAD HOLDINGS, INC. reassignment CONTENTGURAD HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FUNG, JOSEPH ZHUNG YEE, NGUYEN, MAI, TRAN, DUC
Publication of US20030125976A1 publication Critical patent/US20030125976A1/en
Application granted granted Critical
Publication of US7177843B2 publication Critical patent/US7177843B2/en
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • the present invention relates to rights expression systems for controlling use of digital works and other items.
  • the present invention is directed to rights expression systems that facilitate creation and/or modification of rights expressions in a rights expression language based on one or more schemas.
  • a Rights Management System is utilized to specify the usage rights for content, or other things and to enforce the usage rights.
  • content is used broadly herein and includes digital works such as music, audio files, text files, books, reports, video, multimedia, pictures, executable code, or any combination thereof.
  • Pay-per-view may require the user to pay a fee each time content is viewed.
  • a Subscription paradigm may allow subscribers who pay monthly to download a number of songs per month.
  • a Superdistribution paradigm may encourage the free and widespread distribution of digital content, such as audio or video clips, that can only be opened a limited number of times.
  • a Rights Management system not only protects content, but it also enables content owners to manage the sale and use of their content by means of licenses. Licenses include rights expressions to articulate usage rights and to associate usage rights to a content. Licenses may be specified for different stages during the life cycle of digital content. For example, when digital content is released to a distributor, licenses may be specified by content owners to limit distribution of the digital content to a particular region or a period of time, or to restrict how content may be repackaged. Of course, licenses themselves must be protected as well since they are a controlling facet determinative of how content is used. Typically, licenses are digitally signed by the issuers so that their integrity and authenticity may be verified before being interpreted. Before being signed, a license is known as an unsigned license.
  • Licenses may also stipulate terms and conditions applied to the rights offered by content owners. For example, a license to support a Subscription paradigm may require that the user pay $10.00 monthly to download up to 10 songs per month. A license to support a Pay-per-View paradigm may require the user to pay $5.00 to play a movie. A more dynamic license may specify approval from an online approval service before usage to the digital content is granted. Licenses must accommodate the flexible business rules that help generate sales for content and ensure that content owners are compensated rightfully for the use of their content.
  • a rights expression is a syntactically and semantically correct language construct, based on a defined grammar that conveys rights information. Licenses written in a Rights Expression Language (hereinafter “REL”) can support multiple rights granting paradigms, ranging from simple to more complex, since the REL provides the syntactically and semantically correct construct and grammar for describing rights information. Rights information may include rights and conditions concerning the content.
  • REL Rights Expression Language
  • An example of a REL is XrMLTM which allows a clearly defined way to structure, describe, and interchange rights data. Rights expressions written in XrML may be understood by different systems, enabling interoperability between these systems. Of course, XrML is merely one example of a REL and other RELs may also be used.
  • XML schema is an ongoing effort by the W3C to describe the structure of conforming XML documents, including provisions for defining data types.
  • An XML schema may describe the structure and terms provided by a REL.
  • an instance of an XML schema called “Core”, may define a rights expression called “grant” to include four different types, namely, “principal”, “right”, “asset”, and “condition”. This expression stipulates that the indicated principal is granted the stated right over associated content under the given conditions.
  • the schema may also be extended to include new terms that are appropriate to a specific industry or rights granting paradigms. It is the extensibility of XML schema that empowers the REL to be adapted to any current, or new rights granting paradigms, and any industries.
  • a music company may seek to adopt the grammar specified by the XML schema using its own vocabulary. The music company creates an extension of this schema, called “S1”, defining a new principal called “subscriber”, a new right called “play”, a new asset called “music content X0”, and a new condition called “online”. The music company may then create expressions such as “any subscriber can play music content X0 online”.
  • a second music company who allows downloads may define yet another extension, called “S2”, to include a right called “download” for building expressions such as “any subscriber can download music content X0”, assuming the grammar defines the condition to be optional.
  • S1 extends the original schema Core, enabling it to use any definitions provided by Core.
  • S2 may use definitions provided by both S1 and Core.
  • the above exemplary Core schema is described using XML Schema syntax in FIG. 13.
  • the Core schema basically defines a grant that includes four different types: principal, right, resource and condition in the present example.
  • a rights expression system for facilitating creation and/or modification of rights expressions in a rights expression language (REL) based on one or more schemas.
  • the rights expression system comprises one or more selectable layouts, each layout corresponding to a rights granting paradigm.
  • Each layout comprises one or more type selection components, each type selection component being adapted to present one or more REL terms, and one or more input components associated with the one or more REL terms which are invoked based on a selected REL term, the one or more input components allowing input of a parameter required by the selected REL term.
  • the rights expression system also includes a data engine that generates rights expressions in proper REL semantics defined by the one or more schemas based on the selected layout and parameter inputted.
  • the type selection components and input components may be type selectors and input forms, respectively, that are implemented in a graphical user interface.
  • a method for creating and/or modifying rights expressions in a rights expression language (REL) based on one or more schemas comprises the steps of providing one or more layouts, each layout corresponding to a rights granting paradigm, selecting at least one of the one or more of layouts, providing one or more type selection components associated with the selected layout, selecting at least one of the one or more type selection components, providing one or more REL terms associated with the selected type selection components, selecting at least one of the one or more of REL terms, providing at least one input component associated with the selected REL term, inputting parameters required by the input component, and generating a rights expression in proper REL semantics defined by the one or more schemas based on the selected layout and parameters inputted.
  • the type selection components and input components may be type selectors and input forms, respectively, that are implemented in a graphical user interface.
  • FIG. 1 is a block diagram of the rights expression system in accordance with one embodiment of the present invention.
  • FIG. 2 is a schematic diagram of an implementation of the rights expression system of FIG. 1 in accordance with one embodiment of the present invention.
  • FIG. 3 is an example distribution layout in accordance with one embodiment implemented in a GUI.
  • FIG. 4 is an example certificate layout in accordance with one embodiment implemented in a GUI.
  • FIG. 5 shows an example rights template generated by the certificate layout of FIG. 3.
  • FIG. 6 shows an example type selector in accordance with one embodiment implemented in a GUI.
  • FIG. 7 shows an example input form in accordance with one embodiment implemented in a GUI.
  • FIG. 8 is a flowchart of an example process for facilitating creation and/or modification of rights expressions in accordance with one embodiment of the present invention.
  • FIG. 9 is a flowchart of an example process for specifying conditions that are defined in the rights expression language and its extensions using a type selector.
  • FIG. 10 is a flowchart of an example process for creating a terms dictionary and a transformer based on the Rights Expression Language, the extensions, and application profile.
  • FIG. 11 is a flowchart of an example process for parsing a rights template and transforming its content to a textual description for display on the GUI.
  • FIG. 12 is a flowchart of an example process for token replacement.
  • FIG. 13 is an example schema upon which the rights expression language may be based.
  • FIG. 14 is a schematic illustration of an item ticket that may be used in implementation of the present invention.
  • Rights Management systems can be applied to digital content and other items, such as services, goods, and the like.
  • rights and conditions can be associated with any physical or non-physical thing, item, object, class, category, service, or other items for which access, distribution, execution, or other use is to be controlled, restricted, recorded, metered, charged, monitored or otherwise managed in some fashion.
  • a Rights Management system can be used, for example, to specify and enforce usage rights for any item such as content, service, software program, goods etc., and under what conditions.
  • an item ticket can be used to associate usage rights with the item.
  • a license or other rights expression is associated with the item ticket 200 , illustrated in FIG. 14, with a ticket specification that points to or otherwise indicates the item ticket.
  • the item ticket 200 can be protected with some crypto algorithm or other mechanism for preventing processing or rendering of item ticket 200 except in accordance with an associated, license.
  • the item ticket 200 with the security mechanism unlocked, can be a human readable or computer readable coupon, a code, a document, or the like.
  • the phrase “item ticket” refers to any tangible or intangible indication of an item.
  • the item ticket specifies one or more items and thus, usage rights and conditions can be associated with any item including, objects, classes, categories, and services, for which use, access, distribution, or execution is to be controlled, restricted, recorded, metered, charged, or monitored in some fashion as previously noted.
  • the item ticket 200 can be prepared by specifying an item reference 202 and any post license conditions 204 that restrict redemption of the item ticket 200 .
  • the item ticket 200 can be linked to the item through the item reference 202 .
  • the term “linked” as used herein refers to any type of association, such as a description, a pointer, or the like.
  • the item ticket 200 can include a unique code associated with an item through a database record. When the code is presented to a vendor, the database is searched and the corresponding item can be delivered. Item ticket 200 can also include a human readable description of the item and any post license condition 204 not yet satisfied such as certain location or time the item ticket 200 may be redeemed.
  • a rights expression system is desirable which provides features and capability beyond generic XML editors.
  • a rights expression system that provides guidance on the semantics of a REL and its extensions is desirable for allowing the item owner, the rights holder, or another authorized party, to create and modify licenses more easily and accurately.
  • This may be attained in accordance with the present invention by providing a rights expression system, an embodiment of which is described herein, for facilitating creation and/or modification of rights expressions in a REL that is based on one or more schemas.
  • FIG. 1 is a schematic diagram of the rights expression system 1 in accordance with one embodiment of the present invention which may be used for facilitating creation and/or modification of rights expressions in a REL based on one or more schemas.
  • the rights expression system 1 includes plural layouts 2 , each layout corresponding to a rights granting paradigm.
  • each layout 2 is constructed specifically for a rights granting paradigm to allow users to simply input information associated and/or required for the rights granting paradigm as described below.
  • Each of the collection of layouts 2 have associated syntax and semantics of the rights expression grammar so that the user of the rights expression system 1 does not have to know such grammar and the desired rights expression can be created and/or modified easily.
  • each layout 2 since each of the collection of layouts 2 is constructed to properly represent the rights granting paradigm, each layout 2 requires the user to enter only certain specific information required by the rights granting paradigm. The rest of the detailed rights expression grammar necessary to generate a meaningful and valid license are generated automatically by the rights expression system 1 . This ensures that the generated rights expression is valid with respect to the selected rights granting paradigm.
  • each of the layouts in the collection of layouts 2 serves as a starting point for generating rights expressions in proper REL semantics, focusing the user on the desired rights granting paradigm and guiding the user through the rights expression creation and/or modification process.
  • Each layout 2 preferably includes plural type selection components such as type selectors 3 .
  • each type selector 3 is adapted to present one or more REL terms that can be selected by the user.
  • each of the layouts 2 also includes plural input components such as input forms 4 that are associated with the one or more REL terms.
  • the input forms 4 are invoked corresponding to a REL term that is selected by the user, the input forms 4 allowing input of a parameter required by the selected REL term.
  • the type selector 3 and the input forms 4 of the rights expression system 1 are implemented with a graphical user interface (hereinafter “GUI”) to facilitate input of the parameters. Examples of such GUI implementations of the type selector 3 and the input forms 4 are shown in FIGS. 3, 4, 6 and 7 discussed below.
  • GUI graphical user interface
  • the rights expression system 1 of FIG. 1 also includes a data engine 5 that generates rights expressions 6 .
  • the rights expressions 6 are generated in proper REL semantics defined by the schemas of the REL based on the selected layout 2 , the type selectors 3 used, and the parameters inputted into the input forms 4 .
  • FIG. 5 illustrates a REL rights expression 35 that is generated by the rights expression system 1 which is in proper REL semantics, and in this case, is expressed based on the XrMLTM schema.
  • the rights expressions 6 generated is also used by the data engine 5 to generate rights templates 7 .
  • This allows generation of rights templates that correspond to common rights expressions that may be used in one or more layouts 2 .
  • the generated rights templates 7 can then be stored in a database or the like so that they can be retrieved and modified by the user of the rights expression system 1 to quickly and easily create valid licenses or other rights expressions.
  • the generated templates 7 thus allows the user to simply modify a small portion of the rights expression, such as the principal for example, to generate the proper license rather than having to create new rights expressions from the beginning for use in a license.
  • rights template may also be used in an automatic process to create licenses. For example, a rights template for creating a certificate may have been created for a subscription paradigm.
  • a subscription service retrieves the rights template for creating a certificate and fills it with the user's identity to produce a completed certificate.
  • the work of producing rights expressions for use in a license is attained using a command line interface or an Application Programming Interface (herein after “API”) instead of a GUI.
  • API Application Programming Interface
  • FIG. 2 is a block diagram of the rights expression system 1 of FIG. 1 in accordance with one embodiment of the present invention which enables the creation and/or modification of rights expression of an REL based on one or more schemas, both FIGS. 1 and 2 being referred to herein for clarity.
  • the rights expression system 1 includes a collection of layouts 2 for the most commonly used rights granting paradigms.
  • the collection of layouts 2 may be located in layout storage device such as a local hard drive (not shown) or the like which is managed by the layout manager 11 .
  • each of the layouts may be registered with the layout manager 11 so that the desired layout can be readily retrieved and used in the manner intended.
  • the layout manager 11 of the present embodiment is also adapted to facilitate the addition of new layouts that are customized for a particular rights granting paradigm.
  • This allows the rights expression system 1 of the present invention to be extensible to accommodate new rights granting paradigms and further allows the user to quickly adapt to business needs.
  • the addition of layouts is attained by the layout manger 11 so that new layouts can be added to the rights expression system 1 without recompiling the rights expression system 1 .
  • the rights expression system 1 also includes a rights template editor 12 that allows editing of the rights templates 7 by the user as previously described, the rights templates 7 being generated based on rights expressions 6 .
  • a rights template editor 12 that allows editing of the rights templates 7 by the user as previously described, the rights templates 7 being generated based on rights expressions 6 .
  • the rights template editor 12 brings up the rights expressions 6 contained in the selected layout 2 .
  • the rights template editor 12 allows the user of the rights expression system 1 to select each editable part of the rights expressions 6 to modify it and produce a rights template.
  • new rights templates may be created by selecting a layout and the created rights templates may be later modified using the rights template editor 12 .
  • a respective button or link may be provided on the selected layout 2 which invokes one or more type selection components such as the type selector 3 .
  • the type selector 3 allows the user to select the type of the rights expression, for instance, Principal, Right, Resource and Condition.
  • each type selection component is preferably adapted to present one or more REL terms that are associated with the selected type. For example, if the Right type is selected, REL terms corresponding to the Right type such as “view”, “print”, “distribute”, etc. are presented.
  • one or more input components such as the input forms 4 associated with the selected REL terms are invoked to allow input of parameters that are required by the selected REL term.
  • the rights expression system 1 is implemented in a GUI, both the user's input and their textual descriptions may be returned to the selected layout for display.
  • a rights template 7 containing rights expressions 6 written in the REL and its extensions is generated.
  • implanted in the first line of the rights template 7 is the identification of the layout 2 which facilitates later retrieval and modification of the rights template 7 .
  • template store 14 which may be a database.
  • the template store interface 13 may be used to retrieve the stored template 7 that was generated so that the rights template editor 12 can be used to modify the template 7 .
  • the template store interface 13 may also be used to facilitate replacing the template store 14 with another template store service (not shown), if provided, that may be more appropriate for a particular application of the rights expression system 1 .
  • the rights template editor 12 interfaces with data engine 5 which provides an open API to the rights expression system 1 thereby allowing users to access, modify, and create rights templates 7 as described above.
  • data engine 5 is connected to a terms dictionary 16 , a transformer 17 , and a schema manager 18 , the functions of which are described in further detail below.
  • the terms dictionary 16 supports the function of the type selector 3 and the rights expression 6 generation feature of the rights expression system 1 .
  • the terms dictionary 16 lists the REL terms and information relating thereto so that proper REL terms may be presented when the desired type is selected using the type selector 3 and a rights expression that is in proper semantics may be generated.
  • the terms dictionary 16 may be embodied as a table containing all core terms that make up the core structure of the REL, and terms derived from the core terms.
  • the terms dictionary 16 may contain the following table: TABLE 1 REL Term Type Stylesheet Prefix Namespace View Right cx.xsl Cx cxNamespace Print Right cx.xsl Cx cxNamespace keyHolder Principal core.xsl Core coreNamespace validitylnterval Condition core.xsl Core coreNamespace Fee Condition Sx.xsl Sx sxNamespace
  • the REL terms are listed along with their respective type, stylesheet, prefix, and namespace.
  • the core terms are listed under the “Term” heading.
  • a term type indicates the term category, e.g., whether it's a “right”, a “principal”, or a “condition”.
  • REL terms corresponding to the Right type such as “view”, “print” are presented to the user by the rights expression system 1 .
  • a “condition” selection would query the terms dictionary for all available conditions for the user's selection.
  • the extensible core types are not limited to these types, but instead, may include other types such as issuer type.
  • one or more input forms 4 associated with the selected REL term is presented to the user so that specific parameters required by the selected REL term can be inputted or otherwise modified.
  • the type selection components such as the type selectors 3 , use the information in TABLE 1 such as the stylesheet, prefix, and namespace to generate a rights expression that is in proper REL semantics so that the user does not need to go look up the specific schemas of the REL.
  • the schema manager 18 builds the term dictionary 16 and the transformer 17 based on the schema services 21 and 22 , and application profile 19 currently existing in the rights expression system 1 that is accessed through the application profile interface 20 .
  • the schema service for REL 21 defines terms and their metadata in the REL while the schema service for extension 22 defines terms and their metadata for extensions of the REL.
  • the REL terms are kept in the terms dictionary 16 , and each new REL extension is handled by schema service for extension 22 that is built for the corresponding new REL extension.
  • Each schema service for extension 22 is responsible for providing the REL terms defined in its corresponding REL extension to the terms dictionary 16 .
  • Each schema services 21 and 22 is also responsible for providing the REL terms of its corresponding REL extension to the input components so that the user can select the desired term in generating the desired rights expression.
  • the schema services 21 and 22 function as parsers that parse through the REL for a specific extension to expose the REL's vocabulary.
  • the application profile 19 may be used to limit the vocabulary provided by one or more schemas of the REL so that only selected REL terms are visible to the user.
  • the application profile 19 may be processed by the application profile interface 20 to restrict terms defined by the schema services 21 and 22 so that only a subset will be available to the term dictionary 16 and the transformer 17 of the rights expression system 1 .
  • the application profile 19 of the rights expression system 1 in the present embodiment is expressed using the REL schema such as XrMLTM schema.
  • the application profile 19 may draw and refine terms from the REL and/or any of its extension, and may specify permitted schemes and values for these terms.
  • the application profile 19 is configured to use the name of the profiled application as its root element.
  • the application profile 19 is used merely to convey what terms should go into the terms dictionary 16 for the current deployment.
  • license validation is performed against the REL and the respective extensions, such license validation is not performed against the application profile in the illustrated embodiment.
  • the transformer 17 is invoked to convert the generated rights expressions into their textual description for display in the layout which serves as a neutral space for the display of the rights expressions to facilitate user's comprehension of the rights expression.
  • the layouts 2 are preferably capable of embedding terms from new REL extensions so long as a schema service 22 associated with the new REL extension is provided. This capability is made possible because type selection components such as one or more type selectors 3 for each extensible core type will recognize any terms defined for their type.
  • a schema service 22 may be added to the rights expression system 1 that is responsible for telling the terms dictionary 16 that it has the PassportUser term of the type “Principal”.
  • the type selection component of the type “Principal” When invoked, it will show PassportUser as one of the selections available to the user.
  • the rights expression system 1 of the present invention is context aware in that each layout 2 focuses on a particular rights granting paradigm and is structured based on core structure of the REL thereby allowing terms defined in extensions of the REL to be added. Furthermore, the rights expression system 1 allows new layouts for new and innovative rights granting paradigms to be used by registering the new layout with the layout manager 11 . In addition, the rights expression system 1 allows core aspects to be extended to handle new extensions of the REL by using new schema services for extension 22 that can be provided to the schema manager 18 . Moreover, the rights expression system 1 also allows the layouts 2 to be used in displaying the generated rights expressions by their textual descriptions.
  • the rights expression system 1 is implemented with a GUI to provide a user friendly system that facilitates creation and/or modification of rights expressions in proper REL semantics.
  • other user interfaces may be used instead such as a programmable interface or a command line interface.
  • the implementation using a GUI is very advantageous in that it is easy to use/navigate and further allows semantics transparency by providing various interactive forms such as the type selectors 3 and input forms 4 described above that are built specifically for an REL and its extensions, serving as guidance on the semantics. These interactive forms are user-friendly because they incorporate knowledge of the language and rights granting paradigms as previously described.
  • one embodiment of the rights expression system 1 , the layout 2 , type selectors 3 , and input forms 4 are implemented with a GUI.
  • the GUI implementation of the rights expression system 1 allows the layouts 2 to be neutral and agnostic to the underlying extensions to the REL.
  • FIG. 3 shows an example GUI that is representative of a distribution layout 30 which may be one of the collection of layouts 2 of the rights expression system 1 .
  • the distribution layout 30 is implemented as a graphical window of an XrMLTM Rights Editor and displays a textual description of the respective rights templates associated with the layout,. displays the current parameters of the distribution rights granting paradigm, and facilitates input and selection of the parameters required for the distribution rights granting paradigm.
  • the distribution layout 30 as shown in FIG. 3 allows distribution to anyone identified as www.library.com upon satisfaction of the conditions set forth including payment of $2.00 per use to institution “123456789” to account number “987654321”.
  • the user can click its corresponding “. . . ”button to initiate the modification process.
  • the present embodiment of the rights expression system 1 allows the user to select from a list of available choices for each of the parameters required by the distribution layout 30 by clicking on the “. . . ” buttons located in the, rightmost column. Such a process is described in further detail relative to FIGS. 8 and 9. At the end of process 70 of FIG. 9, the textual description of the newly added conditions will be displayed on the distribution layout 30 .
  • the other parts of the distribution layout 30 may be modified as well including the information regarding the issuer and the principal who is the person the grant is issued to, both of which are displayed on the distribution layout 30 .
  • alternative selection mechanisms may be used instead of buttons and the like such as drop down menus, etc.
  • FIG. 4 shows an example certificate layout 33 implemented via GUI that may be one of the collection of layouts 2 of the rights expression system 1 .
  • the certificate layout 33 is also implemented as a window of an XrMLTM Rights Editor that may be used to generate a license representing a digital certificate and to facilitate input and selection of information required to generate the digital certificate.
  • the certificate layout 33 displays the parameters of the digital certificate to be generated, and allows the user to enter or edit the parameters regarding the issuer(s), the principal to receive the certificate, and the certified property.
  • the output of the certificate layout 33 of FIG. 4 is illustrated in the REL rights expression 35 of FIG. 5.
  • the rights expression 35 that is generated by the rights expression system 1 of the present embodiment is in proper REL semantics, which in this case, is expressed based on the XrMLTM schema.
  • the rights expression 35 of FIG. 5 is a license to certify that anyone from www.UscStudentGroup.com is granted a security level of 5 .
  • the rights expression 35 would conventionally be generated manually by the user.
  • the user must have intimate knowledge and expertise in the syntax and semantics of the REL, in this case, XrMLTM.
  • the rights expression 35 can be easily generated using the certificate layout 33 by providing various parameters required by the layout. Therefore, the user of the rights expression system 1 does not need to have intimate knowledge or expertise in the syntax and semantics of the REL being used.
  • the certificate layout 33 is merely one example layout from the collection of layouts 2 in the rights expression system 1 , the other layouts allowing the generation of different rights expressions which are also in proper REL semantics defined by the schemas of the REL.
  • the rights expression system 1 also allows the user to select the parameters of the certificate from a list of available choices by clicking on the “. . . ” buttons located in the rightmost column of the certificate layout 33 .
  • the rights expression system 1 recognizes that the user would like to select a new principal and brings up an appropriate type selectors of the layout such as the Principal selector 36 shown in FIG. 6 discussed below.
  • other associated type selectors are provided for the other parameters of the certificate layout 33 such as the Issuers Details and Property.
  • other layouts of the collection of layouts 2 in the rights expression system 1 may also be provided with respective associated type selectors as well.
  • the Principal selector 36 shown in FIG. 6 is one of the example type selector that may be provided by the rights expression system 1 to gather valid options available to the user, and present them to the user in a user friendly manner, in the present example, via a GUI.
  • the principal type may be selected from the Principal selector 36 by using the dropdown list labeled “Principal Type”.
  • the dropdown list labeled “Credential” lists information used to authenticate the selected principal type, for example, an e-mail address.
  • the Principal Type is selected to the REL term “Any one of” while the credential is selected to “email address” thereby allowing the generation of a rights expression that issues the license to “Anyone with email address of Alice@xyz.com” as shown in the display area of the Principal selector 36 .
  • REL terms may be provided in the principal types dropdown list such as “All of”, “Only”, etc. which can be selected by the user to ensure that the license is granted to the desired principal(s).
  • other credentials such as “name”, “residential address”, “digital certificate”, etc. may be selected by the user as well.
  • FIG. 7 shows an input component implemented as input form 38 that may be provided by the rights expression system 1 to allow the user to input the parameters required by the selected REL term.
  • the input form 38 is used to gather information about one or more issuers of the rights expressions, and is implemented in a graphical window via a GUI to facilitate input by the user.
  • the REL term “Generic DSig Signer” is selected in the corresponding issuer type which causes the presentation of the input form 38 with selectable options provided on the bottom window.
  • the issuance details are set forth so that the user can select the desired parameters such as the time of issue and/or validity duration as shown.
  • the input form 38 shown in FIG. 7 is merely one example and a collection of input forms may be provided by the rights expression system 1 which are associated with the selected REL term to thereby facilitate input and collection of information required by the layout of the rights granting paradigm.
  • layouts of the collection of layouts 2 each utilize one or more type selectors, each type selector presenting choices of REL terms derived from a specific extensible core element.
  • the core element may be a principal receiving the rights, a condition, etc., based on the parameters required by the layout being used.
  • the type selector such as the Principal selector 36 will bring up one or more input components such as an input form 38 for the user to fill out so as to provide the required parameters associated with the REL term.
  • This input form may be part of the rights expression system 1 of the present invention, or it may be added to the rights expression system by extensibility mechanisms.
  • FIG. 8 shows flowchart 60 that sets forth an example method in accordance with one embodiment.
  • the method includes step 61 of providing one or more layouts, each layout corresponding to a rights granting paradigm, and step 62 in which at least one of the layouts is selected.
  • step 63 one or more type selection components associated with the selected layout is provided.
  • At least one of the type selection components is selected in step 64 which results in providing of one or more REL terms associated with the selected type selection components.
  • At least one of the REL terms are selected in step 65 , and at least one input component associated with the selected REL term is provided in step 66 .
  • step 67 the parameters required by the input components are inputted, and a rights expression is generated in step 68 in proper REL semantics defined by the one or more schemas based on the selected layout and parameters inputted.
  • step 69 the generated rights expression of step 68 may be used to generate a rights template in other embodiments.
  • rights templates may be generated for other rights expressions and may be stored for future retrieval and use in the manner previously described.
  • FIG. 9 shows a flowchart 70 of an example process for specifying conditions that are defined in the REL and/or its extensions using a type selection component such as the type selector described above.
  • the extensions may be provided in the rights expression system 1 or be added thereto using the schema service for extension 22 as described above relative to FIG. 2.
  • the user of the rights expression system 1 chooses to specify one or more conditions.
  • the selected layout invokes the condition type selector and the method embodied in the flowchart 70 of FIG. 9 starts.
  • the type selector queries the terms dictionary 16 for all available condition types, and presents the REL terms associated with the condition type.
  • the user is allowed to select an REL term associated with the condition type in step 72 .
  • the associated input components such as an input form that allows inputting of the required parameters of the selected REL term is determined in step 73 .
  • the input components are displayed to the user in step 74 to allow inputting of parameters for the selected REL term.
  • the input forms are implemented in a GUI so that a visual mechanism is provided to help gather information for the particular REL term.
  • the input forms indicate the types of information that are required or optional for a given REL term, or may perform other functions such as listing available options, validating user's input and building rights expressions based on input.
  • the user Upon completion of inputting the required parameters, the user indicates completion, for example, by clicking OK in step 75 , and the inputted parameters are returned to the type selector where it is transformed to textual description for display in step 76 .
  • the user may choose to add another condition in step 77 which begins the procedure from step 72 .
  • the type selector returns both input data and their textual descriptions to the layout in step 78 for display in the layout. It is through this invocation and use of a type selector that rights expressions, including extended rights expressions, are converted from textual descriptions to rights expressions having proper REL semantics defined by the schemas of the REL, and back to text.
  • rights expressions including extended rights expressions
  • FIG. 10 is a flowchart 80 setting forth the process for creating the terms dictionary 16 and the transformer 17 of FIG. 2. While being loaded, the data engine 5 instantiates the schema manager 18 , which in turn, executes the procedure of the flowchart 80 of FIG. 10.
  • the application profile interface 20 is invoked to detect the existence of the application profile 19 , and reads it into memory of the application profile interface 20 .
  • the schema manager 18 searches the directory for schema services, schema service for REL 21 and schema service for extension 22 .
  • each of the schema services 21 and 22 provide information for the REL or one of its extensions.
  • each schema service 21 and 22 is queried for terms derived from the core elements of the REL.
  • any derivations of the following core types are accounted for: principal, resource, condition, right and issuer. Of course, in other embodiments, other core types may be accounted for as well.
  • REL terms are then filtered using the application profile in the memory of the application profile interface 20 in step 83 . Only matched REL terms are inserted into the terms dictionary 16 , and their metadata are stored in the transformer 17 in step 84 . A determination is made in step 85 as to whether there are more schema services left. When all schema services have been processed, this procedure is ended in step 86 .
  • FIG. 11 is a flowchart 90 for using the terms dictionary 16 and the transformer 17 in the rights expression system 1 of FIG. 2.
  • the rights template editor 12 makes calls to the data engine 5 to read the selected rights template and to create textual descriptions of the rights expressions suitable for display to the user in the manner described below.
  • the selected rights template is read into memory of the rights template editor 12
  • step 92 each of the enclosed rights expressions of the rights template are read.
  • step 93 an attempt is made to find the schema service that supports this rights expression using the terms dictionary 16 that may be built in the manner described above relative to FIG. 10.
  • step 94 a determination is made as to whether the supporting schema service is found, and the nature of the rights expression is determined, including what core type it is and what its supporting schema service is. If no supporting schema service is found, a determination is made as to whether more rights expressions exist to process in step 97 . If more rights expressions need to be processed, the process reverts to step 92 to iteratively process the rights expressions until no more rights expressions need to be processed so the process ends in step 98 .
  • step 94 If a supporting service is found in step 94 , an object representing the rights expression is created based on information provided by the schema services in step 95 to facilitate modification of the rights expression in the rights template.
  • the transformer 17 is then invoked to translate the rights expression to a textual description for display on the rights template editor in step 96 .
  • a determination is made as to whether more rights expressions exist to process in step 97 . If more rights expressions need to be processed, the process reverts to step 92 to iteratively process the rights expressions until no more rights expressions need to be processed and the procedure ends in step 98 .
  • the content of the rights template is displayed on the rights template editor 12 so that the user can start editing the rights template to generate a new rights expression.
  • the rights expression system 1 may be provided with layouts 2 containing tokens, which are placeholders for information to be filled in later. These tokens may be employed by the rights expression system 1 of the present invention to increase the system usability and user-friendliness.
  • a tokenized layout promotes reusability of frequently used rights expressions by producing a rights template with tokens that can be filled with information later, or a tokenized template may even be embedded within another rights template.
  • Tokens are coded using XML Schema, for example, to represent a core element of the REL and to express their intent, thereby allowing selection of the appropriate information for replacement of the tokens.
  • a promotion layout may be used to create an offer of free preview of some demo item to any buying customer.
  • the rights expression for this promotion may contain a token representing a buying customer, and the information regarding the buying customer may be made available in a separate license. Later, when the user decides to offer this promotion along with some other item for purchase, the embedded token will be replaced using the customer specification for the second item.
  • a token may be replaced with a pattern expression that matches a set of values, not just a single value.
  • a certificate or the like which incorporates the generated rights expression may be intended for issuance to many individuals instead of just one person.
  • a pattern may be provided which replaces the token, the pattern indicating the group of individuals to which the certificate is to be issued.
  • the certificate layout 33 of FIG. 4 provides a pattern indicating issuance of the certificate to anyone from www.uscstudentgroup.com.
  • FIG. 12 shows a flowchart 100 that describes the token replacement process as a tokenized template is embedded within another rights template.
  • the tokenized template is copied into memory of the rights template editor 12 where replacement of tokens occurs.
  • the search for a token begins in step 102 . If no token is found in step 102 , the process is ended in step 108 . If a token is found in step 102 , the embedding rights template is parsed to find an entry that matches the type described by the token in step 103 . A determination is made in step 104 as to whether a matching replacing entry is found. If a matching replacing entry is not found, an error is displayed in step 109 and the process resumes to step 102 to process the next token.
  • step 104 If a matching replacing entry is found in step 104 , the token is queried for its expectation of a pattern replacement in step 105 . If a pattern is not required, the token is replaced with the value found in the parent layout in step 107 and the process is repeated starting in step 102 for the next token. If a pattern is required, a determination is made as to whether the entry is a pattern in step 106 . If the entry is not a pattern, an error is displayed in step 109 and the process resumes to step, 102 to process the next token. If the entry is a pattern, the token is replaced with the value found in the parent layout in step 107 . The process is repeated starting in step 102 for the next token.
  • step 109 may be enhanced to attempt an error recovery, for instance, converting the entry to match the token requirements, instead of just skipping to the next token.
  • step 109 may be enhanced to attempt an error recovery, for instance, converting the entry to match the token requirements, instead of just skipping to the next token.
  • step 109 may be made so that the tokens can represent elements other than core elements.
  • the present invention provides a rights expression system and method having features and capability beyond generic editors.
  • the present invention provides a rights expression system and method that provides guidance on the semantics of an REL and its extensions to allow the item owner, or the rights holder, to create and modify licenses more easily and accurately.
  • present invention greatly facilitates creation and/or modification of rights expressions in an REL that is based on one or more schemas.

Abstract

A rights expression system and method for facilitating creation and/or modification of rights expressions in a rights expression language based on one or more schemas are provided. In one embodiment, the rights expression system comprises selectable layouts corresponding to a rights granting paradigm and comprises type selection components. Each type selection component is adapted to present REL terms and input components. The input components allow input of parameters required by the selected REL term. The rights expression system also includes a data engine that generates rights expressions in proper REL semantics defined by the one or more schemas based on the selected layout and parameter inputted. The type selection components and input components may be type selectors and input forms, respectively, that are implemented in a graphical user interface.

Description

  • This application claims priority from provisional patent applications Serial No. 60/331,619 filed Nov. 20, 2001, Serial No. 60/331,622 filed Nov. 20, 2001, and Serial No. 60/359,646, filed Feb. 27, 2002, the contents of which are incorporated herein by reference. This application is a Continuation-in-part of co-pending application Ser. No. 10/046,695 filed on Jan. 27, 2002 which claims benefit from provisional application Serial No. 60/261,753 filed on Jan. 17, 2001.[0001]
  • COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. [0002]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0003]
  • The present invention relates to rights expression systems for controlling use of digital works and other items. In particular, the present invention is directed to rights expression systems that facilitate creation and/or modification of rights expressions in a rights expression language based on one or more schemas. [0004]
  • 2. Description of Related Art [0005]
  • Digital distribution of content by content owners over the Internet is a way to reach out to a potentially large market of Internet users. However, such digital distribution comes with a risk of illegal, or otherwise unauthorized, distribution of the content. Rights Management helps reduce this risk thereby enabling content owners to protect and profit from their digital content. A Rights Management System is utilized to specify the usage rights for content, or other things and to enforce the usage rights. The term “content” is used broadly herein and includes digital works such as music, audio files, text files, books, reports, video, multimedia, pictures, executable code, or any combination thereof. [0006]
  • Various implementations of Rights Management Systems and rights associated with digital content are known as disclosed by U.S. Pat. No. 5,629,980, U.S. Pat. No. 5,634,012, U.S. Pat. No. 5,638,443, and U.S. Pat. No. 5,715,403. Hence, the details of Rights Management Systems are not discussed specifically herein. As evident from these references, a Rights Management system can take many forms, and can employ varying levels of complexity depending on the security required, the nature of the thing being managed, the complexity of associated rights and conditions, volume and other factors. For example, Rights Management systems have been used to enable the secure distribution of digital media content over the Internet. Examples of such systems and associated paradigms are Pay-per-view, Subscription, and Superdistribution, as well as others. A Pay-per-view paradigm may require the user to pay a fee each time content is viewed. A Subscription paradigm may allow subscribers who pay monthly to download a number of songs per month. A Superdistribution paradigm may encourage the free and widespread distribution of digital content, such as audio or video clips, that can only be opened a limited number of times. [0007]
  • A Rights Management system not only protects content, but it also enables content owners to manage the sale and use of their content by means of licenses. Licenses include rights expressions to articulate usage rights and to associate usage rights to a content. Licenses may be specified for different stages during the life cycle of digital content. For example, when digital content is released to a distributor, licenses may be specified by content owners to limit distribution of the digital content to a particular region or a period of time, or to restrict how content may be repackaged. Of course, licenses themselves must be protected as well since they are a controlling facet determinative of how content is used. Typically, licenses are digitally signed by the issuers so that their integrity and authenticity may be verified before being interpreted. Before being signed, a license is known as an unsigned license. [0008]
  • Licenses may also stipulate terms and conditions applied to the rights offered by content owners. For example, a license to support a Subscription paradigm may require that the user pay $10.00 monthly to download up to 10 songs per month. A license to support a Pay-per-View paradigm may require the user to pay $5.00 to play a movie. A more dynamic license may specify approval from an online approval service before usage to the digital content is granted. Licenses must accommodate the flexible business rules that help generate sales for content and ensure that content owners are compensated rightfully for the use of their content. [0009]
  • A rights expression is a syntactically and semantically correct language construct, based on a defined grammar that conveys rights information. Licenses written in a Rights Expression Language (hereinafter “REL”) can support multiple rights granting paradigms, ranging from simple to more complex, since the REL provides the syntactically and semantically correct construct and grammar for describing rights information. Rights information may include rights and conditions concerning the content. An example of a REL is XrML™ which allows a clearly defined way to structure, describe, and interchange rights data. Rights expressions written in XrML may be understood by different systems, enabling interoperability between these systems. Of course, XrML is merely one example of a REL and other RELs may also be used. [0010]
  • XML schema is an ongoing effort by the W3C to describe the structure of conforming XML documents, including provisions for defining data types. An XML schema may describe the structure and terms provided by a REL. For example, an instance of an XML schema, called “Core”, may define a rights expression called “grant” to include four different types, namely, “principal”, “right”, “asset”, and “condition”. This expression stipulates that the indicated principal is granted the stated right over associated content under the given conditions. [0011]
  • The schema may also be extended to include new terms that are appropriate to a specific industry or rights granting paradigms. It is the extensibility of XML schema that empowers the REL to be adapted to any current, or new rights granting paradigms, and any industries. For example, a music company may seek to adopt the grammar specified by the XML schema using its own vocabulary. The music company creates an extension of this schema, called “S1”, defining a new principal called “subscriber”, a new right called “play”, a new asset called “music content X0”, and a new condition called “online”. The music company may then create expressions such as “any subscriber can play music content X0 online”. [0012]
  • A second music company who allows downloads may define yet another extension, called “S2”, to include a right called “download” for building expressions such as “any subscriber can download music content X0”, assuming the grammar defines the condition to be optional. Note that S1 extends the original schema Core, enabling it to use any definitions provided by Core. Also, since S2 extends S1, S2 may use definitions provided by both S1 and Core. The above exemplary Core schema is described using XML Schema syntax in FIG. 13. As can be appreciated, the Core schema basically defines a grant that includes four different types: principal, right, resource and condition in the present example. [0013]
  • SUMMARY OF THE INVENTION
  • In accordance with one aspect of the present invention, a rights expression system for facilitating creation and/or modification of rights expressions in a rights expression language (REL) based on one or more schemas is provided. In one embodiment, the rights expression system comprises one or more selectable layouts, each layout corresponding to a rights granting paradigm. Each layout comprises one or more type selection components, each type selection component being adapted to present one or more REL terms, and one or more input components associated with the one or more REL terms which are invoked based on a selected REL term, the one or more input components allowing input of a parameter required by the selected REL term. The rights expression system also includes a data engine that generates rights expressions in proper REL semantics defined by the one or more schemas based on the selected layout and parameter inputted. In accordance with another embodiment of the present invention, the type selection components and input components may be type selectors and input forms, respectively, that are implemented in a graphical user interface. [0014]
  • In accordance with another aspect of the present invention, a method for creating and/or modifying rights expressions in a rights expression language (REL) based on one or more schemas is provided. In one embodiment, the method comprises the steps of providing one or more layouts, each layout corresponding to a rights granting paradigm, selecting at least one of the one or more of layouts, providing one or more type selection components associated with the selected layout, selecting at least one of the one or more type selection components, providing one or more REL terms associated with the selected type selection components, selecting at least one of the one or more of REL terms, providing at least one input component associated with the selected REL term, inputting parameters required by the input component, and generating a rights expression in proper REL semantics defined by the one or more schemas based on the selected layout and parameters inputted. In accordance with another embodiment of the present invention, the type selection components and input components may be type selectors and input forms, respectively, that are implemented in a graphical user interface.[0015]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of the rights expression system in accordance with one embodiment of the present invention. [0016]
  • FIG. 2 is a schematic diagram of an implementation of the rights expression system of FIG. 1 in accordance with one embodiment of the present invention. [0017]
  • FIG. 3 is an example distribution layout in accordance with one embodiment implemented in a GUI. [0018]
  • FIG. 4 is an example certificate layout in accordance with one embodiment implemented in a GUI. [0019]
  • FIG. 5 shows an example rights template generated by the certificate layout of FIG. 3. [0020]
  • FIG. 6 shows an example type selector in accordance with one embodiment implemented in a GUI. [0021]
  • FIG. 7 shows an example input form in accordance with one embodiment implemented in a GUI. [0022]
  • FIG. 8 is a flowchart of an example process for facilitating creation and/or modification of rights expressions in accordance with one embodiment of the present invention. [0023]
  • FIG. 9 is a flowchart of an example process for specifying conditions that are defined in the rights expression language and its extensions using a type selector. [0024]
  • FIG. 10 is a flowchart of an example process for creating a terms dictionary and a transformer based on the Rights Expression Language, the extensions, and application profile. [0025]
  • FIG. 11 is a flowchart of an example process for parsing a rights template and transforming its content to a textual description for display on the GUI. [0026]
  • FIG. 12 is a flowchart of an example process for token replacement. [0027]
  • FIG. 13 is an example schema upon which the rights expression language may be based. [0028]
  • FIG. 14 is a schematic illustration of an item ticket that may be used in implementation of the present invention.[0029]
  • DETAILED DESCRIPTION OF THE INVENTION
  • Rights Management systems can be applied to digital content and other items, such as services, goods, and the like. For example, rights and conditions can be associated with any physical or non-physical thing, item, object, class, category, service, or other items for which access, distribution, execution, or other use is to be controlled, restricted, recorded, metered, charged, monitored or otherwise managed in some fashion. Thus, a Rights Management system can be used, for example, to specify and enforce usage rights for any item such as content, service, software program, goods etc., and under what conditions. In this regard, to extend the concept of rights management to tangible items, an item ticket can be used to associate usage rights with the item. A license or other rights expression is associated with the [0030] item ticket 200, illustrated in FIG. 14, with a ticket specification that points to or otherwise indicates the item ticket.
  • The [0031] item ticket 200 can be protected with some crypto algorithm or other mechanism for preventing processing or rendering of item ticket 200 except in accordance with an associated, license. The item ticket 200, with the security mechanism unlocked, can be a human readable or computer readable coupon, a code, a document, or the like. Accordingly, the phrase “item ticket” refers to any tangible or intangible indication of an item. The item ticket specifies one or more items and thus, usage rights and conditions can be associated with any item including, objects, classes, categories, and services, for which use, access, distribution, or execution is to be controlled, restricted, recorded, metered, charged, or monitored in some fashion as previously noted.
  • As illustrated in the preferred embodiment of FIG. 14, the [0032] item ticket 200 can be prepared by specifying an item reference 202 and any post license conditions 204 that restrict redemption of the item ticket 200. The item ticket 200 can be linked to the item through the item reference 202. The term “linked” as used herein refers to any type of association, such as a description, a pointer, or the like. For example, the item ticket 200 can include a unique code associated with an item through a database record. When the code is presented to a vendor, the database is searched and the corresponding item can be delivered. Item ticket 200 can also include a human readable description of the item and any post license condition 204 not yet satisfied such as certain location or time the item ticket 200 may be redeemed. Further details of Rights Management systems utilizing item tickets are disclosed in U.S. application Ser. No. 10/159,272 entitled METHOD AND APPARATUS FOR DISTRIBUTING ENFORCEABLE PROPERTY RIGHTS that was filed on Jun. 3, 2002, the contents of which are incorporated herein by reference.
  • Regardless of the details of the item, and whether the item is digital content, object, class, category, service, or other items, the task of writing valid licenses to correctly reflect one or more rights granting paradigms is difficult, especially for complex rights granting paradigms. The underlying Rights Management related technologies, such as the REL must be fully understood in order to write valid licenses. For example, when the REL is XrML™, the XML Schema and in particular, the syntax and semantics of XML terms must be understood by the interoperability and the Schema extensibility. Thus, such RELs are advantageous in that they may be extended to support new rights granting paradigms. The extensibility requires further knowledge and skill of the user to write valid licenses. [0033]
  • There have been efforts to create generic editors that use form-based data input and graphical elements to facilitate the user in editing XML documents. Such editors assist the user with the syntax of the schema being used, but the user is still burdened with comprehending the semantics of rights expressions. An output from these editors ensure an XML document that is syntactically correct. However, the propriety of the semantics of the REL is not ensured. Any misapplication of the REL in a rights expression of a license could potentially result in misuse of item and/or in revenue loss. [0034]
  • In view of the above, a rights expression system is desirable which provides features and capability beyond generic XML editors. In particular, a rights expression system that provides guidance on the semantics of a REL and its extensions is desirable for allowing the item owner, the rights holder, or another authorized party, to create and modify licenses more easily and accurately. This may be attained in accordance with the present invention by providing a rights expression system, an embodiment of which is described herein, for facilitating creation and/or modification of rights expressions in a REL that is based on one or more schemas. [0035]
  • FIG. 1 is a schematic diagram of the [0036] rights expression system 1 in accordance with one embodiment of the present invention which may be used for facilitating creation and/or modification of rights expressions in a REL based on one or more schemas. In the illustrated embodiment, the rights expression system 1 includes plural layouts 2, each layout corresponding to a rights granting paradigm. Preferably, each layout 2 is constructed specifically for a rights granting paradigm to allow users to simply input information associated and/or required for the rights granting paradigm as described below. Each of the collection of layouts 2 have associated syntax and semantics of the rights expression grammar so that the user of the rights expression system 1 does not have to know such grammar and the desired rights expression can be created and/or modified easily.
  • In other words, since each of the collection of [0037] layouts 2 is constructed to properly represent the rights granting paradigm, each layout 2 requires the user to enter only certain specific information required by the rights granting paradigm. The rest of the detailed rights expression grammar necessary to generate a meaningful and valid license are generated automatically by the rights expression system 1. This ensures that the generated rights expression is valid with respect to the selected rights granting paradigm. Thus, each of the layouts in the collection of layouts 2 serves as a starting point for generating rights expressions in proper REL semantics, focusing the user on the desired rights granting paradigm and guiding the user through the rights expression creation and/or modification process.
  • Each [0038] layout 2 preferably includes plural type selection components such as type selectors 3. Preferably, each type selector 3 is adapted to present one or more REL terms that can be selected by the user. In addition, in the illustrated embodiment, each of the layouts 2 also includes plural input components such as input forms 4 that are associated with the one or more REL terms. The input forms 4 are invoked corresponding to a REL term that is selected by the user, the input forms 4 allowing input of a parameter required by the selected REL term. In accordance with one embodiment, the type selector 3 and the input forms 4 of the rights expression system 1 are implemented with a graphical user interface (hereinafter “GUI”) to facilitate input of the parameters. Examples of such GUI implementations of the type selector 3 and the input forms 4 are shown in FIGS. 3, 4, 6 and 7 discussed below.
  • The [0039] rights expression system 1 of FIG. 1 also includes a data engine 5 that generates rights expressions 6. The rights expressions 6 are generated in proper REL semantics defined by the schemas of the REL based on the selected layout 2, the type selectors 3 used, and the parameters inputted into the input forms 4. For example, FIG. 5 illustrates a REL rights expression 35 that is generated by the rights expression system 1 which is in proper REL semantics, and in this case, is expressed based on the XrML™ schema.
  • The [0040] rights expressions 6 generated is also used by the data engine 5 to generate rights templates 7. This allows generation of rights templates that correspond to common rights expressions that may be used in one or more layouts 2. The generated rights templates 7 can then be stored in a database or the like so that they can be retrieved and modified by the user of the rights expression system 1 to quickly and easily create valid licenses or other rights expressions. The generated templates 7 thus allows the user to simply modify a small portion of the rights expression, such as the principal for example, to generate the proper license rather than having to create new rights expressions from the beginning for use in a license. Of course, rights template may also be used in an automatic process to create licenses. For example, a rights template for creating a certificate may have been created for a subscription paradigm. When a user pays an appropriate fee, a subscription service retrieves the rights template for creating a certificate and fills it with the user's identity to produce a completed certificate. Thus, in this example, the work of producing rights expressions for use in a license is attained using a command line interface or an Application Programming Interface (herein after “API”) instead of a GUI.
  • FIG. 2 is a block diagram of the [0041] rights expression system 1 of FIG. 1 in accordance with one embodiment of the present invention which enables the creation and/or modification of rights expression of an REL based on one or more schemas, both FIGS. 1 and 2 being referred to herein for clarity. As previously noted, the rights expression system 1 includes a collection of layouts 2 for the most commonly used rights granting paradigms. The collection of layouts 2 may be located in layout storage device such as a local hard drive (not shown) or the like which is managed by the layout manager 11. In this regard, each of the layouts may be registered with the layout manager 11 so that the desired layout can be readily retrieved and used in the manner intended.
  • In addition, the [0042] layout manager 11 of the present embodiment is also adapted to facilitate the addition of new layouts that are customized for a particular rights granting paradigm. This allows the rights expression system 1 of the present invention to be extensible to accommodate new rights granting paradigms and further allows the user to quickly adapt to business needs. Preferably, the addition of layouts is attained by the layout manger 11 so that new layouts can be added to the rights expression system 1 without recompiling the rights expression system 1.
  • The [0043] rights expression system 1 also includes a rights template editor 12 that allows editing of the rights templates 7 by the user as previously described, the rights templates 7 being generated based on rights expressions 6. When the user selects a layout 2 via the layout manager 11 based on the desired rights granting paradigm, the rights template editor 12 brings up the rights expressions 6 contained in the selected layout 2. Correspondingly, the rights template editor 12 allows the user of the rights expression system 1 to select each editable part of the rights expressions 6 to modify it and produce a rights template. Hence, new rights templates may be created by selecting a layout and the created rights templates may be later modified using the rights template editor 12.
  • For a [0044] rights expression 6 or a part thereof that is extensible, a respective button or link may be provided on the selected layout 2 which invokes one or more type selection components such as the type selector 3. The type selector 3 allows the user to select the type of the rights expression, for instance, Principal, Right, Resource and Condition. In this regard, each type selection component is preferably adapted to present one or more REL terms that are associated with the selected type. For example, if the Right type is selected, REL terms corresponding to the Right type such as “view”, “print”, “distribute”, etc. are presented. Upon the selection of one of the presented REL terms, one or more input components such as the input forms 4 associated with the selected REL terms are invoked to allow input of parameters that are required by the selected REL term. In the embodiment where the rights expression system 1 is implemented in a GUI, both the user's input and their textual descriptions may be returned to the selected layout for display.
  • When the user of the [0045] rights expression system 1 completes inputting of data using the input forms 4, a rights template 7 containing rights expressions 6 written in the REL and its extensions is generated. Preferably, implanted in the first line of the rights template 7 is the identification of the layout 2 which facilitates later retrieval and modification of the rights template 7. Once a rights template 7 has been generated, it is stored to template store 14 which may be a database. The template store interface 13 may be used to retrieve the stored template 7 that was generated so that the rights template editor 12 can be used to modify the template 7. Additionally, the template store interface 13 may also be used to facilitate replacing the template store 14 with another template store service (not shown), if provided, that may be more appropriate for a particular application of the rights expression system 1.
  • The [0046] rights template editor 12 interfaces with data engine 5 which provides an open API to the rights expression system 1 thereby allowing users to access, modify, and create rights templates 7 as described above. In addition, the data engine 5 is connected to a terms dictionary 16, a transformer 17, and a schema manager 18, the functions of which are described in further detail below.
  • Supporting the function of the [0047] type selector 3 and the rights expression 6 generation feature of the rights expression system 1 is a terms dictionary 16 that is built by the schema manager 18. The terms dictionary 16 lists the REL terms and information relating thereto so that proper REL terms may be presented when the desired type is selected using the type selector 3 and a rights expression that is in proper semantics may be generated. The terms dictionary 16 may be embodied as a table containing all core terms that make up the core structure of the REL, and terms derived from the core terms. For example, the terms dictionary 16 may contain the following table:
    TABLE 1
    REL Term Type Stylesheet Prefix Namespace
    View Right cx.xsl Cx cxNamespace
    Print Right cx.xsl Cx cxNamespace
    keyHolder Principal core.xsl Core coreNamespace
    validitylnterval Condition core.xsl Core coreNamespace
    Fee Condition Sx.xsl Sx sxNamespace
  • As shown in TABLE 1, the REL terms are listed along with their respective type, stylesheet, prefix, and namespace. In the above example of the [0048] terms dictionary 16 as shown in TABLE 1, the core terms are listed under the “Term” heading. A term type indicates the term category, e.g., whether it's a “right”, a “principal”, or a “condition”. Thus, as previously noted, if the “right” type is selected, REL terms corresponding to the Right type such as “view”, “print” are presented to the user by the rights expression system 1. For example, a “condition” selection would query the terms dictionary for all available conditions for the user's selection. Of course, the extensible core types are not limited to these types, but instead, may include other types such as issuer type.
  • By selecting one of the REL terms, one or [0049] more input forms 4 associated with the selected REL term is presented to the user so that specific parameters required by the selected REL term can be inputted or otherwise modified. Upon input of such required parameters, the type selection components such as the type selectors 3, use the information in TABLE 1 such as the stylesheet, prefix, and namespace to generate a rights expression that is in proper REL semantics so that the user does not need to go look up the specific schemas of the REL. For example, when the user selects “fee”, information under the “Prefix” heading and “Namespace” heading together allows the data engine 5 to invoke the schema service for extension 22, in particular, the schema service for the sxNameSpace, to generate the rights expression in proper REL semantics. Thus, in the present example, the information under the “Stylesheet” heading, i.e. “Sx.xs1”, is used by the selector to translate the created rights expression to its textual description. Therefore, it should now be evident that the task of the type selection component such as the type selector 3 is to bridge between the textual descriptions of a rights expression and the correct input components such as input forms 4 that are used to input technical parameters required by the rights expression.
  • Referring again to FIG. 2, the [0050] schema manager 18 builds the term dictionary 16 and the transformer 17 based on the schema services 21 and 22, and application profile 19 currently existing in the rights expression system 1 that is accessed through the application profile interface 20. In accordance with one embodiment of the rights expression system 1, the schema service for REL 21 defines terms and their metadata in the REL while the schema service for extension 22 defines terms and their metadata for extensions of the REL. The REL terms are kept in the terms dictionary 16, and each new REL extension is handled by schema service for extension 22 that is built for the corresponding new REL extension. Each schema service for extension 22 is responsible for providing the REL terms defined in its corresponding REL extension to the terms dictionary 16. Each schema services 21 and 22 is also responsible for providing the REL terms of its corresponding REL extension to the input components so that the user can select the desired term in generating the desired rights expression. In this regard, the schema services 21 and 22 function as parsers that parse through the REL for a specific extension to expose the REL's vocabulary.
  • The [0051] application profile 19 may be used to limit the vocabulary provided by one or more schemas of the REL so that only selected REL terms are visible to the user. In particular, the application profile 19 may be processed by the application profile interface 20 to restrict terms defined by the schema services 21 and 22 so that only a subset will be available to the term dictionary 16 and the transformer 17 of the rights expression system 1. The application profile 19 of the rights expression system 1 in the present embodiment is expressed using the REL schema such as XrML™ schema. The application profile 19 may draw and refine terms from the REL and/or any of its extension, and may specify permitted schemes and values for these terms. In accordance with one embodiment, the application profile 19 is configured to use the name of the profiled application as its root element. It should be understood that preferably, the application profile 19 is used merely to convey what terms should go into the terms dictionary 16 for the current deployment. Thus, whereas license validation is performed against the REL and the respective extensions, such license validation is not performed against the application profile in the illustrated embodiment.
  • In addition, in accordance with one embodiment of the [0052] rights expression system 1, the transformer 17 is invoked to convert the generated rights expressions into their textual description for display in the layout which serves as a neutral space for the display of the rights expressions to facilitate user's comprehension of the rights expression. Furthermore, in accordance with one embodiment of the present invention, the layouts 2 are preferably capable of embedding terms from new REL extensions so long as a schema service 22 associated with the new REL extension is provided. This capability is made possible because type selection components such as one or more type selectors 3 for each extensible core type will recognize any terms defined for their type. For example, to support a new REL extension that defines an REL term called PassportUser, a schema service 22 may be added to the rights expression system 1 that is responsible for telling the terms dictionary 16 that it has the PassportUser term of the type “Principal”. When the type selection component of the type “Principal” is invoked, it will show PassportUser as one of the selections available to the user.
  • Thus, it should be evident from the above discussion that the [0053] rights expression system 1 of the present invention is context aware in that each layout 2 focuses on a particular rights granting paradigm and is structured based on core structure of the REL thereby allowing terms defined in extensions of the REL to be added. Furthermore, the rights expression system 1 allows new layouts for new and innovative rights granting paradigms to be used by registering the new layout with the layout manager 11. In addition, the rights expression system 1 allows core aspects to be extended to handle new extensions of the REL by using new schema services for extension 22 that can be provided to the schema manager 18. Moreover, the rights expression system 1 also allows the layouts 2 to be used in displaying the generated rights expressions by their textual descriptions.
  • In accordance with the preferred implementation of the present invention, the [0054] rights expression system 1 is implemented with a GUI to provide a user friendly system that facilitates creation and/or modification of rights expressions in proper REL semantics. Of course, in other embodiments, other user interfaces may be used instead such as a programmable interface or a command line interface. However, the implementation using a GUI is very advantageous in that it is easy to use/navigate and further allows semantics transparency by providing various interactive forms such as the type selectors 3 and input forms 4 described above that are built specifically for an REL and its extensions, serving as guidance on the semantics. These interactive forms are user-friendly because they incorporate knowledge of the language and rights granting paradigms as previously described. As described below, one embodiment of the rights expression system 1, the layout 2, type selectors 3, and input forms 4 are implemented with a GUI. In addition, the GUI implementation of the rights expression system 1 allows the layouts 2 to be neutral and agnostic to the underlying extensions to the REL.
  • FIG. 3 shows an example GUI that is representative of a [0055] distribution layout 30 which may be one of the collection of layouts 2 of the rights expression system 1. As shown, the distribution layout 30 is implemented as a graphical window of an XrML™ Rights Editor and displays a textual description of the respective rights templates associated with the layout,. displays the current parameters of the distribution rights granting paradigm, and facilitates input and selection of the parameters required for the distribution rights granting paradigm. In particular, the distribution layout 30 as shown in FIG. 3 allows distribution to anyone identified as www.library.com upon satisfaction of the conditions set forth including payment of $2.00 per use to institution “123456789” to account number “987654321”.
  • When the user chooses to modify a portion of a rights expression set forth in the [0056] distribution layout 30, for example, the condition, the user can click its corresponding “. . . ”button to initiate the modification process. In particular, the present embodiment of the rights expression system 1 allows the user to select from a list of available choices for each of the parameters required by the distribution layout 30 by clicking on the “. . . ” buttons located in the, rightmost column. Such a process is described in further detail relative to FIGS. 8 and 9. At the end of process 70 of FIG. 9, the textual description of the newly added conditions will be displayed on the distribution layout 30. Of course, the other parts of the distribution layout 30 may be modified as well including the information regarding the issuer and the principal who is the person the grant is issued to, both of which are displayed on the distribution layout 30. In addition, in other embodiments, alternative selection mechanisms may be used instead of buttons and the like such as drop down menus, etc.
  • FIG. 4 shows an [0057] example certificate layout 33 implemented via GUI that may be one of the collection of layouts 2 of the rights expression system 1. The certificate layout 33 is also implemented as a window of an XrML™ Rights Editor that may be used to generate a license representing a digital certificate and to facilitate input and selection of information required to generate the digital certificate. In particular, the certificate layout 33 displays the parameters of the digital certificate to be generated, and allows the user to enter or edit the parameters regarding the issuer(s), the principal to receive the certificate, and the certified property.
  • The output of the [0058] certificate layout 33 of FIG. 4 is illustrated in the REL rights expression 35 of FIG. 5. As can be appreciated by one of ordinary skill in the art, the rights expression 35 that is generated by the rights expression system 1 of the present embodiment is in proper REL semantics, which in this case, is expressed based on the XrML™ schema. In the present example, the rights expression 35 of FIG. 5 is a license to certify that anyone from www.UscStudentGroup.com is granted a security level of 5.
  • Without the [0059] layouts 2 and various features of the rights expression system 1 of the present embodiment, the rights expression 35 would conventionally be generated manually by the user. As previously noted, to generate the rights expression 35 in a conventionally manner, the user must have intimate knowledge and expertise in the syntax and semantics of the REL, in this case, XrML™. However, by using the rights expression system 1 in accordance with the preferred embodiment of the present invention, the rights expression 35 can be easily generated using the certificate layout 33 by providing various parameters required by the layout. Therefore, the user of the rights expression system 1 does not need to have intimate knowledge or expertise in the syntax and semantics of the REL being used. Of course, the certificate layout 33 is merely one example layout from the collection of layouts 2 in the rights expression system 1, the other layouts allowing the generation of different rights expressions which are also in proper REL semantics defined by the schemas of the REL.
  • Referring again to the [0060] certificate layout 33 of FIG. 4, the rights expression system 1 also allows the user to select the parameters of the certificate from a list of available choices by clicking on the “. . . ” buttons located in the rightmost column of the certificate layout 33. For example, when the user of the certificate layout 33 clicks on a “. . . ” button corresponding to the “Issued To” field, the rights expression system 1 recognizes that the user would like to select a new principal and brings up an appropriate type selectors of the layout such as the Principal selector 36 shown in FIG. 6 discussed below. Of course, other associated type selectors are provided for the other parameters of the certificate layout 33 such as the Issuers Details and Property. Moreover, other layouts of the collection of layouts 2 in the rights expression system 1 may also be provided with respective associated type selectors as well.
  • The [0061] Principal selector 36 shown in FIG. 6 is one of the example type selector that may be provided by the rights expression system 1 to gather valid options available to the user, and present them to the user in a user friendly manner, in the present example, via a GUI. Thus, the principal type may be selected from the Principal selector 36 by using the dropdown list labeled “Principal Type”. The dropdown list labeled “Credential” lists information used to authenticate the selected principal type, for example, an e-mail address.
  • In the illustrated example, the Principal Type is selected to the REL term “Any one of” while the credential is selected to “email address” thereby allowing the generation of a rights expression that issues the license to “Anyone with email address of Alice@xyz.com” as shown in the display area of the [0062] Principal selector 36. Of course, other REL terms may be provided in the principal types dropdown list such as “All of”, “Only”, etc. which can be selected by the user to ensure that the license is granted to the desired principal(s). In addition, other credentials such as “name”, “residential address”, “digital certificate”, etc. may be selected by the user as well.
  • FIG. 7 shows an input component implemented as [0063] input form 38 that may be provided by the rights expression system 1 to allow the user to input the parameters required by the selected REL term. In the present embodiment, the input form 38 is used to gather information about one or more issuers of the rights expressions, and is implemented in a graphical window via a GUI to facilitate input by the user. In particular, the REL term “Generic DSig Signer” is selected in the corresponding issuer type which causes the presentation of the input form 38 with selectable options provided on the bottom window. The issuance details are set forth so that the user can select the desired parameters such as the time of issue and/or validity duration as shown. Of course, the input form 38 shown in FIG. 7 is merely one example and a collection of input forms may be provided by the rights expression system 1 which are associated with the selected REL term to thereby facilitate input and collection of information required by the layout of the rights granting paradigm.
  • Thus, from the above description, it should be evident that layouts of the collection of [0064] layouts 2 each utilize one or more type selectors, each type selector presenting choices of REL terms derived from a specific extensible core element. The core element may be a principal receiving the rights, a condition, etc., based on the parameters required by the layout being used. Depending on the user's selection, the type selector such as the Principal selector 36 will bring up one or more input components such as an input form 38 for the user to fill out so as to provide the required parameters associated with the REL term. This input form may be part of the rights expression system 1 of the present invention, or it may be added to the rights expression system by extensibility mechanisms.
  • It should also be evident from the above discussion that another aspect of the present invention is in providing a method for facilitating creation and/or modification of rights expressions. FIG. 8 shows [0065] flowchart 60 that sets forth an example method in accordance with one embodiment. The method includes step 61 of providing one or more layouts, each layout corresponding to a rights granting paradigm, and step 62 in which at least one of the layouts is selected. In step 63, one or more type selection components associated with the selected layout is provided. At least one of the type selection components is selected in step 64 which results in providing of one or more REL terms associated with the selected type selection components. At least one of the REL terms are selected in step 65, and at least one input component associated with the selected REL term is provided in step 66. In step 67, the parameters required by the input components are inputted, and a rights expression is generated in step 68 in proper REL semantics defined by the one or more schemas based on the selected layout and parameters inputted. The process ends at step 69. Of course, it should also be evident that the generated rights expression of step 68 may be used to generate a rights template in other embodiments. Moreover, rights templates may be generated for other rights expressions and may be stored for future retrieval and use in the manner previously described.
  • FIG. 9 shows a [0066] flowchart 70 of an example process for specifying conditions that are defined in the REL and/or its extensions using a type selection component such as the type selector described above. Again, the extensions may be provided in the rights expression system 1 or be added thereto using the schema service for extension 22 as described above relative to FIG. 2. Initially, from a selected layout which corresponds to the desired rights granting paradigm, the user of the rights expression system 1 chooses to specify one or more conditions. The selected layout invokes the condition type selector and the method embodied in the flowchart 70 of FIG. 9 starts.
  • In [0067] step 71, the type selector queries the terms dictionary 16 for all available condition types, and presents the REL terms associated with the condition type. The user is allowed to select an REL term associated with the condition type in step 72. Based on the selected REL term, the associated input components such as an input form that allows inputting of the required parameters of the selected REL term is determined in step 73. The input components are displayed to the user in step 74 to allow inputting of parameters for the selected REL term. Preferably, the input forms are implemented in a GUI so that a visual mechanism is provided to help gather information for the particular REL term. The input forms indicate the types of information that are required or optional for a given REL term, or may perform other functions such as listing available options, validating user's input and building rights expressions based on input.
  • Upon completion of inputting the required parameters, the user indicates completion, for example, by clicking OK in [0068] step 75, and the inputted parameters are returned to the type selector where it is transformed to textual description for display in step 76. The user may choose to add another condition in step 77 which begins the procedure from step 72. When the user is finished with specifying conditions, the type selector returns both input data and their textual descriptions to the layout in step 78 for display in the layout. It is through this invocation and use of a type selector that rights expressions, including extended rights expressions, are converted from textual descriptions to rights expressions having proper REL semantics defined by the schemas of the REL, and back to text. Of course, it should be appreciated that whereas the above flowchart 70 of FIG. 9 was directed to the selection of conditions by a user, it should be readily apparent that similar procedures may be used to allow selection of other parameters of a given selected layout.
  • FIG. 10 is a [0069] flowchart 80 setting forth the process for creating the terms dictionary 16 and the transformer 17 of FIG. 2. While being loaded, the data engine 5 instantiates the schema manager 18, which in turn, executes the procedure of the flowchart 80 of FIG. 10. In step 81, the application profile interface 20 is invoked to detect the existence of the application profile 19, and reads it into memory of the application profile interface 20. The schema manager 18 then searches the directory for schema services, schema service for REL 21 and schema service for extension 22. As previously noted, each of the schema services 21 and 22 provide information for the REL or one of its extensions. In step 82, each schema service 21 and 22 is queried for terms derived from the core elements of the REL. In the rights expression system 1 of the present embodiment, any derivations of the following core types are accounted for: principal, resource, condition, right and issuer. Of course, in other embodiments, other core types may be accounted for as well.
  • These REL terms are then filtered using the application profile in the memory of the [0070] application profile interface 20 in step 83. Only matched REL terms are inserted into the terms dictionary 16, and their metadata are stored in the transformer 17 in step 84. A determination is made in step 85 as to whether there are more schema services left. When all schema services have been processed, this procedure is ended in step 86.
  • FIG. 11 is a [0071] flowchart 90 for using the terms dictionary 16 and the transformer 17 in the rights expression system 1 of FIG. 2. When the user attempts to view a rights template, for instance, to modify the template to generate another rights expression, the rights template editor 12 makes calls to the data engine 5 to read the selected rights template and to create textual descriptions of the rights expressions suitable for display to the user in the manner described below. In step 91, the selected rights template is read into memory of the rights template editor 12, and in step 92, each of the enclosed rights expressions of the rights template are read. In step 93, an attempt is made to find the schema service that supports this rights expression using the terms dictionary 16 that may be built in the manner described above relative to FIG. 10.
  • In [0072] step 94, a determination is made as to whether the supporting schema service is found, and the nature of the rights expression is determined, including what core type it is and what its supporting schema service is. If no supporting schema service is found, a determination is made as to whether more rights expressions exist to process in step 97. If more rights expressions need to be processed, the process reverts to step 92 to iteratively process the rights expressions until no more rights expressions need to be processed so the process ends in step 98.
  • If a supporting service is found in [0073] step 94, an object representing the rights expression is created based on information provided by the schema services in step 95 to facilitate modification of the rights expression in the rights template. The transformer 17 is then invoked to translate the rights expression to a textual description for display on the rights template editor in step 96. Then, a determination is made as to whether more rights expressions exist to process in step 97. If more rights expressions need to be processed, the process reverts to step 92 to iteratively process the rights expressions until no more rights expressions need to be processed and the procedure ends in step 98. After the last rights expression has been processed, the content of the rights template is displayed on the rights template editor 12 so that the user can start editing the rights template to generate a new rights expression.
  • In accordance with another embodiment of the present invention, the [0074] rights expression system 1 may be provided with layouts 2 containing tokens, which are placeholders for information to be filled in later. These tokens may be employed by the rights expression system 1 of the present invention to increase the system usability and user-friendliness. In particular, a tokenized layout promotes reusability of frequently used rights expressions by producing a rights template with tokens that can be filled with information later, or a tokenized template may even be embedded within another rights template. Tokens are coded using XML Schema, for example, to represent a core element of the REL and to express their intent, thereby allowing selection of the appropriate information for replacement of the tokens.
  • For example, a promotion layout may be used to create an offer of free preview of some demo item to any buying customer. The rights expression for this promotion may contain a token representing a buying customer, and the information regarding the buying customer may be made available in a separate license. Later, when the user decides to offer this promotion along with some other item for purchase, the embedded token will be replaced using the customer specification for the second item. This allows the tokenized promotion offer to be reused by multiple rights templates targeting different customers. A token may be replaced with a pattern expression that matches a set of values, not just a single value. In another example, a certificate or the like which incorporates the generated rights expression may be intended for issuance to many individuals instead of just one person. In such an instance, a pattern may be provided which replaces the token, the pattern indicating the group of individuals to which the certificate is to be issued. For example, the [0075] certificate layout 33 of FIG. 4 provides a pattern indicating issuance of the certificate to anyone from www.uscstudentgroup.com. Of course, there are plenty of other applications for the use of such tokenized templates.
  • FIG. 12 shows a [0076] flowchart 100 that describes the token replacement process as a tokenized template is embedded within another rights template. In step 101, the tokenized template is copied into memory of the rights template editor 12 where replacement of tokens occurs. The search for a token begins in step 102. If no token is found in step 102, the process is ended in step 108. If a token is found in step 102, the embedding rights template is parsed to find an entry that matches the type described by the token in step 103. A determination is made in step 104 as to whether a matching replacing entry is found. If a matching replacing entry is not found, an error is displayed in step 109 and the process resumes to step 102 to process the next token.
  • If a matching replacing entry is found in [0077] step 104, the token is queried for its expectation of a pattern replacement in step 105. If a pattern is not required, the token is replaced with the value found in the parent layout in step 107 and the process is repeated starting in step 102 for the next token. If a pattern is required, a determination is made as to whether the entry is a pattern in step 106. If the entry is not a pattern, an error is displayed in step 109 and the process resumes to step, 102 to process the next token. If the entry is a pattern, the token is replaced with the value found in the parent layout in step 107. The process is repeated starting in step 102 for the next token. When there is no more tokens to process, the process is ended in step 108. Optionally, step 109 may be enhanced to attempt an error recovery, for instance, converting the entry to match the token requirements, instead of just skipping to the next token. Moreover, in yet another enhancement may be made so that the tokens can represent elements other than core elements.
  • In view of the above, it should now be evident that the present invention provides a rights expression system and method having features and capability beyond generic editors. In particular, the present invention provides a rights expression system and method that provides guidance on the semantics of an REL and its extensions to allow the item owner, or the rights holder, to create and modify licenses more easily and accurately. As described, present invention greatly facilitates creation and/or modification of rights expressions in an REL that is based on one or more schemas. [0078]
  • While various embodiments in accordance with the present invention have been shown and described, it is understood that the invention is not limited thereto. The present invention may be changed, modified and further applied by those skilled in the art. Therefore, this invention is not limited to the detail shown and described previously, but also includes all such changes and modifications as defined by the appended claims and legal equivalents. [0079]

Claims (53)

We claim:
1. A rights expression system for facilitating creation and/or modification of rights expressions in a rights expression language (REL) based on one or more schemas, said rights expression system comprising:
one or more layouts selectable by a user of said rights expression system, each layout corresponding to a rights granting paradigm, each layout comprising:
one or more type selectors selectable by the user, each type selector being adapted to present one or more REL terms associated with a selected type selector; and
one or more input forms associated with said one or more REL terms which are invoked based on a REL term selected by the user, said one or more input forms allowing input of a parameter required by said selected REL term; and
a data engine that generates rights expressions in proper REL semantics defined by said one or more schemas based on said selected layout and parameter inputted by the user.
2. The system of claim 1, wherein said data engine is further adapted to generate a rights template based on said generated rights expression.
3. The system of claim 2, further comprising a database for storing and retrieving said generated rights template to allow modification of said parameters input by the user.
4. The system of claim 3, wherein said data engine generates plurality of rights templates based on a plurality of generated rights expressions, and said database is further adapted to execute queries to retrieve one or more of said generated rights templates.
5. The system of claim 1, further including a terms dictionary for storing said one or more REL terms.
6. The system of claim 1, wherein said data engine includes a schema manager adapted to at least one of allow addition of new rights expressions, and allow modification of existing rights expressions based on an extension schema that modifies a parent schema of said REL.
7. The system of claim 1, further including a transformer to convert said generated rights expressions into a textual description for display.
8. The system of claim 1, wherein said one or more type selectors includes at least one of right type, resource type, condition type, principal type, and issuer type.
9. The system of claim 8, wherein said one or more type selectors includes a right type that presents REL terms for identifying usage rights that can be granted.
10. The system of claim 9, wherein said usage rights includes rights to at least one of view, edit, save, print, distribute, and transfer.
11. The system of claim 8, wherein said one or more type selectors includes a condition type that presents REL terms for setting conditions that can be associated with a usage right.
12. The system of claim 11, wherein said conditions is at least one of a fee, validity interval, and territory limitations on usage rights.
13. The system of claim 8, wherein said one or more type selectors includes a resource type that presents REL terms for identifying an item for which a usage right is to be granted.
14. The system of claim 13, wherein said item is at least one of digital content, digital document, eBook, digital multimedia, digital music, and digital video.
15. The system of claim 8, wherein said one or more type selectors includes a principal type that presents REL terms for indicating identity to whom a usage right is to be granted.
16. The system of claim 8, wherein said one or more type selectors includes an issuer type that presents REL terms for indicating identity of who grants a usage right.
17. The system of claim 1, further comprising a layout manager adapted to allow addition of new layouts into said rights expression system, said new layout corresponding to a new rights granting paradigm.
18. The system of claim 1, wherein at least one of said one or more layouts contain tokens that serve as placeholders for information to be provided.
19. The system of claim 1, wherein said one or more layouts are a plurality of layouts, each layout comprising a plurality of type selectors and plurality of input forms.
20. The system of claim 1, wherein said rights expression system is implemented with a graphical user interface (GUI) in a manner that said one or more layouts are displayed graphically.
21. The system of claim 1, wherein said rights expression system is implemented with a programmable interface.
22. The system of claim 1, wherein said rights expression system is implemented with a command line interface.
23. A method for creating and/or modifying rights expressions in a rights expression language (REL) based on one or more schemas comprising the steps of:
providing one or more layouts, each layout corresponding to a rights granting paradigm;
selecting at least one of said one or more of layouts;
providing one or more type selectors associated with said selected layout;
selecting at least one of said one or more of type selectors;
providing one or more REL terms associated with said selected type selector;
selecting at least one of said one or more of REL terms;
providing at least one input form associated with said selected REL term;
inputting a parameter required by said input form; and
generating a rights expression in proper REL semantics defined by said one or more schema based on said selected layout and parameter inputted.
24. The method of claim 23, further including the step of generating a rights template based on said generated rights expression.
25. The method of claim 24, further including the steps of storing said generated rights template.
26. The method of claim 25, further including the steps of retrieving said stored generated rights template and modifying said parameters inputted.
27. The method of claim 23, further including the step of adding new rights expressions based on an extension schema that modifies apparent schema of said REL.
28. The method of claim 23, further including the step of converting said generated rights expressions into a textual description for display.
29. The method of claim 23, wherein said one or more of type selectors includes at least one of right type, resource type, condition type, principal type, and issuer type.
30. The method of claim 23, further including the step of providing tokens in at least one of said one or more of layouts, said tokens serving as placeholders for information to be provided.
31. The method of claim 23, wherein said one or more layouts are a plurality of layouts, each layout comprising a plurality of type selectors and plurality of input forms.
32. The method of claim 23, further including the step of displaying said one or more layouts graphically in a graphical user interface (GUI).
33. A rights expression system for facilitating creation and/or modification of rights expressions in a rights expression language (REL) based on one or more schemas, said rights expression system comprising:
one or more selectable layouts, each layout corresponding to a rights granting paradigm, each layout comprising:
one or more type selection components, each type selection component being adapted to present one or more REL terms; and
one or more input components associated with said one or more REL terms which are invoked based on a selected REL term, said one or more input components allowing input of a parameter required by said selected REL term; and
a data engine that generates rights expressions in proper REL semantics defined by said one or more schemas based on said selected layout and parameter inputted.
34. The system of claim 33, wherein said data engine is further adapted to generate a rights template based on said generated rights expression.
35. The system of claim 34, further comprising a database for storing and retrieving said generated rights template to allow modification of said parameters inputted.
36. The system of claim 33, further including a terms dictionary for storing said one or more REL terms.
37. The system of claim 33, wherein said data engine includes a schema manager adapted to allow addition of new rights expressions based on an extension schema that modifies a parent schema of said REL.
38. The system of claim 33, wherein said one or more type selection components includes at least one of right type, resource type, condition type, principal type, and issuer type.
39. The system of claim 33, further comprising a layout manager adapted to allow addition of new layouts into said rights expression system, said new layout corresponding to a new rights granting paradigm.
40. The system of claim 33, wherein at least one of said one or more layouts contain tokens that serve as placeholders for information to be provided.
41. The system of claim 33, wherein said one or more layouts are a plurality of layouts, each layout comprising a plurality of type selection components and plurality of input components.
42. The system of claim 33, wherein said rights expression system is implemented with a graphical user interface (GUI) in a manner that said one or more layouts are displayed graphically.
43. The system of claim 33, wherein said rights expression system is implemented with a programmable interface.
44. The system of claim 33, wherein said rights expression system is implemented with a command line interface.
45. A method for creating and/or modifying rights expressions in a rights expression language (REL) based on one or more schemas comprising the steps of:
providing one or more layouts, each layout corresponding to a rights granting paradigm;
selecting at least one of said one or more of layouts;
providing one or more type selection components associated with said selected layout;
selecting at least one of said one or more type selection components;
providing one or more REL terms associated with said selected type selection components;
selecting at least one of said one or more of REL terms;
providing at least one input component associated with said selected REL term;
inputting parameters required by said input component; and
generating a rights expression in proper REL semantics defined by said one or more schemas based on said selected layout and parameters inputted.
46. The method of claim 45, further including the step of generating a rights template based on said generated rights expression.
47. The method of claim 46, further including the steps of storing said generated rights template.
48. The method of claim 47, further including the steps of retrieving said stored generated rights template and modifying said parameters inputted.
49. The method of claim 45, further including the step of at least one of adding new rights expressions, and modifying existing rights expressions based on an extension schema that modifies a parent schema of said REL.
50. The method of claim 45, wherein said one or more of type selection components includes at least one of right type, resource type, condition type, principal type, and issuer type.
51. The method of claim 45, further including the step of providing tokens in at least one of said one or more of layouts, said tokens serving as placeholders for information to be provided.
52. The method of claim 45, wherein said one or more layouts are a plurality of layouts, each layout comprising a plurality of type selection components and plurality of input components.
53. The method of claim 45, further including the step of displaying said one or more layouts graphically in a graphical user interface (GUI).
US10/298,222 2001-01-17 2002-11-18 Rights expression system Expired - Lifetime US7177843B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/298,222 US7177843B2 (en) 2001-01-17 2002-11-18 Rights expression system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US26175301P 2001-01-17 2001-01-17
US33161901P 2001-11-20 2001-11-20
US33162201P 2001-11-20 2001-11-20
US10/046,695 US7085741B2 (en) 2001-01-17 2002-01-17 Method and apparatus for managing digital content usage rights
US35964602P 2002-02-27 2002-02-27
US10/298,222 US7177843B2 (en) 2001-01-17 2002-11-18 Rights expression system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/046,695 Continuation-In-Part US7085741B2 (en) 2001-01-17 2002-01-17 Method and apparatus for managing digital content usage rights

Publications (2)

Publication Number Publication Date
US20030125976A1 true US20030125976A1 (en) 2003-07-03
US7177843B2 US7177843B2 (en) 2007-02-13

Family

ID=27534956

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/298,222 Expired - Lifetime US7177843B2 (en) 2001-01-17 2002-11-18 Rights expression system

Country Status (1)

Country Link
US (1) US7177843B2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040098346A1 (en) * 2002-11-18 2004-05-20 Microsoft Corporation Digital licenses including patterns
US20040220878A1 (en) * 2001-01-17 2004-11-04 Contentguard Holdings, Inc. Networked services licensing system and method
US20050086326A1 (en) * 2003-10-16 2005-04-21 Manning Damian F. Electronic media distribution system
US20050108176A1 (en) * 2003-04-30 2005-05-19 Jarol Scott B. Configurable rules based content item consumption
US20060004669A1 (en) * 2004-07-05 2006-01-05 Kabushiki Kaisha Toshiba Apparatus for and method of establishing digital content right, and computer program product
US20060080262A1 (en) * 2004-09-30 2006-04-13 Kabushiki Kaisha Toshiba Apparatus and method for digital content editing
US20060095974A1 (en) * 2004-09-30 2006-05-04 Kabushiki Kaisha Toshiba Apparatus and method for rendering digital content
US20060225055A1 (en) * 2005-03-03 2006-10-05 Contentguard Holdings, Inc. Method, system, and device for indexing and processing of expressions
US20060271494A1 (en) * 2005-05-25 2006-11-30 Kabushiki Kaisha Toshiba Apparatus, method and computer program product for reusing digital content according to license information
US20070112779A1 (en) * 2005-11-16 2007-05-17 Ullas Gargi Distributed processing with metadata placeholders
US20080086757A1 (en) * 2006-10-09 2008-04-10 Microsoft Corporation Content protection interoperability infrastructure
US20080172416A1 (en) * 2006-12-28 2008-07-17 Kabushiki Kaisha Toshiba Apparatus, method, and computer program product for editing digital contents
US20080263637A1 (en) * 2005-02-21 2008-10-23 Masao Nonaka Information Distribution System and Terminal Device
US20090070371A1 (en) * 2007-09-12 2009-03-12 Yahoo! Inc. Inline rights request and communication for remote content
US7840488B2 (en) * 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US20120291140A1 (en) * 2009-06-26 2012-11-15 Arnaud Robert Method and System for Allocating Access to Digital Media Content
US8655826B1 (en) 2008-08-01 2014-02-18 Motion Picture Laboratories, Inc. Processing and acting on rules for content recognition systems
US8769698B2 (en) 2006-01-05 2014-07-01 Kabushiki Kaisha Toshiba Apparatus and method for playback of digital content
US8843997B1 (en) * 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
US20160057155A1 (en) * 2011-11-10 2016-02-25 Microsoft Technology Licensing, Llc User interface for selection of multiple accounts and connection points
US20160125172A1 (en) * 2014-10-29 2016-05-05 International Business Machines Corporation Automatic generation of license terms for service application marketplaces

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002246758A1 (en) * 2000-12-29 2002-07-16 Vanderbilt University Epididymal lipocalin gene and uses thereof
US7720910B2 (en) * 2002-07-26 2010-05-18 International Business Machines Corporation Interactive filtering electronic messages received from a publication/subscription service
US7483915B2 (en) * 2003-08-21 2009-01-27 Microsoft Corporation Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US8166101B2 (en) * 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7349913B2 (en) * 2003-08-21 2008-03-25 Microsoft Corporation Storage platform for organizing, searching, and sharing data
US20050055354A1 (en) * 2003-08-21 2005-03-10 Microsoft Corporation Systems and methods for representing units of information manageable by a hardware/software interface system but independent of physical representation
US7428546B2 (en) * 2003-08-21 2008-09-23 Microsoft Corporation Systems and methods for data modeling in an item-based storage platform
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US7739316B2 (en) * 2003-08-21 2010-06-15 Microsoft Corporation Systems and methods for the implementation of base schema for organizing units of information manageable by a hardware/software interface system
US7555497B2 (en) * 2003-08-21 2009-06-30 Microsoft Corporation Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US8238696B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US20050070257A1 (en) * 2003-09-30 2005-03-31 Nokia Corporation Active ticket with dynamic characteristic such as appearance with various validation options
US7565438B1 (en) * 2004-03-30 2009-07-21 Sprint Communications Company L.P. Digital rights management integrated service solution
US7778962B2 (en) * 2004-04-30 2010-08-17 Microsoft Corporation Client store synchronization through intermediary store change packets
US7805422B2 (en) 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
US20080235258A1 (en) 2007-03-23 2008-09-25 Hyen Vui Chung Method and Apparatus for Processing Extensible Markup Language Security Messages Using Delta Parsing Technology
US8200618B2 (en) 2007-11-02 2012-06-12 International Business Machines Corporation System and method for analyzing data in a report
US8954869B2 (en) * 2007-12-17 2015-02-10 International Business Machines Corporation Generating a front end graphical user interface for a plurality of text based commands
GB2458568B (en) * 2008-03-27 2012-09-19 Covertix Ltd System and method for dynamically enforcing security policies on electronic files

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5295266A (en) * 1991-12-20 1994-03-15 International Computers Limited Program attribute control in a computer system
US5335346A (en) * 1989-05-15 1994-08-02 International Business Machines Corporation Access control policies for an object oriented database, including access control lists which span across object boundaries
US5499298A (en) * 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5532920A (en) * 1992-04-29 1996-07-02 International Business Machines Corporation Data processing system and method to enforce payment of royalties when copying softcopy books
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5798757A (en) * 1993-12-15 1998-08-25 Borland International, Inc. Methods and interface for building command expressions in a computer system
US5917912A (en) * 1995-02-13 1999-06-29 Intertrust Technologies Corporation System and methods for secure transaction management and electronic rights protection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3041013B2 (en) * 1990-03-30 2000-05-15 株式会社東芝 Software component usage rule generation method
US5634012A (en) 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US6169976B1 (en) 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
JP2002539466A (en) 1998-12-24 2002-11-19 ユニバーサル・ミュージック・グループ・インコーポレーテッド Electronic music / media distribution system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335346A (en) * 1989-05-15 1994-08-02 International Business Machines Corporation Access control policies for an object oriented database, including access control lists which span across object boundaries
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5295266A (en) * 1991-12-20 1994-03-15 International Computers Limited Program attribute control in a computer system
US5532920A (en) * 1992-04-29 1996-07-02 International Business Machines Corporation Data processing system and method to enforce payment of royalties when copying softcopy books
US5798757A (en) * 1993-12-15 1998-08-25 Borland International, Inc. Methods and interface for building command expressions in a computer system
US5499298A (en) * 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5917912A (en) * 1995-02-13 1999-06-29 Intertrust Technologies Corporation System and methods for secure transaction management and electronic rights protection
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040220878A1 (en) * 2001-01-17 2004-11-04 Contentguard Holdings, Inc. Networked services licensing system and method
US7386513B2 (en) * 2001-01-17 2008-06-10 Contentguard Holdings, Inc. Networked services licensing system and method
US7840488B2 (en) * 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US20040098346A1 (en) * 2002-11-18 2004-05-20 Microsoft Corporation Digital licenses including patterns
US20050108176A1 (en) * 2003-04-30 2005-05-19 Jarol Scott B. Configurable rules based content item consumption
US7281274B2 (en) 2003-10-16 2007-10-09 Lmp Media Llc Electronic media distribution system
US20050086326A1 (en) * 2003-10-16 2005-04-21 Manning Damian F. Electronic media distribution system
US10257243B2 (en) 2003-10-16 2019-04-09 Gula Consulting Limited Liability Company Electronic media distribution system
US9648069B2 (en) 2003-10-16 2017-05-09 Gula Consulting Limited Liability Company Electronic media distribution system
US9491215B2 (en) 2003-10-16 2016-11-08 Gula Consulting Limited Liability Company Electronic media distribution system
US8973160B2 (en) 2003-10-16 2015-03-03 Precisionist Fund Ii, Llc Electronic media distribution systems
US20080040816A1 (en) * 2003-10-16 2008-02-14 Manning Damian F Electronic media distribution system
US20110179500A1 (en) * 2003-10-16 2011-07-21 Lmp Media Llc Electronic media distribution systems
US7917965B2 (en) 2003-10-16 2011-03-29 Lmp Media Llc Electronic media distribution system
US8027936B2 (en) * 2004-07-05 2011-09-27 Kabushiki Kaisha Toshiba Apparatus for and method of establishing digital content right, and computer program product
US20060004669A1 (en) * 2004-07-05 2006-01-05 Kabushiki Kaisha Toshiba Apparatus for and method of establishing digital content right, and computer program product
US8266061B2 (en) 2004-09-30 2012-09-11 Kabushiki Kaisha Toshiba Apparatus and method for digital content editing
US20090138404A1 (en) * 2004-09-30 2009-05-28 Kabushiki Kaisha Toshiba Apparatus and method for rendering digital content
US7672905B2 (en) 2004-09-30 2010-03-02 Kabushiki Kaisha Toshiba Apparatus and method for rendering digital content
US7490068B2 (en) 2004-09-30 2009-02-10 Kabushiki Kaisha Toshiba Apparatus and method for rendering digital content
US20060095974A1 (en) * 2004-09-30 2006-05-04 Kabushiki Kaisha Toshiba Apparatus and method for rendering digital content
US20060080262A1 (en) * 2004-09-30 2006-04-13 Kabushiki Kaisha Toshiba Apparatus and method for digital content editing
US8683552B2 (en) * 2005-02-21 2014-03-25 Panasonic Corporation Information distribution system and terminal device
US20080263637A1 (en) * 2005-02-21 2008-10-23 Masao Nonaka Information Distribution System and Terminal Device
US20060225055A1 (en) * 2005-03-03 2006-10-05 Contentguard Holdings, Inc. Method, system, and device for indexing and processing of expressions
US20060271494A1 (en) * 2005-05-25 2006-11-30 Kabushiki Kaisha Toshiba Apparatus, method and computer program product for reusing digital content according to license information
US20070112779A1 (en) * 2005-11-16 2007-05-17 Ullas Gargi Distributed processing with metadata placeholders
US8782002B2 (en) * 2005-11-16 2014-07-15 Hewlett-Packard Development Company, L.P. Distributed processing with metadata placeholders
US8769698B2 (en) 2006-01-05 2014-07-01 Kabushiki Kaisha Toshiba Apparatus and method for playback of digital content
US20080086757A1 (en) * 2006-10-09 2008-04-10 Microsoft Corporation Content protection interoperability infrastructure
US8296569B2 (en) 2006-10-09 2012-10-23 Microsoft Corporation Content protection interoperability infrastructure
US20080172416A1 (en) * 2006-12-28 2008-07-17 Kabushiki Kaisha Toshiba Apparatus, method, and computer program product for editing digital contents
US20090070371A1 (en) * 2007-09-12 2009-03-12 Yahoo! Inc. Inline rights request and communication for remote content
US8655826B1 (en) 2008-08-01 2014-02-18 Motion Picture Laboratories, Inc. Processing and acting on rules for content recognition systems
US8843997B1 (en) * 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
US20120291140A1 (en) * 2009-06-26 2012-11-15 Arnaud Robert Method and System for Allocating Access to Digital Media Content
US8571994B2 (en) * 2009-06-26 2013-10-29 Disney Enterprises, Inc. Method and system for allocating access to digital media content
US20160057155A1 (en) * 2011-11-10 2016-02-25 Microsoft Technology Licensing, Llc User interface for selection of multiple accounts and connection points
US9661001B2 (en) * 2011-11-10 2017-05-23 Microsoft Technology Licensing, Llc User interface for selection of multiple accounts and connection points
US9460273B2 (en) * 2014-10-29 2016-10-04 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
US20160125172A1 (en) * 2014-10-29 2016-05-05 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
US20160364213A1 (en) * 2014-10-29 2016-12-15 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
US10216486B2 (en) * 2014-10-29 2019-02-26 International Business Machines Corporation Automatic generation of license terms for service application marketplaces

Also Published As

Publication number Publication date
US7177843B2 (en) 2007-02-13

Similar Documents

Publication Publication Date Title
US7177843B2 (en) Rights expression system
US7558759B2 (en) Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
JP5665273B2 (en) Data containers and metadata sets for association with media items and composite media items
CN101369299B (en) Method and apparatus for managing digital content usage rights
CN101699505B (en) A kind of network media system
US7844548B2 (en) Techniques and systems for electronic submission of media for network-based distribution
US20040078293A1 (en) Digital content distribution
US20080269931A1 (en) Set of metadata for association with a composite media item and tool for creating such set of metadata
US20130047221A1 (en) Method and apparatus for improved information transactions
US20110209223A1 (en) Extensible rights expression processing system
US20070118441A1 (en) Editable electronic catalogs
WO2000042555A9 (en) Method and system for registering and licensing works over a network
EP1062605A1 (en) Method and system for registering and licensing works over a network
US7734550B1 (en) Method and system for identifying the controlling license for installed software
JP2005516279A (en) Method and system for music industry release and license identification
US7149721B1 (en) Electronic content rights with and-or expression
US20050283440A1 (en) License evaluation apparatus, license evaluation method and computer program therefor
KR101537801B1 (en) Apparatus and method for rights management using an online open market
EP1459197A1 (en) Rights expression system
US8660960B2 (en) Document digest allowing selective changes to a document
KR20020045843A (en) Offering Method of Digital Contents linking Service and System Thereof
Guth Interoperability of DRM systems: exchanging and processing XML-based rights expressions
US20010029458A1 (en) Device for electrical article search and supply services and method for electrical article search and supply services
JP4626283B2 (en) Electronic delivery check system, check method, program
Leff eContracts Version 1.0 Committee Draft 1.0, 21 December 2006

Legal Events

Date Code Title Description
AS Assignment

Owner name: CONTENTGURAD HOLDINGS, INC., DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NGUYEN, MAI;FUNG, JOSEPH ZHUNG YEE;TRAN, DUC;REEL/FRAME:013815/0916

Effective date: 20030121

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20190213

FEPP Fee payment procedure

Free format text: PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL (ORIGINAL EVENT CODE: M1558); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

PRDP Patent reinstated due to the acceptance of a late maintenance fee

Effective date: 20200127

STCF Information on status: patent grant

Free format text: PATENTED CASE