Method and System for Preventing Unauthorized Use of Eligibility Information

The method employs a random string-based authentication system to manage device access to online content platforms, preventing unauthorized use and allowing multiple device access without separate credentials.

JP2025516345APending Publication Date: 2025-05-27ボルンハイマー ザカリー
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024565164
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-06
Filing Date
2023-05-05
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

Existing online content platforms struggle to prevent unauthorized access and sharing of credentials, leading to potential piracy and increased costs for content providers.

Method used

A method that uses a random string generated on each device to authenticate and authorize access to a content platform, with a database tracking the status of these random strings to manage device activations and prevent unauthorized use.

Benefits of technology

Effectively prevents unauthorized access and sharing of credentials by ensuring that only authorized devices can access the content platform, while allowing multiple devices to access the same account without requiring separate credentials.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025516345000001_ABST
    Figure 2025516345000001_ABST
Patent Text Reader

Abstract

To reduce the opportunity for unauthorized use of entitlement information within a content delivery system, a method and system are implemented. The content delivery system permits access to content on its own platform to devices that have received a plurality of licenses activated for an account. The content platform uses an authentication engine to manage device information and detect unauthorized access to the content platform. Each device typically submits entitlement information in the form of a username or email, password, and a random string generated on the device. The random string is used to track the activated devices and determine when the potential for unauthorized use actions is occurring.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to computer platforms, and related methods for preventing piracy of credentials using online platforms.

Background Art

[0002] Many online or content provider platforms use the same process to authorize access to their content or platform. This process implements a public-nonpublic information split. In that, one of the information is public, and in most cases, it is the username / email address. Another information is nonpublic, and is often the password. This information can be used by customers on different devices or in different locations. In some examples, customers share passwords with others so that they can access the content without paying additional fees. To prevent this, some content providers try to limit the use of passwords between different devices or to one location. However, this solution is inconvenient for customers who use multiple devices to access content or spend a lot of time in different locations. Furthermore, these solutions rely on tracking usernames and passwords, and may not work well in case of hacking or data breach.

Summary of the Invention

[0003] A method for authenticating a device to access a content platform is disclosed. The method includes receiving qualification information in a licensing engine from a device connected to the content platform over a network. The qualification information includes a username and password for an account, an authentication token corresponding to the account, and an authentication token generated on the device known as a random string. The method also includes checking a random string database table for the random string. The method also includes determining the status of the random string using the random string database table. The method also includes taking an action to activate the device to access the content platform based on the determination using the random string.

[0004] A method for detecting unauthorized use of valid qualification information in a content platform is disclosed. The method includes, for each active device accessing the content platform, determining that a maximum activation number has been reached using at least two random strings for each active device. The at least two random strings are listed in a random string database table in the content platform. The method also includes changing the status of a subset of the random strings associated with the account from active to unknown in the random string database table. The method also includes sequentially activating the random strings until the maximum activation number is reached. The method also includes, after the total activation number reaches the maximum activation number, converting all unknown random strings from unknown to inactive. The method also includes matching a subsequent random string with one of a subset of at least one random string having an inactive status. The method also includes denying access to the content platform for a device corresponding to the subsequent random string.

[0005] There is further disclosed a content provider that provides content used or viewed by at least one user. The content provider is a content platform that receives qualification information from a device connected to itself on a network, the device is associated with a user account, and the qualification information includes authentication components such as a username and password for the user account and a random string generated on the device. The content platform, a database storing a username, a password, and a random string database table having a random string for the user account, a content database storing content sent to at least one user, one or more processors, and a memory coupled to the one or more processors and including computer-readable instructions. When the computer-readable instructions are executed, the instructions cause the one or more processors to authenticate the qualification information received from the device and determine whether the username and password match those stored in the database, check the random string database table for the random string, and if the random string is stored in the random string database table, determine the status of the device and take an action to activate the device to access the content platform based on the determination using the random string.

Brief Description of the Drawings

[0006] Various other features and advantages of the present invention will be better understood and more fully understood when considered in conjunction with the accompanying drawings.

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

