Patent Description:
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.

Current approaches to acquiring digital assets on-line, whether in physical or digital form, typically involve the purchaser placing an order with an on-line retailer and then concluding the purchase with a payment transaction. If the digital assets are in physical form, they are then shipped to the purchaser. If in digital form, the purchaser typically conducts a download session, which may include a unique license key. Known approaches to managing the licensing of downloaded digital assets include establishing a license for a digital asset and a corresponding download link such that it can be sent to a particular information handling system. The license is then associated with the target system and tracked over time for termination, renewal, or possible transfer to another system.

However, the digital assets may be acquired from multiple on-line sources, including a closed enterprise networking environment, catalog vendors stocking a wide variety of digital assets, or individual software producers. As a result, the purchaser must keep track of the source for each individual digital asset and its associated license.

Furthermore, it is not uncommon for users to misplace or forget their user IDs and passwords. While methods exist to recover a log-in name and password, the process is inherently cumbersome and may create delays in installing the digital assets on the user's system. In view of the foregoing, there is a need for allowing a broad range of digital assets to be delivered digitally, through multiple channels, to multiple information handling systems, through individual or multiple accounts, and to accommodate various licensing restrictions.

In addition, in enterprise computing environments in which numerous digital asset entitlements are associated with numerous individual users or computing systems, management and tracking of the various digital assets in the enterprise may be difficult. Such may be the case when "ad hoc" acquisitions of digital assets are made within an enterprise.

<CIT> discloses a method of distributing electronic content. The method comprises distributing a first electronic object to a user's computer system, the first electronic object being associated with an encrypted piece of electronic content, the first electronic object comprising first control information governing use of the piece of electronic content, the first control information specifying one or more permitted uses of the piece of electronic content, and separately distributing a second electronic object to the user's computer system, the second electronic object comprising second control information governing use of the piece of electronic content. The first and second control information are configured to be applied in combination by tamper resistant hardware and/or software running on the user's computer system to securely govern use of the piece of electronic content. A corresponding method of receiving electronic content is also disclosed.

<CIT> discloses a system, method, and computer-readable medium for separating the purchase of digital assets from their fulfillment and activation. Digital assets purchase information comprising digital assets identifier information and activation key data, and system identifier information comprising system identifier data, is received. The purchase information and the system identifier information are processed to generate digital assets activation request data, which is then processed by the provider of the digital assets to generate digital assets activation data. Associated digital assets data is provided with the digital assets activation data and then processed with the purchase transaction data to generate digital assets entitlement data. A personalization agent associated with a target system automatically downloads the purchased digital assets and associated digital assets entitlement data, which is used to install the digital assets, thereby entitling the system to process the installed digital assets.

In accordance with the teachings of the present disclosure, the disadvantages and problems associated with entitling digital assets have been substantially reduced or eliminated.

In accordance with embodiments of the present disclosure, an information handling system for managing the entitlement of digital assets may include a storage medium and a processor. The storage medium may include entitlement data associated with one or more digital assets. The processor may be configured to receive a plurality of entitlements for a digital asset from a parent device. The processor may also be configured to bind the digital asset and the plurality of entitlements to the information handling system. The processor may additionally be configured to allocate the plurality of entitlements among a plurality of child devices. The processor may be further be configured to bind the plurality of entitlements to the plurality of child devices in accordance with the entitlements.

In accordance with these and other embodiments, a computer-implemented method for managing the entitlement of digital assets may include receiving at an information handling system a plurality of entitlements for a digital asset from a parent device. The method may also include binding the digital asset and the plurality of entitlements to the information handling system. The method may additionally include allocating the plurality of entitlements among a plurality of child devices. The method may further include binding the plurality of entitlements to the plurality of child devices in accordance with the entitlements.

In accordance with these and other embodiments, an article of manufacture may include a computer readable medium and computer-executable instructions carried on the computer readable medium. The instructions may be readable by a processor, the instructions, when read and executed, for causing the processor to: (i) receive at an information handling system a plurality of entitlements for a digital asset from a parent device; (ii) bind the digital asset and the plurality of entitlements to the information handling system; (iii) allocate the plurality of entitlements among a plurality of child devices; and (iv) bind the plurality of entitlements to the plurality of child devices in accordance with the entitlements.

Technical advantages of the present disclosure may be apparent to those of ordinary skill in the art in view of the following specification, claims, and drawings.

A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:.

Preferred embodiments and their advantages are best understood by reference to <FIG>, wherein like numbers are used to indicate like and corresponding parts.

For the purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a personal digital assistant (PDA), a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.

<FIG> illustrates a block diagram of an example information handling system <NUM>, in accordance with embodiments of the present disclosure. Information handling system <NUM> may include a processor <NUM>, I/O devices <NUM>, a hard drive or disk storage <NUM>, a network port <NUM>, a memory <NUM>, various other information handling resources <NUM>, all communicatively coupled to each other via one or more buses <NUM>. In some embodiments an information handling system identification similar to that depicted in <FIG> may be used to implement one or more methods and/or systems disclosed herein.

A processor <NUM> may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, processor <NUM> may interpret and/or execute program instructions and/or process data stored in memory <NUM>, hard drive <NUM>, and/or another component of system <NUM>.

An I/O device <NUM> may include any system, device, or apparatus from which processor <NUM> may receive input or to which processor <NUM> may deliver output. An I/O device may include a display, a keyboard, a mouse, other I/O devices, and/or associated controllers.

Hard drive <NUM> may include computer-readable media (e.g., magnetic storage media, optical storage media, opto-magnetic storage media, and/or other type of rotating storage media, flash memory, and/or other type of solid state storage media) and may be generally operable to store data and/or programs (e.g., one or more operating systems and/or one or more application programs). Although <FIG> depicts information handling system <NUM> as including one hard drive <NUM>, information handling system <NUM> may include any suitable number of hard drives <NUM>.

