Abstract:
An apparatus and method for creating and automatically refreshing a composite web page. The present invention is a method, implementable in computer software, for selecting areas of interest from a plurality of web pages. The user creates a boundary around the areas of interest on each web page. The area inside the boundary, referred to as an information unit, remains visible while the area outside of the boundary becomes transparent. The user may then combine the plurality of information units together on a canvas web page. The user may then rearrange the information units on the canvas web page by dragging the information units to their intended destination. When the user has satisfactorily arranged the information units, the user may finalize the canvas web page into a composite web page. The invention may then refresh the composite web page automatically or upon user request.

Description:
FIELD OF THE INVENTION 
   The present invention relates to a method and apparatus for selecting information units from one or more web sites and simultaneously displaying and updating the selected information units. 
   BACKGROUND OF THE INVENTION 
   As the amount of information that can be accessed from a computer via the Internet increases, new and useful ways to display that information are needed. A wide variety of pre-existing means for displaying data are available. A Graphical User Interface (GUI) is a visual computer environment that represents programs, files and options with graphical images, such as icons, menus, and dialog boxes on the screen. A user can select and activate these options by pointing and clicking with a mouse or with a keyboard. GUI provides standard software routines so that a particular item such as a scroll bar works the same way to the user in all applications. 
   While GUI simplifies moving through data, the user&#39;s reach is greatly extended by the ability of one computer to connect to one or more additional computers. The Internet is a wide area network connecting thousands of disparate networks in industry, education, government and research. The Internet uses the Transmission Control Protocol/Internet Protocol (TCP/IP) as the standard for transmitting information. An intranet is a network of organizational networks that run TCP/IP protocols and where the organizational networks are internal to a single organization. An intranet may be connected to the Internet. 
   The Transmission Control Protocol (TCP) is the protocol within TCP/IP that governs the breakup of data messages into packets to be sent via IP. The total set of interlinked hypertext documents residing on Hypertext Transfer Protocol (HTTP) servers all around the world is called the World Wide Web. HTTP is the protocol used to carry requests from a browser to a Web server and to transport pages back to the requesting browser. 
   Documents on the World Wide Web, called Web pages, are written in Hypertext Markup Language (HTML). HTML is an application of Standardized Generalized Markup Language (SGML) that uses tags to mark elements, such as text and graphics, in a document to indicate how Web browsers should display these elements to the user and should react to user actions such as activation of an element by means of a key press or mouse click. Web pages are identified by URL (Uniform Resource Locators) that specify the particular machine and pathname by which a file can be accessed. These files are transmitted from server to end user under the Hypertext Transfer Protocol (HTTP). Codes, called tags, embedded in an HTML document associate particular words and images in the document with URLs so that a user can access another file, which may be halfway around the word, at the press of a key or the click of a mouse. 
   Web pages are located by Web browsers. A Web browser is software that lets a user view HTML documents and access files and software related to these documents. Web browsers can provide access to documents on a network, an intranet, or the local hard drive. Navigation in Web browser software is based on hyperlinks which allow users to point and click with a mouse in order to jump from document to document in whatever order they desire. 
   Web browsers display acquired data on Web pages and frames. IN HTML, a frame refers to a rectangular section displayed by a Web browser that appears like a somewhat separate document from the rest of the page. In other words, the browser display can be divided into separate sections, each of which appears like a different web page. 
   As used herein, “aggregating information” means collection of desired information by a user by collecting and correlating the desired information at the user&#39;s computer. One current method of aggregating information is through the use of Common Gateway Interface (CGI) scripts. CGI is the specification that defines communications between information servers (such as HTTP servers) and resources on the server&#39;s host computer, such as databases and other programs. The CGI script is an external application that is executed by an HTTP server machine in response to a request by a client, such as a Web browser. The CGI may be invoked by a user clicking on an element in a Web page, such as a link or an image. Communication between the CGI script and the server is carried out via the CGI specification. CGI scripts can be written in many programming languages and can also be batch programs or compiled programs. CGI scripts are used to provide interactivity in a Web page. Active X controls and Java applets can provide similar functionality to CGI scripts though through different means. By writing specialized CGI scripts information can be aggregated. 
   Another method of aggregating information is through a portal. A portal is a collection of links, content and services designed to guide users to information they are likely to find interesting. For example, the type of information to which a user may be guided may be news, weather or stock quotations. 
   Another method of aggregating information is through “Push” technology. “Push” technology, developed in relation to the World Wide Web, is designed to provide end users with personalized Web access by having a site actively “push” requested information to the user&#39;s desktop, either automatically or at specified intervals. In other words, the user is relieved of the step of actively retrieving or “pulling” information from the Web. 
   Aggregating information by the user takes place at the user&#39;s desktop computer. The methods of aggregating information discussed above usually take place at the server computer and not at the client computer. In most cases, applying the above methods requires special programs that have to be written in some type of scripting or programming language or via specially designed web pages. What is needed beyond the prior art is a method to aggregate information in accordance with a user&#39;s need without the need for special programming by the user. For example, users may want to have access to web sites that display information that is updated continuously or periodically, such as bank balances, stock prices or weather reports. A user may have a number of web sites to access to review desired current information and it would be desirable to consolidate portions of each web site onto one page so that only relevant information is shown. 
   What is needed beyond the prior art is a way for a user to look at relevant information from several web pages at the same time. Specifically, what is needed is the ability to create a composite web page that combines selected information from multiple web pages for viewing on a single page. In addition, what is needed is a composite web page in which the composite entries will all update in response to a periodic, manual or continuous refresh capability. 
   SUMMARY OF THE INVENTION 
   The invention meeting the needs identified above is a method for identifying information units containing information capable of periodic, continuous or manual update, positioning the identified information units over a canvas page so that only the selected portions are visible. The information units are identified by enclosing a desired information item by a continuous line so that only the information within the enclosed line remains visible and the remainder of the web page, i.e. the portion outside of the enclosed line becomes transparent. The information units can be updated continuously, periodically or manually depending on the capability of the underlying web site. 
   The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  depicts a computer network in which the invention can be implemented; 
       FIG. 2  depicts a computer in which the invention can be implemented; 
       FIG. 3A  depicts a first web page from which a first information unit is identified; 
       FIG. 3B  depicts a second web page from which a second information unit is identified; 
       FIG. 3C  depicts a canvas web page upon which the first information unit and second information unit are positioned to form a composite web page; 
       FIG. 4  depicts an alternate canvas web page with a split screen canvas and a split screen work area; 
       FIG. 5  depicts formation of a composite web site on the alternate canvas web page; 
       FIG. 6  depicts a flow chart for the formation of a composite web site; and 
       FIG. 7  depicts a flow chart for the selection of the manner of refreshing the information units in the composite web page. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1  depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented and is intended as an example, and not as an architectural limitation, for the processes of the present invention. Distributed data processing system  100  is a network of computers which contains a network  102 , which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system  100 . By way of example, distributed data processing system  100  has five computers connected by network  102 . First computer  104 , second computer  106 , third computer  108 , fourth computer  1101  and fifth computer  112  are shown as part of  102  distributed data processing system  100 . Network  102  may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections, personal computers, or network computers. 
   Distributed data processing system  100  may include additional servers, clients, and other devices not shown. In the depicted example, distributed data processing system  100  is the Internet with network  102  representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. Distributed data processing system  100  may also be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). 
     FIG. 2  depicts computer  200 . Although the depicted embodiment involves a personal computer, a preferred embodiment of the present invention may be implemented in other types of data processing systems. An exemplary hardware arrangement for computer  200  follows. Keyboard  222  and display  223  are connected to system bus  210 . Read only memory (ROM)  230  contains, typically, boot strap routines and a Basic Input/Output System (BIOS) utilized to initialize Central Processing Unit (CPU)  220  at start up. Random Access Memory (RAM)  240  represents the main memory utilized for processing data. Drive controller  250  interfaces one or more disk type drives such as floppy disk drive  252 , CD ROM  254 , and hard disk drive  256 . The number and type of drives utilized with a particular system will vary depending upon user requirements. A network interface  260  permits communications to be sent and received from a network. Communications port  270  may be utilized for a dial up connection to one or more networks while network interface  260  is a dedicated interface to a particular network  280 . Programs for controlling the apparatus shown in  FIG. 2  are typically stored on a disk drive and then loaded into RAM for execution during the start-up of the computer. 
     FIGS. 3A through 3C  shows the creation of a Composite Web Page (COMPWP) by positioning Information Units (IUs) on a Canvas Web Page (CWP). As used herein an Information Unit (IU) means a portion of a web page that (1) contains an item of information, (2) that has been defined by having a border outlined around the item of information by a cursor, stylus, light pen or touch by the user, and (3) that the remainder of the web page outside the defined boundary of the information unit has been rendered transparent. As used herein, the term information item means data that is displayed on the web page either statically, so that the data remains constant, or dynamically, so that the data is updated automatically or manually. Automatic updating is accomplished by the host web page. Manually updating is accomplished by a host selection device on the host web page that may be linked to an update selection device on the COMPWP such as a refresh button. As used herein, rendering transparent means that the area rendered transparent is clear and can be seen through. In other words, when a portion of a web page is rendered transparent, no part of the original web page can be seen in the area of the web page that has been rendered transparent. When the area surrounding an information unit is rendered transparent, the pixels of the area rendered transparent are stored in memory but are not displayed on the screen. Therefore, an IU is a web page in which all but the relevant portion has been rendered transparent and which web page may be positioned over a Canvas Web Page (CWP). As used herein a CWP is a blank web page upon which IUs may be displayed. A CWP does not need to be a special blank web page. The first web page on which an IU is identified and the remainder of the web page rendered transparent can serve as a CWP with all of the CWP area available except the area where the IU is located. The advantage of starting with a CWP that is a blank page is that various backgrounds may be selected and the positioning of IUs is somewhat easier because the user is not positioning around the first IU. The color or design of the CWP will appear to the viewer through the transparent portions of the IUs. Successive IUs may be positioned one over the other so that the relevant portions within the defined areas which have not been rendered transparent will be visible atop the CWP. A set of IUs that have been positioned atop a CWP will create a Composite Web Page (COMPWP) in which all of the stacked web pages continue to function in their ability to update information but only the selected portions are visible in the COMPWP. The CWP may have a refresh button so that when the COMPWP is established, those IUs requiring manual update may be updated simultaneously by invoking a “refresh” button. 
     FIG. 3A  shows first web page  310  having a first web page first item  312  and a first web page second item  314 . First web page  310  is positioned above Canvas Web Page (CWP)  330 . CWP  330  is not visible in  FIG. 3A . First web page first item  312  has first web page first item content  318  which are the words “Bank Logo” which are meant to represent an image showing the bank logo. First web page second item  314  has first web page second item content  320  which is a bank balance which is a item that is updated periodically. Alternatively, first web page second item content  320  could be updated continuously or manually by invoking an update icon. The relevant information in first web page  310  to the user is the bank balance, i.e. first web page second item content  320 . First web page second item boundary  316  has been created by the user by moving the cursor around first web page second item  314  from an initial position in a continuous line until the cursor returns to the initial position. The initial position may be any point along boundary  316 . When first web page second item boundary  316  is complete, the user will execute a “make transparent” command. Execution may be accomplished by right clicking the mouse or by invoking a “make transparent” icon, or by selecting a “make transparent” command from a drop down menu. Upon execution of the “make transparent” command, all points of first web page  310  which reside outside of the first web page second item boundary  316  are made transparent and an information unit is created. First information unit  322  consists of first web page second item boundary  316 , first web page second item  314 , first web page second item content  320  and first web page transparent remainder  324 . Once the command “make transparent” is invoked, first web page transparent remainder  324  is not visible and CWP  332  will be visible (see  FIG. 3C ). 
     FIG. 3B  depicts second web page  320  having second web page first item  322  and second web page second item  324 . Second web page first item  322  has second web page first item content  328  which is the logo “Austin News.” Second web page second item  324  has second web page second item content  330  which is a satellite map picture which is periodically updated. Alternatively, the satellite map picture could be updated manually or continuously and the degree of updating would depend on the originator of the second web page  320 . The relevant information in second web page  320  to the user is the satellite map, i.e. second web page second item content  330 . Second web page second item boundary  326  has been created by the user by moving the cursor around second web page second item  324  from an initial position in a continuous line until the cursor returns to the initial position. The initial position may be any point along second web page second item boundary  326 . When second web page second item boundary  326  is complete, the user will execute a “make transparent” command. Execution may be accomplished by right clicking the mouse, by invoking a “make transparent” icon, or by selecting a “make transparent” command from a drop down menu. Upon execution of the “make transparent” command, all points of second web page  320  which reside outside of the second web page second item boundary  326  are made transparent and an information unit is created. Second information unit  332  consists of second web page second item boundary  326 , second web page second item  324 , second web page second item content  330  and second web page transparent remainder  334 . Once the command “make transparent” is invoked, second web page transparent remainder  334  is no longer visible and CWP  332  will be seen (see  FIG. 3C ). In addition, first information unit  322  will be visible through second web page transparent remainder  334 . 
     FIG. 3C  depicts COMPWP  360 . COMPWP  360  has CWP  330 , first information unit  322 , second information unit  332 , refresh button  342 , and Composite Page button  350 . Referring to  FIG. 3A  and  FIG. 3B  it can be seen that first information unit  322  and second information unit  332  are located in approximately the same area of their respective web pages. Therefore, second information unit  332  would block out all or part of first information unit  322 . The user must therefore, move second web page  320  downward on the screen so that second information unit  332  will be positioned beneath first information unit  322 . This may be done by dragging second information unit  332  into position. Dragging second information unit  332  which will have the same effect as moving second web page  320  because transparent second web remainder  334  will move along with second information unit  332 . When first information unit  322  and second information unit  332  are positioned in the location desired by the user, the user effects the formation COMPWP  360  by clicking on “Composite Page” icon  350  and COMPWP  360  will be saved. COMPWP  360  may be bookmarked for access. When COMPWP  360  is accessed first information unit  322  and second information unit  332  may be updated by clicking on “Refresh button” icon  342 . Alternatively, an automatic refresh may be invoked wherein COMPWP  360  will automatically update to the extent permitted by the update capability of the underlying web pages, first web page  310  and second web page  320 . “Composite Page” icon  350  and “Refresh button” icon  342  may be located in any number of GUI options such as icons or drop down menus. 
     FIG. 4  depicts alternate CWP  400  which has split screen canvas  410  and split screen work area  420 . In order to assemble COMPWP  360 , the user may invoke alternate CWP  400 . The user can then display first web page  310  on the left hand side of the screen. The user would then perform the same operations on first web page  310  to create first information unit  322  as were described above. The user would then drag first information unit  322  from split screen work area  420  to split screen canvas  410 . 
     FIG. 5  depicts CWP  400  with second web page  320  displayed in split screen work area  420 . In order to create a second information unit, the user would then invoke second web page  320  on the left side of alternate CWP  400  so that second web page  320  would be positioned on split screen work area  420 . The user would then perform the same operations on second web page  320  to create second information unit  332  as described above for first information unit  322 . The user would then drag second information unit  332  from split screen work area  420  to split screen canvas  410 . When second information unit  332  was properly positioned, and if no other information units were to be added, the user could invoke the “Composite Page” icon (not shown in  FIG. 5 ) which could be accessed in any number of GUI manners such as an icon or a drop down menu. Refresh button  340  could be used to update first information unit  322  and second information unit  332 . Alternatively, refresh button  340  could be used to invoke an automatic refresh function of COMPWP  360 . 
     FIG. 6  depicts a flow chart for the program  600  for creating a composite web page such as COMPWP in  FIGS. 3C ,  4  and  5 . The user would invoke the program ( 602 ) and the first step would be to invoke a CWP ( 604 ). Next, the program queries the user as to whether an IU was known ( 606 ). If the user did not have a desired IU, the program proceeds to step  624 . If the user had a desired IU, the program would cause the user to invoke the web page containing the desired information ( 608 ). Next, the user would define the IU by starting at an initial point and creating a continuous line around the desired information item until the line comes back to the initial point to completely enclose the information item ( 610 ). The user would then position the IU by dragging it into position on the CWP ( 612 ). Next, the user would determine whether the position of the IU was correct ( 614 ). If the position were not correct, the user would drag the information unit to adjust the position until the position was correct ( 616 ). If the position was correct, or if the position has been made correct by step  616 , the program will determine whether the user desires to position another IU ( 618 ). If the user desires to position another IU, the program will determine whether or not the IU will come from the same web page as the previous IU or whether the IU will come from a new web page ( 620 ). If the IU is to come from the same web page as the previous web page, the program will redisplay the existing web page to allow another selection ( 621 ) and then the user will define the IU ( 610 ). If the IU is to come from a new web page, the program will return to step  608  and the user will invoke the new web page. If at step  618  the user does not want to add another IU, the program will save the composite web page ( 622 ) and the process for forming the composite page will end ( 624 ). 
     FIG. 7  depicts the process  700  for selecting the mode of refreshing (updating) the information items in the composite web page. The process begins  702  when a composite web page such as COMPWP  360  in  FIGS. 3C ,  4  and  5  is invoked ( 704 ). Alternatively, process  700  may be initiated after step  622  of program  600 . The program determines whether the automatic refresh has been turned on ( 706 ). If the automatic refresh has already been turned on, the program goes to step  722  and will automatically refresh ( 722 ). If the composite web page is not continuing to be displayed ( 724 ), the program will end ( 726 ). If at step  706  the automatic refresh is not on, the program will query the user as to whether or not the user wants to select the automatic refresh ( 708 ). If the user selects automatic refresh, the program will invoke the most recent available data from the underlying web sites ( 716 ). The program will then determine whether the composite web page has been displayed for a predetermined amount of time “x” ( 718 ) If the composite web page has not been displayed for a predetermined amount of “x” ( 720 ), then the program will wait for a predetermined unit of time and then go to step  718  to again determine whether or not the composite web page has been displayed for predetermined amount of time “x”. If the composite web page has been displayed for the predetermined amount of time “x” then the program will invoke the most recent available data from the underlying web sites ( 722 ). The program will determine whether or not composite web page continues to be displayed ( 724 ). If the composite web page does not continue to be displayed, then the program will end ( 726 ). If the composite web page continues to be displayed, then the program will go to step  718  and determine whether or not the composite web page has been displayed for pre-determined time “x”. 
   At step  708 , if the user does not select automatic refresh, then the program will determine whether or not the IU is current ( 710 ). If the IU is current, the program will end ( 726 ) and wait for the next time the composite web page is invoked. If the IU is not current, the program will determine whether the user wants to manually refresh the IUs ( 712 ). If the user wants to manually refresh the IUs then, the user will invoke the refresh icon and the program will invoke the most recent available data from the underlying web sites ( 714 ). The program will then end ( 726 ) until the next time the composite web page is invoked. If the user does not want to manually refresh the IUs, the program will then end ( 726 ) until the next time the composite web page is invoked. 
   The advantages provided by the present invention should be apparent in light of the detailed description provided above. The description of the present invention has been presented for purposes of illustration and description, but is not limited to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention the practical application and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.