[0007] Specific embodiments of the present invention are referred to in detail. Examples of these embodiments are shown in the accompanying drawings. While the embodiments are described in conjunction with the drawings, it will be understood that the following description is not intended to limit the present invention to any one embodiment. On the contrary, the following description is intended to cover alternatives, modifications, and equivalents that may be included within the spirit and scope of the appended claims. Many specific details are shown to provide a complete understanding of the present invention.

[0008] Online content providers, such as streaming services, continue to struggle with reducing unauthorized use. Customers may provide their usernames and passwords to family members or friends to avoid paying additional fees or subscribing to new services. Additionally, some companies may "accidentally" share credentials, such as usernames and passwords, among employees. It is also convenient to provide this information to avoid having multiple accounts with different credentials. In other words, since everyone knows the password, there is no need to track different passwords for each user. Furthermore, not everyone is computer-savvy enough to set up separate accounts for everyone, so it is easier to access content using one established account.

[0009] The disclosed embodiments provide a licensing system that prevents the "accidental" sharing of credentials with family / friends, team members, employees, downstream agents, etc. The disclosed embodiments enable activation without the customer having to keep the credentials secret.

[0010] FIG. 1 shows a system 100 for reducing unauthorized use of credentials according to the disclosed embodiments. System 100 implements a network 102 that exchanges data and content with devices connected to network 102. A content platform 103 provides content 106 to authorized connected devices that receive the content. Content 106 may include digital content that is streamed to devices where customers 108 view or interact, such as games or social media platforms. Content 106 may also include business or personal documents for use by customer 108. Content platform 103 is supported by a content provider. Thus, in the following description, content platform 103 is also referred to as content provider 103.

[0011] During the purchase process, customer 108 provides a username / registered email 110 (hereinafter, "username") along with a password 112 so that the username can be uniquely identified as belonging to customer 108 when accessing content platform 103. The username 110 and password 112 may be provided via network 102 to content platform 103 using a first device 114. The username 110 and password 112 may be all or a subset of authentication credentials 109. Content platform 103 creates an account 116 corresponding to customer 108. Using authentication engine 118, content platform 103 generates an authentication token 120 notified by authentication credentials 109 during account activation or the purchase process of account 116. The authentication token 120 may be stored within the software settings of customer 108 on the applicable device, similar to account 116. The authentication token 120 may be sent via content platform 103 during its API call.

[0012] The authentication token 120 represents a single active subscription or account. The authentication token 120 may use a random sequence of characters, a mathematical formula ending with an alphanumeric sequence, or other processes to identify an authenticated session or represent an active subscription or account. Content platform 103 uses authentication engine 118 to perform checks to ensure that the authentication token 120 of account 116 is valid.

[0013] System 100 may allow a single customer 108 to access content platform 103 on multiple devices, either simultaneously or at different times, using the same username / registered email 110 along with password 102. For example, a single customer 108 may be permitted to access content platform 103 on four different devices, and in some cases, particularly, customer 108 may share their login information with three of their family members or authorized members to access content platform 103 simultaneously on four different devices. In this case, the account 116 associated with this customer may include four random strings 113, each of which is associated with a registered device having the qualification to access content platform 103. In the disclosed embodiment of FIG. 1, these devices include the first, second, third, and fourth devices 114, 124, 126, and 128.

[0014] Each device connecting to the content platform is required to generate a random string of characters, or random string 113. Examples of random strings are disclosed below. Content platform 103 generates a random string database table 122. When each device connects to authentication engine 118, authentication engine 118 stores the random string in random string database table 122. This enables the authentication engine to determine whether to authorize access to the content platform for that device when a particular device supplies a valid authentication token 120. This feature is different from a process where each activation and deactivation must go through an opaque device registration process after the authenticated qualification information is provided on an unrecognized device.

[0015] If the device is not recognized, problems can occur for people who clear their cache or use a different web browser for online access to the content platform 103. Since they did not record at the registration authority that the device or software was deactivated, the server may think they are trying to activate a new copy of the software and block access. Alternatively, while on the move, the same registration authority may believe there is unauthorized access due to a change in geographical location. Or, the authentication server may enforce a new opaque device registration that will block access to the content platform until the device is registered. This is a technique commonly used by banks and other financial platforms.

[0016] The random string database table 122 contains a random string that is the secret key. The random string functions like a tracking agent for each device logging onto the content platform 103. The random string is checked both during the periodic authentication checks performed using FIG. 6 and during normal access to the content platform 103. As disclosed below, when the random string appears in the random string database table 122, the content platform 103 determines that the device has been previously activated. When the random string does not appear in the random string database table 122, the content platform 103 determines that the device has never been activated. During the first access to the content platform, such as during the installation or first startup of software for offline use, the authentication engine 118 may generate a new random string.

[0017] As described above, customer 108 may access content platform 103 using multiple devices. Thus, system 100 may include a second device 124, a third device 126, and a fourth device 128. Devices 114, 124, 126, and 128 enable access to content platform 103 so that customer 108 can access content 106. These devices may be located in different locations and connected to network 102. Further, these devices may be of different manufacturers and models and may have different IP addresses within system 100.

[0018] The disclosed embodiments may track access by the customer on devices 114, 124, 126, and 128 to ensure that customer 108 is acting in accordance with the usage conditions associated with account 116. In other words, in order to access all devices, account 116 should indicate that customer 108 has subscribed to access for all connected devices. The disclosed embodiments also determine whether customer 108 attempts to access content platform 103 from an unauthorized device or from more devices than the number of devices permitted to connect to content platform 103 according to the usage conditions of account 116.

[0019] For example, customer 108 may attempt to access content platform 103 via a fifth device that has moved to a different geographical area and is either unregistered or not recognized by content platform 103. In this case, content platform 103 determines whether the fifth device is an allowed device by analyzing the login information entered by customer 108. If customer 108 is permitted to access content platform 103 via a maximum of three devices, content platform or provider 103 determines whether the maximum number of active devices has been reached when the fifth device logs in. If fewer than three devices are activated when the fifth device logs in, content platform 103 activates the fifth device and stores the new random string generated by the fifth device in random string database 122. However, if all three devices associated with this customer's account are activated, i.e., they remain in a logged-in status, content platform 103 does not permit the customer to access content platform 103 using the fifth device. In an alternative embodiment, content platform 103 may automatically deactivate one of the three devices, activate the fifth device, and store the random string generated by the fifth device in random string database 122. Details of these embodiments are disclosed below with reference to FIGS. 3-6.

[0020] FIG. 2 shows the use of random strings for device status according to the disclosed embodiments. In FIG. 2, random string database table 122 includes random strings 202A, 202B, 202C, and 202D. A plurality of random strings 113 may correspond to one random string 113. Each random string matches the corresponding random string on the activated device within the license for account 116.

[0021] For example, when a device is first used to access content platform 103, the device or an application installed on the device may generate a random string that is sent to content platform 103 along with authentication token 120 so that access to content 106 on the device's platform is authorized.

[0022] When opening a new installation on a device, the associated application generates a new random string. Thus, the application on the first device 114 generates a first random string 202A. When the first device 114 accesses the content platform 103, the authentication engine 118 uses the authentication protocol to determine whether the authentication token 120 is valid and corresponds to the authentication credentials 109 of account 116. Further, it receives the first random string 122A and executes an activation procedure disclosed in more detail below. If the authentication engine 118 determines that the activation of the first device 114 is permitted, the first random string 202A is stored in the random string database table 122. The first random string 202A is assigned a status 203A. The status 203A can be inactive, active, or unknown.

[0023] This process is repeated from the second device 124. With a new installation of an application or a browser session, a second random key 202B is generated, which is provided to the authentication engine 118 and placed within the random string database table 122 along with its status 203B. A third device 126 executes the same process, generating a third random key 202C that is stored in the random string database table 122 along with its status 203C. A fourth device 128 executes the same process, generating a fourth random key 202D that is stored in the random string database table 122 along with its status 203D.