Network port <NUM> may include any suitable system, apparatus, or device operable to serve as an interface between information handling system <NUM> and a network. Network port <NUM> may enable information handling system <NUM> to communicate over such network using any suitable transmission protocol and/or standard, including without limitation Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet Protocol (IP), other packet-based protocol, small computer system interface (SCSI), Internet SCSI (iSCSI), Serial Attached SCSI (SAS) or any other transport that operates with the SCSI protocol, advanced technology attachment (ATA), serial ATA (SATA), advanced technology attachment packet interface (ATAPI), serial storage architecture (SSA), integrated drive electronics (IDE), and/or any combination thereof.

Memory <NUM> may be communicatively coupled to processor <NUM> and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media). Memory <NUM> may include random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a Personal Computer Memory Card International Association (PCMCIA) card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or nonvolatile memory that retains data after power to information handling system <NUM> is turned off. Although <FIG> depicts information handling system <NUM> as including one memory <NUM>, information handling system <NUM> may include any suitable number of memories <NUM>.

Other information handling resources <NUM> may include any component systems, devices, or apparatuses of an information handling system <NUM>, including without limitation processors, buses, memories, I/O devices and/or interfaces, storage resources, network interfaces, motherboards, electro-mechanical devices (e.g., fans), displays, and power supplies.

The one or more buses <NUM> may comprise any suitable collection of systems, devices, or apparatuses configured to transfer data between various components of information handling system <NUM>. For example, one or more buses <NUM> may include a serial advanced technology attachment (SATA) bus, a Peripheral Component Interconnect (PCI)/PCMCIA bus, Universal Serial Bus (USB), an SCSI bus, FireWire (IEEE <NUM>) bus, InfiniBand bus, any other suitable bus, or any combination of the foregoing.

<FIG> illustrates a block diagram of an example digital assets entitlement system <NUM>, in accordance with embodiments of the present disclosure. In some embodiments, digital assets entitlement system <NUM> may be implemented for managing the entitlement of a system <NUM> to process a digital asset <NUM>. In these and other embodiments, digital assets entitlement system <NUM> may be implemented on one or more servers <NUM>, which may be commercially coupled to a network <NUM>. In various embodiments, network <NUM> may comprise a public network, for example the Internet, a physical private network, a virtual private network (VPN), or any combination thereof. As shown in <FIG>, digital assets entitlement system <NUM> may include a user service and support module <NUM>, a digital fulfillment module <NUM>, and a system identification and security module <NUM>. Digital assets entitlement system <NUM> may likewise comprise a personalization module <NUM>, an entitlement module <NUM>, a sales integration module <NUM>, and a manufacturing integration module <NUM>. In addition, digital assets entitlement system <NUM> may be configured to access a digital assets data repository <NUM>, an entitlement data repository <NUM>, and a system identifier (ID) data repository <NUM>, each of which may be implemented on one or more servers <NUM> communicatively coupled to a network <NUM>.

As used herein, a digital asset <NUM> refers to any digital asset, for example, a software application, a deliverable or performable service, music, video, software activation key, personalization instructions, files, etc. that are digitally deliverable either wholly or partially. As likewise used herein, a digital assets entitlement may refer to the association of a predetermined digital asset <NUM> with a target system <NUM>. In various embodiments, an entitlement record may include the digital assets entitlement data (e.g., license information, etc.) that allows digital asset <NUM> to be processed by a target system <NUM> identified by a corresponding unique system identifier <NUM>. In these and other embodiments, the entitlement record may be processed by entitlement module <NUM> and stored in entitlement data repository <NUM>. Likewise, as used herein, a system <NUM> may comprise an information handling system (e.g., a personal computer, a laptop computer, a tablet computer, a PDA, a mobile telephone, or any other suitable device) operable to store a unique system ID <NUM>, perform digital asset entitlement operations with a personalization agent, and operable to establish an online session with digital assets entitlement system <NUM> via network <NUM>.

In some embodiments, digital assets entitlement and system personalization operations may be performed by a user <NUM>, in either a physical environment or an online environment. A user <NUM> may comprise a system purchaser enterprise administrator, information technologist, or another suitable person. As an example, a physical environment may comprise a retailer <NUM> operating a physical point-of-sale (POS) system <NUM>. As another example, an online environment may comprise a system manufacturer <NUM>, after-point-of-sale (APOS) vendor <NUM>, or digital assets vendor <NUM>, that respectively accepts online orders for systems or digital assets via network <NUM>.

If the digital assets entitlement and system personalization operations are performed in an online environment, then user <NUM> may decide whether to purchase a custom-configured or pre-configured system <NUM>. If the system <NUM> is to be pre-configured, then it may be selected for online purchase by the user <NUM> and its unique identifier <NUM> may be determined. In some embodiments, the unique system identifier <NUM> may be stored in the basic input/output system (BIOS) of the pre-configured system <NUM>. However, if the system <NUM> is to be custom-configured, then it may be custom-configured for online purchase by user <NUM>. Once manufactured by system manufacturer <NUM>, a unique system identifier may be generated as described in greater detail herein.

In various embodiments, manufacturing integration module <NUM> may coordinate the custom configuration of the system <NUM> with digital assets entitlement system <NUM>. Likewise, system identification and security module <NUM> may coordinate the generation of unique system identifier <NUM> and its storage in the repository of system identifier data <NUM>. User <NUM> may then select a digital asset <NUM> for online purchase, followed by selecting personalization options for the pre-configured or custom-configured system <NUM>. In various embodiments, the personalization module <NUM> coordinates the selection of personalization options with digital assets entitlement system <NUM>. As used herein, a system personalization option refers to any feature, capability, or function that may be applied to a target system <NUM>. As an example, a personal computer desktop wallpaper or user interface options (e.g., a "classic" interface) are personalization options.

