A user may install a software product on a processing device, may request activation of the software product by electronically sending product information to a remote server, and may electronically receive a product activation code, which may fully enable all features of the installed software product on the processing device. Further, a user may electronically register ownership of a software product.
A user may receive offers from various vendors, such as, for example, software product vendors, after having purchased a software product from one of the software product vendors. However, no existing system presents a user with one or more offers, for which the user is eligible, in conjunction with electronically registering or activating the software product.
This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In embodiments consistent with the subject matter of this disclosure, a method and a system may be provided which may provide an offer to a user in conjunction with activating a software product. A user may install a software product on a processing device. The user may cause a request to activate the software product to be sent to a remote processing device, such as, for example, a server, via a network. In response to receiving the request, an activation code may be sent to the processing device to enable all features of the software product. In addition, the server may work with one or more components of the system to determine whether the user is eligible to receive one or more offers based, at least in part, on the software product and stored user information. The user may accept one of the one or more offers and the system may provide an order, based on the accepted one of the one or more offers, along with at least some of the user information, to a processing device of a vendor.
In other embodiments consistent with the subject matter of this disclosure, a method and a system may be provided which may provide an offer to a user in conjunction with registering a software product. A user may register a software product via a processing device. The processing device may communicate software product registration information to a remote processing device, such as, for example, a server, via a network. In response to receiving the software product registration information, the server may store information with respect to the software product registration in a database. Further, the server may work with one or more components of the system to determine whether the user is eligible to receive one or more offers based, at least in part on a software product and stored user information. The user may accept one of the one or more offers and the system may provide an order, based on the accepted one of the one or more offers, along with at least some of the user information, to a processing device of a vendor.
In the above-described embodiments, the system may periodically determine one or more additional offers for which the user is eligible and may electronically send offer information to the user. The offer information may be sent via email, Rich Site Summary feed, or other electronic means.
In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description is described below and will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings.
Embodiments are discussed in detail below. While specific implementations are discussed, it is to be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure.
Embodiments consistent with the subject matter of this disclosure may provide a system and a method in which a user may electronically register or activate a software product and electronically receive at least one offer for which the user is eligible in response to and based, at least partly, on the electronic registering or the activating of the software product.
In a first embodiment consistent with the subject matter of this disclosure, a user may install a software product on a processing device and may request activation of the software product. All features of the software product may not be enabled until the software product is activated. The request for activation may be sent to a first server via a network and may include product information and information describing the processing device. The first server may determine whether activation of the software product is authorized based on the product information and the information describing the processing device. If the activation of the software product is determined to be authorized, the first server may send an authorization code to the processing device, which may then enable all features of the software product installed on the processing device.
In some embodiments, the request for activation may be sent with user identifying information, such as, for example, a user ID and password, or other user identifying information. The user identifying information may then be authenticated to determine whether the user is a valid user, and user information, with respect to the user, may be accessed. The user information may include information with respect to software products activated by the user, age of the user, preferences and interests of the user, gender of the user, credit information of the user, billing address of the user, shipping address of the user, and/or other information with respect to the user.
An offer eligibility engine, which may be included in the first server or a second server, may determine one or more offers for which the user is eligible based on the product information and/or the user information. Information describing an activation status of one or more software products associated with the user and one or more offers for which the user is eligible may be presented to the user via a display monitor of the processing device. The user may accept one of the one or more offers. Information describing the offer and at least some of the user information may be electronically provided to a vendor associated with the one of the one or more offers.
In a second embodiment consistent with the subject matter of this disclosure, a user may electronically register a software product from a processing device via a network. Product information, describing the software product, as well as user identifying information, may be provided to a first server. The first server may authenticate the user identifying information and may permit access to user information with respect to the user. The user information may include information with respect to software products registered by the user, age of the user, preferences and interests of the user, gender of the user, credit information of the user, billing address of the user, shipping address of the user, and/or other information with respect to the user. Registration of the software product may be recorded in a database.
In the second embodiment, an offer eligibility engine may be included in the first server or a second server. The offer eligibility engine may determine one or more offers for which the user is eligible based on the product information and/or the user information. Information describing products registered to the user and one or more offers for which the user is eligible may be presented to the user via a display monitor of the processing device. The user may accept one of the one or more offers. Information describing the offer and at least some of the user information may be electronically provided to a vendor associated with the one of the one or more offers.
In various embodiments consistent with the subject matter of this disclosure, a determination may be made periodically regarding other offers for which the user may be eligible. Information describing the other offers may be electronically sent to the user.
Network 102 may be a single network or a combination of networks, such as, for example, the Internet or other networks. Network 102 may include a wireless network, a wired network, a packet-switching network, a public switched telecommunications network, a fiber-optic network, other types of networks, or any combination of the above.
Processing device 104 may be a user's processing device, such as, for example, a desktop personal computer (PC), a laptop PC, a handheld processing device, or other processing device.
Processing devices 106, 108, 110 may be servers. In some embodiments, one or more of the servers may include multiple servers configured to work together as a server farm.
Processor 260 may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory 230 may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor 260. Memory 230 may also store temporary variables or other intermediate information used during execution of instructions by processor 260. ROM 240 may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor 260. Storage device 270 may include a compact disc (CD), digital video disc (DVD), a magnetic medium, or other type of storage device for storing data and/or instructions for processor 260.
Input device 220 may include a keyboard, a joystick, a pointing device or other input device. Output device 250 may include one or more conventional mechanisms that output information, including one or more display monitors, or other output devices. Communication interface 280 may include a transceiver for communicating via one or more networks via a wired, wireless, fiber optic, or other connection.
Processing device 200 may perform such functions in response to processor 260 executing sequences of instructions contained in a tangible machine-readable medium, such as, for example, memory 230, ROM 240, storage device 270 or other medium. Such instructions may be read into memory 230 from another machine-readable medium or from a separate device via communication interface 280.
Product activation component 302 may receive a request from a user's processing device, such as, for example, processing device 104, to activate a software product and may send an activation code to the user's processing device to enable all features of the software product installed on the user's processing device.
Product activation component 302 may receive a request to register a software product from the user's processing device and may register the software product.
User authenticating component 304 may receive user identifying information, such as, for example, a user ID and a password, or other user identifying information, from the user's processing device and may authenticate a user based on the received user identifying information. User authenticating component 304 may provide access to user information when the user is authenticated. It should be noted, that some embodiments may not include user authenticating component 304.
Offer eligibility engine 306 may determine whether a user is eligible to receive one or more offers based on one or more activated or registered software products, associated with the user, and based on the user information.
Offer providing component 308 may provide information with respect to the one or more offers for which the user is eligible. Offer providing component 308 may provide the information to the user's processing device to be displayed on a display monitor of the user's processing device.
Offer acceptance component 310 may received information with respect to one or more offers accepted by the user via the user's processing device.
Returning to
In an embodiment in which the user identifying information is not received, acts 504, 506 and 510 may not be performed.
Next, product activation component 302 may determine whether the software product is authorized to be activated based on any of a number of different factors, such as, for example, receipt of a valid product key, hardware information (which may be included in a request for software product activation) describing hardware aspects of the user's processing device, the location of the user's processing device, product type, product subtype, and/or other factors (act 706).
If product activation component 302 determines that the software product is not authorized to be activated, then an error indication may be provided (act 708) and the process may be completed. Otherwise, product activation component 302 may record information with respect to product activation of the software product in a database (act 710). Product activation component 302 may further store aspects of the information with respect to the product activation in a database including user information. Product activation component 302 may then send an activation code to the user's processing device to cause all features of the corresponding installed software product to be enabled (act 712).
Product registration component 303 may then determine whether the received product information describes a valid software product (act 804). If the received product information does not describe a valid software product, then an error indication may be provided (act 806). Otherwise, information regarding the software product may be recorded in a database (act 808). The information may further be recorded in a database including user information.
Returning to
Offer eligibility engine 306 may then determine a location of the user's processing device (act 904). As mentioned previously, the location may be determined by a calling address, such as, for example, an Internet Protocol (IP) address, or other address, which may be included in a communication including a request for product activation or a request for software product registration received from the user's processing device.
Offer eligibility engine 306 may then access user information, with respect to the user (act 906). Offer eligibility engine 306 may access the user information by using the user identifying information, which may be included in a communication including the request for product activation or the request for software product registration. The user information may include, for example, a user's name, a user's age, a user's billing address, a user's shipping address, a user's credit information, a user's gender, a user's preferences and interests, and/or other information.
Offer eligibility engine 306 may then determine offers for which the user is eligible based on the user information and product information describing one or more software products the user activated or registered (act 908).
Offer eligibility engine 306 may filter offers based on various criteria, such as, for example, a user's age, a language associated with the software product (English, French, etc.), and/or other criteria (act 910). For example, if the user is under 18 years of age, offers requiring the user to be at least 18 years of age will be filtered out. Further, if the user is old enough to be considered a senior citizen, then offers, which may include senior citizen discounts, may not be filtered out.
Offer eligibility engine 306 may then sort the filtered offers based on one or more criteria (act 912). For example, the filtered offers may be sorted based on activation status of a software product, a user's preferences/interests, offer type (free or not free), a user's gender, a user's age, and/or other criteria. The process may then be completed.
Returning to
Next, user information, with respect to the user may be accessed based on the provided user identifying information (act 1006). Offer acceptance component 310 may then provide offer acceptance information and at least some of the user information to a vendor (act 1008). The offer acceptance information may include information regarding the offer such as, for example, a product key, a coupon code, a price, and/or other information. The user information may include a user's name, a user's age, a user's billing address, a user's shipping address, a user's credit information and/or other information. The process may then be completed.
Next, user information for a user may be accessed (act 1104). Offer eligibility engine 306 may then determine offers for which the user is eligible (1106). The determination may be made based on the user information and one or more software products associated with the user (for example, one or more software products activated or registered by the user). Offer eligibility engine 306 may then determine whether there are any offers for which the user is eligible. If the user is eligible for any offers, then offer eligibility engine 306 may filter offers (act 1110), as previously described with respect to act 910 of
A determination may be made regarding the whether there is additional user information for users (act 1116). If there is additional user information for users, then acts 1104-1116 may be repeated for a next user. Otherwise, act 1102 may again be performed to wait for the periodic time period.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.
Although the above descriptions may contain specific details, they are not to be construed as limiting the claims in any way. Other configurations of the described embodiments are part of the scope of this disclosure. For example, in some embodiments, when a user requests activation of a software product, or registration of a software product, the user may request that no offers be provided. In other embodiments, the user may request that offers be filtered or not be filtered. Further, implementations consistent with the subject matter of this disclosure may have more or fewer acts than as described, or may implement acts in a different order than as shown. Accordingly, the appended claims and their legal equivalents define the invention, rather than any specific examples given.