[0024] Accordingly, the random string database table 122 contains four entries regarding the devices accessing the content 106 from the content platform 103. The statuses 203A - D indicate whether the associated device is active or inactive. Each random string 202A - D may initially be assigned an active status indicated by 1. When a new random string is received by the authentication engine 118 at the content platform 103, the status of these strings can change depending on whether a set of credentials such as the username 110 and password 112 are being used by multiple people. This process is disclosed in more detail below.

[0025] Figure 3 shows a flowchart 300 of an activation process for an unknown / new device accessing the content platform 103 according to the disclosed embodiment. Flowchart 300 may refer to FIGS. 1 and 2 for illustrative purposes. However, flowchart 300 is not limited to the embodiments disclosed by FIGS. 1 and 2.

[0026] Step 302 is executed by newly installing on the device an application for accessing the content platform 103. Alternatively, a new local machine installation may occur for the programs on the device, or a new browser may be requested for access. For example, customer 108 may use a new application on an existing device that has previously accessed the content platform 103.

[0027] Step 304 is executed by generating a random string on the device. Referring to FIG. 2, the fourth device 128 installs a new application for the content provider 103. As a result, a random string 202D is generated. Step 306 is executed by assigning an active status to the random string 202D.

[0028] Step 308 is executed by providing the authentication engine 118 with the customer 108's qualification information for access to the content platform 103. The qualification information may include authentication qualification information 109, an authentication token 120, and the random string 202D. The authentication engine 118 determines that the authentication token 120 corresponds to the authentication qualification information 109 and that the content access request comes from a new device, i.e., the fourth device 128. Step 310 is executed by storing the random string 202D in the random string database table 122 with an active, i.e., 1, status 203D.

[0029] Step 312 is executed by checking if there is an existing random string in the random string database table 122. Specifically, the authentication engine 118 may perform a check to determine how many random strings in the table 122 have an active, i.e., 1, status. Random strings with an inactive, i.e., 0, and unknown, i.e., 2, status may not be considered. Step 314 is executed by determining whether the number of random strings in the random string database table 122 with an active status exceeds the maximum activation number in the license for the account 116.

[0030] For example, the account 116 may allow three activations for the customer 108. The first device 114, the second device 124, and the third device 126 are already active within the system 100 and accessing the content platform 103. The status 203A of the random string 202A associated with the first device 114 indicates that it is active. The status 203B of the random string 202B associated with the second device 124 indicates that it is active. The status 203C of the random string 202C associated with the third device 126 indicates that it is active. If the fourth device 128 is activated using the fourth random string 202D and the active status 203D, it will exceed the maximum activation number of the account 116.

[0031] If step 314 is No, flowchart 300 proceeds to step 320 and does nothing to the existing random strings in the random string database table 122. If step 314 is Yes, step 316 is executed by checking the status of each random string in the random string access database 122. Step 318 is executed by determining whether the status of each random string is active, i.e., 1. If No, step 320 is executed by doing nothing to the random string. The random string has an inactive or unknown status, and this status remains unchanged.

[0032] If step 318 is Yes, step 322 is executed by marking the random string as having an unknown status, i.e., 2. Steps 316 to 322 may be repeated for each random string in table 122 associated with account 106. Using the above example, the status 203D of the fourth random string 202D is active, while the statuses 203A, 203B, and 203C are changed to unknown for the first random string 202A, the second random string 202B, and the third random string 202C, respectively. The change in status helps to track them when other devices are activated and determine how many active devices are being used by account 106 and whether the devices have been replaced.

[0033] In some embodiments, step 314 may be deleted, and the status of each random string currently in the random string database table 122 may be checked to determine whether it is active. If the random string includes an active status, its status is changed to unknown. When the device comes back online, the disclosed embodiments use the verification process disclosed below to determine whether the maximum number of activations allowed for the license of account 116 has been reached.

