Plaque It!
Sponsored by: Flash of Genius |
[0001] The present invention relates generally to information processing systems and more particularly to a methodology and implementation for testing and providing upgraded versions of application programs.
[0002] Subject matter disclosed and not claimed herein is disclosed and claimed in related co-pending application, Attorney Docket AUS920010433US1, which is assigned to the assignee of the present application.
[0003] The Internet is enabling ever increasing levels of communication among enterprises and organizations which have a web site on the World Wide Web. Application Service Providers (ASPs) are becoming a key component in the broadening scope of communications made possible through the Internet. Such ASPs are a central element in providing business methods or processes for the Internet.
[0004] The ASP Industry Consortium defines an ASP as an organization that “manages and delivers application capabilities to multiple entities from a data center across a wide area network (WAN)”. Thus, entities are able to “rent” access to software over the Internet or a WAN for a fee. The fees are typically incurred with the use of the access to various application programs so that the user only has to pay for the amount of time which the user actually uses the rented application program. This arrangement changes the nature of application usage such that the user is provided a “service” over a network rather than becoming an owner and maintainer of application programs.
[0005] An “ASP” is currently used to describe a company that hosts applications on centralized servers. In the ASP model, customers pay a “hosting fee” to access the applications from a remote site over a network. Further, the application code is not maintained by the customer but rather by the ASP or other entity specifically charged with such maintenance. Technical support may also be provided by an entity separate from both the ASP and the customer or end user. Thus, the functions of hosting, maintaining and providing technical support for hosted applications are separate functions and may be performed by separate entities. Many Independent Software Vendors (ISVs) will provide a complete array of application services (e.g. hosting, delivery and support), while others may team with ASPs and other business partners to offer these services to their customers.
[0006] As the development of the Internet continues to expand, the Internet software market has evolved from mostly custom applications to a market increasingly dominated by applications, i.e. a common application is driving business practices rather than particular business practices being encoded into custom applications. More and more software is being “delivered” over the Internet and this trend toward more common or so-called “packaged software”, has been readily accepted in the marketplace. In the ASP environment, the software “delivery” is in the form of access to an ASP site which is hosting the application. Thus, the delivery and implementation of upgrades for Application Services provided over a network is considered to be a potential problem area. Because most applications in the ASP model are integral to the customer's business (e.g. payroll, HR, accounting, etc.) most customers will not readily agree to an upgrade without first thoroughly studying and testing the upgraded version which may be offered by the software vendor.
[0007] Thus, there is a need for an improved methodology by which customers of application services may be enabled to become familiar with upgraded versions of applications prior to committing to access and use the upgraded version in the customer's business enterprise.
[0008] A method and implementing system are provided in which customers of an Application Service Provider (ASP) are enabled to access an upgraded version of a software application being used by the customer without interfering with the use and access by the customer of the current version of the software application for which the upgrade is offered. In an exemplary embodiment, a customer is notified that an upgraded version of an application accessed by the customer is available for testing. The customer is enabled to input whether the customer wishes to test the upgraded application version. If the customer selects to test the upgraded version, the customer is made aware of an upgrade site or address which is arranged to host the upgrade. The customer is further enabled to access the upgrade site to access and test the upgraded application without interfering with the customer's current access of the application at a current site or address. The customer is also enabled to provide feedback to the ASP regarding the features and feasibility of the upgraded application.
[0009] A better understanding of the present invention can be obtained when the following detailed description of a preferred embodiment is considered in conjunction with the following drawings, in which:
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016] The various methods discussed herein may be implemented within a typical computer-related system such as a server which may include a workstation. In the example illustrated, a customer's network server connects through the Internet to an Application Service Provider (ASP) server. In general, an implementing computer system such as the customer's server or the ASP server may include a plurality of processors in a multi-bus system in a network of similar systems. However, since the workstation or computer system used in practicing the present invention in an exemplary embodiment, is generally known in the art and composed of electronic components and circuits which are also generally known to those skilled in the art, circuit details beyond those shown are not specified to any greater extent than that considered necessary as illustrated, for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention.
[0017] In
[0018] In
[0019] As shown in
[0020] As shown in
[0021] An example of a format that may be used in soliciting comments from individuals who are testing the upgrade software program is illustrated in
[0022] Other questions of lesser but significant importance include questions about usefulness of the new features, ease of use of the new features, the effect of the upgrade software on the tester's existing files which are used with the base program, etc. In general, each question is followed by multiple choice or “Yes/No” answers which can be automatically read and analyzed with a computer program. Thus the entire process of distributing a “beta” test questionnaire to knowledgeable users, receiving answers from the users or testers and analyzing those answers can be done automatically with a computer program as herein disclosed.
[0023] The weighting of answers may be accomplished by attaching a number relative to a larger scale to each answer. For example, the answer to the second question “HAVE ANY OF YOUR CLIENT APPLICATIONS REGRESSED IN THEIR BEHAVIOR WHEN USED AGAINST THE NEW UPGRADE?” may have a rating or weighting factor of “300” such that a “NO” answer (indicating no problem with regression) will be assigned a score of “0” but a “YES” answer will be assigned a score of “300”. Similarly, the third question may have an importance factor of “100” attached to it. Accordingly, if the third question receives a “YES” answer, then a “0” is assigned to that answer but if the answer is “NO”, then a “100” is assigned to that answer during answer analysis processing. In the example, negative weighting is used, i.e. the higher the assigned weighted score, the more problems there are with the upgrade software. However, it is understood that the questions may also be designed to accommodate positive weighting such that greater weighting is assigned to more positive input or fewer problems. The weighting function allows the quantification of the subjective answers which, in turn, allows the automatic processing of relatively subjective input from the testers. Each question may include an associated space for text input, such as
[0024] In the fourth exemplary question, the user is enabled to input a number between “1” and “5” as an indicium of whether or not existing “portfolios” (this example assumes that the base program is a portfolio management program) can be migrated to the upgrade application. That input number can be multiplied by a weight factor to align it with the other answers in terms of significance. For example, for the fourth question, the number assigned by the tester may be multiplied by a factor of “100” so that if all existing portfolios can be migrated and a “0” is input, then a score of “0” is entered but if none of the portfolios can be migrated and a “5” is entered, then a score of “500” is counted during the analysis. The questions are continued as indicated
[0025] When the form has been completed and submitted back to the ASP for example, the upgrade evaluation analysis, as shown in
[0026] After the quantification of the answers
[0027] If the total score is determined to be less than “K”
[0028] Thus, there has been provided a method and system for ASP providers to obtain testing feedback from existing users about the usability of new versions of their software with the existing versions of the ASP's client code. In an example, the new version of the ASP is set up on a server and the existing version clients are allowed to register and run against the new or upgrade version software. Feedback concerning the new upgrade from the registered existing clients is then quantified and analyzed, and migration to the new version is enabled after all of the problems, if any, have been identified and resolved.
[0029] The method and apparatus of the present invention has been described in connection with a preferred embodiment as disclosed herein. The disclosed methodology may be implemented in a wide range of sequences, menus and screen designs to accomplish the desired results as herein illustrated. Although an embodiment of the present invention has been shown and described in detail herein, along with certain variants thereof, many other varied embodiments that incorporate the teachings of the invention may be easily constructed by those skilled in the art, and even included or integrated into a processor or CPU or other larger system integrated circuit or chip. The disclosed methodology may also be implemented solely or partially in program code and executed to achieve the beneficial results as described herein. Accordingly, the present invention is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention.