Methods and Systems for Determining Consumer Entitlements for Playback Interoperability

An example system includes a database having a plurality of data structures, each of the plurality of data structures associated with a different business rule and one or more provider identifications, and a processor configured to receive one or more consumer identifications and one of the one or more provider identifications, search the plurality of data structures for one or more data structures associated with the one of the one or more provider identifications to identify authorized data structures, in the authorized data structures, determine entitlements associated with the one or more consumer identifications to identify consumer entitlements, generate a list of the consumer entitlements, and transmit the list of the consumer entitlements in response to the receiving.

BACKGROUND

When a consumer purchases a digital video disc (DVD) from a retailer, the consumer is assured that the DVD is able to play on any DVD player. However, that is not the case with current digital products that are protected with digital rights management (DRM) algorithms or some other type of security and playback control. For example, in today's digital world, if a user purchases Movie A from Retailer 1 and would like to watch it on Retailer 2's system, the user will be required to re-purchase Movie A from Retailer 2. As such, there is a fundamental lack of interoperability between digital retail stores.

SUMMARY

The present disclosure is directed to methods and systems for determining consumer entitlements for playback interoperability, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

DETAILED DESCRIPTION

FIG.1presents a system used for determining consumer entitlements for playback interoperability, according to one implementation of the present disclosure. System100ofFIG.1includes database device110and provider150. Database device110includes processor111, communication interface112, and memory113. Memory113includes database114, which includes domain120a, domain120b, domain120c, domain120d, and domain120e, collectively referred to as domains120. Domain120a, domain120b, domain120c, domain120dand domain120eeach respectively include title owner125a, title owner125b, title owner125c, title owner125d, and title owner125e, collectively referred to as title owners125, providers130a, providers130b, providers130c, providers130d, and providers130e, collectively referred to as providers130, and consumers135a, consumers135b, consumers135c, consumers135d, and consumers135e, collectively referred to as consumers135, and entitlement140a, entitlements140b, entitlements140c, entitlements140d, and entitlements140e, collectively referred to as entitlements140. Provider150transmits request160and receives response170. Request160includes provider identification (ID)161, and consumer identification (ID)162. Response170includes consumer identification162, provider name171, and transaction information172.

Database device110may be a server, a personal computer, a mobile phone, a tablet, or any other device capable of searching through domains120for providers130and entitlements140. As shown inFIG.1, database device110includes processor111and memory113. Processor111may be configured to access memory113to store received input or to execute commands, processes, or programs stored in memory113, such as database114. Processor111may be a processing device, such as a microprocessor or similar hardware processing device, or a plurality of hardware devices. However, in other implementations processor111refers to a general processor capable of performing the functions required of database device110. Memory113is capable of storing commands, processes, and programs for execution by processor111. Memory113may be instituted as ROM, RAM, flash memory, or any sufficient memory capable of storing a set of commands. In other implementations, memory113may correspond to a plurality memory types or modules.

Database device110further includes communication interface112. In the implementation ofFIG.1, communication interface112includes any device that is capable both transmitting data with a transmitter and receiving data with a receiver. Processor111of database device110is thus configured to control communication interface112to communicate with other electronic devices, such as provider150. As such, communication interface112can utilize, for example, one or more of Wireless Fidelity (Wi-Fi), Worldwide Interoperability for Microwave Access (WiMax), ZigBee, Bluetooth, Bluetooth low energy, Algorithm Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Global System for Mobile Communications (GSM), Long Term Evolution (LTE), and other types of wired and wireless technology.