[0034] FIG. 4 shows a flowchart 400 of a verification process for a device accessing content platform 103 according to the disclosed embodiments. Flowchart 400 may refer to FIGS. 1-3 for illustrative purposes. However, flowchart 400 is not limited to the embodiments disclosed in FIGS. 1-3. Flowchart 400 may be executed after a new device is activated and places its random string into the random string database table 122, or after the execution of step 322 of flowchart 300. After a certain period of time may elapse after all random strings having an active status are changed to an unknown status. Since those statuses indicate that the devices corresponding to the random strings are unknown, the verification process allows content platform 103 to confirm on a case-by-case basis that customer 108 is not misusing qualification information to avoid their license.

[0035] Step 402 is executed by receiving qualification information from a device connected to content platform 103 via network 102. As disclosed above, the qualification information includes authentication qualification information 109, an authentication token 120, and a random string from the device. For example, the third device 126 attempts to access content 106 on content platform 103. Therefore, the third device 126 submits its qualification information as described above, including the third random string 202C. From the example shown in flowchart 300, after the fourth device 128 is activated, the random strings 202A, 202B, and 202C corresponding to the three devices 114, 124, and 126 are each converted to unknown. For purposes of illustration, consider the third device 126 and the random string 202C, where status 203C will be set to unknown, i.e., 2.

[0036] Step 404 is executed by identifying the random string from the received authentication qualification information 109. The random string is unique data different from the authentication qualification information received from other devices. Using the above example, the disclosed embodiment identifies the third random string 202C as the random string. Step 406 is executed by determining whether the received random string is new. The authentication engine 118 may check to see if the random string 202C is stored in the random string database table 122. If Yes, step 408 is executed by implementing the activation process disclosed by flowchart 300.

[0037] If step 406 is No, step 410 is executed by checking the status of the existing random strings in the random string database table 122. As disclosed above, the status of the random strings in the random string database table 122 may change over time or by activating a new device to access the content platform 103. The applicable status for a random string is active, inactive, or unknown.

[0038] Step 412 is executed by determining whether the status of the received random string of the activated device is unknown, i.e., 2. The unknown status indicates that the associated device may be active or inactive, and that the disclosed embodiments do not classify the status either way until some action is taken, such as providing its qualification information in step 402. Using the above example, the status 203C of the third random string 202C is unknown.

[0039] If step 412 is Yes, step 414 is executed by changing the status of the random string from unknown to active. This feature indicates that the associated device is still being used to access the content 106 on the content platform 103. Using the above example, the status 203C of the third random string 202C is changed from unknown to active, i.e., from 2 to 1. The random string database table 122 is updated accordingly.

[0040] Step 416 is executed by determining whether the maximum number of activations of the license for account 116 has been reached, as disclosed in step 314 of flowchart 300. If the maximum number of activations has been reached, step 418 is executed by changing the status of all random strings that currently have an unknown status to inactive. Those devices associated with the inactive status are not permitted to access content platform 103. For example, if the upper limit of the number of activated devices is 3, and the second device 124 and the fourth device 128 are activated, when the third device 126 is activated, the status 203A of the first random string 202A of the first device 114, which is unknown, i.e., 2, is changed to inactive, i.e., 0. This is because the maximum number of activated devices has been determined (in this example, the second, third, and fourth devices).

[0041] If step 416 is No, flowchart 400 returns to step 402 to receive further activations from devices connected to network 102. In some examples, these activations are repeated until step 412 determines that there are no remaining random strings with an unknown status. If step 412 is No, step 420 is executed by determining whether the received random string has an inactive status, i.e., 0. An inactive device is a device that is not currently permitted or designated to have access to content provider 103. For example, an inactive device may be sold or given to another customer who needs a new activation to access content provider 103. The inactive status may be provided by customer 108. Also, the inactive status may be called in step 418 when determining the status of a device using the associated random string.

[0042] If step 420 is No, step 422 is executed by returning to step 402. The status of the received random string is active. For example, the fourth random string 202D includes an active status 203D based on the example shown above. No further action is required so that the disclosed process can wait until further qualification information is received from other devices.

