Patent Publication Number: US-9892391-B2

Title: System and method for the distribution of software products

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The field of the invention relates to the sale and distribution of software products. More particularly, the field of the invention relates to a system and method for selling software products via a network. 
     Description of the Related Technology 
     The process of manufacturing and distributing software products can be expensive. Manufacturing costs include the cost of purchasing media such as the floppy disks or CD-ROMs, equipment to write the software onto the media, labels to mark the media, and the packaging and shipping costs associated with sending the media to users and purchasers of the product. The manufacturing process includes the preparation of physical media for distribution, and may be very time-consuming depending on the availability of manufacturing resources. Furthermore, labor costs include the cost of coordinating the manufacturing process, the testing process, and the physical distribution process. 
     In view of these problems, certain distributors have recently turned to selling and transmitting the software products to users via the Internet. As non-limiting examples, software products include: games, business software, databases, audio files, music, audio books, and video files. When selling software products, it is possible to complete the entire transaction, i.e., accept payment from a customer, and deliver the digital content to the customer, within the confines of the Internet. Electronic distribution carries fewer of the costs associated with manufacturing and distributing tangible products. 
     When selling software products over the Internet, the user typically provides billing information and in return, is then granted access to download the purchased software product. This can be viewed as a one time transaction. The user may or may not at later point in time purchase other software products from the vendor. Disadvantageously, known software distribution systems do not provide vendors with a consistent recurring revenue stream for the sale of multiple different products. 
     Other distributors have turned to selling subscriptions (“leases”) that allow the user to download selected software products and use the products for the term of the subscription. Disadvantageously for the users, at the end of the subscription, the user does not have the right to retain the software. At the end of the subscription, the downloaded software product is typically inoperative. This is less satisfactory to many users than being able to retain ownership of purchased products. 
     Consequently, vendors have a need for an improved system and method that increases recurring revenue for the sale of software products. Furthermore, the system and method should allow a user to have unrestricted access to the software products that are acquired, and the system and method should provide economic, or otherwise valuable, incentives to the user to place recurrent purchases with a vendor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating an exemplary system for selling and purchasing software products over a network. 
         FIG. 2  is a flowchart illustrating, in one embodiment of the invention, a process for a non-subscriber for purchasing products from the system of  FIG. 1 . 
         FIG. 3  is a flowchart illustrating, in one embodiment of the invention, a process for a subscriber for purchasing software products from the system of  FIG. 1 . 
         FIG. 4  is an exemplary user interface that may be used in conjunction with the systems and methods for selling and purchasing software products over a network. 
         FIG. 5  is an exemplary user interface that may be used in conjunction with the process of  FIG. 3 . 
         FIG. 6  is yet another exemplary user interface that may be used in conjunction with the process of  FIG. 3 . 
         FIG. 7  is a flowchart illustrating a process for managing a software purchasing subscription. 
     
    
    
     DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS OF THE INVENTION 
     The following detailed description is directed to certain specific embodiments of the invention. However, the invention can be embodied in a multitude of different ways as defined and covered by the claims. In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout. 
     In some embodiments, the invention concerns systems and methods for evaluating, selling, purchasing, and/or distributing software products over a computer network. In one embodiment, the invention provides a method whereby a consumer benefits by purchasing multiple software products at discounted prices. In another embodiment, the invention provides a subscription plan whereby a consumer conveniently and periodically may purchase software products at prices that are reduced compared to individual, one-time or serial purchases of software products. Moreover, these and other embodiments of the invention benefit the software product manufacturer, marketer, or distributor by, for example, creating a customer subscription base that encourages repeat sells and customer loyalty. These and other advantages of the inventive systems and methods are evident from the detailed description of the invention that follows. 
       FIG. 1  is a block diagram illustrating an exemplary system for selling and purchasing software products.  FIG. 1  shows a server computer  100  that is connected to a plurality of client computers  104 A- 104 N via a network  108 . The server  100  maintains a plurality of software products  112 A- 112 L that are purchasable by users of the client computers  104 A- 104 N. As non-limiting examples, the software products  112 A- 112 L can include executable code, games, business software, medical software, video files, music, audio files, music programs, movies, and audio books. Software products can also include any digital content that can be transmitted over a communications network, e.g., the Internet. The digital content can be downloaded from the server computer  100  to a client computer  104 A. 
     The server computer  100  provides an interface (see  FIGS. 4-5 ) to allow a user of the client computers  104 A- 104 N to purchase a software subscription. As part of the subscription, the user is required to pay a selected amount during selected intervals, i.e., credit periods, in the subscription period. For example, in one embodiment the user pays $6.95 for a monthly subscription to a computer games distribution program. Of course, the actual amount and length of the credit period may vary widely. That is, the charged amounts may be from nominal ($0.50, for example) to as much as $1,000 or more depending on the software products involved. In return, the user is authorized to download for no additional charge one of the software products  112 A- 112 L during each of the credit periods. The subscription period may be for a predetermined duration, e.g., 3 years, or alternatively, of indefinite duration until cancelled by the provider of the server  100  or one of the users of the client computers  104 A- 104 N. It should be noted that the credit periods may be hours, days, weeks, months, or years, for example. 
     In one embodiment of the invention, duration of the credit period is the same as each of the billing periods in the subscription. In another embodiment of the invention, there is no relation between the credit period and the billing period. In some embodiments, the methods may include a requirement that the user commit to a predetermined number of multiple subscription periods. For example, the user may be required to pay an up-front amount equal to the periodic payments for the specified number subscription periods. By way of example, the user may be asked to make a one time payment of $20.85 for three subscription periods (3×$6.95) as a condition of gaining membership into the subscription plan. In other embodiments, the user may have the option to buy a lifetime subscription with an up-front payment, or make an up-front payment for a predetermined number of subscription periods. 
     The server computer  100  maintains a subscription database  116  that stores all subscription information, such as which users have a subscription, payment and billing information, the billing period, the credit period, the subscription period, and which software products  112 A- 112 L have been transmitted to the respective users. It is to be appreciated that the subscription database  116  need not be stored on the server computer  100  as long it is accessible by the server computer via the network  100 . 
     The server computer  100  and the client computers  104 A- 104 N may include any conventional general purpose single- or multi-chip microprocessor such as a Pentium® processor, Pentium II® processor, Pentium III® processor, Pentium IV® processor, a Pentium® Pro processor, a 8051 processor, a MPS® processor, a Power PC® processor, or an ALPHA® processor. In addition, the microprocessor may be any conventional special purpose microprocessor such as a digital signal processor. 
     The network  108  may include any type of electronically connected group of computers including, for instance, the following networks: Internet, Intranet, Local Area Networks (LAN) or Wide Area Networks (WAN). In addition, the connectivity to the network may be, for example, modem, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI) or Asynchronous Transfer Mode (ATM). Note that computing devices in the network  108 , the server computer  100 , and the client computers  108 A- 108 N may be desktop, server, portable, hand-held, set-top, or any other desired type of configuration. As used herein, the network includes network variations such as the public Internet, a private network within the Internet, a secure network within the Internet, a private network, a public network, a value-added network, an intranet, and the like. 
     The server computer  100  and the client computers  104 A- 104 N may have one or more input devices. For example, the input device may be a keyboard, rollerball, pen and stylus, mouse, or voice recognition system. The input device may also be a touch screen associated with an output device. The user may respond to prompts on the display by touching the screen. The user may enter textual or graphic information through the input device. 
     The server computer  100  and the client computers  104 A- 104 N may be used in connection with various operating systems such as: UNIX, LINUX, Disk Operating System (DOS), OS/2, PalmOS, VxWorks, Windows 3.X, Windows 95, Windows 98, Windows NT, Windows CE, and Windows XP. 
     In one embodiment of the invention, the client computers  104 A- 104 N each includes service software  120 . The service software  120  downloads software products  112 A- 112 L from the server computer  100 . In one embodiment of the invention, the service software  120  is an Internet browser such as Internet Explorer published by Microsoft, Inc. of Redmond, Wash., or alternatively, Netscape® by Netscape Communications Corp. of Mountain View, Calif. In another embodiment of the invention, the service software  120  is a digital rights management application program for testing, evaluating, using, and purchasing software products  112 A- 112 L.  FIG. 4  depicts an exemplary user interface  404  that may be used in conjunction with the service software  120 . The software products  112 A- 112 L need not be manufactured or produced by the administrator of the server  100 , but instead, may be resale products. 
       FIG. 2  is a flowchart illustrating a process for a non-subscribed user for purchasing products from the system of  FIG. 1 . For convenience of description,  FIG. 2  is described with respect to a user of client computer  104 A. However, it is to be appreciated that the same processes occur on client computer  104 B- 104 N. Depending on the embodiment, additional steps may be added, others removed, selected steps may be merged together, and the ordering of the steps rearranged. 
     Starting at a step  200 , a user accesses the service software  120 . The service software  120  ( FIG. 1 ) allows a user to evaluate and purchase software products  104 A- 104 N and/or software subscriptions for the purchase of the software products  112 A- 1112 L. ( FIG. 4  shows an exemplary user interface that may be employed to provide access to the functionality of the service software  120 ). In one embodiment, the service software  120  has access to a searchable database (not shown) to allow the user search for particular products names or those products falling within a selected category or sub-categories, e.g., games—action, cards, strategy and business—accounting, payroll, human resources. 
     Proceeding to a step  204 , the user selects at least one of the software products  112 A- 112 L. Next, at a decision step  208 , the service software  120  determines the type of acquisition the user has requested for the selected software product, i.e., evaluation or purchase. If the user has requested to purchase the software product, the process proceeds to a step  212 . In one embodiment of the invention, the service software  120  downloads an unrestricted-access version of the software product to the client computer  104 A. Of course, in some embodiments, once the user downloads the software product, the user may enjoy all ownership rights over the software product, limited only by copyright and/or implicit or explicit licensing terms. 
     Continuing to a step  216 , as part of the purchase process of the software product, the user is presented an opportunity to purchase a software subscription. In one embodiment, for the software subscription the user pays predetermined amounts during selected billing periods in a subscription period. In return, the user downloads at no additional charge one of the software products  112 A- 112 L during each of selected credit periods. After download, the user has unrestricted access to the software downloaded products. If the user does not use a credit before the expiration of a selected credit period, the credit expires. Alternatively, the user may be offered a free trial subscription upon purchase of a software product. For example, the user may receive free of charge a membership consisting of one or more billing cycles.  FIG. 3  below explains the process for purchasing software over the network  108  when the user has a membership subscription. 
     As part of the purchase of a software product  112 A- 112 L and the software subscription, the user provides billing information to the service software  120 . The service software  120  transmits the billing information to the server computer  100  and it is stored in the subscription database  116 . Furthermore, as part of the purchase, the server computer  100  updates the subscription database  116  to reflect that the user has purchased the selected product. In one embodiment, the server computer  100  automatically sends upgrades to the purchased software as they become available. Furthermore, if the user upgrades to a new computer, the server computer  100  allows a user to re-download via the network  100  any previously purchased software products. 
     Next, at a step  220 , the user is assigned a credit for the purchase of one of the software products. Furthermore, an expiration period is assigned to the credit. Prior to the end of the expiration period, the user may purchase one of the software products  112 A- 112 L using the assigned credit. If the user does not purchase one of the software products  112 A- 112 L within the expiration period, the credit expires. 
     Referring again to the decision step  208 , if the user decides to evaluate one of the software products  112 A- 112 L, the process proceeds to a step  224 . In one embodiment, the service software  120  downloads a trial version of the software product to the client computer  104 A. The trial version of the software product can be configured so that it can only run for an evaluation period, e.g., a limited number of times or for a limited duration. Next, at a step  228 , the user evaluates the software product during the evaluation period. Continuing to the step  212  (discussed above), it is assumed that the user is interested in the software product  112 A- 112 L, and purchases it. 
     Referring again now to the step  200 , if the user purchases a software subscription, the process proceeds to a step  232 . At the step  232 , the user provides billing information to the service software  120 . The service software  120  transmits the billing information to the server computer  100  via the network  108 . The server computer  100  updates the subscription database  116  to indicate the purchase of the software product. At this step, the user is assigned a credit for the purchase of one of the software products. Furthermore, at this step, the user may purchase one of the products with the assigned credit. The process then ends at the step  222 . 
     Referring again now to the step  200 , if the user selects a free trial of the subscription service, the process proceeds to a step  236 . As part of the free trial, the user is granted for a limited number of subscription periods, the ability to download one of the software products  112 A- 112 L during each of the subscription periods. In one embodiment, after the expiration of the limited number of subscription periods, the user is automatically billed for the subscription on a periodic basis. In another embodiment of the invention, after the expiration of the limited number of subscription periods, the user is asked by the service software  120  whether he is interested in maintaining the subscription on a fee basis. 
       FIG. 3  is a flowchart illustrating a process for a subscribed user (a “member”) for purchasing products from the system  95  of  FIG. 1 . For convenience of description,  FIG. 3  is described with respect to a user of client computer  104 A. However, it is to be appreciated that the same processes occur on client computer  104 B- 104 N. Depending on the embodiment, additional steps may be added, others removed, selected steps may be merged together, and the ordering of the steps rearranged. 
     Starting at a step  300 , a member accesses the service software  120 . Next, at a step  304 , the member selects one of the software products  112 A- 112 L. In one embodiment, the service software  120  has access to a searchable database that allows the member to search for particular products names or those products falling within a selected category or sub-categories, e.g., games—action, cards, strategy and business—accounting, payroll, human resources. 
     Furthermore, at this step, the member is allowed to either (i) purchase the selected software product or (ii) evaluate the selected software product. If the member selects to purchase the selected software product, the process proceeds to a step  308 , wherein, in one embodiment of the invention, the service software  120  downloads an unrestricted-access version of the software product to the client computer  104 A. 
     Still referring to the step  308 , the system  95  determines whether the member purchased the selected software product with an unexpired credit, or alternatively, using a subscription discount. In one embodiment of the invention, the member can purchase any number of software products at a predetermined subscription discount. In one embodiment of the invention, the use of the subscription discount does not affect the number of credits that have been assigned to the member. If the member purchases the software product with an unexpired credit, the process proceeds to a step  316 , wherein the unexpired credit is deducted. At the beginning of the next credit period, the user is provided another credit for the purchase of one the software products  112 A- 112 L. The number of credits per credit interval that are assigned to the member is configurable by an administrator of the server computer  100 . The process proceeds to an end step  324 . 
     Referring again to the step  308 , if the member purchases the selected software product using the subscription discount, the process proceeds to a step  320 . At this step, the server computer  100  charges the account of member for the purchase of the software products and credits the member&#39;s account the subscription discount. The amount of the discount may be based at least in part upon the number of software products that are purchased. In another embodiment of the invention, the amount of the discount is fixed. The process then proceeds to an end step  324 . 
     Referring again to the step  304 , if the member requests to evaluate one of the software products  112 A- 112 L, the process proceeds to a step  328 , wherein the service software  120  downloads a trial version of the software product to the client computer  104 A. The trial version of the software product can be configured so that it can only run for an evaluation period, e.g., a limited number of times or for a limited duration. Next, at a step  332 , the member evaluates the software product during the evaluation period. Continuing to the step  308  (discussed above), it is assumed that the member is interested in the software product  112 A- 112 L and purchases it. 
       FIG. 4  shows an exemplary user interface  404  that may be used in conjunction with the systems and methods described above. The user interface  404  may be provided with, for example, the service software  120 . The user interface  404  may have a “game guide”  408  that presents to the user icons  412  so that the user can indicate selection of one or more software products which the user is interested in evaluating or purchasing. The user interface  404  may be employed at step  300  of the process described with reference to  FIG. 3 . The user interface  404  may also include an area  416  to allow the user to indicate his desire to download a software product. Of course, user interface  404  is merely exemplary, and a person of ordinary skill in the art will readily recognize that there are multiple, equivalent ways to make accessible the functionality of the system  95  to the user. 
       FIG. 5  depicts an exemplary user interface  504  that may be used in conjunction with the process of  FIG. 3 . More specifically, with reference to step  304  of the process shown in  FIG. 3 , a user accesses user interface  504  to download software products which the user may desire to evaluate or purchase. An area  508  of the user interface  504  may provide a menu indicating different categories of games that the user may browse. Additionally, the user interface  504  may have an icon  512  so that the user can indicate his wish to download a demonstration version of the game. Of course, the system  95  is preferably configured to provide the functionality to transmit the selected software product from the server  100 , via the network  108 , to the client computer  104 A- 104 N. The user interface  504  may also have an icon  516  for the user to instruct the system  95  that he wants to purchase the selected software product. 
       FIG. 6  shows an example of a user interface  604  that may also be used in conjunction with the process of  FIG. 3 . The user interface  604  may be used, for example, in connection with steps  304 ,  316 , and  320  of the process described with reference to  FIG. 3 . The user interface  604  may have an input button  608  so that the user can indicate that he wishes to apply a discount (see step  320 ) to his purchase of the software product. The user interface  604  may also provide an input button  612  for the user to indicate that he would like to apply a credit to the purchase. In this embodiment, the user interface  604  presents to the user information regarding the transaction. For example, at area  608 ′ the users selection of applying a discount to the product purchase is shown. In some embodiments, such as shown in  FIG. 6 , the user interface  604  provides an input button  616  so that the user is able to indicate that he is ready to complete the purchasing transaction and download the software product. Furthermore, in embodiments, where the user is a member to the subscription program, the user&#39;s billing information may be displayed in an area  620  as shown. As discussed above, the billing information may be obtained at some point during the processes of shown in  FIG. 2 or 3 . 
     It should be understood that user interfaces  404 ,  504 , and  604  are merely exemplary and in no way limit the inventive systems and methods described above and recited in the claims below. The user interfaces  404 ,  504 , and  604  exemplify some of the ways in which the system  95  presents its functionality to a user. 
       FIG. 7  is a flowchart illustrating a process  700  for managing a software purchasing subscription in accordance with one embodiment of the invention. The process  700  starts at a step  702  after configuration of the system  95  (see  FIG. 1 ). The process  700  proceeds to a step  704  where the system  95  activates a user&#39;s membership account (“account”) for the software purchase subscription. In one embodiment, activation of the account involves the server computer  100  acquiring a user&#39;s billing information (e.g., credit card information), client computer  104 A configuration (e.g., type of communications port), etc. The process  700  next proceeds to a step  706  where the server computer  100  starts a new billing cycle for the account. The server computer  100  may indicate the start of a new billing cycle by updating a field of the subscription database  116 , or by updating a remote database (not shown) that is in communication with the server computer  100 , for example. 
     Next, at a step  708  of the process  700 , the server computer  100  issues a new purchase credit to the account. This task involves the server computer  100  updating a field in the subscription database  116 , for example. The purchase credit allows the user to acquire a software product  112 A- 112 L at no additional charge, or at a discounted price, etc. Of course, depending on the embodiment, the server computer  100  may issue multiple purchase credits after the start of a new billing cycle. For example, if a user pays $20 per billing period of the subscription, the server computer  100  may issue one purchase credit. However, if a user pays $30 per billing period, the server computer  100  may issue three purchase credits per billing period. 
     The process  700  next proceeds to a decision step  710  where the server computer  100  receives input from the account&#39;s user, i.e., the “member”, regarding the method of purchasing a software product  112 A- 112 L. The server computer  100  determines whether or not the member indicates purchase of a software product  112 A- 112 L with a purchase credit. If the server computer  100  determines that the member indicates a purchase of a software product  112 A- 112 L using a purchase credit, the process  700  proceeds to a step  712  where the server computer  100  deducts from the account the purchase credit having a time stamp indicating that the purchase credit is the closest to expiration. If however, at the decision step  710  the server computer  100  determines that the member indicates that the purchase of a software product  112 A- 112 L does not use a purchase credit, the process  700  moves to a decision step  714 . 
     At the decision step  714 , the server computer  100  queries whether any of the of credits in the account have expired. As previously explained with reference to the process shown in  FIG. 3 , in one embodiment a credit expires if it is not used within a predetermined period of time, for example. Of course, expiration of credits may be based on other criteria, e.g., a credit may expire if the number of credits in the account exceeds a predetermined number. If the server computer  100  determines that there is an expired credit in the account, the process  700  proceeds to a step  716  where the server computer  100  deducts the expired credit from the account. The server computer  100  may deduct the expired credit by, for example, modifying a data record in the subscription database  116 . If, on the other hand, the server computer  100  determines at the decision step  714  that there is no expired purchase credit in the account, the process  700  continues to a decision step  718 . 
     The server computer  100  determines at the decision step  718  whether the current billing cycle is over. As discussed above with reference to the process illustrated in  FIG. 3 , in one embodiment of the invention a member pays a predetermined amount during selected billing periods, which billing periods may or may not coincide with credit periods in which the account is provided with additional purchase credits or debited because of expired purchase credits. In the embodiment of  FIG. 7 , the billing cycle coincides with the credit period. That is, for each billing period there is one credit period. If the server computer  100  determines that the current cycle is not over, the process  700  returns to the decision step  710  and continues as discussed above. 
     If the server computer  100  determines at the decision step  718  that the current cycle is over, the process  700  moves to a step  720  where the server computer  100  queries whether the membership is in good standing. Of course, there are many criteria that may be employed to characterize a membership as being in good standing or not. For example, if a member has not made the required periodic payment for the subscription, the membership may be deemed to not be in good standing. By way of another example, if a user cancels the membership the account may remain valid for one or more credit periods; however, at the end of the remaining credit periods the membership would be deemed to not be in good standing. If the server computer  100  determines that the membership is not in good standing, the process  700  returns to the step  710  and continues as previously described. In one embodiment the process  700  continues to loop between steps  710  and  718  as long as the membership is not in good standing. However, in other embodiments, the process  700  may terminate upon a determination that the membership is not in good standing. 
     If the computer server  100  determines at decision step  720  that the membership is in good standing, the process  700  returns to the step  706  and starts a new billing cycle. In one embodiment, as long as the membership remains in good standing, the process  700  loops from step  706  to step  720  indefinitely. Hence, a member&#39;s subscription period may include multiple billing cycles in which purchase credits are issued, used to purchase software products, and/or deducted from the account as expired because not used within a credit period. Of course, depending on the specific embodiment, the process  700  may include additional or fewer steps, selected steps may be merged together, and the ordering of the steps rearranged. 
     It should be apparent to a person of ordinary skill in the relevant technology that the system  95  of  FIG. 1 , in cooperation with any of the processes discussed above, provides a way for distributors of software products to reduce distribution costs and to create recurring revenue streams. Furthermore, in some embodiments the system  95  is beneficial to users since they acquire personal ownership of the software products, providing the users with unrestricted access to the purchased products. 
     While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the spirit of the invention. The scope of the invention is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.