Also illustrated inFIG.1, memory113of database device110includes database114, which includes domains120. Domains120may include data structures that record entitlements purchased by consumers from providers, where the data structures are associated with business rules for title owners. As such, domains120include title owners125, providers130, consumers135, and entitlements140. Title owners125may include the producer, broadcaster, copyright holder, author, or assignee of entitlements140, such as an individual artist or composer, a media group, a film production studio, an animation studio, a television studio, or a movie distributor. As such, entitlements140may include creative media works or projects, such as movies, games, apps, digital books and music. Such creative media works or projects may also include a musical composition or album, a radio program, a video clip, a full-length movie or animation, an episode of a drama or television series, an interactive videogame, or any other type of audiovisual work or content. Providers130may include distributors or providers of entitlements140for Title Owners125according to the business rules for domains120, as will be explained in more detail below. Finally, consumers135may include the identities of consumers that purchased entitlement140from providers130.

It should be noted that in one implementation, domains120record providers130and consumers135using provider identifications and consumer identifications, respectively. In such an implementation, when a provider queries database device110for a list of entitlements purchased by a consumer from providers, the query includes a provider identification for the provider and a consumer identification for the consumer. Furthermore, as will be discussed in more detail below, the consumer identification may include a global identification that is assigned to the consumer by multiple providers, or the consumer identification may include a specific identification for the consumer that is assigned to the consumer by a single provider.

As discussed above, domains120are associated with business rules for each of title owners125. For example, domains120may be associated with a geographic region, such as a city, state, country, continent, or region, and include providers in the geographic region. For a second example, domains120may be associated with a type of media for entitlements140, such as entitlements140that are played on the web or entitlements140that are played on television, and include providers that distribute entitlements140using the specific type of media. For a third example, domains120may be associated with premier providers130, which would include providers that have access to new releases of entitlements140as opposed to providers that only have access to existing entitlements140. Finally, for a fourth example, domains120may be associated with a window of time, which may include providers that have access to entitlements140during a specific time period, such as for a week or a month.

For example, and using the implementation ofFIG.1, title owners125a-cof domains120a-cmay each include Disney, and title owners125d-eof domains120d-emay each include Sony Pictures, where each of Disney and Sony Pictures are producers of entitlements140. In such an example, domain120amay include a premier domain that includes a list of all Disney premier providers, such as providers130a. Domain120bmay include a geographic domain that includes a list of all Disney providers in North America, such as providers130b. Domain120cmay include a media type domain that includes a list of all Disney providers streaming entitlements on the web, such as providers130c. Domain120dmay include a media type domain that includes a list all Sony Pictures providers streaming entitlements on the web, such as providers130d. Finally, domain120emay include a geographic domain that includes a list of all Sony Pictures providers in North America, such as providers130e.

It should be noted that the implementation ofFIG.1illustrates database device110storing five domains120in memory113, however, the present disclosure is not limited to the implementation ofFIG.1. In other implementations, database device110may store more or less than five domains in memory113. For example, database device110may store one domain in memory113or database device110may store one hundred domains in memory113. Furthermore, still in other implementations, database device110may only store a few of domains120or none of domains120in memory113. For example, some or all of domains120may be stored on a separate device, such as a separate server. In such an example, database device110would utilize communication interface112to communicate with the separate device to access domains120.

Also illustrated inFIG.1, system100includes provider150. As discussed above, providers130may include distributors or providers of entitlements140for title owners125. As such, provider150may include one of providers130. For example, providers130may include Cool Movies, iTunes, Cinema Now, Telcast, Amazon, and Zune, where each of providers130is a distributor or provider of entitlements140(such as movies) for title owners125. In such an example, provider150may include one of providers130, such as Amazon.

Also illustrated inFIG.1, provider150transmits request160to database device110. Provider150may transmit request160to database device110using any suitable means of communication. For example, provider150may transmit request160to database device110using, but not limited to, one or more of Wireless Fidelity (Wi-Fi), Worldwide Interoperability for Microwave Access (WiMax), ZigBee, Bluetooth, Bluetooth low energy, Algorithm Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Global System for Mobile Communications (GSM), Long Term Evolution (LTE), and other types of wired and wireless technology.