[0043] If step 420 is Yes, step 424 is executed by sending a warning that unauthorized access to the content provider 103 may occur. In the associated email of account 116, a message may be sent to customer 108. A prompt may be displayed on the device associated with the received random string. Further, an alert may be sent to the administrator of the content platform 103. Step 426 is executed by locking account 116 from further access to the content platform 103. By locking the account, customer 108 should be prompted to resolve the issue that there may be unauthorized use of their qualification information. For example, customer 108 may not be aware of access from a non-active device. The content provider 103 can provide the devices currently listed as active for comparison with the devices belonging to customer 108.

[0044] Figure 5 shows flowchart 500 for random string checking during normal query execution according to the disclosed embodiment. Flowchart 500 may refer to FIGS. 1-4 for illustrative purposes. However, flowchart 500 is not limited to the embodiments disclosed by FIGS. 1-4. During normal query execution, system 100 and content platform 103 may perform a check to see if the random string associated with each device is the most recent random string for activation regarding a specific account 116.

[0045] Query 501 is generated for use within flowchart 500. Query 501 includes authentication token 120, random string 113, and a request to content platform 103.

[0046] Step 502 is executed by determining whether the status of the random string in random string database table 122 is active or unknown. If so, authentication engine 118 passes the entire query 501 using the process disclosed by flowchart 300. The query may refer to a specific request made by the device to the content engine that includes authentication credentials 109 and the device's random string. In some examples, the query may be regarding authentication token 120. Using flowchart 300, the random string in question is changed from unknown to an active status.

[0047] If step 502 is not used, step 504 is executed by determining whether any random string is not associated with order identification in the random string database table 122. If so, the authentication engine 118 passes flowchart 300 to query 501 and registers the random string as active in the random string database table 122. If necessary, flowchart 300 may also change the current active status of the listed random string to unknown, as disclosed above.

[0048] If steps 502 and 504 are not used, step 506 is executed by determining whether a query is associated with this particular random string. If not, the authentication engine 118 passes the query and uses flowchart 300 to register the random string with an active status. This step also sends an alert or email to the support of content provider 103 regarding the potential issue of unauthorized use and addressing this particular case.

[0049] If steps 502, 504, and 506 are not used, step 508 is executed by determining whether the status of the random string is inactive. If so, the authentication engine 118 does not pass the query. Further, an alert and a message are sent that the maximum allowable activation number for the license of account 116 has been reached. Customer 108 may deactivate the account on another device before activating the account on the current device. Further, account 116 may be temporarily locked and automatically unlocked after a period such as 4 hours so that accidental activations can be resolved or the account can be upgraded to include additional devices. An alert may be sent to support regarding possible unauthorized use actions.

[0050] FIG. 6 shows a flowchart 600 for routine checks of the status of a random string and its associated devices according to the disclosed embodiment. Flowchart 600 may refer to FIGS. 1-5 for illustrative purposes. However, flowchart 600 is not limited to the embodiments disclosed by FIGS. 1-5.

[0051] Step 602 is performed by checking the random string. The disclosed embodiment may frequently check the status of the random string in an activated device according to a setting update schedule or when software is updated in content platform 103. For example, authentication engine 118 may send a request to connected devices to send their current credential information including their associated random string, or in some embodiments, simply send the associated random string only. The disclosed embodiment receives each random string and performs the process disclosed below.

[0052] Step 604 is performed by determining whether the random string has a status of active, i.e., 1. If Yes, step 606 is performed by doing nothing further to the random string. If step 604 is No, step 608 is performed by determining whether the random string has an inactive status. If Yes, step 610 is performed by deactivating the associated software in the corresponding device. This feature may prevent the possibility of future unauthorized access to content platform 103 or unauthorized use of credential information from customer 108. If step 608 is No, the random string is most likely not in random string database table 122 or may have an unknown status. Step 612 is performed by executing the process disclosed by flowchart 300.

[0053] For example, the authentication engine 118 performs a routine check as specified. The activated devices of customer 108 and account 116 are the first device 114, the second device 124, the third device 126, and the fourth device 128. The licensing engine 118 receives the first random string 202A, the second random string 202B, the third random string 202C, and the fourth random string 202D, and compares these with the random strings and corresponding statuses stored in the random string database table 122.