However, if the digital assets entitlement and system personalization operations are performed in a physical environment, then user <NUM> may select a pre-configured system <NUM> and physical representations of digital assets <NUM> to be purchased. In various embodiments, the digital asset <NUM> may be physically represented as images and/or text on a card or a package, yet the digital assets themselves may not be included within the card or package. User <NUM> may then select system personalization options for the pre-configured system <NUM>. In various embodiments, the system personalization options may likewise be physically represented as images and/or text on a card or a package.

The digital assets product identifier (ID) may then be scanned with a scanner <NUM> from its corresponding physical representation, followed by scanning its corresponding digital assets activation key or other entitlement data. In various embodiments, it is not necessary to scan the digital assets activation key or other entitlement data as it is provided by digital assets entitlement system <NUM> during digital asset entitlement operations described in greater detail herein. Data related to the previously selected personalization options may then likewise be scanned, followed by determining unique system identifier <NUM> of pre-configured system <NUM>. In various embodiments, the digital assets product ID, its associated activation key or entitlement data, the personalization option data, and the unique system identifier may be represented by a bar code <NUM> or other indicia on a card or physical package. In various other embodiments, the digital assets product ID, its associated activation key or entitlement data, the personalization option data, and the unique system identifier may be stored in a radio frequency identifier (RFID) <NUM> tag affixed to the physical representation of the digital asset. Those of skill in the art may appreciate that many such embodiments are possible and that the foregoing is not intended to limit the scope, or intent of the disclosure.

A purchase transaction for the custom-configured or pre-configured system <NUM> and any associated digital assets <NUM> and personalization options may then be completed. In various embodiments, the processing of the purchase transaction may be performed by the sales integration module <NUM>. In these and other embodiments, the financial proceeds of the purchase transaction may be settled between multiple parties. For example, a system manufacturer <NUM> may receive a portion of the purchase transaction corresponding to the cost of the system <NUM>. One or more digital assets vendors <NUM> may likewise receive a proportionate share of the purchase transaction corresponding to the digital asset <NUM> they respectively provide.

Digital asset entitlement operations, as described in greater detail herein, may then be performed by digital assets entitlement system <NUM> to bind the digital assets <NUM>, the personalization options, and their respective digital assets entitlement data to unique system identifier <NUM> of target system <NUM>. The resulting bound data, including data associated with the digital assets (e.g., installation files, etc.) may then be stored in the repository of entitlement data <NUM> and purchased system <NUM> may then be delivered to user <NUM> or another person designated by user <NUM>. In various embodiments, entitlement module <NUM> may generate, and then process, the digital assets entitlement data and user service and support module <NUM> may coordinate the delivery of system <NUM> to user <NUM> or another person designated by user <NUM>.

Standard operating system (OS) out-of-the-box-experience (OOBE) or hypervisor boot operations may be performed on the system <NUM>, followed by loading a personalization agent <NUM>. In various embodiments, the personalization agent <NUM> has a unique identifier that may be associated with one or more unique system component identifiers. In some embodiments, the unique identifier of the personalization agent may be uniquely associated with the current unique system identifier <NUM> associated with the system <NUM>. In other embodiments, a portion of the personalization agent <NUM> may be delivered to the system <NUM> in an encrypted form and may then be decrypted prior to being loaded on the system <NUM>. In these embodiments, the primary system identifier (e.g., service tag number, serial number, etc.), may be used as a decryption key to decrypt the personalization agent <NUM>.

In these and other embodiments, secondary system identifiers may be stored on system <NUM> (e.g., in the BIOS, in flash memory, on a hard disk, etc.) as well as in digital assets entitlement system <NUM>. In these and other embodiments, digital assets entitlement system <NUM> may use the secondary system identifiers to encrypt a portion of personalization agent <NUM> before it is downloaded to system <NUM>. Once downloaded, the unencrypted portion of personalization agent <NUM> may use the secondary system identifiers stored on system <NUM> to decrypt the encrypted portion of personalization agent <NUM>. In some embodiments, the secondary system identifiers may likewise be encrypted and may first be decrypted before they are used to decrypt the encrypted portion of personalization agent <NUM>. In other embodiments, the secondary system identifiers may be stored in a Trusted Platform Module (TPM). Skilled practitioners of the art may appreciate that many such embodiments are possible and the foregoing is not intended to limit the scope, or intent of the disclosure.

Personalization agent <NUM> may query target system <NUM> for its unique system identifier <NUM>. In various embodiments, unique system identifier <NUM> associated with system <NUM> may be stored in the target system's BIOS, flash memory, a hard disk, and/or other memory device. Personalization agent <NUM> may then automatically establish a communication session with digital assets entitlement system <NUM> and use unique system identifier <NUM> to authenticate system <NUM>. Unique system identifier <NUM> may then be used by the personalization agent <NUM> to determine entitled digital assets and personalization options corresponding to the unique system identifier <NUM>.

Once determined, the corresponding personalization options and digital assets <NUM>, along with their associated digital assets entitlement data, may be respectively downloaded to target system <NUM> from the repository of digital assets <NUM> and the repository of entitlement data <NUM>. In some embodiments, the personalization options and digital assets <NUM>, along with their associated digital assets entitlement data <NUM>, may be downloaded from a single server <NUM> on network <NUM>. In other embodiments, the personalization options and digital assets <NUM> may be downloaded from one or more servers <NUM> on network <NUM>. In yet other embodiments, the personalization options, digital assets <NUM>, and associated digital assets entitlement data <NUM> may be respectively downloaded from a plurality of servers <NUM> on network <NUM>. As an example, a first digital asset <NUM> may be provided by system manufacturer <NUM> and a second digital asset <NUM> may be provided by a digital assets vendor <NUM>. Likewise, a plurality of digital assets <NUM> may be provided by a corresponding plurality of digital assets vendors <NUM>. Skilled practitioners of the art may appreciate that many such embodiments and examples are possible and the foregoing is not intended to limit the scope, or intent of the disclosure.