Request160may include a query transmitted by provider150to database device110that is used by provider150to determine a specific consumer's entitlements. As such, request160includes provider identification161and consumer identification162. Provider identification161includes data that identifies provider160, and consumer identification162includes data that identifies a specific consumer for which provider150is inquiring about. For example, and using the example above where one of providers130includes Amazon, provider identification161may include data that identifies Amazon as provider150, and consumer identification162may include data that identifies John Doe, where John Doe is a consumer that has purchased entitlements140from Amazon.

It should be noted that, as discussed above, consumer identification162may include a global identification that is assigned to the consumer by multiple providers, or consumer identification162may include a specific identification for the consumer that is assigned to the consumer by a single provider. For example, and using the example above where provider150includes Amazon, consumer identification162may be assigned to the consumer by Amazon. In such an example, consumer identification162would be specific to Amazon. For another example, consumer identification162may be a global identification for the consumer that is assigned to the consumer by all of providers130.

Also illustrated inFIG.1, database device110transmits response170to provider150in response to receiving request160from provider150. Database device110may transmit response170to provider150using any suitable means of communication. For example, and as discussed above, database device110may transmit response170to provider150using, but not limited to, one or more of Wireless Fidelity (Wi-Fi), Worldwide Interoperability for Microwave Access (WiMax), ZigBee, Bluetooth, Bluetooth low energy, Algorithm Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Global System for Mobile Communications (GSM), Long Term Evolution (LTE), and other types of wired and wireless technology.

Response170may include a data packet that lists entitlements purchased by a consumer that corresponds to consumer identification162of request160. As such, response170includes consumer identification162, provider name171, and transaction history172. As discussed above, consumer identification162includes data that identifies the specific consumer for which provider150is inquiring about. Provider name171includes data that identifies all of the providers that the consumer corresponding to consumer identification162has had a transaction with for entitlements. Finally, transaction history172includes data that identifies all entitlements that the specific consumer corresponding to consumer identification162has purchased.

In the implementation ofFIG.1, provider150transmits request160to database device110to inquire about entitlements for a consumer. Database device110receives request160from provider150and searches through domains120using provider identification161and consumer identification162from request160, which is described in detail with regards toFIG.2. After searching through domains120for the consumer's entitlements, database device110generates response170, where response170includes consumer identification162, provider name171, and transaction information172. Finally, database device110transmits response170to provider150.

It should be noted that the implementation ofFIG.1only illustrates database device110as including processor111and communication interface112: however, provider150may further include a processor and a communication interface. For example, in one implementation, provider150may include, but is not limited to, a server, a personal computer, a mobile phone, a tablet, or any other device capable of inquiring about a consumer's entitlements by transmitting request160to database device110. In such an implementation, a processor of provider150would transmit request160to database device110and receive response170from database device110using a communication interface of provider150.

FIG.2presents database device210for use in system100for determining consumer entitlements for playback interoperability, according to one implementation of the present disclosure. Database device210includes domain220a, domain220b, domain220c, domain220d, and domain220e, collectively referred to as domains220. Domain220a, domain220b, domain220c, domain220d, and domain220erespectively include title owner225a, title owner225b, title owner225c, title owner225d, and title owner225e, collectively referred to as title owners225, and providers230a, providers230b, providers230c, providers230d, and providers230e, collectively referred to as providers230. Database200further includes John Doe's Entitlement Purchases.

As illustrated in the example ofFIG.2, database device210includes domains220a-cfor Title Owner #1 and domains220d-efor Title Owner #2. As discussed above, title owners220may include the producer, broadcaster, copyright holder, author, or assignee of entitlements, such as an individual artist or composer, a media group, a film production studio, an animation studio, a television studio, or a movie distributor. For example, Title Owner #1 may correspond to Disney. and Title Owner #2 may correspond to Sony Pictures.

