Abstract:
A method for subscribing to a portion of a plurality of software modules allows a subscriber to have access to the portion of the plurality of software modules. The method includes the steps of identifying the subscriber, providing the plurality of software modules to the subscriber and receiving the selections from the subscriber. The method then associates each of the selections with the portion of the plurality of software modules. Each of the portion of plurality of software modules is then tagged to correlate the portion of the plurality of software modules to the subscriber. The method then stores these tags such that the subscriber can access the portion of the plurality of software modules when desired.

Description:
BACKGROUND ART  
       [0001]     1. Field of the Invention  
         [0002]     The invention relates to a method for maintaining and selling to software modules within a program hierarchy. More specifically, the invention relates to a method for providing software and updating software selections in a manner that is consistent for the client across all locations.  
         [0003]     2. Description of the Related Art  
         [0004]     The internet provides a vast opportunity to retrieve and assimilate information. If a user of the internet is not organized, the information may be overwhelming. To help in organizing the information for users, there are several websites designed organizationally to help a visitor at the website to navigate through the offering of the website to maximize the information gathering results for that visitor.  
         [0005]     Software is used to perform many functions. As the software is assimilated by users, comfort in its use grows. And as users become more familiar with a software package, desires for missing functionality and features grows. Those that develop software and are intimately involved in computer functionality find the challenge of making software better an effort worthy of their time. Additions to software, e.g., software modules, find their way into commercial channels allowing more than just the creator the opportunity to enjoy the new functionality. Regardless of whether the software is created for such popular titles as Microsoft® Excel™ or whether the software is dedicated to a few elite scientists scattered across the world, they are developed in a manner that will always invite additions and modifications thereto.  
         [0006]     As time progresses, a user&#39;s needs may change which will result in the user finding a particular software package of lesser value or no value. While the overall software package may be fine, additions or subtractions to and from the software package may provide greater value to the user. The incorporation of these modules or smaller software packages that dovetail into the overall software scheme will maintain a user finding great value in the software package.  
         [0007]     Currently, options available to users are limited to communicating with the software provider through unrelated correspondence techniques to convey an interest to the software provider that additions or subtractions to the overall software package are needed. This results in substantial “downtime” preventing the user of the software to do exactly what he or she requires.  
         [0008]     Even if a software package or a subscription thereto could be modified immediately, there are issues with the relevant art relating to the synchronization of the changes in the software subscription should the user be operating the system from several locations. Therefore, there is a need a in the art for a method for automatically changing a subscription of a software package and providing that newly updated subscription to all locations in which the software is used.  
       SUMMARY OF THE INVENTION  
       [0009]     A method for subscribing to a portion of a plurality of software modules allows a subscriber to have access to the portion of the plurality of software modules. The method includes the steps of identifying the subscriber, providing the plurality of software modules to the subscriber and receiving the selections from the subscriber. The method then associates each of the selections with the portion of the plurality of software modules. Each of the portion of plurality of software modules is then tagged to correlate the portion of the plurality of software modules to the subscriber. The method then stores these tags such that the subscriber can access the portion of the plurality of software modules when desired. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     Advantages of the invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:  
         [0011]      FIGS. 1 through 3  represent logic diagrams of three portions of one embodiment of the invention method;  
         [0012]      FIG. 4  is a screen shot presented by the inventive method summarizing a subscription of a module configuration selected by a user; and  
         [0013]      FIG. 5  is a representation of code incorporated into the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0014]     Referring to  FIGS. 1 through 3 , a method for a client subscriber to subscribe to a portion of a plurality of software modules is generally indicated at  10 . For purposes of this discussion, the inventive method has been parsed into three general functions, each of which is represented by an individual figure. In  FIG. 1 , the method  10  relates to website registration and product configuration. In  FIG. 2 , the portion of the method shown relates to the installation, registering and running of the application for the first time, and in  FIG. 3 , this portion of the method relates to running the application after changing the configuration on the website. The method  10  allows a user the ability to modify his or her subscription at any time where the change in the subscription will take affect in real time. In addition, the method  10  allows the updates to the subscription to occur such that the updates to the subscription and any work performed on the subscription (discussed in greater detail subsequently) will be stored in a manner sufficient to allow the user to access the work and work from the modified subscription of software from any location in which the user has installed the software. Therefore, it is contemplated that the user may include in the subscription a plurality of seats where the subscription software may be accessed.  
         [0015]     The software may be any software product available. The software is designed to have portions of it resident on a server computer and portions resident on a client computer. A client subscriber is a subscriber that is located at a client computer. A client subscriber may be an individual or an organization. The software accessed by the client subscriber allows the client subscriber to perform any number of tasks. As the requirements for the software changes for the client subscriber, the client subscriber may modify its subscription to the software by selecting different software modules that may provide the services required by the client subscriber. When the client subscriber changes its subscription for the software, it will be able to add and/or subtract various software modules from its subscription after which it will have the ability to access a different set of software modules. The inventive method  10  allows the client subscriber to do so in a manner that will allow the subscription to be updated immediately so that any client subscriber that logs onto the software will see the new subscription and, hence software configuration, immediately after the subscription has been changed by the client subscriber.  
         [0016]     Referring back to  FIG. 1 , the method begins with the client subscriber logging in at  12 . The client subscriber is identified at  14 . If the client subscriber is not a new user, the client subscriber is logged in with the user name and password at  16 . The product configuration is updated at  18 . When the product configuration is updated, the method identifies which software modules are associated with the client subscriber. Given there are a plurality of software modules, a portion of those are associated with the client subscriber to which the client subscriber has access. It should be appreciated by those skilled in the art that the portion of the plurality of software modules associated with any particular client subscriber may be a single software module or may be the complete set of software available through the method. Once updated, the client subscriber or user is asked to accept the user license at  20 . Billing information is updated at  22 .  
         [0017]     If the user is a new user, the method moves from identifying the client subscriber at  14  to a register and sign up action at  24 . The client subscriber then provides the billing information at  26  and selects products and modules at  28 . The method then requests acceptance by the client subscriber of the user license at  30 .  
         [0018]     Regardless of whether the client subscriber is new or not, changes to the subscription are confirmed at  32 . If the changes are not confirmed, the method returns to step  18  where the portion of the plurality of software modules is updated. If the changes in the subscription of software modules is confirmed at  32 , payment is processed at  34  allowing the client subscriber to pay for the new configuration of software modules. Depending on the new portion of software modules that the client subscriber has chosen, the payment may be an increase or a decrease from a prior month&#39;s subscription rate if the client subscriber is not new. It is then determined at  36  whether the payment is successful. If not, the method returns to step  22  where billing information is updated. If the payment is successful, the method then continues to the process of associating each of the modules that have been ordered by the client subscriber with the subscription for the client subscriber.  
         [0019]     Once the client subscriber has transmitted its selections for the portion of the plurality of software modules to the server computer, each of the portion of plurality of software modules are tagged at  38 . This correlates the portion of plurality of software modules to the client subscriber. The tagged software modules associated with the client subscriber are stored, graphically represented by the configuration server  40 . The process of tagging each of the plurality of software modules to correlate the portion of the plurality of software modules to the client subscriber includes the generation of an XML tag for the new configuration. Once the XML tag is created, a configuration code is created. The software then creates a download link on the web to update the configuration server  40 . The method then creates “My Account” pages allowing the client subscriber the ability to see its configuration in a user friendly format.  
         [0020]     It is then determined at  42  whether the download for the client subscriber is the first one made by the client subscriber. If so, the user download and installation of the application is made on the client or local machine at  44 . If not, the user logs out of the registration and product configuration portion of the method  10  at  46 .  
         [0021]     Referring specifically to  FIG. 2 , this portion of the method  10  relates to the installation, registering and running of the application for the first time. This portion of the method  10  begins at  48  at the start of the installer application. Immediately, it is determined whether the installation was successful at  50 . If not, technical support is contacted at  52  and the installer application is exited at  54 . If the installation was successful at  50 , the application is started at  56 . The registration information and configuration code are provided at  58 . Bilateral communication between the configuration server  40  at this point enables the client subscriber the opportunity to utilize the application in the form in which it was ordered through the product configuration of  FIG. 1 . It is then determined whether the registration process was successful at  60 . If not, technical support is again contacted at  52  and the installation portion of the application is terminated at  54 . If the registry is successful, the portion of the plurality of software modules is then copied to the client subscriber at  62 . The copying of the portion of the plurality of software modules includes the set up application, the broker account set up and data feed set up in the embodiment shown which relates to the financial markets. Upon completion of the set up application, the installer portion of the method  10  is exited at  54 .  
         [0022]     Referring specifically to  FIG. 3 , this portion of the method  10  depicts how the application run after changing the configuration on the website at the server computer. The application starts at  64 . It is then determined at  66  whether changes in the configuration have occurred. The application automatically downloads the portion of the plurality of software modules to the client subscriber. This is done in communication with the configuration server  40 . If there were in fact changes in the configuration, i.e., changes to the portion of the software modules that have been tagged by the client subscriber, those changes are stored locally at  68 . When they are stored locally, they are stored locally whenever the client subscriber logs on to a client computer within which the application has been loaded. This allows the configuration to be utilized should the client subscriber choose to work remotely offline for a period of time for whatever reason. Once the changes are stored locally, the application is restarted at  70 . It is then determined if the configuration is correct at  72 . If so, trading commences at  74  if the application being utilized is a software package that allows entities to trade securities and commodities. Once the activity is completed, the application is exited at  76 .  
         [0023]     If, at  66 , there were no changes in the configuration, the client subscriber can then immediately start the activity of the application at  74 . If the configuration is determined to be incorrect at  72 , the client subscriber has the opportunity to download manually the configuration at  74 . In addition, technical support is contacted at that time to trouble shoot why the configuration did not correctly load.  
         [0024]     Referring to  FIG. 4 , a typical screen shot of the inventive method as it displays a summary of selections made by a user. The product name is identified at  78 . The name of the modules that have been made a part of the subscription are identified at  80 . Check boxes  82  allows the subscriber the opportunity to select and deselect modules of software  80 . A cost window  84  identifies how much the module will cost. While it is contemplated that the cost is based on a monthly rate, any rate may be used to affect the business model of any desire.  
         [0025]     As may be seen, the system contemplates the incorporation of third party software through its inclusion of third party modules, graphically identified by subtitle at  86 . As more third party modules  86  are included in an offering for sale, the more attractive the method is because the method will have more capabilities and functionality as a result of more individuals and entities preparing software to be utilized by the method.  
         [0026]     It is contemplated that the modules will be designed able to operate with a plurality of operating systems. Therefore, the operating system will be identified with the module so that the operation of the module will work.  
         [0027]     Referring to  FIG. 5 , an example of a block of XML code is shown which is used to identify client information, product information, modules of the application that are created with the application and third party modules which are created by third parties to be incorporated into the application after the application has been made available. The benefit of such an open system is the ability to have conceivably an infinite number of modules made available to any client subscriber.  
         [0028]     The invention has been described in an illustrative manner. It is to be understood that the terminology, which has been used, is intended to be in the nature of words of description rather than of limitation.  
         [0029]     Many modifications and variations of the invention are possible in light of the above teachings. Therefore, within the scope of the appended claims, the invention may be practiced other than as specifically described.