In various embodiments, digital assets entitlement system <NUM> may manage the respective location of the personalization options, digital assets <NUM>, and associated digital assets entitlement data <NUM> to initiate its provision. Once downloaded, personalization agent <NUM> may use digital assets entitlement data <NUM> to install digital assets <NUM> and personalization options on system <NUM>. Thereafter, user <NUM> or another person may decide to perform an APOS purchase of digital asset <NUM>. As used herein, an APOS purchase of digital assets may refer to any purchase of digital asset <NUM> made after the initial online or physical purchase of system <NUM>. In various embodiments, the APOS purchase of a digital asset <NUM> may be performed in a physical, online, or enterprise point-of-sale environment. If the APOS purchase is performed in an online environment, for example from APOS vendor <NUM>, then user <NUM> or another person may select a digital asset <NUM> for online purchase. Personalization agent <NUM> may then determine unique system identifier <NUM> of system <NUM>. An APOS purchase transaction may then be performed for purchase of the selected digital asset <NUM>. However, if the APOS purchase is performed in a physical environment, then the user <NUM> or another person may select a physical representation of a digital asset <NUM> to be purchased. The digital assets product ID may then be scanned from its corresponding physical representation, followed by scanning its corresponding digital assets activation key or other entitlement data.

Digital asset entitlement operations, as described in greater detail herein, may then be performed by digital assets entitlement system <NUM> to bind digital assets <NUM> and their respective digital assets entitlement data <NUM> associated with the APOS purchase to unique system identifier <NUM> of target system <NUM>. The resulting bound data, including data associated with the digital assets (e.g., installation files, etc.) may then be stored, as described in greater detail herein, in digital assets entitlement system <NUM>. Personalization agent <NUM>, as likewise described in greater detail herein, then automatically establishes a communicative session with digital assets entitlement system <NUM>, and may download the purchased digital assets <NUM> and their associated digital assets entitlement data <NUM>. Once downloaded, personalization agent <NUM> may then use the associated digital assets entitlement data <NUM> to install the downloaded digital asset <NUM> on system <NUM>.

<FIG> illustrate a block diagram of an example unique system identifier <NUM> that remains the same when one of its associated system component identifiers has been changed; in accordance with embodiments of the present disclosure. As shown in <FIG>, an original unique system identifier <NUM> may be generated from a plurality of unique system component identifiers <NUM>, which correspond to a plurality of system components included in a target system <NUM>. As likewise shown in <FIG>, unique system component identifiers <NUM> may comprise a Model Number <NUM> 'SA310J43', a Serial Number <NUM>, sometimes referred to as a service tag number or a primary system identifier, 'SEM5239923875', a Factory ID <NUM> 'AUS', and a Manufacture Date <NUM> '<NUM>'. Unique system component identifiers <NUM> may likewise comprise an Original Motherboard ID <NUM> '19374WS238017BH', a Processor ID <NUM> '<NUM>-<NUM>', a Hard Drive ID <NUM> 'L83747HJ3672', etc..

As described in greater detail herein, once generated, original unique system identifier <NUM> may be associated, such as, for example, through a binding operation, with predetermined digital assets <NUM> to generate a digital assets entitlement <NUM>. As likewise described in greater detail herein, digital assets entitlement <NUM> entitle a target system <NUM>, which may be associated with the original unique system identifier <NUM>, to process the digital assets <NUM>. However, it is not uncommon for system components to be replaced due to failure, erratic performance, becoming outmoded, or for other reasons. It will be appreciated that the entitlement <NUM> between original unique system identifier <NUM> and digital assets <NUM> may be compromised as a result of such a replacement. For example, as illustrated in <FIG>, the Original Motherboard ID <NUM> '19374WS238017BH' may be replaced with a New Motherboard ID <NUM> '56812FR853945PL'. However, in such case the original unique system identifier <NUM> may remain unchanged.

In various embodiments, extract, transform, and load (ETL) and other database operations may be performed to manage the integrity of the relationship between original unique system identifier <NUM> and the plurality of unique system component identifiers <NUM>. As an example, Original Motherboard ID <NUM> '19374WS238017BH' may remain as a subset of original unique system identifier <NUM>, even though it may have been deactivated or invalidated as a unique system component identifier <NUM>. However, in these and other embodiments, relational database operations known to those of skill in the art may be applied to maintain the relationship between original unique system identifier <NUM>, New Original Motherboard ID <NUM> '56812FR853945PL', and unchanged unique system component identifiers <NUM>. Accordingly, the integrity of entitlement <NUM> between original unique system identifier <NUM> and digital assets <NUM> may be perpetuated. It may be appreciated by skilled practitioners of the art that many such embodiments are possible and the foregoing is not intended to limit the scope, or intent of the disclosure.

<FIG> illustrate a block diagram of an example unique system identifier <NUM> that is changed when one of its associated system component identifiers has been changed, in accordance with embodiments of the present disclosure. As shown in <FIG>, an original unique system identifier <NUM> may be generated from a plurality of unique system component identifiers <NUM>, which correspond to a plurality of system components included in a target system <NUM>. As likewise shown in <FIG>, unique system component identifiers <NUM> may comprise Model Number <NUM> 'SA310J43', Serial Number <NUM>, sometimes referred to as a service tag number or a primary system identifier, 'SEM5239923875', Factory ID <NUM> 'AUS', and Manufacture Date <NUM> '<NUM>'. Unique system component identifiers <NUM> may likewise comprise Original Motherboard ID <NUM> '19374WS238017BH', Processor ID <NUM> '<NUM>-<NUM>', Hard Drive ID <NUM>183747HJ3672', etc..

