Abstract:
An improved solution for accessing a web application is provided. In an embodiment of the invention, a method for controlling access to a web application includes: receiving a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determining if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and providing one of the second web page application and the first web page application based on the determining.

Description:
FIELD OF THE INVENTION 
     In general, the present invention relates to visiting and navigating amongst web sites and their web applications. Specifically, the present invention relates to a method to prevent access of web applications from bookmarked links. 
     BACKGROUND OF THE INVENTION 
     Many Internet web sites have popup windows containing specialized applications. Links and web browser “popup” code to activate these web page applications (“applications”) are both placed throughout a web site and also shared with other 3rd party web sites. These “parent” or “launch” web pages then allow the user to link to these applications in their Internet web browser. 
     There is a business problem with this practice; however, in that web site visitors can bookmark the application once they launched it. In so doing (i.e., bookmarking), the user can then avoid going to parent web page(s) by simply following the bookmark. This impacts web page impressions for the parent web page and can also impact advertising and marketing impressions. For example, in the case of the application being syndicated out to one or more 3rd party web sites, users can circumvent the 3rd party site entirely by following a web browser bookmark or by merely searching their Internet web browser history. Bookmarking these applications can also prevent changes to the application passed from the “popup” or launch code from taking effect, effectively bypassing some of the business process and logic for displaying these applications to users. 
     A typical scenario of a user navigating amongst websites employing the typical bookmarking activity is depicted in  FIG. 1  wherein a user visits a web page  100  (i.e., “Web Page A”) that includes a web browser hyperlink call to action link (e.g., “Link”). At  102 , the user, desiring to navigate to the location (i.e., “Web page B”) referred to by the hyperlink on Web Page A, selects (e.g., “clicks”) on the link. As a result, a second, or “child”, web page  103  (i.e., “Web Page B”) is opened (e.g., viewable) for and accessed by the user. While accessing Web Page B (i.e., hyperlinked web site), the user may then “bookmark” Web Page B  104  if he/she desires to readily access the second web page  103  in the future. As is typical, the user then navigates away from both web pages  100 ,  103  or ends his/her instant session on the Internet. In any event, at a later time when the user desires to return to Web Page B he/she merely “clicks” on the bookmark previously created. Upon clicking the bookmark, the web browser loads Web Page B  103  into the browser window and the user is able to bypass Web Page A  100  in its entirety as depicted by  106  and directly accesses and views Web Page B  103 . 
     In view of the foregoing, there exists a need for an approach that solves at least one of the above-referenced deficiencies of the current art. 
     SUMMARY OF THE INVENTION 
     Aspects of the invention provide an improved solution for accessing a web application. 
     A first aspect of the invention provides a method for controlling access to a web application, the method comprising: receiving a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determining if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and providing one of the second web page application and the first web page application based on the determining. 
     A second aspect of the invention provides a system for controlling access to a web application, the system comprising: a system for receiving a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; a system for determining if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and a system for providing one of the second web page application and the first web page application based on the determining. 
     A third aspect of the invention provides a computer program comprising program code stored on a computer-readable medium, which when executed, enables a computer system to implement a method for controlling access to a web application, the method comprising: receiving a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determining if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and providing one of the second web page application and the first web page application based on the determining. 
     A fourth aspect of the invention provides a method of generating a system for controlling access to a web application, the method comprising: providing a computer system operable to: receive a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determine if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and provide one of the second web page application and the first web page application based on the determining. 
     A fifth aspect of the invention provides a data processing system for preventing access of web applications from bookmarked links, comprising: a processing unit; a bus coupled to the processing unit; and a memory medium coupled to the bus comprising program code, which when executed by the processing unit causes the data processing system to: receive a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determine if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and provide one of the second web page application and the first web page application based on the determining. 
     A sixth aspect of the invention provides computer software embodied in at least one propagated signal for preventing access of web applications from bookmarked links, the at least one propagated signal comprising instructions for causing at least computer system to: receive a request for a first web page application, wherein the first web application is connected to a second web page application via a link at the second web page application; determine if the request is likely from a book marked link to the first web page application or from the link at the second web page application; and provide one of the second web page application and the first web page application based on the determining. 
     A seventh aspect of the invention provides a business method for managing preventing the access of web applications from bookmarked links, the business method comprising: managing a network that includes at least one computer system that performs the process described herein; and receiving payment based on the managing. 
     The illustrative aspects of the invention are designed to solve one or more of the problems herein described and/or one or more other problems not discussed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other features of the invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which: 
         FIG. 1  shows an illustrative process for accessing and bookmarking web sites according to the related art. 
         FIG. 2  shows an illustrative environment for employing a method to prevent access of web applications from bookmarked links according to an embodiment of the invention. 
         FIGS. 3A-3C  show an illustrative process flow using the environment in  FIG. 2  according to an embodiment of the invention. 
         FIG. 4  shows an illustrative process flow using the environment in  FIG. 2  according to another embodiment of the invention. 
     
    
    
     It is noted that the drawings are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings. 
     DETAILED DESCRIPTION OF THE INVENTION 
     As indicated above, aspects of the invention provide an improved solution for accessing a web application. An embodiment of the invention solves the aforementioned problems by passing a time stamp and referrer information in a Uniform Resource Locator (URL) query string of the popup application. If a user were to bookmark that link, the time stamp from the query string would be compared with a current time stamp. If the time stamps are not similar (e.g., close in time), the user will be redirected to the original referring page. This ensures that users who bookmark an application when it is launched from one site will always return to that site and that users will always use that latest launch code to open the application. In another embodiment of the invention, a time stamp code will use, for example, a Greenwich Mean Time (GMT) time retrieved from the server for setting and checking the time stamps. GMT time will insure that users whose system clock changes for some reason will not be able to bypass the bookmark application protection. 
     Aspects of the solution can enhance current offerings by preventing users from bookmarking specific web pages or applications and ensure that all users follow the intended navigation through the site(s) to launch web application windows. As used herein, unless otherwise noted, the term “bookmark” means to record an identification (e.g., URL) of a particular Web page/application to allow direct access in the future using any solution; the term “set” means one or more (i.e., at least one); and, the phrase “any solution” means any now known or later developed solution. 
     Turning to the drawings,  FIG. 2  shows an illustrative environment  10  for preventing access of web applications from bookmarked links according to an embodiment of the invention. To this extent, environment  10  includes a computer system  12  that can perform the process described herein in order to prevent access of web applications from bookmarked links. In particular, computer system  12  is shown including a computing device  14  that comprises a access controller  30 , which makes computing device  14  operable for configuring for preventing access of web applications from bookmarked links, by performing the process described herein. 
     Computing device  14  is shown including a processor  20 , a memory  22 A, an input/output (I/O) interface  24 , and a bus  26 . Further, computing device  14  is shown in communication with an external I/O device/resource  28  and a storage device  22 B. In general, processor  20  executes program code, such as access controller  30 , which is stored in a storage system, such as memory  22 A and/or storage device  22 B, and a web browser  38  shown at display  36 . While executing program code, processor  20  can read and/or write data, such as time stamps  40 , etc. to/from memory  22 A, storage device  22 B, and/or I/O interface  24 . Bus  26  provides a communications link between each of the components in computing device  14 . I/O device  28  can comprise any device that transfers information between a user  16  and computing device  14  and/or other elements and computing device  14 . To this extent, I/O device  28  can comprise a user I/O device (e.g., display  36 ) to enable an individual user  16  to interact with computing device  14  and/or a communications device to enable an element to communicate with computing device  14  using any type of communications link. 
     In any event, computing device  14  can comprise any general purpose computing article of manufacture capable of executing program code installed thereon. However, it is understood that computing device  14  and access controller  30  are only representative of various possible equivalent computing devices that may perform the process described herein. To this extent, in other embodiments, the functionality provided by computing device  14  and access controller  30  can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively. 
     Similarly, computer system  12  is only illustrative of various types of computer systems for implementing aspects of the invention. For example, in one embodiment, computer system  12  comprises two or more computing devices that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the process described herein, one or more computing devices in computer system  12  can communicate with one or more other computing devices external to computer system  12  using any type of communications link. In either case, the communications link can comprise any combination of various types of wired and/or wireless links; comprise any combination of one or more types of networks; and/or utilize any combination of various types of transmission techniques and protocols. 
     As discussed herein, access controller  30  enables computer system  12  to prevent access of web applications from bookmarked links. To this extent, access controller  30  is shown including a plurality of modules, such as a time stamp module  32 , and a comparator  34 . The time stamp module  32  and comparator  34  are configured to determine if a request for a web page  90  application is likely from a bookmarked link to the web page  90  application or via a link at another (e.g., “parent”) web page  90  application. Operation of each of these modules is discussed further herein. However, it is understood that some of the various module(s) shown in  FIG. 2  can be implemented independently, combined, and/or stored in memory of one or more separate computing devices that are included in computer system  12 . Further, it is understood that some of the modules and/or functionality may not be implemented, or additional modules and/or functionality may be included as part of computer system  12 . 
     Aspects of the invention provide an improved solution for preventing access of web applications from bookmarked links. To this extent,  FIGS. 3A-3C  shown an illustrative process flow using the environment in  FIG. 2  according to an embodiment of the invention. Similarly,  FIG. 4  shows another illustrative process flow for using the environment in  FIG. 2  when, for example, a user attempts to directly access a bookmarked web page. 
     The illustrative process flow shown, starting at  FIG. 3A , starts with a user  16  ( FIG. 2 ) visiting a first web page (“Web Page  1 ”)  90 . Web Page  1  includes at least one web browser hyperlink call to action link (i.e., link)  92 . The link  92  allows the user  16  to navigate from the first web page  90  to a second web page (“Web Page  2 ”)  94  ( FIG. 3C ). In any event, at S 1  the user  16  selects (e.g., “clicks”) on the action link  92 . As such, the access controller  30  ( FIG. 2 ) receives a request for Web Page  2 . Under aspects of the present invention, upon the selection of the link  92  a first time stamp  40  (“Time stamp A”) is generated at S 2  by time stamp module  32  ( FIG. 2 ). In this manner upon the user  16  desiring to navigate, via link  92 , from, for example Web Page  1  to Web Page  2 , a record (e.g., time stamp  40 ) is made upon the action of selecting the link  92 . 
     At S 3 , the second web page  94  (“Web Page  2 ”) is called by the web browser  38  ( FIG. 2 ) to be loaded with the first time stamp  40  (“Time stamp A”) passed and the Uniform Resource Locator (URL) to Web Page  1  as query string parameters. The Time Stamp A and Web Page  1  URL in HyperText Transfer Protocol (HTTP) query string are passed. 
     At S 4  ( FIG. 3B ) a second time stamp  42  (“Time stamp B”) is generated when the second (e.g., child) web page  94  (“Web Page  2 ”) is loaded. Then at S 5  under aspects of the invention the comparator  34  ( FIG. 2 ) compares the first time stamp  40  with the second time stamp  42 . In the example shown in  FIGS. 3A-3C , Time stamp A is compared with Time stamp B. The comparison (i.e., between time stamps  40 ,  42 ) is checked whether it is acceptable. For example, if the difference in time between the first time stamp  40  and the second time stamp  42  is within acceptable parameters (e.g., less than a preselected amount of time) at S 7 , then at S 8  the web browser  38  renders and displays (i.e., provides access) to the user  16  the second web page  94  (“Web Page  2 ”). In this manner the access controller  30  is able to effectively determine whether the user  16  is attempting to access the second web page  94  in a desirable manner (e.g., via the parent web page  90 ) or is attempting to access the second web page  94  in an undesirable and/or unacceptable manner (e.g., via a bookmarking). 
     In any event, as the remainder of  FIG. 3C  represents, often a user  16  desires to bookmark a web page  94  that he/she desires to readily return to at a future time. In this case, at S 8  the user  16  may bookmark Web Page  2  and in so doing, at S 9 , the URL of Web Page  2  is recorded with the HTTP query string. The user  16  may then readily return to Web Page  2  because it has been bookmarked. Aspects of the present invention determine this bookmarking activity (e.g., S 8 , S 9 ) has occurred. 
       FIG. 4  represents an embodiment of a situation wherein a user has previously bookmarked a particular web page  94  (e.g., Web Page  2 ). Aspects of the present invention enable the access controller  30  ( FIG. 2 ) to determine  16  ( FIG. 2 ) whether or not a later selected web page  94  (e.g., Web Page  2 ) was previously bookmarked. If the web page  94  was bookmarked, then the access (e.g., view) is redirected to another web page  90  (e.g., “parent web page”). For example, at S 10  the user selects the bookmark for Web Page  2  in their web browser  38  ( FIG. 2 ) software. Upon the selection, the comparator  34  ( FIG. 2 ) compares at S 12  a first time when a user  16  clicked on the link  92  to Web Page  2  (i.e., the query string time stamp  40  generated by time stamp module  32 ) and a second time when the loading of Web Page  2  and code is executed (generated by time stamp module  32 ). As S 13  indicates, in this scenario the comparison of times indicates that the first and second time are not within acceptable parameters (e.g., less than a preselected time), the access (e.g., view) for the user  16  is redirected instead to Web Page  1 . In this manner, the access controller  30  is able to discern if bookmarking is being employed and effectively prevent access of web page applications via the bookmarked links. 
     In another embodiment, the invention provides a computer program stored on a computer-readable medium, which when executed, enables a computer system to prevent access of a web application from bookmarked links. To this extent, the computer-readable medium includes program code, such as access controller  30  ( FIG. 2 ), which implements the process described herein. It is understood that the term “computer-readable medium” comprises one or more of any type of tangible medium of expression capable of embodying a copy of the program code (e.g., a physical embodiment). In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture, on one or more data storage portions of a computing device, such as memory  22 A ( FIG. 2 ) and/or storage system  22 B ( FIG. 2 ), as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the computer program), on paper (e.g., capable of being scanned and converted to electronic data), and/or the like. 
     In another embodiment, the invention provides a method of generating a system for preventing access of web applications from bookmarked links. In this case, a computer system, such as computer system  12  ( FIG. 2 ), can be obtained (e.g., created, maintained, having made available to, etc.) and one or more programs/systems for performing the process described herein can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer system. To this extent, the deployment can comprise one or more of: (1) installing program code on a computing device, such as computing device  14  ( FIG. 2 ), from a computer-readable medium; (2) adding one or more computing devices to the computer system; and (3) incorporating and/or modifying one or more existing devices of the computer system, to enable the computer system to perform the process described herein. 
     In still another embodiment, the invention provides a business method that manages the preventing of access of web applications from bookmarked links, which enables users to perform the process described herein on a subscription, advertising, and/or fee basis. That is, a service provider could offer to manage a network and/or a computer system  12  ( FIG. 2 ) that prevents access of web applications from bookmarked links as described herein. In this case, the service provider can manage (e.g., create, maintain, support, etc.) a virtual and/or physical network that enables users to communicate content using computer systems, such as computer system  12 , that perform the process described herein. In return, the service provider can receive payment from the user(s) under a subscription and/or fee agreement, receive payment from the sale of advertising to one or more third parties, and/or the like. 
     As used herein, it is understood that “program code” means any set of statements or instructions, in any language, code or notation, that cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, program code can be embodied as any combination of one or more types of computer programs, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing, storage and/or I/O device, and the like. 
     The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to an individual in the art are included within the scope of the invention as defined by the accompanying claims.