As further illustrated in the exampleFIG.2, each of domains220include a unique set of providers230. For example, domain220aincludes Provider #1, Provider #2, and Provider #3, domain220bincludes Provider #4, Provider #5, and Provider #6, domain220cincludes Provider #2 and Provider #5, domain220dincludes Provider #1, Provider #4, and Provider #5, and domain220eincludes Provider #4 and Provider #6. As discussed above, providers230may include distributors or providers of entitlements. For example, Provider #1 may include Cool Movies, Provider #2 may include iTunes, Provider #3 may include Cinema Now, Provider #4 may include Telcast, Provider #5 may include Amazon, and Provider #6 may include Zune.

Furthermore, in the example ofFIG.2, domains220may be associated with business rules for title owners225. For example, and as discussed above with regards toFIG.1, domain220amay include a premier domain that includes a list of all Title Owner #1 premier providers, such as providers230a. Domain220bmay include a geographic domain that includes a list of all Title Owner #1 providers in North America, such as providers230b. Domain220cmay include a media type domain that includes a list of all Title Owner #1 providers streaming entitlements on the web, such as providers230c. Domain220dmay include a media type domain that includes a list all Title Owner #2 providers streaming entitlements on the web, such as providers230d. Finally, domain220emay include a geographic domain that includes a list of all Title Owner #2 providers in North America, such as providers230e.

Also illustrated in the example ofFIG.2is John Doe's Entitlement Purchases. John Doe's Entitlement Purchases includes a list of all entitlements that John Doe has purchased from providers230. For example, John Doe has purchased six of Title Owner #1's movies, which include Movie #1 from Provider #1. Movie #2 from Provider #2, Movie #3 from Provider #3, Movie #4 from Provider #4, Movie #5 from Provider #5, and Movie #6 from Provider #6. Furthermore, John Doe has purchased four of Title Owner #2's movies, which include Movie #7 from Provider #1, Movie #8 from Provider #4, Movie #9 from Provider #5, and Movie #10 from Provider #6.

In the Example illustrated inFIG.2, database device210may receive a query request from a provider for a consumer's entitlements, such as database device110receiving request160from provider150fromFIG.1. For example, database device210may receive a request from Provider #5 for John Doe's entitlements, where the request includes the identity of Provider #5 and the identity of John Doe. In response to receiving the request from the provider, database device210first uses the identity of the provider to determine authorized domains for the provider, where the authorized domains correspond to the domains that include the provider (which may be recorded using the identification of the provider). For example, and using the example above where database device210receives a request from Provider #5 for John Doe's entitlements, authorized domains for Provider #5 would include domain220b, domain220c, and domain220d.

After determining authorized domains for the provider, database device210next uses the consumer identification from the request to determine the consumer's entitlements from the authorized domains. For example, and using the example above where database device210receives a request from Provider #5 for John Doe's entitlements, database device210determines John Doe's entitlements from the authorized domains for Provider #5. In such an example, John Doe's entitlements would include Movie #2 from Provider #2, Movie #4 from Provider #4, Movie #5 from Provider #5, Movie #6 from Provider #6, Movie #7 from Provider #1, Movie #8 from Provider #4, and Movie #9 from Provider #5. This is because the authorized domains for Provider #5 are domain220b, domain220c, and domain220d, but not domain220aand domain220e. As such, the authorized domains for Provider #5 do not include Title Owner #1 s entitlements provided by Provider #1 and Provider #3, and Title Owner #2's entitlements provided by Provider #6.

After determining the consumer's entitlements for the consumer from the request received by the provider, database device210generates a response and transmits the response to the provider, such as database device110transmitting response170to provider150. For example, and using the example above where database device210receives a request from Provider #5 for John Doe's entitlements, database device210would generate a response that would include Movie #2 from Provider #2, Movie #4 from Provider #4, Movie #5 from Provider #5, Movie #6 from Provider #6, Movie #7 from Provider #1, Movie #8 from Provider #4, and Movie #9 from Provider #5. Database device110would then transmit the response to Provider #5.