As described in greater detail herein, once generated, original unique system identifier <NUM> may be associated, such as, for example, through a binding operation, with predetermined digital assets <NUM> to generate a digital assets entitlement <NUM>. As likewise described in greater detail herein, digital assets entitlement <NUM> entitles a target system <NUM>, which may be associated with original unique system identifier <NUM>, to process digital assets <NUM>. However, it is not uncommon for system components to be replaced due to failure, erratic performance, becoming outmoded, or for other reasons. It will be appreciated that entitlement <NUM> between the original unique system identifier <NUM> and digital assets <NUM> may be compromised as a result of such a replacement. For example, as illustrated in <FIG>, Original Motherboard ID <NUM> '19374WS238017BH' may be replaced with New Motherboard ID <NUM> '56812FR853945PL'. As result, a new unique system identifier <NUM> may be generated, which may be a concatenation of the plurality of unique system component identifiers <NUM>, including New Original Motherboard ID <NUM> '56812FR853945PL' as a subset.

In various embodiments, a first set of operations may be performed to remove entitlement <NUM> between original unique system identifier <NUM> and digital assets <NUM>. A second set of operations may then be performed to associate new unique system identifier <NUM> with digital assets <NUM> to generate a new entitlement <NUM>. In these and other embodiments, original unique system identifier <NUM> may then be invalidated. Accordingly, the integrity of original entitlement <NUM> between original unique system identifier <NUM> and digital assets <NUM> may be perpetuated by new entitlement <NUM> between new unique system identifier <NUM> and digital assets <NUM>. Skilled practitioners of the art may appreciate that many such embodiments are possible and the foregoing is not intended to limit the scope, or intent of the disclosure.

<FIG> illustrates a block diagram of an example encrypted unique system identifier <NUM> generated from a set of system component identifiers, in accordance with embodiments of the present disclosure. In these embodiments, a source unique system identifier <NUM> may be generated from a plurality of original unique system component identifiers <NUM>, which may correspond to a plurality of system components included in a target system <NUM>. As shown in <FIG>, original unique system component identifiers <NUM> may comprise Model Number <NUM> 'SA310J43', Serial Number <NUM>, sometimes referred to as a service tag number or a primary system identifier, 'SEM5239923875', Factory ID <NUM> 'AUS', Timestamp Date <NUM> '<NUM>', and Timestamp Time <NUM> '<NUM>:<NUM>:<NUM>:<NUM>'. Original unique system component identifiers <NUM> may likewise comprise Original Motherboard ID <NUM> '19374WS238017BH', Processor ID <NUM> '<NUM>-<NUM>', Hard Drive ID <NUM>183747HJ3672', etc..

An encryption operation <NUM> may then be performed on source unique system identifier <NUM> to generate original encrypted unique system identifier <NUM>. In various embodiments, the encryption operation may comprise the use of a private key, a public key, key pairs, or any combination of keys and cryptographic operations such as implemented in a public key infrastructure (PKI), for example. As an example, the original encrypted unique system identifier <NUM> may be generated using a private key associated with the manufacturer of the system and a public key associated with the system itself. In some embodiments, the Timestamp Date <NUM> '<NUM>' and the Timestamp Time <NUM> '<NUM>:<NUM>:<NUM>:<NUM>' may likewise be used to generate the encrypted unique system identifier <NUM>. Skilled practitioners of the art may be familiar with such cryptographic operations and may appreciate that many such embodiments are possible and that the foregoing is not intended to limit the scope, or intent of the disclosure.

As described in greater detail herein, once generated, original encrypted unique system identifier <NUM> may be associated, such as, for example, through a binding operation, with predetermined digital assets <NUM> to generate a digital assets entitlement <NUM>. As likewise described in greater detail herein, digital assets entitlement <NUM> may entitle a target system <NUM>, which may be associated with original encrypted unique system identifier <NUM>, to process digital assets <NUM>.

<FIG> illustrates a block diagram of an example unique system identifier decrypted from an encrypted unique system identifier <NUM>, in accordance with embodiments of the present disclosure. It is not uncommon for system components to be replaced due to failure, erratic performance, becoming outmoded, or for other reasons. However, the replaced system component will typically have a different unique system component identifier. As a result, the entitlement association between a unique system identifier and predetermined digital assets may be compromised as a result of such a replacement, which in turn may prevent target system <NUM> from processing the digital assets <NUM>.

In various embodiments, the unique system component identifier of the replacement system component may be unknown until it is replaced in the target system <NUM>. In these and other embodiments, the system component may be replaced in the target system <NUM>, the target system may then be initiated (e.g., booted), and an inventory of unique system component identifiers may be performed. In some embodiments, one or more unique system component identifiers, for example a serial number or service tag, may be visible and may be visually inventoried. In other embodiments, one or more unique system component identifiers, for example a motherboard, processor, or hard drive serial number, may not be visible and may be automatically inventoried.

As shown in <FIG>, a new source unique system identifier <NUM> may be generated from the inventoried unique system component identifiers. In some embodiments, a time stamp date and a time stamp time may be components of new source unique system identifier <NUM>. In these embodiments, the time stamp date and a time stamp time may be used to validate the authenticity of new source unique system identifier <NUM>. As an example, the provider of the replacement part may have stipulated that the replacement part be replaced on Nov. <NUM>, <NUM>, between <NUM>:<NUM> AM and <NUM>:<NUM> PM. Accordingly, a time stamp date of Nov. <NUM>, <NUM> and a time stamp time of <NUM>:<NUM>:<NUM>:<NUM> may provide validation that the replacement part was replaced within the specified date and time interval.