[0054] Using this example, the disclosed embodiment determines that the first random string 202A and the third random string 202C have an active, i.e., 1, status. Thus, the disclosed embodiment takes no further action on the entries within the random string database table 122. The second random string 202B has an inactive status 203B. The disclosed embodiment deactivates the software on the second device 126. Since the fourth random string 202D is not found within the random string database table 122, the disclosed embodiment executes the process disclosed by flowchart 300 to activate this random string and its associated device.

[0055] As will be understood by those skilled in the art, the present invention may be embodied as a system, method, or computer program product. Accordingly, the present invention may take the form of an embodiment that is entirely hardware, an embodiment that is entirely software (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects. All of these may generally be referred to herein as "circuitry," "module," or "system." Furthermore, the present invention may take the form of a computer program product embodied in a computer-usable program code having the expression embodied in a tangible medium.

[0056] Any combination of one or more computer-usable or computer-readable media may be utilized. The computer-usable or computer-readable media may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable media include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission medium such as those supporting the Internet or an intranet, or a magnetic storage device. It should be noted that the computer-usable or computer-readable media could even be paper or other suitable media upon which the program is printed, as the program can be electronically captured, for example, via optical scanning of the paper or other media, compiled, interpreted, or otherwise processed in a suitable manner and stored in a computer memory as needed.

[0057] The computer program code for carrying out the operation of the present invention can be described in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as the "C" programming language and similar programming languages. The program code can be executed entirely on a user's computer, partially executed on a user's computer as a stand-alone software package, partially executed on a user's computer and partially executed on a remote computer, or executed entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), and the connection may be made to an external computer (e.g., via the Internet using an Internet service provider).

[0058] The present invention has been described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0059] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram can represent a module, segment, or portion of code that comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that shown in the figures. For example, two blocks shown in succession may, in fact, be executed substantially simultaneously, or may be executed in the reverse order depending upon the functions involved. It should also be noted that each block of the block diagrams or flowchart diagrams, and combinations of blocks in the block diagrams or flowchart diagrams, can be implemented by a dedicated hardware-based system that performs the specified function or acts, or by combinations of dedicated hardware and computer instructions.

[0060] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term "comprises" or "comprising" specifies the presence of the stated feature, integer, step, operation, element, or component, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0061] Embodiments may be implemented as a computer process, a computing system, or a product such as a computer program product on a computer-readable medium. The computer program product may be a computer storage medium that is readable by a computer system and encodes computer program instructions for executing a computer process. When the instructions are accessed, they cause the processor to enable other components to perform the functions disclosed above.

[0062] All means or steps and functional elements in the following claims, corresponding structures, materials, acts, and equivalents thereof, are intended to include any structure, material, or act for performing the functions in combination with other specifically claimed claimed elements. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the disclosed form. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. Embodiments have been chosen and described in order to best explain the principles of the present invention and its practical applications, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.

[0063] One or more portions of the disclosed network or system may be distributed across one or more printing systems coupled to a network capable of exchanging information and data. The various functions and components of the printing system may be distributed across multiple client computer platforms and may be configured to perform tasks as part of a distributed system. These components may be executable, intermediate, or interpreted code that communicates over the network using a protocol. The components may have a designated address or other indicator for identifying components within the network.

[0064] It will be apparent to those skilled in the art that various modifications can be made to the disclosed embodiments without departing from the spirit or scope of the invention. Accordingly, the invention is intended to cover such modifications and variations as fall within the scope of the claims and their equivalents, provided that these modifications are within the scope of the appended claims and their equivalents.

Claims

1. A method for activating a device to access a content platform, comprising: Receiving qualification information in an authentication engine from a device connected to the content platform on a network, wherein the device is associated with a user account, and the qualification information includes authentication components such as a username and password for the user account and a random string generated on the device; Checking a random string database table for the random string; When the random string is stored in the random string database table, determining the status of the device; Taking an action to activate the device to access the content platform based on the determination using the random string The method includes.

