1. Technical Field
The present invention relates in general to improved browsers and in particular to improved storage of web pages accessed through browsers. Still more particularly, the present invention relates to storing the web addresses and contents accessed by multiple browser instances as a selectable web project, such that when the web project is selected, the previously stored browser instances previously are automatically reopened.
2. Description of the Related Art
Web browsers have proved themselves as an important and functional interface for users to access the Internet. A user provides a web address to the web browser and the web browser access the server located at the web address, retrieves a web page available at the web address, and controls output of the web page through an output interface.
With the number of web pages available across the Internet and intranets growing each day, a helpful feature offered with many browsers is the option to bookmark a web address. When the user selects to bookmark a web address, the title for the web page and the web address are added to a directory of selectable web addresses. To further organize bookmarks, the user may categorize the web address or file the web address in a folder. One benefit of the list of bookmarks is that the user may quickly access a bookmarked web page again just by selecting the bookmark from the list.
With most browsers, a user may choose to open multiple instances of the browser concurrently. Each instance of the browser accesses a different web address. In one example, where multiple instances of a browser are opened concurrently, each browser instance is represented by a separate browser window which may overlap other open browser windows. Opening multiple browser windows to different pages may be advantageous, for example, where a user is researching a particular topic and wants to quickly jump between the different references.
While bookmarking provides a solution for storing a single web address, when a user has multiple browser instances open concurrently, there is no solution for storing a record of the multiple concurrently accessed web addresses, other than individually bookmarking each web address. In addition, bookmarking is limited in that in the bookmark, only the web address is saved and a network connection must be available to access the web address.
Therefore, in view of the foregoing, it would be advantageous to provide a method, system, and program for storing the web addresses of browser instances under a single selectable web project, such that when the web project is reopened, a browser instances for each of the multiple web addresses is automatically initiated. In addition, it would be advantageous to store the contents of the web pages open in the multiple browser instances in the web project, such that when the web project is reopened, a network connection is not required to access the contents of the previously accessed web pages.
Therefore, the present invention provides a method, system, and program for improved cataloguing of viewed web pages. In particular, the present invention provides a method, system, and program for saving multiple browser instances currently open into a single selectable web project file.
When a user selects to save multiple browser instances as a web project file, a web project controller detects which browser instances are currently open and displays a list of the browser instances in an interface for the user to specify the web project file. Within the interface for specifying the web project file, a user is enabled to select from multiple options including, but not limited to, selecting to save all or only a portion of the multiple browser instances, selecting the title of the web project file, selecting a location for storing the web project file, and selecting whether to save the web addresses only or the web addresses and contents of each browser instance. The web project file is then saved according to the specifications of the user. Later, when a user chooses to open the web project file, the multiple browser instances stored in the web project file are concurrently reopened.
The multiple web browser instances currently open may include web browser instances currently open at a single computer system or across multiple computer systems in a network. Further, the web project file may be passed to other users and opened by a different user than the user who originally selected to save the web project file.
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 objects 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:
Referring now to the drawings and in particular to
Computer system 100 includes a bus 122 or other communication device for communicating information within computer system 100, and at least one processing device such as processor 112, coupled to bus 122 for processing information. Bus 122 preferably includes low-latency and higher latency paths that are connected by bridges and adapters and controlled within computer system 100 by multiple bus controllers. When implemented as a server system, computer system 100 typically includes multiple processors designed to improve network servicing power.
Processor 112 may be a general-purpose processor such as IBM's PowerPC™ processor that, during normal operation, processes data under the control of operating system and application software accessible from a dynamic storage device such as random access memory (RAM) 114 and a static storage device such as Read Only Memory (ROM) 116. The operating system preferably provides a graphical user interface (GUI) to the user. In one embodiment, application or operating system software contains machine executable instructions that when executed on processor 112 carry out the operations depicted in the flowchart of
The present invention may be provided as a computer program product, included on a machine-readable medium having stored thereon the machine executable instructions used to program computer system 100 to perform a process according to the present invention. The term “machine-readable medium” as used herein includes any medium that participates in providing instructions to processor 112 or other components of computer system 100 for execution. Such a medium may take many forms including, but not limited to, non-volatile media, volatile media, and transmission media. Common forms of non-volatile media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape or any other magnetic medium, a compact disc ROM (CD-ROM) or any other optical medium, punch cards or any other physical medium with patterns of holes, a programmable ROM (PROM), an erasable PROM (EPROM), electrically EPROM (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which computer system 100 can read and which is suitable for storing instructions. In the present embodiment, an example of a non-volatile medium is mass storage device 118 which as depicted is an internal component of computer system 100, but will be understood to also be provided by an external device. Volatile media include dynamic memory such as RAM 114. Transmission media include coaxial cables, copper wire or fiber optics, including the wires that comprise bus 122. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency or infrared data communications.
Moreover, the present invention may be downloaded as a computer program product, wherein the program instructions may be transferred from a remote computer such as a server 140 to requesting computer system 100 by way of data signals embodied in a carrier wave or other propagation medium via a network link 134 (e.g. a modem or network connection) to a communications interface 132 coupled to bus 122. Communications interface 132 provides a two-way data communications coupling to network link 134 that may be connected, for example, to a local area network (LAN), wide area network (WAN), or directly to an Internet Service Provider (ISP). In particular, network link 134 may provide wired and/or wireless network communications to one or more networks.
Network link 134 in turn provides data communication services through network 102. Network 102 may refer to the worldwide collection of networks and gateways that use a particular protocol, such as Transmission Control Protocol (TCP) and Internet Protocol (IP), to communicate with one another. Network link 134 and network 102 both use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 134 and through communication interface 132, which carry the digital data to and from computer system 100, are exemplary forms of carrier waves transporting the information.
When implemented as a server system, computer system 100 typically includes multiple communication interfaces accessible via multiple peripheral component interconnect (PCI) bus bridges connected to an input/output controller. In this manner, computer system 100 allows connections to multiple network computers.
In addition, computer system 100 typically includes multiple peripheral components that facilitate communication. These peripheral components are connected to multiple controllers, adapters, and expansion slots coupled to one of the multiple levels of bus 122. For example, an audio output device 128 and audio input device 129 are connectively enabled on bus 122 for controlling audio outputs and inputs. A display device 124 is also connectively enabled on bus 122 for providing visual, tactile or other graphical representation formats and a cursor control device 130 is connectively enabled on bus 122 for controlling the location of a pointer within display device 124. A keyboard 126 is connectively enabled on bus 122 as an interface for user inputs to computer system 100. In alternate embodiments of the present invention, additional input and output peripheral components may be added.
Those of ordinary skill in the art will appreciate that the hardware depicted in
With reference now to
The client/server environment of distributed system 200 includes multiple client systems 208 and 210 communicatively connected to network 102. In addition, there are multiple server systems 204 and 206 communicatively connected to network 102.
The client/server environment of distributed system 200 is implemented within many network architectures. For example, the architecture of the World Wide Web (the Web) follows a traditional client/server model environment. The terms “client” and “server” are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server). In the Web environment, web browsers such as Netscape Navigator™ typically reside on client systems 208 and 210 and render Web documents (pages) served by a web server, such as server systems 204 and 206. Additionally, each of client systems 208 and 210 and server systems 204 and 206 may function as both a “client” and a “server” and may be implemented utilizing a computer system such as computer system 100 of
The Web may refer to the total set of interlinked hypertext documents residing on servers all around the world. Network 102, such as the Internet, provides an infrastructure for transmitting these hypertext documents between systems connected to network 102. Documents (pages) on the Web may be written in multiple languages, such as Hypertext Markup Language (HTML) or Extensible Markup Language (XML), and identified by Uniform Resource Locators (URLs) that specify the particular web page server from among servers, such as server 204, and pathname by which a file can be accessed, and then transmitted from the particular web page server to an end user utilizing a protocol such as Hypertext Transfer Protocol (HTTP) or file-transfer protocol (FTP). Web pages may further include text, graphic images, movie files, electronic books, sound files, and streaming audio, as well as Java applets and other small embedded software programs that execute when the user activates them by clicking on a link.
Within client system 208, multiple instances of the web browser may be concurrently open, where each instance accesses a different page of content and information accessible for a particular web address from a server system, such as server systems 204 and 206. Each browser instances may require a different window to display the contents of the accessed web page. According to an advantage of the present invention, multiple browser instances may be saved as a web project. The web project may include a selection of the browser instances open on a particular system, such as client system 208, or a selection of the browser instances open on multiple networked systems, such as client systems 208 and 210.
Referring now to
In particular, web project controller 300 includes a browser instance detector 302. Browser instance detector 302 detects the current browser instances open within a particular computer system or networked group of computer systems. The browser instances may include, but are not limited to, an active browser window, an open but not active browser window, a reduced browser window, and other current instances where a web page is accessed.
In addition, in particular, web project controller 300 includes a project interface controller 304. Project interface controller 304 provides and controls the interface through which a user specifies a web project. When a user requests to save a web project, project interface controller preferably displays the list of current browser instances detected by browser instance detector 302. A user may select to store all or a portion of the current browser instances as a web project. In particular, the user may specify through project interface controller 304 whether to cache the contents of all selected browser instance windows or just the web addresses accessed by the selected browser instances.
An open project controller 306 controls how browser instances are accessed and opened when a web project is opened. In particular, open project controller 306 may adjust how browser instances are accessed and opened when a web project is originally saved at one computer system with one type of browser and opened at another computer system with a different type of browser. In one example, when a web project file is opened, each of the browser instances may either make a connection to the server of web address saved for the browser instance to retrieve the content of the saved web address or, if the content of a browser instance was saved locally, the previously stored content of the browser instance is retrieved from storage.
With reference now to
Each web browser may include multiple selectable menus, such as “file” menu 408. Upon selection of a menu, such as “file” menu 408, a list of selectable options may be displayed. In the example, the user selects “file” menu 408 using a pointer 410 and an option list 412 is displayed. It will be understood that a user may interface with browser windows within display area 400 using pointer 410, keystrokes, and other inputs.
According to an advantage of the present invention, web browsers include a selectable option to save a web project. The web project can include all currently open web instances or a selection of currently open web instances. In the example, the user selects to “save web project as . . . ” to select the option to save a web project. It will be understood that in addition to providing the selectable option to save a web project in a window menu, the user may select to save a web project through other inputs, such as a particular keystroke that initiates saving a web project. Further, it will be understood that the option to save a web project may be available in each browser window, a selection of browser windows, or in a separate graphical window associated with a web browser.
Referring now to
Advantageously, the user is also enabled to select which currently open browser instances to store in the web project. As depicted, the addresses accessed by each of the web browser windows in
Once a user is done selecting options for the web project, the user selects selectable option 520 to save the web project. The saved web project is a file that may include a textual document indicating the web addresses of the selected browser instances and may include a graphical image file of the information accessed from the web addresses.
With reference now to
Referring now to
With reference now to
Referring now to
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.