An encryption operation <NUM> may then be performed on new source unique system identifier <NUM> to generate a new encrypted unique system identifier <NUM>. As an example, the encryption operation may be performed using a private key associated with the target system and a public key associated with the provider of the replacement system component. The new encrypted unique system identifier <NUM> may then be communicated to digital assets entitlement system <NUM>, which may in turn perform a decryption operation <NUM> to generate a decrypted unique system identifier <NUM>.

As likewise shown in <FIG>, ETL and other database operations <NUM> may be performed on the decrypted unique system identifier <NUM> to generate new unique system component identifiers <NUM>. As shown in <FIG>, the new unique system component identifiers may now comprise Model Number <NUM> 'SA310J43, Serial Number <NUM>, 'SEM5239923875', Factory ID <NUM> 'AUS', Timestamp Date <NUM> '<NUM>', and Timestamp Time <NUM> '<NUM>:<NUM>:<NUM>:<NUM>'. New unique system component identifiers <NUM> may likewise comprise New Motherboard ID <NUM> '56812FR853945PL', Processor ID <NUM> '<NUM>-<NUM>', Hard Drive ID <NUM> 'L83747HJ3672', etc. In some embodiments, Timestamp Date <NUM> and Timestamp Time <NUM> may be compared to previously authorized timestamp date and timestamp times to validate the authenticity of new unique system component identifiers <NUM> and their corresponding decrypted unique system identifier <NUM>. In these and other embodiments, if the decrypted unique system identifier <NUM> is validated, then a first set of operations may be performed to remove entitlement <NUM> between the original encrypted unique system identifier and digital assets <NUM>. A second set of operations may then be performed to associate new encrypted unique system identifier <NUM> with digital assets <NUM> to generate new entitlement <NUM>. Accordingly, the integrity of the original entitlement between the original encrypted unique system identifier and digital assets <NUM> may be perpetuated by new entitlement <NUM> between new encrypted unique system identifier <NUM> and digital assets <NUM>.

In various other embodiments, the provider of the replacement system component may be able to determine its associated unique system component identifier. In some embodiments, the unique system component identifier may be known in advance. In other embodiments, the unique system component identifier may be one of a pool of, or a range of, possible unique system component identifiers set aside for replacement purposes. As described in greater detail herein, a new source unique identifier may be generated, using the unique system component identifier of the component to be replaced. Once the new source unique identifier is generated, the unique system component identifier of the replaced system component may be invalidated. In these and other embodiments, the system component may be replaced in the target system, the target system may then be initiated (e.g., booted), and an inventory of unique system component identifiers may be performed. In some embodiments, one or more unique system component identifiers, for example a serial number or service tag, may be visible and may be visually inventoried. In other embodiments, one or more unique system component identifiers, for example a motherboard, processor, or hard drive serial number, may not be visible and may be automatically inventoried.

As shown in <FIG>, a new source unique system identifier <NUM> may be generated from the inventoried unique system component identifiers. In some embodiments, a time stamp date and a time stamp time may be components of new source unique system identifier <NUM>. In these embodiments, the time stamp date and a time stamp time may be used to validate the authenticity of new source unique system identifier <NUM>. An encryption operation <NUM> may then be performed on new source unique system identifier <NUM> to generate new encrypted unique system identifier <NUM>. As an example, the encryption operation may be performed using a private key associated with the target system and a public key associated with the provider of the replacement system component. The new encrypted unique system identifier <NUM> may then be communicated to a digital assets entitlement system, which in turn may perform a decryption operation <NUM> to generate a decrypted unique system identifier <NUM>.

Comparison operations <NUM> may then be performed between the new source unique system identifier and decrypted unique system identifier <NUM>. If comparison operations <NUM> are successful, then a first set of operations may be performed to remove the entitlement <NUM> between the original encrypted unique system identifier and digital assets <NUM>. A second set of operations may then be performed to associate new encrypted unique system identifier <NUM> with digital assets <NUM> to generate a new entitlement <NUM>. Accordingly, the integrity of the original entitlement between the original encrypted unique system identifier and digital assets <NUM> may be perpetuated by the new entitlement <NUM> between the new encrypted unique system identifier <NUM> and the digital assets <NUM>. Skilled practitioners of the art may appreciate that many such embodiments are possible and the foregoing is not intended to limit the scope, or intent of the disclosure.

<FIG> illustrate a flow chart of an example method <NUM> for performance of digital asset entitlement operations, in accordance with embodiments of the present disclosure. According to certain embodiments, method <NUM> may begin at step <NUM>. As noted above, teachings of the present disclosure may be implemented in a variety of configurations of system <NUM>. As such, the preferred initialization point for method <NUM> and the order of the steps <NUM>-<NUM> comprising method <NUM> may depend on the implementation chosen.

In method <NUM>, digital asset entitlement operations may be started in step <NUM>, followed by the selection of a target system in step <NUM> for digital assets entitlement. The unique system identifier of the target system, as described in greater detail herein, may be determined in step <NUM>, followed by a determination being made in step <NUM> whether a device record has been established for the target system. If not, then the device record may be generated in step <NUM>. As used herein, a device record may refer to a data record comprising data related to a system which will receive an entitlement to process associated digital assets. In various embodiments, the unique system identifier of the target system may be stored in the device record. In various embodiments, other records may be associated with the device record to further describe the system, such as, for example, its model, type, make, internal identifiers, etc..

Once the device record has been generated, or if it is determined in step <NUM> that it has already been established, then a determination may be made in step <NUM> whether an account record has been established for a user. If not, then the account record may be generated for the user in step <NUM>. As used herein, an account record may refer to a data record comprising data related to the association of multiple devices or systems to one or more entities. In various embodiments, the entity may be a single individual or a group of individuals. As an example, the entity may be a household with multiple PCs, a small business with several employees, a large corporation with many employees, etc. Other records may be attached to the account to further describe the account holder, payment information related to the account, etc. Accounts may further be broken down or organized into sub-accounts as needed (e.g., to describe departments within an enterprise). In various embodiments, a user may be associated with a single device or system or multiple devices or systems in the account record. Conversely, a group of users may be associated with a single device or system or multiple devices in the account record. Further, more groups of individual users may likewise be associated with groups of individual devices or systems. Those of skill in the art may appreciate that many such associations are possible and the foregoing is not intended to limit the scope, or intent of the disclosure. Once the account record has been generated, or if it is determined in step <NUM> that it has already been established, then a determination may be made in step <NUM> whether the account record may be associated with the target system. If not, then the account record may be associated with the target system in step <NUM>.