2. The method according to claim 1, further comprising determining that the random string is not in the random string database table.

3. The method according to claim 2, further comprising activating the status of the random string and storing the random string in the random string database table together with the status.

4. The method according to claim 3, further comprising changing the status of a further random string in the random string database from active to unknown.

5. Receiving a subsequent random string of another device in the authentication engine; Determining whether the subsequent random string is in the random string database table The method according to claim 4, further comprising.

6. The method according to claim 5, further comprising taking an action regarding the other device connected to the content platform based on the determination of the status of the subsequent random string.

7. For the user account, a predetermined number of devices are permitted to access the content platform simultaneously, and each of the predetermined number of devices generates a random string upon registration with the content platform, and the random strings generated by each of the predetermined number of devices are stored in the random string database table. The method according to claim 1.

8. For an active device accessing the content platform when a further device logs in, when the maximum activation number associated with the user account is reached and the statuses of all of the predetermined number of devices are activated, further including rejecting access to the content platform by the further device. The method according to claim 7.

9. For an active device accessing the content platform when a further device logs in, when the maximum activation number associated with the user account is reached and at least one device has an unknown status, changing the status of the at least one device from unknown to deactivated, activating the further device to access the content platform The method according to claim 7, further including this.

10. A method for detecting unauthorized use of qualification information in a content platform, for each of the active devices accessing the content platform, determining that the maximum activation number associated with the user account has been reached by using at least two random strings, the at least two random strings being listed in a random string database table in the content platform, changing the status of a subset of the at least two random strings from unknown to inactive in the random string database table, matching a subsequent random string with one of the subset of the at least two random strings having the inactive status Denying access to the content platform for the device corresponding to the subsequent random string A method including this.

11. Further including receiving qualification information in an authentication engine from the device connected to the content platform on a network, where the qualification information includes authentication components such as a username and password for an account and a random string generated in the device The method according to claim 9.

12. Checking the status of the active device If the status of the active device is all active, denying access of the device to the content platform The method according to claim 11, further including this.

13. Checking the status of the active device If at least one of the active devices has an unknown status, changing the status from unknown to deactivated Activating access of the device to the content platform The method according to claim 11, further including this.

14. A content provider that provides content used or viewed by at least one user A content platform that receives qualification information from a device connected to itself on a network, where the device is associated with a user account, and the qualification information includes authentication components such as a username and password for the user account and a random string generated in the device A database that stores the username, the password, and a random string database table having the random string for the user account A content database that stores the content sent to the at least one user One or more processors A memory coupled to the one or more processors and including computer-readable instructions Comprising When the computer-readable instructions are executed, causing the one or more processors to Authenticate the qualification information received from the device and determine whether the username and password match those stored in the database Cause the random string database table to be checked for the random string, if the random string is stored in the random string database table, cause the status of the device to be determined, and based on the determination using the random string, cause an action to be taken to activate the device to access the content platform, Content provider.

15. For the user account, a predetermined number of active devices are permitted to access the content platform simultaneously. When a connection to the content provider is requested for the first time, each of the devices generates a random string that is sent to the content platform together with the username and password, and the random string of each of the devices is stored in the random string database table. The content provider according to claim 14.

16. The one or more processors further determine that the random string is not in the random string database table. The content provider according to claim 14.

17. The one or more processors further activate the status of the random string and store the random string together with the status in the random string database table. The content provider according to claim 16.

18. The one or more processors further change the status of a further random string in the random string database from active to unknown. The content provider according to claim 17.

19. For an active device accessing the content platform when a further device logs in, if the maximum activation number associated with the user account is reached and the status of all the active devices is activated, the one or more processors reject the further device from accessing the content platform. The content provider according to claim 15.

20. When a further device logs in, for an active device accessing the content platform, if the maximum number of activations associated with the user account is reached and at least one active device has an unknown status, changing the status of the at least one active device from unknown to deactivated, activating the further device to access the content platform further comprising The content provider according to claim 15.