FIG.3shows a flowchart illustrating a method for determining consumer entitlements for playback interoperability, according to one implementation of the present disclosure. The approach and technique indicated by flowchart300are sufficient to describe at least one implementation of the present disclosure, however, other implementations of the disclosure may utilize approaches and techniques different from those shown in flowchart300. Furthermore, while flowchart300is described with respect toFIGS.1and2, the disclosed inventive concepts are not intended to be limited by specific features shown and described with respect toFIGS.1and2. Furthermore, with respect to the method illustrated inFIG.3, it is noted that certain details and features have been left out of flowchart300in order not to obscure the discussion of inventive features in the present application.

Referring now to flowchart300ofFIG.3, flowchart300includes storing, in a memory, a database including a plurality of data structures, each of the plurality of data structures associated with a different business rule and one or more provider identifications, each of the plurality of data structures including one or more consumer identifications associated with one or more entitlements (310). For example, processor111of database device110/210may store, in memory113, database114including domains120/220. As discussed above, domains120/220may be associated with business rules and one or more providers130. Furthermore, domains120/220may include one or more consumers135associated with one or more entitlements140. As further discussed above, domains120/220may record providers130/230and consumers135using provider identifications and consumer identifications, respectively.

Flowchart300also includes receiving one of the one or more consumer identifications and one of the one or more provider identifications (320). For example, processor111of database device110/210may receive request160from provider150, where request160includes consumer identification162and provider identification161. In such an example, consumer identification162and provider identification161would correspond to a consumer identification of one of consumers135and a provider identification of one of providers130/230, respectively.

For example, and using the implementation ofFIG.2discussed above where database device110/210is receiving request160for John Doe's entitlements from Provider #5, Provider #5 would transmit request160to database device110/210. Consumer identification162of request160would include the identity of John Doe, and provider identification161of request160would include the identification of Provider #5, such as Amazon.

Flowchart300also includes searching the plurality of data structures for one or more data structures associated with the one of the one or more provider identifications to identify authorized data structures (330). For example, provider111of database device110/210may search domains120/220for one or more domains associated with provider identification161to identify authorized domains. In the example ofFIG.2where database device110/210receives request160from Provider #5 for John Doe's entitlements, database device110/210may identify that domain120b/220b, domain120c/220c, and domain120d/220dare authorized domains using the identify of Provider #5.

Flowchart300also includes determining, in the authorized data structures, entitlements associated with the one of the one or more consumer identifications to identify consumer entitlements (340). For example, processor111of database device110/210may determine, from the authorized data structures, entitlements from entitlements135associated with consumer identification162to identify consumer entitlements. In the example ofFIG.2where database device110/210receives request160from Provider #5 for John Doe's entitlements, database device110/210may determine John Doe's entitlements from domain120b/220b, domain120c/220c, and domain120d/220dusing consumer identification162, where consumer identification162would correspond to John Doe's identification. As such, database device110/210would determine that John Doe's entitlements include Movie #2 from Provider #2, Movie #4 from Provider #4, Movie #5 from Provider #5, Movie #6 from Provider #6, Movie #7 from Provider #1, Movie #8 from Provider #4, and Movie #9 from Provider #5.

Flowchart300also includes generating a list of the consumer entitlements (350). For example, processor111of database device110/210may generate response170using the consumer entitlements, where response170includes transaction information172. In the example ofFIG.2where database device110/210receives request160for Provider #5 for John Doe's entitlements, transaction information172would include Movie #2 from Provider #2, Movie #4 from Provider #4, Movie #5 from Provider #5, Movie #6 from Provider #6, Movie #7 from Provider #1, Movie #8 from Provider #4, and Movie #9 from Provider #5.

Flowchart300also includes transmitting the list of the consumer entitlements in response to the receiving (360). For example, processor111of database device110/210may transmit response170to provider150in response to receiving request160from provider150.