Once the account record has been associated with the target system, or if it is determined in step <NUM> that it has already been associated, then a target list of digital assets may be presented in step <NUM> for entitlement. A determination may then be made in step <NUM> whether to generate an entitlement for a digital asset. If not, then a determination may be made in step <NUM> whether to continue digital asset entitlement operations. If so, then the process may be continued, proceeding with step <NUM>. Otherwise digital asset entitlement operations may be ended in step <NUM>. However, if it is determined in step <NUM> to generate an entitlement for a digital asset, then a target digital asset may be selected in step <NUM>. A digital assets entitlement may then be generated in step <NUM> by performing operations to associate the selected digital asset's corresponding license record with the aforementioned device record, account record, and/or other predetermined records. The resulting digital assets entitlement association may then be added to the entitlement record in step <NUM>. A determination may then be made in step <NUM> whether to generate another digital assets entitlement. If so, the process may be continued, proceeding with step <NUM>. Otherwise, a determination may be made in step <NUM> whether to continue digital asset entitlement operations. If so, then the process may be continued, proceeding with step <NUM>. Otherwise digital asset entitlement operations may be ended in step <NUM>.

Although <FIG> and <FIG> disclose a particular number of steps to be taken with respect to method <NUM>, method <NUM> may be executed with greater or lesser steps than those depicted in <FIG> and <FIG>. In addition, although <FIG> and <FIG> disclose a certain order of steps to be taken with respect to method <NUM>, the steps comprising method <NUM> may be completed in any suitable order.

Method <NUM> may be implemented using information handling system <NUM>, system <NUM>, components thereof, and/or any other system operable to implement method <NUM>. In certain embodiments, method <NUM> may be implemented partially or fully in software and/or firmware embodied in computer-readable media.

<FIG> illustrates a block diagram of an example hierarchical system <NUM> for management of digital assets entitlement, in accordance with embodiments of the present disclosure. As shown in <FIG>, system <NUM> may include a digital assets entitlement system server <NUM>, such as that described with respect to <FIG> above. Digital assets entitlement system server <NUM> may be communicatively coupled to one or more entitlement hubs <NUM> (e.g., via a network, such as network <NUM>). As depicted in <FIG>, each entitlement hub <NUM> may comprise a digital assets repository <NUM>, entitlement data <NUM>, system ID data <NUM>, digital assets entitlement system <NUM>, unique system ID <NUM>, and a personalization agent <NUM>. Digital assets repository <NUM>, entitlement data <NUM>, system ID data <NUM>, and/or digital assets entitlement system <NUM> may be similar or identical in structure and/or functionality to digital assets repository <NUM>, entitlement data <NUM>, system ID data <NUM>, and digital assets entitlement system <NUM>, respectively. In addition, unique system ID <NUM> and/or personalization agent <NUM> may be similar or identical in structure and/or functionality to unique system ID <NUM> and/or personalization agent <NUM>, respectively, of a system <NUM>.

As depicted in <FIG>, an entitlement hub <NUM> may be communicatively coupled (e.g., via a network such as network <NUM>) to digital assets entitlement system server <NUM> or another "upstream" entitlement hub <NUM>. In addition, an entitlement hub <NUM> may be communicatively coupled (e.g., via a network such as network <NUM>) to one or more target systems <NUM> and/or one or more "downstream" entitlement hubs <NUM>. Thus, a hierarchical entitlement management system may result, in which an entitlement hub <NUM> may be managed by a parent digital assets entitlement system server <NUM> or parent entitlement hub <NUM>, while at the same time managing one or more child entitlement hubs <NUM> and/or one or more child target systems <NUM>. Accordingly, an entitlement hub <NUM> may operate as a sort of hybrid device, in which it behaves identically or similarly to a target system <NUM> with respect to a parent digital assets entitlement system server <NUM> or parent entitlement hub <NUM> but behaves identically or similarly to a digital assets entitlement system server <NUM> with respect to its child entitlement hubs <NUM> and/or child target systems <NUM>.

In operation, digital assets entitlement operations, such as those described in this disclosure, may be carried out between digital assets entitlement system server <NUM> and an entitlement hub <NUM> in order to generate entitlements for and bind digital assets to the entitlement hub <NUM>. Such generated entitlements may comprise a plurality of entitlements or "bulk" entitlements related to a particular digital asset. Similarly, digital assets entitlement operations, such as those described in this disclosure, may be carried out between an entitlement hub <NUM> and its child entitlement hubs <NUM> and/or target systems <NUM> in order to generate entitlements for and bind digital assets to the entitlement hub <NUM>. When generating entitlements for a child entitlement hub <NUM>, such generated entitlements may comprise a plurality of entitlements or "bulk" entitlements related to a particular digital asset. The number of entitlements for a particular digital asset generated between an entitlement hub <NUM> and its child devices (e.g., other entitlements hubs <NUM> and target systems <NUM>) may be limited to the number of entitlements generated for such entitlement hub by its parent device (e.g., digital assets entitlement system server <NUM> or another entitlement hub <NUM>). Accordingly, digital assets entitlement server <NUM> may allocate available entitlements for a digital asset among a plurality of child entitlement hubs <NUM>, which may in turn distribute such entitlements to their respective child entitlement hubs <NUM> and target systems <NUM>, thus creating a distributed and hierarchical entitlements management system.

For example, in a large geographically-dispersed enterprise, entitlements for a digital asset may be allocated among various geographical regions. Accordingly, a digital assets entitlement system server <NUM> operating at the enterprise level may allocate available entitlements among various geographical regions of the enterprise (e.g., x number of entitlements to an East Coast office and y number of entitlements to a West Coast office). For each geographical region, a respective entitlement hub <NUM> may be responsible for generating entitlements and creating bindings for target systems <NUM> within the geographical region, and/or may be responsible for allocating entitlements among further subdivisions of the enterprise and respective entitlement hubs <NUM> associated with such subdivisions.

<FIG> illustrates a flow chart of an example method <NUM> for performance of digital assets entitlement management in a hierarchical system for management of digital assets entitlement, in accordance with embodiments of the present disclosure. According to certain embodiments, method <NUM> may begin at step <NUM>. As noted above, teachings of the present disclosure may be implemented in a variety of configurations of systems <NUM> and <NUM>. As such, the preferred initialization point for method <NUM> and the order of the steps <NUM>-<NUM> comprising method <NUM> may depend on the implementation chosen.

In method <NUM>, management of digital assets entitlement may begin in step <NUM>. At step <NUM>, an entitlement hub may receive bulk entitlements for a digital asset from a parent device (e.g., a digital assets entitlement system server or another entitlement hub). At step <NUM>, the entitlement hub and/or the parent device may bind the digital asset and the bulk entitlements to the entitlement hub by carrying out digital asset entitlement operations, as described in greater detail elsewhere in this disclosure.

At step <NUM>, the entitlement hub may allocate the plurality of entitlements among one or more child devices (e.g., target systems or other entitlement hubs). At step <NUM>, the entitlement hub and/or the child devices may carry out digital asset entitlement operations, as described in greater detail elsewhere in this disclosure, in order to bind the entitlements and digital asset to the respective child devices in accordance with the allocation.

At step <NUM>, management of digital assets entitlement may end.

Although <FIG> discloses a particular number of steps to be taken with respect to method <NUM>, method <NUM> may be executed with greater or lesser steps than those depicted in <FIG>. In addition, although <FIG> discloses a certain order of steps to be taken with respect to method <NUM>, the steps comprising method <NUM> may be completed in any suitable order.

Method <NUM> may be implemented using information handling system <NUM>, system <NUM>, system <NUM>, components thereof, and/or any other system operable to implement method <NUM>. In certain embodiments, method <NUM> may be implemented partially or fully in software and/or firmware embodied in computer-readable media.

The present disclosure is well adapted to attain the advantages mentioned as well as others inherent therein. While the present disclosure has been depicted, described, and is defined by reference to particular embodiments of the disclosure, such references do not imply a limitation on the disclosure, and no such limitation is to be inferred. The disclosure is capable of considerable modification, alteration, and equivalents in form and function, as will occur to those ordinarily skilled in the pertinent arts. The depicted and described embodiments are examples only, and are not exhaustive of the scope of the disclosure.

For example, the above-discussed embodiments include software modules that perform certain tasks. The software modules discussed herein may include script, batch, or other executable files. The software modules may be stored on a machine-readable or computer-readable storage medium such as, for example, a disk drive. Storage devices used for storing software modules in accordance with embodiments of the disclosure may be magnetic floppy disks, hard disks, or optical discs such as CD-ROMs or CD-Rs, for example. A storage device used for storing firmware or hardware modules in accordance with embodiments of the disclosure may also include a semiconductor-based memory, which may be permanently, removably or remotely coupled to a microprocessor/memory system. Thus, the modules may be stored within a computer system memory to configure the computer system to perform the functions of the module. Other new and various types of computer-readable storage media may be used to store the modules discussed herein. Additionally, those skilled in the art will recognize that the separation of functionality into modules is for illustrative purposes. Alternative embodiments may merge the functionality of multiple modules into a single module or may impose an alternate decomposition of functionality of modules. For example, a software module for calling sub-modules may be decomposed so that each sub-module performs its function and passes control directly to another sub-module.

Claim 1:
A distributed and hierarchical information handling system (<NUM>) for managing the entitlement of digital assets (<NUM>), comprising:
a digital assets entitlement server (<NUM>);
a parent entitlement hub (<NUM>) connected to the digital assets entitlement server (<NUM>);
a child entitlement hub (<NUM>) connected to the parent entitlement hub (<NUM>);
wherein the parent entitlement hub (<NUM>) is configured for managing entitlements for a first portion of a plurality of target systems (<NUM>) and for allocating available entitlements for a digital asset to the child entitlement hub (<NUM>);
wherein the child entitlement hub (<NUM>) is configured for managing entitlements for a second portion of the plurality of target systems (<NUM>);
wherein the parent entitlement hub (<NUM>) is further configured for binding digital assets to itself and to the child entitlement hub (<NUM>) and for receiving a plurality of entitlements for a digital asset (<NUM>) from the digital assets entitlement server (<NUM>); and
wherein the child entitlement hub (<NUM>) is further configured for binding digital assets to itself and for receiving a plurality of entitlements for a digital asset (<NUM>) from the parent entitlement hub (<NUM>);
wherein the digital assets entitlement server is configured for:
generating a unique system identifier from a plurality of unique system component identifiers which correspond to a plurality of system components included in one of the target systems of the plurality of target systems;
binding the generated unique system identifier with predetermined digital assets (<NUM>) to generate a digital assets entitlement entitling the one target system of the plurality of target systems (<NUM>) to process the digital asset;
wherein the unique system identifier remains the same when one of its associated system component identifiers has been changed due to one of the system components being replaced in the one target system of the plurality of target systems; and
performing database operations for managing the integrity of the relationship between the unique system identifier and the plurality of unique system component identifiers.