US20010011261A1 - Configurable disablement of display objects in a browser - Google Patents

Configurable disablement of display objects in a browser Download PDF

Info

Publication number
US20010011261A1
US20010011261A1 US08/979,133 US97913397A US2001011261A1 US 20010011261 A1 US20010011261 A1 US 20010011261A1 US 97913397 A US97913397 A US 97913397A US 2001011261 A1 US2001011261 A1 US 2001011261A1
Authority
US
United States
Prior art keywords
display
browser
blocked
area
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US08/979,133
Other versions
US6356924B2 (en
Inventor
Gary Lee Mullen-Schultz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Twitter Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US08/979,133 priority Critical patent/US6356924B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MULLEN-SCHULTZ, GARY LEE
Priority to KR1019980043569A priority patent/KR100311190B1/en
Priority to JP10317786A priority patent/JP3083806B2/en
Priority to CN98122698A priority patent/CN1128417C/en
Publication of US20010011261A1 publication Critical patent/US20010011261A1/en
Application granted granted Critical
Publication of US6356924B2 publication Critical patent/US6356924B2/en
Assigned to TWITTER, INC. reassignment TWITTER, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Definitions

  • the present invention relates in general to information processing systems.
  • the present invention relates to networks in which information processing systems are utilized.
  • the present invention relates to a browser method and system for displaying information from a network.
  • Electronic information transferred between computer networks can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex, non-sequential web of associations that permit the user to “browse” through related topics, regardless of the presented order of the topics.
  • traveling among links to the word “iron” in an article displayed within a graphical user interface in a computer system might lead the user to the periodic table of the chemical elements (i.e., linked by the word “iron”), or to a reference to the use of iron in weapons in Europe in the Dark Ages.
  • hypertext is used to describe documents, as presented by a computer, that express the nonlinear structure of ideas, as opposed to the linear format of books, film, and speech.
  • the combination of hypertext documents connected by their links in the Internet is referred to as the World Wide Web (WWW).
  • WWW World Wide Web
  • a “client” is usually a computer that requests a service provided by another computer (i.e., a server).
  • a “server” is typically a remote computer system accessible over a communications medium such as the Internet. Based upon such requests by the user at the client, the server presents information to the user as responses to the client.
  • the client typically contains a program, called a browser, that communicates the requests to the server and formats the responses for viewing (browsing) at the client.
  • a “web page” (also referred to by some designers simply as a “page”) is a data file, or document, written in a hyper-text language that may have viewable objects such as text, graphic images, and even multimedia objects, such as sound recordings or moving video clips associated with that data file.
  • a client workstation When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page.
  • the constructed web page is then displayed on a client display screen.
  • a web page may be larger than the physical size of the display screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page.
  • a browser selectively disables the display of viewable objects in a document.
  • the document contains control tags that describe how associated data is to be displayed.
  • a browser interprets the control tags and formats the associated data to display viewable objects on a display-screen. The user selects a portion of the display screen, containing viewable objects, that the user desires to be blocked. In response to this selection, the browser saves a description of the user-selected area.
  • the browser compares the saved description to locations on the display screen associated with the control tags in the document.
  • the browser downloads and displays the viewable object.
  • the browser blocks the display of the viewable object by not downloading the object and by blanking the screen at that location or by replacing the viewable object with an icon. In this way, the user can select which objects are downloaded and visible on the screen and which are not.
  • FIG. 1 is a pictorial representation of a computer system that may be utilized to implement a preferred embodiment of the present invention.
  • FIG. 2 is a block diagram of a representative hardware environment of the processing unit of the computer system illustrated in FIG. 1.
  • FIG. 3 is a block diagram of software stored within the memory of the computer system depicted in FIG. 1.
  • FIG. 4 is a block diagram illustrative of a client/server architecture in accordance with a preferred embodiment of the present invention.
  • FIG. 5 is a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention.
  • FIG. 6 is a diagram illustrative of a computer network that can be implemented in accordance with a preferred embodiment of the present invention.
  • FIGS. 7 a and 7 b are pictorial representations of the interfaces that are used to control the operation of the preferred embodiment.
  • FIG. 7 c is a pictorial representation of a display screen after the operation of the preferred embodiment.
  • FIG. 8 is a block diagram of the data structures of the preferred embodiment.
  • FIGS. 9, 10, 11 , and 12 are flowcharts that describe the operation of the preferred embodiment.
  • Internet is an abbreviation for “Internetwork,” and refers commonly to a collection of computer networks that utilize the TCP/IP suite of protocols, well-known in the art of computer networking.
  • TCP/IP is an acronym for “Transport Control Protocol/Internet Protocol,” a software protocol developed by the Department of Defense for facilitating communications between computers.
  • Electronic information transferred between computer networks can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex non-sequential web of associations that permit the user to “browse” through related topics, regardless of the presented order of the topics.
  • These links are often established by both the author of a hypertext document and by the user, depending on the intent of the hypertext document.
  • Hypertext especially in an interactive format where choices are controlled by the user, is structured around the idea of offering a working and learning environment that parallels human thinking-that is, an environment that allows the user to make associations between topics rather than moving sequentially from one topic to the next, as in an alphabetic list.
  • Hypertext topics are linked in a manner that allows users to jump from one subject to other related subjects during a search for information.
  • a “client” is a member of a class or group that utilizes the services of another class or group to which it is not related.
  • a client is a process (i.e., roughly a program or task) that requests a service provided by another program.
  • the client process utilizes the requested service without having to know any working details about the other program or the service itself.
  • a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server).
  • a “server” is typically a remote computer system accessible over a communications medium such as the Internet.
  • the server scans and searches for raw (e.g., unprocessed) information sources (e.g., newswire feeds or newsgroups). Based upon such requests by the user, the server presents filtered electronic information to the user as server responses to the client process.
  • the client process may be active in a first computer system, and the server process may be active in a second computer system, and communicate with one another over a communications medium that allows multiple clients to take advantage of the information-gathering capabilities of the server.
  • a server can thus be described as a network computer that runs administrative software that controls access to all or part of the network and its resources, such as disk drivers or printers.
  • a computer acting as a server makes resources available to computers acting as workstations on the network.
  • Client and server can communicate with one another utilizing the functionality provided by a hypertext transfer protocol (HTTP).
  • HTTP hypertext transfer protocol
  • URL Universal Resource Locator
  • Internet services can be accessed by specifying Universal Resource Locators that have two basic components: a protocol to be used and an object pathname. For example, the Universal Resource Locator address, “http://www.uspto.gov” (i.e., the “home page” for the U.S. Patent and Trademark Office), specifies a hypertext transfer protocol (“http”) and a pathname (“www.uspto.gov”) of the server.
  • the server name is associated with a unique numeric value (i.e., a TCP/IP address).
  • Active within the client is a first process, known as a “browser” that establishes the connection with the server and presents information to the user.
  • the server itself executes corresponding server software that presents information to the client in the form of HTTP responses.
  • the HTTP responses correspond to “web pages” constructed from a Hypertext Markup Language (HTML), or other server-generated data.
  • HTML Hypertext Markup Language
  • a “web page” (also referred to by some designers simply as a “page” or a “document”) is a data file written in a hyper-text language, such as HTML, that may have text, graphic images, Java applets, ActiveX controls, and even multimedia objects, such as sound recordings or moving video clips associated with that data file.
  • the page contains control tags and data.
  • the control tags identify the structure; for example, the headings, subheadings, paragraphs, lists, and embedding of images.
  • the data consists of the contents, such as text or multimedia, that will be displayed or played to the user.
  • a browser interprets the control tags and formats the data according to the structure specified by the control tags to create viewable objects that the browser displays, plays, or otherwise performs to the user.
  • the data that the browser formats can be contained within the page, or it can be in another file on the same or a different server and embedded into the page.
  • a control tag can direct the browser to retrieve a page from another source and place it at the location specified by the control tag.
  • the browser can build a viewable object that contains multiple components, such as spreadsheets, text, hotlinks, pictures, sound, and video objects.
  • a web page can be constructed by loading one or more separate files into an active directory or file structure that is then displayed as viewable objects within a graphical user interface.
  • a client workstation When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page.
  • a given file may be transmitted as several separate pieces via TCP/IP protocol.
  • the constructed web page is then displayed as a viewable object on the workstation monitor.
  • a web page may be “larger” than the physical size of the monitor screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page.
  • Computer system 110 includes processing unit 112 , display device 114 , keyboard 116 , pointing device 118 , printer 120 , and speakers 126 .
  • Processing unit 112 receives input data from input devices such as keyboard 116 , pointing device 118 , and local area network interfaces (not illustrated) and presents output data to a user via display device 114 , printer 120 , and speakers 126 .
  • Pointing device 118 is preferably utilized in conjunction with a graphical user interface (GUI) in which hardware components and software objects are controlled through the selection and the manipulation of associated graphical objects displayed within display device 114 .
  • GUI graphical user interface
  • computer system 110 is illustrated with a mouse for pointing device 118 , other graphical-pointing devices such as a graphic tablet, joystick, track ball, or track pad could also be utilized.
  • Keyboard 116 is that part of computer system 110 that resembles a typewriter keyboard and that enables a user to control particular aspects of the computer. Because information flows in one direction, from keyboard 114 to processing unit 112 , keyboard 116 functions as an input-only device. Functionally, keyboard 116 represents half of a complete input/output device, the output half being video display terminal 114 . Keyboard 116 includes a standard set of printable characters presented in a QWERTY pattern typical of most typewriters. In addition, keyboard 116 includes a calculator-like numeric keypad at one side. Some of these keys, such as the “control,” “alt,” and “shift” keys can be utilized to change the meaning of another key. Other special keys and combinations of keys can be utilized to control program operations or to move either text or cursor on the display screen of video-display terminal 114 .
  • Video-display terminal 114 is the visual output of computer system 110 .
  • video-display terminal 114 can be a cathode-ray tube (CRT) based video display well-known in the art of computer hardware. But, with a portable or notebook-based computer, video display terminal 114 can be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display.
  • CTR cathode-ray tube
  • LCD liquid crystal display
  • Pointing device 118 features a casing with a flat bottom that can be gripped by a human hand.
  • Pointing device 118 can include buttons on the top, a multidirectional detection device such as a ball on the bottom, and a cable 129 that connects pointing device 118 to processing unit 112 .
  • Computer system 110 can be implemented utilizing any suitable computer such as the IBM Aptiva computer, a product of International Business Machines Corporation, located in Armonk, N.Y. But, a preferred embodiment of the present invention can apply to any hardware configuration that allows browsing of documents, regardless of whether the computer system is a complicated, multi-user computing apparatus or a single-user workstation.
  • Computer system 110 is thus a configuration that includes all functional components of a computer and its associated hardware.
  • a typical computer system includes a console or processing unit such as processing unit 112 , with one or more disk drives, a monitor such as video display terminal 114 , and a keyboard such as keyboard 116 .
  • processing unit 112 further includes diskette drive 122 , hard-disk drive 123 , and CD-ROM drive 124 , which are interconnected with other components of processing unit 112 .
  • FIG. 2 there is depicted a block diagram of the principal components of processing unit 112 .
  • CPU 226 is connected via system bus 234 to RAM 258 , diskette drive 122 , hard-disk drive 123 , CD-ROM drive 124 , keyboard/pointing-device controller 284 , parallel-port adapter 276 , network adapter 285 , display adapter 270 , and modem 287 .
  • RAM 258 random access memory
  • diskette drive 122 diskette drive 122
  • hard-disk drive 123 hard-disk drive 123
  • CD-ROM drive 124 CD-ROM drive 124
  • keyboard/pointing-device controller 284 parallel-port adapter 276
  • network adapter 285 network adapter 285
  • display adapter 270 display adapter 270
  • modem 287 modem 287
  • Processing unit 112 includes central processing unit (CPU) 226 , which executes instructions.
  • CPU 226 includes the portion of computer system 110 that controls the operation of the entire computer system, including executing the arithmetical and logical functions contained in a particular computer program.
  • CPUs such as CPU 226 typically include a control unit that organizes data and program storage in a computer memory and transfers the data and other information between the various parts of the computer system.
  • Such CPUs also generally include an arithmetic unit that executes the arithmetical and logical operations, such as addition, comparison, multiplication, and so forth.
  • CPU 226 accesses data and instructions from and stores data to volatile random access memory (RAM) 258 .
  • RAM volatile random access memory
  • CPU 226 While any appropriate processor can be utilized for CPU 226 , it is preferably one of the Power PC line of microprocessors available from IBM. Alternatively, CPU 226 can be implemented as one of the 80 ⁇ 86 or Pentium processors, or any other type of processor, which are available from a number of vendors. Although computer system 110 is shown to contain only a single CPU and a single system bus, it should be understood that the present invention applies equally to computer systems that have multiple CPUs and to computer systems that have multiple buses that each perform different functions in different ways.
  • RAM 258 comprises a number of individual volatile memory modules that store segments of operating system and application software while power is supplied to computer system 110 .
  • the software segments are partitioned into one or more virtual memory pages that each contain a uniform number of virtual memory addresses.
  • pages that are not currently needed are swapped with the required pages, which are stored within non-volatile storage devices 122 , 123 , or 124 .
  • RAM 258 is a type of memory designed such that the location of data stored in it is independent of the content. Also, any location in RAM 258 can be accessed directly without having to work through from the beginning.
  • Hard disk drive 123 and diskette drive 122 are electromechanical devices that read from and write to disks.
  • the main components a disk drive in particular can include are a spindle that mounts a disk, a drive motor that spins the disk when the drive is in operation, one or more read/write heads that perform the actual reading and writing, a second motor that positions the read/write heads over the disk, and controller circuitry that synchronizes read/write activities and transfers information to and from computer system 110 .
  • a disk itself is typically a round, flat piece of flexible plastic (e.g., floppy disk) or inflexible metal (e.g. hard disk) coated with a magnetic material that can be electrically influenced to hold information recorded in digital (i.e., binary) form.
  • a disk is, in most computers, the primary method for storing data on a permanent or semipermanent basis. Because the magnetic coating of the disk must be protected from damage and contamination, a floppy (e.g., 5.25 inch) disk or micro-floppy (e.g., 3.5 inch) disk is encased in a protective plastic jacket. A hard disk, which is very finely machined, is typically enclosed in a rigid case and can be exposed only in a dust-free environment.
  • Keyboard/pointing-device controller 284 interfaces processing unit 112 with keyboard 116 and graphical-pointing device 118 . In an alternative embodiment, there is a separate controller for keyboard 116 and graphical-pointing device 118 .
  • Display adapter 270 translates graphics data from CPU 226 into video signals utilized to drive display device 114 .
  • processing unit 112 includes network adapter 285 , modem 287 , and parallel-port adapter 276 , which facilitate communication between computer system 110 and peripheral devices or other computer systems.
  • Parallel-port adapter 276 transmits printer-control signals to printer 120 through a parallel port.
  • Network adapter 285 connects computer system 110 to an unillustrated local area network (LAN).
  • LAN local area network
  • a LAN provides a user of computer system 110 with a means of electronically communicating information, including software, with a remote computer or a network logical-storage device.
  • a LAN supports distributed processing, which enables computer system 110 to share a task with other computer systems linked to the LAN.
  • Modem 287 supports communication between computer system 110 and another computer system over a standard telephone line. Furthermore, through modem 287 , computer system 110 can access other sources such as a server, an electronic bulletin board, and the Internet or World Wide Web.
  • FIG. 1 The configuration depicted in FIG. 1 is but one possible implementation of the components depicted in FIG. 2.
  • Portable and “laptop” based computers are other possible configurations.
  • the hardware depicted in FIG. 2 may vary for specific applications.
  • other peripheral devices such as optical-disk media, audio adapters, or chip-programming devices, such as PAL or EPROM programming devices well-known in the art of computer hardware and the like, may be utilized in addition to or in place of the hardware already depicted.
  • aspects of the preferred embodiment pertain to specific method steps implementable on computer systems.
  • the invention may be implemented as a computer program-product for use with a computer system.
  • the programs defining the functions of the preferred embodiment can be delivered to a computer via a variety of signal-bearing media, which include, but are not limited to, (a) information permanently stored on non-writable storage media (e.g., read only memory devices within a computer such as CD-ROM disks readable by CD-ROM drive 124 ); (b) alterable information stored on writable storage media (e.g., floppy disks within diskette drive 122 or hard-disk drive 123 ); or (c) information conveyed to a computer by a communications media, such as through a computer or telephone network, including wireless communications.
  • Such signal-bearing media when carrying computer-readable instructions that direct the functions of the present invention, represent alternative embodiments of the present invention.
  • FIG. 3 there is illustrated a block-diagram representation of the software configuration of computer system 110 in accordance with the preferred embodiment.
  • the software executed by computer system 110 can be stored within one or more of RAM 258 , the nonvolatile storage provided by diskette drive 122 , hard-disk drive 123 , CD-ROM drive 124 , or a remote server accessible via modem 287 or network adapter 285 .
  • the software configuration of computer system 110 includes operating system 390 , which is responsible for directing the operation of computer system 110 .
  • operating systems typically include computer software for controlling the allocation and usage of hardware resources such as memory, CPU time, disk space, and peripheral devices.
  • a suitable operating system 390 and associated graphical-user-interface manager 392 e.g., Microsoft Windows, AIX, or OS/2 could be used.
  • Other technologies also could be utilized, such as touch-screen technology or human-voice control.
  • the operating system is the foundation upon which applications 395 , such word-processing, spreadsheet, and web browser programs are built.
  • operating system 390 includes graphical-user-interface (GUI) manager 392 although they could be packaged separately.
  • GUI 392 manages the graphical-user-interface with which a user of computer 110 interacts.
  • Operating system 390 communicates with applications 395 and browser 399 through messages conforming to the syntax of the application-program-interface (API) supported by operating system 390 .
  • Operating system 390 further communicates with graphical-pointing device-driver 396 , printer device-driver 397 , and display-adapter device-driver 398 .
  • operating system 390 sends graphics data to display-adapter device-driver 398 , which in turn translates the messages into bus signals utilized to control display adapter 270 .
  • graphical-pointing device-driver 396 translates signals from pointing device 118 through keyboard/pointing-device controller 284 into Cartesian coordinates and a selection status, which are then relayed to GUI manager 392 .
  • CPU 226 is suitably programmed to carry out the preferred embodiment by browser 399 , as described in more detail in the flowcharts of FIGS. 9 - 12 .
  • the function of FIGS. 9 - 12 could be implemented by control circuitry through the use of logic gates, programmable-logic devices, or other hardware components in lieu of a processor-based system.
  • Browser 399 includes bookmark list 310 , which is further described under the description for FIG. 8, below.
  • bookmark list 310 could be packaged separately from browser 399 .
  • browser 399 is drawn as being separate from operating system 390 , they could be packaged together.
  • FIG. 4 illustrates a block diagram of a client/server architecture, in accordance with a preferred embodiment.
  • User requests 491 are sent by client process 480 to server 488 .
  • Server 488 can be a remote computer system accessible over a computerized, distributed-information resource such as the Internet or other communications network.
  • Server 488 performs scanning and searching of information sources and, based upon these user requests, presents the filtered electronic information as server responses 493 to the client process.
  • the client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • FIG. 5 illustrates a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention.
  • client and server are processes that are operative within two computer systems, these processes being generated from a high-level programming language (e.g., PERL), which is interpreted and executed in a computer system at runtime (e.g., a workstation), they could be implemented in a variety of hardware devices, either programmed or dedicated.
  • PERL high-level programming language
  • Computer system 110 functioning as a client, and server 488 communicate by utilizing the functionality provided by HTTP.
  • Active within client 110 is a first process, browser 399 , which establishes connections with server 488 and presents information to the user.
  • Server 488 executes the corresponding server software, which presents information to the client in the form of HTTP responses 590 .
  • the HTTP responses 590 correspond with the web pages represented using HTML or other data generated by server 488 .
  • Server 488 provides HTML 594 .
  • Server 488 also provides Common Gateway Interface (CGI) 596 , which allows client 110 to direct server 488 to commence execution of a specified program contained within server 488 .
  • CGI Common Gateway Interface
  • This may include a search engine that scans received information in the server for presentation to the user controlling the client.
  • the server can notify the client of the results of that execution upon completion.
  • FIG. 6 is a diagram illustrative of a computer network 680 , which can be implemented in accordance with a preferred embodiment of the present invention.
  • Computer network 680 is representative of the Internet, which can be described as a known computer network based on the client-server model discussed herein.
  • the Internet includes a large network of servers 488 that is accessible by clients 110 , typically users of personal computers and previously described above under the description for FIGS. 1 and 2.
  • Clients 110 access the network of servers 488 through private Internet access provider 684 (e.g., Internet America) or an on-line service provider 686 (e.g., America On-Line, Prodigy, and Compuserve).
  • Each of clients 110 may run browser 399 to access servers 488 via the access providers.
  • Each server 488 operates a web site that supports files in the form of documents and pages.
  • a network path to servers 488 is identified by a Universal Resource Locator (URL) having a known syntax for defining a network collection.
  • URL Universal Resource Locator
  • FIG. 7 a illustrates a pictorial representation of example interfaces that are used to control the operations of the preferred embodiment.
  • Bookmark control 730 is a pull-down menu that the user can access to control the operations of the preferred embodiment.
  • Bookmark control 730 contains menu options “add URL” 732 , “delete URL” 734 , “configure blocking” 736 , “PTO home page” 740 , and “Local Weather” 742 .
  • Menu options 732 , 734 , and 736 are options that the user can access while menu options 740 and 742 are bookmarks, which when the user selects them, browser 399 will access their respective associated pages.
  • browser 399 adds the current viewed page, for example URL 705 , to bookmark list 310 .
  • the user previously added bookmarks 740 and 742 .
  • Menu option “delete URL” 734 allows the user to request the removal of a bookmark from bookmark list 310 .
  • Menu option “configure blocking” 736 allows the user to control the configuration of the blocking function.
  • browser 399 displays the example dialog shown in FIG. 7 b , described below.
  • the example page which browser 399 downloaded from URL 705 , contains viewable objects 715 , 745 , 710 , and 725 .
  • Browser 399 creates these viewable objects by interpreting the control tags in the downloaded document and formatting data associated with the control tags, as further described below under the description for FIG. 8.
  • viewable object 715 was created from an image tag.
  • Viewable object 710 was created from an applet tag.
  • Viewable object 725 was created from a ActiveX control tag.
  • FIG. 7 b depicts an example screen shown by browser 399 in response to the user selecting menu option 736 , described above under the description for FIG. 7 a .
  • the user may select control buttons file-save URL 770 , file-exit 765 , remove selected blocking 760 , or remove all blocking 755 .
  • browser 399 will block the display of the data within the rectangle, as further described below under the description for FIGS. 7 c , 10 , and 11 .
  • browser 399 will add a bookmark name and the URL, as further described below under the description for FIGS. 8 and 10.
  • rectangle 775 is shown, other geometric shapes could also be used, such as a square, a circle, an oval, a triangle, or in general in a polygon.
  • browser 399 removes blocking for this selected area, as further described below under the description for FIG. 12.
  • browser 399 removes all of the blocking previously requested for the displayed web page, as further described below under the description for FIG. 12.
  • FIG. 7 c illustrates a pictorial representation of a display screen after blocking the area defined by rectangle 775 , according to the preferred embodiment.
  • the user previously drew rectangle 775 around viewable object 710 and then selected file-save URL 770 , as shown above under the description for FIG. 7 b .
  • browser 399 added URL 705 to bookmark list 310 and displayed icon 786 indicating the location at which the applet would have been placed had it not been blocked.
  • FIG. 8 illustrates a block diagram of the data structures of the preferred embodiment.
  • Page 850 represents a page (or document) in HTML format stored on a server and downloaded to the client in response to request from browser 399 .
  • Bookmark list 310 is a data structure maintained by browser 399 .
  • Page 850 contains example HTML control tags that browser 399 interprets to display the sample viewable object on display screen 114 shown in FIG. 7 a .
  • tag 815 when interpreted by browser 399 , causes browser 399 to download the file named “lottery.gif” from a server, format its data, and display viewable object 715 , as previously described above under the description for FIG. 7 a .
  • tag 810 when interpreted by browser 399 , causes browser 399 to download the applet “freegift.class” from a server and display viewable object 710 , as previously described above under the description for FIG. 7 a .
  • tag 825 when interpreted by browser 399 , causes browser 399 to display viewable object 725 , as previously described above under the description for FIG. 7 a.
  • Bookmark list 310 is the list against which the user operates via menu 730 shown in FIG. 7 a .
  • bookmark list 310 contains example bookmark entry 811 .
  • browser 399 assigns the current page being viewed a value for bookmark name 812 and stores the page URL, for example URL 705 , in URL field 814 .
  • Browser 399 then stores a description of the selected display-screen area in blocked area 816 , in the form of x and y coordinates of the upper left-hand corner of the rectangle along with the length of the rectangle on the x-axis and the height of the rectangle on the y-axis.
  • bookmark list 310 contains the blocked display-areas, but any list that is capable of saving blocked display-areas could be used.
  • FIGS. 9 - 12 illustrate flowcharts that describe the operation of the preferred embodiment.
  • FIG. 9 there is illustrated the main logic of browser 399 that responds to requests from the user.
  • browser 399 starts. Control then continues to block 905 , where browser 399 gets the next operation requested by the user and determines which operation the user requested.
  • the user can request to add an entry to the bookmark list 925 , can select a bookmark entry for downloading 930 , can remove blocking 935 , and can exit 940 .
  • Browser 399 can perform many other functions-e.g., printing, copying, pasting, and viewing the source of pages-in addition to those shown in FIG. 9. These other functions are omitted for clarity of illustration.
  • control continues to block 950 where the entry is added or as further described under the description for FIG. 10, below.
  • the user can request this operation by selecting menu option 732 , as previously described under the description for FIG. 7 a .
  • control then returns to block 905 .
  • bookmark entry If the user requested that a bookmark entry be downloaded, then control continues to block 960 where browser 399 downloads, formats, and displays the page as further described under the description for FIG. 11, below.
  • the user can request this operation by selecting one of the bookmarks in bookmark menu 730 ; for example menu option 740 or 742 , as described above under the description for FIG. 7 a .
  • control then returns to block 905 .
  • control continues to block 965 where browser 399 removes the blocking, as farther described under the description for FIG. 12, below.
  • the user can request this operation by selecting menu option 755 or 760 , as described above under the description for FIG. 7 b . Referring again to FIG. 9, control then returns to block 905 .
  • Control starts at block 1000 .
  • Control then continues to block 1003 where browser 399 determines whether there is a preexisting entry in bookmark list 310 for the URL that is to be added. If the determination at block 1003 is true, then control continues to block 1015 , as described below. If the determination at block 1003 is false, then control then continues to block 1004 where browser 399 creates an entry in bookmark list 310 , such as entry 811 . Further, browser 399 stores a bookmark value in bookmark name field 812 , which is a description of the page that the user finds meaningful, and stores an address of the page in URL field 814 . Control then continues to block 1007 where browser 399 initializes the blocked area fields-such as blocked area 816 and blocked area 818 -to none.
  • FIG. 11 there is illustrated sample logic that downloads and displays a specified page.
  • the logic begins. Control then continues to block 1105 , where browser 399 retrieves URL 814 associated with the bookmark name specified by the user. The user might have specified a bookmark name by selecting a bookmark name in menu control 730 in FIG. 7 a . Referring again to FIG. 11, control then continues to block 1110 where browser 399 downloads the page associated with URL 814 .
  • control continues to block 1132 where browser 399 performs the standard processing for this tag, and control then continues to block 1135 where browser 399 determines whether there are any more tags to be processed. If the determination at block 1135 is true, then control returns to block 1115 where browser 399 retrieves the next tag in the page.
  • control continues to block 1118 where browser 399 determines whether this bookmark entry 811 contains any blocked-area fields 816 - 818 . If the determination at block 1118 is false then control continues to block 1132 , as described above. If the determination at block 1118 is true, then control then continues to block 1119 where browser 399 interprets the tag in the page and calculates the starting position and offsets on display screen 114 where browser 399 will display the data associated with this tag. Control then continues to block 1120 where browser 399 determines whether the data to be displayed would fall within any of blocked-area fields 816 - 818 in bookmark entry 811 associated with this URL in bookmark list 310 . If this determination is false, then control continues to block 1130 where browser 399 downloads the image specified by the tag, after which control continues to block 1135 as described above.
  • control continues to block 1125 where browser 399 blocks the screen area where this image would have been displayed had it been downloaded and processed.
  • browser 399 displays an icon on the screen in place of the blocked image that indicates that the image has been blocked. This icon could be a rectangle with a cross through it. But, the browser could simply display empty space at this location. Control then continues to block 1135 , as described above.
  • Control begins at block 1200 .
  • Control then continues to block 1240 where browser 399 retrieves the bookmark list entry 811 associated with the current page.
  • Control then continues to block 1241 where browser 399 gets the next blocked area in the bookmark list entry 811 .
  • Control then continues to block 1243 where browser 399 determines whether this blocked area is to be unblocked. If the user selected menu option 755 in FIG. 7 b then the determination at block 1243 in FIG. 12 will be true for all blocked areas in bookmark list entry 811 . If the user selected menu option 760 in FIG. 7 b , then the determination at block 1243 in FIG.
  • control continues to block 1244 where browser 399 finds the control tag in the page that is associated with this blocked area, that is, the tag that would display data within the blocked area. Control then continues to block 1245 where browser 399 downloads the data specified by this tag and presents the data on display screen 114 . Control then continues to block 1247 where browser 399 sets the blocked-area field to none indicating that this area is not blocked. Control then continues to block 1249 , as described above.

Abstract

A browser selectively disables the display of viewable objects in a document. The document contains control tags that describe how associated data is to be displayed. A browser interprets the control tags and formats the associated data to display viewable objects on a display-screen. The user selects a portion of the display screen, containing viewable objects, that the user desires to be blocked. In response to this selection, the browser saves a description of the user-selected area. When the browser subsequently retrieves the document, the browser compares the saved description to locations on the display screen associated with the control tags in the document. When the viewable object associated with a compared control tag is outside the saved description, the browser downloads and displays the viewable object. When the viewable object associated with the compared control tag is within the saved description, the browser blocks the display of the viewable object by not downloading the object and by blanking the screen at that location or by replacing the viewable object with an icon. In this way, the user can select which objects are downloaded and visible on the screen and which are not.

Description

    FIELD OF THE INVENTION
  • The present invention relates in general to information processing systems. In particular, the present invention relates to networks in which information processing systems are utilized. Still more particularly, the present invention relates to a browser method and system for displaying information from a network. [0001]
  • BACKGROUND
  • The development of computerized distributed information resources, such as the “Internet,” allows users to link to a computer network and retrieve vast amounts of electronic information previously unavailable in an electronic medium. Such electronic information increasingly is displacing more conventional means of information transmission, such as newspapers, magazines, and even television. [0002]
  • Electronic information transferred between computer networks (e.g., the Internet) can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex, non-sequential web of associations that permit the user to “browse” through related topics, regardless of the presented order of the topics. For example, traveling among links to the word “iron” in an article displayed within a graphical user interface in a computer system might lead the user to the periodic table of the chemical elements (i.e., linked by the word “iron”), or to a reference to the use of iron in weapons in Europe in the Dark Ages. The term “hypertext” is used to describe documents, as presented by a computer, that express the nonlinear structure of ideas, as opposed to the linear format of books, film, and speech. The combination of hypertext documents connected by their links in the Internet is referred to as the World Wide Web (WWW). [0003]
  • Networked systems utilizing hypertext conventions typically follow a client/server architecture. A “client” is usually a computer that requests a service provided by another computer (i.e., a server). A “server” is typically a remote computer system accessible over a communications medium such as the Internet. Based upon such requests by the user at the client, the server presents information to the user as responses to the client. The client typically contains a program, called a browser, that communicates the requests to the server and formats the responses for viewing (browsing) at the client. [0004]
  • The browser retrieves a web page from the server and displays it to the user at the client. A “web page” (also referred to by some designers simply as a “page”) is a data file, or document, written in a hyper-text language that may have viewable objects such as text, graphic images, and even multimedia objects, such as sound recordings or moving video clips associated with that data file. [0005]
  • When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page. The constructed web page is then displayed on a client display screen. A web page may be larger than the physical size of the display screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page. [0006]
  • Many web pages are filled with numerous viewable objects, drastically increasing download time from the server to the client. Some of these viewable objects are important and interesting; for example, a navigation bar. Others are more likely to be annoying to the user; an example is advertisements. Current browsers allow the user to configure that either all viewable objects are downloaded, or none at all. This “all or nothing” approach does not provide the user with an acceptable solution to managing downloaded web pages. [0007]
  • From the foregoing, it can be seen that a need exists for a method and system for managing viewable objects in downloaded web pages. [0008]
  • SUMMARY OF THE INVENTION
  • It is therefore one object of the present invention to provide for an improved browser method and system. [0009]
  • It is therefore another object of the present invention to provide an improved information processing system. [0010]
  • It is still another object of the present invention to provide to a method and system for selectively disabling the display of viewable objects. [0011]
  • In the preferred embodiment, a browser selectively disables the display of viewable objects in a document. The document contains control tags that describe how associated data is to be displayed. A browser interprets the control tags and formats the associated data to display viewable objects on a display-screen. The user selects a portion of the display screen, containing viewable objects, that the user desires to be blocked. In response to this selection, the browser saves a description of the user-selected area. [0012]
  • When the browser subsequently retrieves the document, the browser compares the saved description to locations on the display screen associated with the control tags in the document. When the viewable object associated with a compared control tag is outside the saved description, the browser downloads and displays the viewable object. When the viewable object associated with the compared control tag is within the saved description, the browser blocks the display of the viewable object by not downloading the object and by blanking the screen at that location or by replacing the viewable object with an icon. In this way, the user can select which objects are downloaded and visible on the screen and which are not. [0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a pictorial representation of a computer system that may be utilized to implement a preferred embodiment of the present invention. [0014]
  • FIG. 2 is a block diagram of a representative hardware environment of the processing unit of the computer system illustrated in FIG. 1. [0015]
  • FIG. 3 is a block diagram of software stored within the memory of the computer system depicted in FIG. 1. [0016]
  • FIG. 4 is a block diagram illustrative of a client/server architecture in accordance with a preferred embodiment of the present invention. [0017]
  • FIG. 5 is a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention. [0018]
  • FIG. 6 is a diagram illustrative of a computer network that can be implemented in accordance with a preferred embodiment of the present invention. [0019]
  • FIGS. 7[0020] a and 7 b are pictorial representations of the interfaces that are used to control the operation of the preferred embodiment.
  • FIG. 7[0021] c is a pictorial representation of a display screen after the operation of the preferred embodiment.
  • FIG. 8 is a block diagram of the data structures of the preferred embodiment. [0022]
  • FIGS. 9, 10, [0023] 11, and 12 are flowcharts that describe the operation of the preferred embodiment.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Technical Overview [0024]
  • The development of computerized distributed information resources, such as the “Internet,” allows users to link with servers and networks, and thus retrieve vast amounts of electronic information heretofore unavailable in an electronic medium Such electronic information increasingly is displacing more conventional means of information transmission, such as newspapers, magazines, and even television. The term “Internet” is an abbreviation for “Internetwork,” and refers commonly to a collection of computer networks that utilize the TCP/IP suite of protocols, well-known in the art of computer networking. TCP/IP is an acronym for “Transport Control Protocol/Internet Protocol,” a software protocol developed by the Department of Defense for facilitating communications between computers. [0025]
  • Electronic information transferred between computer networks (e.g., the Internet) can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex non-sequential web of associations that permit the user to “browse” through related topics, regardless of the presented order of the topics. These links are often established by both the author of a hypertext document and by the user, depending on the intent of the hypertext document. For example, traveling among links to the word “iron” in an article displayed within a graphical user interface in a computer system might lead the user to the periodic table of the chemical elements (i.e., linked by the word “iron”), or to a reference to the use of iron in weapons in Europe in the Dark Ages. The term “hypertext” is utilized to describe documents, as presented by a computer, that express the nonlinear structure of ideas, as opposed to the linear format of books, film, and speech. [0026]
  • Hypertext, especially in an interactive format where choices are controlled by the user, is structured around the idea of offering a working and learning environment that parallels human thinking-that is, an environment that allows the user to make associations between topics rather than moving sequentially from one topic to the next, as in an alphabetic list. Hypertext topics are linked in a manner that allows users to jump from one subject to other related subjects during a search for information. [0027]
  • Networked systems utilizing hypertext conventions typically follow a client/server architecture. A “client” is a member of a class or group that utilizes the services of another class or group to which it is not related. In the context of a computer network such as the Internet, a client is a process (i.e., roughly a program or task) that requests a service provided by another program. The client process utilizes the requested service without having to know any working details about the other program or the service itself. In networked systems, a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server). [0028]
  • A “server” is typically a remote computer system accessible over a communications medium such as the Internet. The server scans and searches for raw (e.g., unprocessed) information sources (e.g., newswire feeds or newsgroups). Based upon such requests by the user, the server presents filtered electronic information to the user as server responses to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, and communicate with one another over a communications medium that allows multiple clients to take advantage of the information-gathering capabilities of the server. A server can thus be described as a network computer that runs administrative software that controls access to all or part of the network and its resources, such as disk drivers or printers. A computer acting as a server makes resources available to computers acting as workstations on the network. [0029]
  • Client and server can communicate with one another utilizing the functionality provided by a hypertext transfer protocol (HTTP). The World Wide Web (WWW) or, simply, the “web,” includes all servers adhering to this protocol, which are accessible to clients via a Universal Resource Locator (URL). Internet services can be accessed by specifying Universal Resource Locators that have two basic components: a protocol to be used and an object pathname. For example, the Universal Resource Locator address, “http://www.uspto.gov” (i.e., the “home page” for the U.S. Patent and Trademark Office), specifies a hypertext transfer protocol (“http”) and a pathname (“www.uspto.gov”) of the server. The server name is associated with a unique numeric value (i.e., a TCP/IP address). Active within the client is a first process, known as a “browser” that establishes the connection with the server and presents information to the user. The server itself executes corresponding server software that presents information to the client in the form of HTTP responses. The HTTP responses correspond to “web pages” constructed from a Hypertext Markup Language (HTML), or other server-generated data. [0030]
  • A “web page” (also referred to by some designers simply as a “page” or a “document”) is a data file written in a hyper-text language, such as HTML, that may have text, graphic images, Java applets, ActiveX controls, and even multimedia objects, such as sound recordings or moving video clips associated with that data file. The page contains control tags and data. The control tags identify the structure; for example, the headings, subheadings, paragraphs, lists, and embedding of images. The data consists of the contents, such as text or multimedia, that will be displayed or played to the user. A browser interprets the control tags and formats the data according to the structure specified by the control tags to create viewable objects that the browser displays, plays, or otherwise performs to the user. The data that the browser formats can be contained within the page, or it can be in another file on the same or a different server and embedded into the page. Thus, a control tag can direct the browser to retrieve a page from another source and place it at the location specified by the control tag. In this way, the browser can build a viewable object that contains multiple components, such as spreadsheets, text, hotlinks, pictures, sound, and video objects. A web page can be constructed by loading one or more separate files into an active directory or file structure that is then displayed as viewable objects within a graphical user interface. [0031]
  • When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page. A given file may be transmitted as several separate pieces via TCP/IP protocol. The constructed web page is then displayed as a viewable object on the workstation monitor. A web page may be “larger” than the physical size of the monitor screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page. [0032]
  • As various pages are visited via hypertext links displayed within a web browser, URLs representative of the pages visited during a given web navigation session are typically recorded by the web browser. Because the number of pages is enormous, a user searching for particular or important pages can find it difficult to find those particular or important pages. Navigating through existing pages can be a time consuming task, and often important pages are not visited. Many current browsers provide the user with a “bookmark” list, also known as a “favorites” list. This bookmark list stores favorite URL's of the user. When the user browses a page that the user would like to browse again, the user can save the URL for that page in the bookmark list. In the future, when the user wishes to browse that page again, the user selects the page from the bookmark list, which frees the user from having to remember the URL. [0033]
  • Detailed Description [0034]
  • With reference now to the figures and in particular with reference to FIG. 1, there is depicted an embodiment of a computer system that may be utilized to implement the preferred embodiment. [0035] Computer system 110 includes processing unit 112, display device 114, keyboard 116, pointing device 118, printer 120, and speakers 126. Processing unit 112 receives input data from input devices such as keyboard 116, pointing device 118, and local area network interfaces (not illustrated) and presents output data to a user via display device 114, printer 120, and speakers 126. Pointing device 118 is preferably utilized in conjunction with a graphical user interface (GUI) in which hardware components and software objects are controlled through the selection and the manipulation of associated graphical objects displayed within display device 114. Although computer system 110 is illustrated with a mouse for pointing device 118, other graphical-pointing devices such as a graphic tablet, joystick, track ball, or track pad could also be utilized.
  • Keyboard [0036] 116 is that part of computer system 110 that resembles a typewriter keyboard and that enables a user to control particular aspects of the computer. Because information flows in one direction, from keyboard 114 to processing unit 112, keyboard 116 functions as an input-only device. Functionally, keyboard 116 represents half of a complete input/output device, the output half being video display terminal 114. Keyboard 116 includes a standard set of printable characters presented in a QWERTY pattern typical of most typewriters. In addition, keyboard 116 includes a calculator-like numeric keypad at one side. Some of these keys, such as the “control,” “alt,” and “shift” keys can be utilized to change the meaning of another key. Other special keys and combinations of keys can be utilized to control program operations or to move either text or cursor on the display screen of video-display terminal 114.
  • Video-[0037] display terminal 114 is the visual output of computer system 110. As indicated herein, video-display terminal 114 can be a cathode-ray tube (CRT) based video display well-known in the art of computer hardware. But, with a portable or notebook-based computer, video display terminal 114 can be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display.
  • Pointing device [0038] 118 features a casing with a flat bottom that can be gripped by a human hand. Pointing device 118 can include buttons on the top, a multidirectional detection device such as a ball on the bottom, and a cable 129 that connects pointing device 118 to processing unit 112.
  • [0039] Computer system 110 can be implemented utilizing any suitable computer such as the IBM Aptiva computer, a product of International Business Machines Corporation, located in Armonk, N.Y. But, a preferred embodiment of the present invention can apply to any hardware configuration that allows browsing of documents, regardless of whether the computer system is a complicated, multi-user computing apparatus or a single-user workstation. Computer system 110 is thus a configuration that includes all functional components of a computer and its associated hardware. In general, a typical computer system includes a console or processing unit such as processing unit 112, with one or more disk drives, a monitor such as video display terminal 114, and a keyboard such as keyboard 116.
  • To support storage and retrieval of data, processing [0040] unit 112 further includes diskette drive 122, hard-disk drive 123, and CD-ROM drive 124, which are interconnected with other components of processing unit 112.
  • Referring to FIG. 2, there is depicted a block diagram of the principal components of [0041] processing unit 112. CPU 226 is connected via system bus 234 to RAM 258, diskette drive 122, hard-disk drive 123, CD-ROM drive 124, keyboard/pointing-device controller 284, parallel-port adapter 276, network adapter 285, display adapter 270, and modem 287. Although the various components of FIG. 2 are drawn as single entities, each may consist of a plurality of entities and may exist at multiple levels.
  • [0042] Processing unit 112 includes central processing unit (CPU) 226, which executes instructions. CPU 226 includes the portion of computer system 110 that controls the operation of the entire computer system, including executing the arithmetical and logical functions contained in a particular computer program. Although not depicted in FIG. 2, CPUs such as CPU 226 typically include a control unit that organizes data and program storage in a computer memory and transfers the data and other information between the various parts of the computer system. Such CPUs also generally include an arithmetic unit that executes the arithmetical and logical operations, such as addition, comparison, multiplication, and so forth. CPU 226 accesses data and instructions from and stores data to volatile random access memory (RAM) 258.
  • While any appropriate processor can be utilized for CPU [0043] 226, it is preferably one of the Power PC line of microprocessors available from IBM. Alternatively, CPU 226 can be implemented as one of the 80×86 or Pentium processors, or any other type of processor, which are available from a number of vendors. Although computer system 110 is shown to contain only a single CPU and a single system bus, it should be understood that the present invention applies equally to computer systems that have multiple CPUs and to computer systems that have multiple buses that each perform different functions in different ways.
  • [0044] RAM 258 comprises a number of individual volatile memory modules that store segments of operating system and application software while power is supplied to computer system 110. The software segments are partitioned into one or more virtual memory pages that each contain a uniform number of virtual memory addresses. When the execution of software requires more pages of virtual memory that can be stored within RAM 258, pages that are not currently needed are swapped with the required pages, which are stored within non-volatile storage devices 122, 123, or 124. RAM 258 is a type of memory designed such that the location of data stored in it is independent of the content. Also, any location in RAM 258 can be accessed directly without having to work through from the beginning.
  • [0045] Hard disk drive 123 and diskette drive 122 are electromechanical devices that read from and write to disks. The main components a disk drive in particular can include are a spindle that mounts a disk, a drive motor that spins the disk when the drive is in operation, one or more read/write heads that perform the actual reading and writing, a second motor that positions the read/write heads over the disk, and controller circuitry that synchronizes read/write activities and transfers information to and from computer system 110. A disk itself is typically a round, flat piece of flexible plastic (e.g., floppy disk) or inflexible metal (e.g. hard disk) coated with a magnetic material that can be electrically influenced to hold information recorded in digital (i.e., binary) form. A disk is, in most computers, the primary method for storing data on a permanent or semipermanent basis. Because the magnetic coating of the disk must be protected from damage and contamination, a floppy (e.g., 5.25 inch) disk or micro-floppy (e.g., 3.5 inch) disk is encased in a protective plastic jacket. A hard disk, which is very finely machined, is typically enclosed in a rigid case and can be exposed only in a dust-free environment.
  • Keyboard/pointing-device controller [0046] 284 interfaces processing unit 112 with keyboard 116 and graphical-pointing device 118. In an alternative embodiment, there is a separate controller for keyboard 116 and graphical-pointing device 118.
  • Display adapter [0047] 270 translates graphics data from CPU 226 into video signals utilized to drive display device 114.
  • Finally, processing [0048] unit 112 includes network adapter 285, modem 287, and parallel-port adapter 276, which facilitate communication between computer system 110 and peripheral devices or other computer systems. Parallel-port adapter 276 transmits printer-control signals to printer 120 through a parallel port. Network adapter 285 connects computer system 110 to an unillustrated local area network (LAN). A LAN provides a user of computer system 110 with a means of electronically communicating information, including software, with a remote computer or a network logical-storage device. In addition, a LAN supports distributed processing, which enables computer system 110 to share a task with other computer systems linked to the LAN.
  • Modem [0049] 287 supports communication between computer system 110 and another computer system over a standard telephone line. Furthermore, through modem 287, computer system 110 can access other sources such as a server, an electronic bulletin board, and the Internet or World Wide Web.
  • The configuration depicted in FIG. 1 is but one possible implementation of the components depicted in FIG. 2. Portable and “laptop” based computers are other possible configurations. The hardware depicted in FIG. 2 may vary for specific applications. For example, other peripheral devices such as optical-disk media, audio adapters, or chip-programming devices, such as PAL or EPROM programming devices well-known in the art of computer hardware and the like, may be utilized in addition to or in place of the hardware already depicted. [0050]
  • As will be described in detail below, aspects of the preferred embodiment pertain to specific method steps implementable on computer systems. In an alternative embodiment, the invention may be implemented as a computer program-product for use with a computer system. The programs defining the functions of the preferred embodiment can be delivered to a computer via a variety of signal-bearing media, which include, but are not limited to, (a) information permanently stored on non-writable storage media (e.g., read only memory devices within a computer such as CD-ROM disks readable by CD-ROM drive [0051] 124); (b) alterable information stored on writable storage media (e.g., floppy disks within diskette drive 122 or hard-disk drive 123); or (c) information conveyed to a computer by a communications media, such as through a computer or telephone network, including wireless communications. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent alternative embodiments of the present invention.
  • With reference now to FIG. 3, there is illustrated a block-diagram representation of the software configuration of [0052] computer system 110 in accordance with the preferred embodiment. As noted above, the software executed by computer system 110 can be stored within one or more of RAM 258, the nonvolatile storage provided by diskette drive 122, hard-disk drive 123, CD-ROM drive 124, or a remote server accessible via modem 287 or network adapter 285.
  • As illustrated, the software configuration of [0053] computer system 110 includes operating system 390, which is responsible for directing the operation of computer system 110. For example, operating systems typically include computer software for controlling the allocation and usage of hardware resources such as memory, CPU time, disk space, and peripheral devices. A suitable operating system 390 and associated graphical-user-interface manager 392 (e.g., Microsoft Windows, AIX, or OS/2) could be used. Other technologies also could be utilized, such as touch-screen technology or human-voice control. The operating system is the foundation upon which applications 395, such word-processing, spreadsheet, and web browser programs are built.
  • In accordance with the preferred embodiment, [0054] operating system 390 includes graphical-user-interface (GUI) manager 392 although they could be packaged separately. GUI 392 manages the graphical-user-interface with which a user of computer 110 interacts.
  • [0055] Operating system 390 communicates with applications 395 and browser 399 through messages conforming to the syntax of the application-program-interface (API) supported by operating system 390. Operating system 390 further communicates with graphical-pointing device-driver 396, printer device-driver 397, and display-adapter device-driver 398. For example, operating system 390 sends graphics data to display-adapter device-driver 398, which in turn translates the messages into bus signals utilized to control display adapter 270. In addition, graphical-pointing device-driver 396 translates signals from pointing device 118 through keyboard/pointing-device controller 284 into Cartesian coordinates and a selection status, which are then relayed to GUI manager 392.
  • CPU [0056] 226 is suitably programmed to carry out the preferred embodiment by browser 399, as described in more detail in the flowcharts of FIGS. 9-12. In the alternative, the function of FIGS. 9-12 could be implemented by control circuitry through the use of logic gates, programmable-logic devices, or other hardware components in lieu of a processor-based system.
  • [0057] Browser 399 includes bookmark list 310, which is further described under the description for FIG. 8, below. In an alternative embodiment, bookmark list 310 could be packaged separately from browser 399. Although browser 399 is drawn as being separate from operating system 390, they could be packaged together.
  • FIG. 4 illustrates a block diagram of a client/server architecture, in accordance with a preferred embodiment. User requests [0058] 491 are sent by client process 480 to server 488. Server 488 can be a remote computer system accessible over a computerized, distributed-information resource such as the Internet or other communications network. Server 488 performs scanning and searching of information sources and, based upon these user requests, presents the filtered electronic information as server responses 493 to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • FIG. 5 illustrates a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention. Although the client and server are processes that are operative within two computer systems, these processes being generated from a high-level programming language (e.g., PERL), which is interpreted and executed in a computer system at runtime (e.g., a workstation), they could be implemented in a variety of hardware devices, either programmed or dedicated. [0059]
  • [0060] Computer system 110, functioning as a client, and server 488 communicate by utilizing the functionality provided by HTTP. Active within client 110 is a first process, browser 399, which establishes connections with server 488 and presents information to the user.
  • [0061] Server 488 executes the corresponding server software, which presents information to the client in the form of HTTP responses 590. The HTTP responses 590 correspond with the web pages represented using HTML or other data generated by server 488. Server 488 provides HTML 594. Server 488 also provides Common Gateway Interface (CGI) 596, which allows client 110 to direct server 488 to commence execution of a specified program contained within server 488. This may include a search engine that scans received information in the server for presentation to the user controlling the client. Using this interface and HTTP responses 590, the server can notify the client of the results of that execution upon completion.
  • FIG. 6 is a diagram illustrative of a [0062] computer network 680, which can be implemented in accordance with a preferred embodiment of the present invention. Computer network 680 is representative of the Internet, which can be described as a known computer network based on the client-server model discussed herein. Conceptually, the Internet includes a large network of servers 488 that is accessible by clients 110, typically users of personal computers and previously described above under the description for FIGS. 1 and 2. Clients 110 access the network of servers 488 through private Internet access provider 684 (e.g., Internet America) or an on-line service provider 686 (e.g., America On-Line, Prodigy, and Compuserve). Each of clients 110 may run browser 399 to access servers 488 via the access providers. Each server 488 operates a web site that supports files in the form of documents and pages. A network path to servers 488 is identified by a Universal Resource Locator (URL) having a known syntax for defining a network collection.
  • FIG. 7[0063] a illustrates a pictorial representation of example interfaces that are used to control the operations of the preferred embodiment. Bookmark control 730 is a pull-down menu that the user can access to control the operations of the preferred embodiment. Bookmark control 730 contains menu options “add URL” 732, “delete URL” 734, “configure blocking” 736, “PTO home page” 740, and “Local Weather” 742. Menu options 732, 734, and 736 are options that the user can access while menu options 740 and 742 are bookmarks, which when the user selects them, browser 399 will access their respective associated pages.
  • When the user selects “add URL” [0064] 732, browser 399 adds the current viewed page, for example URL 705, to bookmark list 310. By using menu options 732, the user previously added bookmarks 740 and 742.
  • Menu option “delete URL” [0065] 734 allows the user to request the removal of a bookmark from bookmark list 310.
  • Menu option “configure blocking” [0066] 736 allows the user to control the configuration of the blocking function. When the user selects menu option 736, browser 399 displays the example dialog shown in FIG. 7b, described below.
  • Referring again to FIG. 7[0067] a, the example page, which browser 399 downloaded from URL 705, contains viewable objects 715, 745, 710, and 725. Browser 399 creates these viewable objects by interpreting the control tags in the downloaded document and formatting data associated with the control tags, as further described below under the description for FIG. 8. Referring again to FIG. 7a, viewable object 715 was created from an image tag. Viewable object 710 was created from an applet tag. Viewable object 725 was created from a ActiveX control tag.
  • FIG. 7[0068] b depicts an example screen shown by browser 399 in response to the user selecting menu option 736, described above under the description for FIG. 7a. Referring again to FIG. 7b, the user may select control buttons file-save URL 770, file-exit 765, remove selected blocking 760, or remove all blocking 755. When the user draws rectangle 775 around the desired area of the screen to be blocked, in this example viewable object 710, and selects button 770, browser 399 will block the display of the data within the rectangle, as further described below under the description for FIGS. 7c, 10, and 11. If the URL associated with the displayed page does not already exist in bookmark list 310, then browser 399 will add a bookmark name and the URL, as further described below under the description for FIGS. 8 and 10. Although in this example, rectangle 775 is shown, other geometric shapes could also be used, such as a square, a circle, an oval, a triangle, or in general in a polygon. When the user selects button 765, browser 399 exits from the displayed screen and returns to the invoking screen, such as the one shown in FIG. 7a.
  • Referring again to FIG. 7[0069] b, when the user draws a polygon around a screen area and selects button 760, then browser 399 removes blocking for this selected area, as further described below under the description for FIG. 12.
  • Referring again to FIG. 7[0070] b, when the user selects button 755, browser 399 removes all of the blocking previously requested for the displayed web page, as further described below under the description for FIG. 12.
  • FIG. 7[0071] c illustrates a pictorial representation of a display screen after blocking the area defined by rectangle 775, according to the preferred embodiment. The user previously drew rectangle 775 around viewable object 710 and then selected file-save URL 770, as shown above under the description for FIG. 7b. Referring again to FIG. 7c, in response to the user's request, browser 399 added URL 705 to bookmark list 310 and displayed icon 786 indicating the location at which the applet would have been placed had it not been blocked.
  • FIG. 8 illustrates a block diagram of the data structures of the preferred embodiment. [0072] Page 850 represents a page (or document) in HTML format stored on a server and downloaded to the client in response to request from browser 399. Bookmark list 310 is a data structure maintained by browser 399.
  • [0073] Page 850 contains example HTML control tags that browser 399 interprets to display the sample viewable object on display screen 114 shown in FIG. 7a. Referring again to FIG. 8, tag 815, when interpreted by browser 399, causes browser 399 to download the file named “lottery.gif” from a server, format its data, and display viewable object 715, as previously described above under the description for FIG. 7a. Referring again to FIG. 8, tag 810, when interpreted by browser 399, causes browser 399 to download the applet “freegift.class” from a server and display viewable object 710, as previously described above under the description for FIG. 7a. Referring again to FIG. 8, tag 825, when interpreted by browser 399, causes browser 399 to display viewable object 725, as previously described above under the description for FIG. 7a.
  • [0074] Bookmark list 310 is the list against which the user operates via menu 730 shown in FIG. 7a. Referring again to FIG. 8, bookmark list 310 contains example bookmark entry 811. When the user draws a rectangle around the viewable object the user wishes to block and selects menu option 732, browser 399 assigns the current page being viewed a value for bookmark name 812 and stores the page URL, for example URL 705, in URL field 814. Browser 399 then stores a description of the selected display-screen area in blocked area 816, in the form of x and y coordinates of the upper left-hand corner of the rectangle along with the length of the rectangle on the x-axis and the height of the rectangle on the y-axis. Although the example coordinates in blocked area 816 are specific to a rectangle, the coordinates saved could also be modified to represent any polygon. Since the user can select multiple blocked areas, blocked-area field 816 through blocked-area field 818 are provided in entry 811 of bookmark list 310. Thus, in the preferred embodiment, bookmark list 310 contains the blocked display-areas, but any list that is capable of saving blocked display-areas could be used.
  • FIGS. [0075] 9-12 illustrate flowcharts that describe the operation of the preferred embodiment. Referring to FIG. 9, there is illustrated the main logic of browser 399 that responds to requests from the user. At block 900, browser 399 starts. Control then continues to block 905, where browser 399 gets the next operation requested by the user and determines which operation the user requested.
  • The user can request to add an entry to the bookmark list [0076] 925, can select a bookmark entry for downloading 930, can remove blocking 935, and can exit 940. Browser 399 can perform many other functions-e.g., printing, copying, pasting, and viewing the source of pages-in addition to those shown in FIG. 9. These other functions are omitted for clarity of illustration.
  • If the user has requested that an entry in the bookmark list be added, then control continues to block [0077] 950 where the entry is added or as further described under the description for FIG. 10, below. The user can request this operation by selecting menu option 732, as previously described under the description for FIG. 7a. Referring again to FIG. 9, control then returns to block 905.
  • If the user requested that a bookmark entry be downloaded, then control continues to block [0078] 960 where browser 399 downloads, formats, and displays the page as further described under the description for FIG. 11, below. The user can request this operation by selecting one of the bookmarks in bookmark menu 730; for example menu option 740 or 742, as described above under the description for FIG. 7a. Referring again to FIG. 9, control then returns to block 905.
  • If the user requested that blocking of a previously blocked area be removed, then control continues to block [0079] 965 where browser 399 removes the blocking, as farther described under the description for FIG. 12, below. The user can request this operation by selecting menu option 755 or 760, as described above under the description for FIG. 7b. Referring again to FIG. 9, control then returns to block 905.
  • If the user has requested an exit operation, then control stops at [0080] block 970.
  • Referring to FIG. 10, there is illustrated sample logic that adds an entry in [0081] bookmark list 310. Control starts at block 1000. Control then continues to block 1003 where browser 399 determines whether there is a preexisting entry in bookmark list 310 for the URL that is to be added. If the determination at block 1003 is true, then control continues to block 1015, as described below. If the determination at block 1003 is false, then control then continues to block 1004 where browser 399 creates an entry in bookmark list 310, such as entry 811. Further, browser 399 stores a bookmark value in bookmark name field 812, which is a description of the page that the user finds meaningful, and stores an address of the page in URL field 814. Control then continues to block 1007 where browser 399 initializes the blocked area fields-such as blocked area 816 and blocked area 818-to none.
  • Control then continues to block [0082] 1015 where browser 399 retrieves a description of the area or areas that the user selected to be blocked. Control then continues to block 1020 where browser 399 calculates the starting points of the area on the screen and the size of the area on the screen that the user selected. In the preferred embodiment, browser 399 calculates the x and y coordinates to the upper left-hand corner of a rectangle that the user draws along with the height of the rectangle on the y-axis and the length of the rectangle on the x-axis. But, the user could also draw a circle, oval, square, or polygon. Control then continues to block 1025 where browser 399 stores these calculated values in the bookmark list, such as in blocked-area field 816. Control then continues to block 1030 where browser 399 determines whether there are more areas to block. If there are selected more areas to block, then control returns to block 1015. In this way browser 399 can add values to other blocked-area fields such as blocked-area field 818. When browser 399 has processed all of the areas, then the determination at block 1030 will be false and control continues to block 1035 where the function returns.
  • Referring to FIG. 11, there is illustrated sample logic that downloads and displays a specified page. At [0083] block 1100, the logic begins. Control then continues to block 1105, where browser 399 retrieves URL 814 associated with the bookmark name specified by the user. The user might have specified a bookmark name by selecting a bookmark name in menu control 730 in FIG. 7a. Referring again to FIG. 11, control then continues to block 1110 where browser 399 downloads the page associated with URL 814.
  • Control then continues to block [0084] 1115 where browser 399 begins processing the tags in the downloaded page, and retrieves the first tag in the page. Control then continues to block 1117 where browser 399 determines whether the tag embeds data from another source external to the downloaded page. Examples of tags that embed data from other sources are image tags, applet tags, and ActiveX control tags.
  • If this determination is false, then control continues to block [0085] 1132 where browser 399 performs the standard processing for this tag, and control then continues to block 1135 where browser 399 determines whether there are any more tags to be processed. If the determination at block 1135 is true, then control returns to block 1115 where browser 399 retrieves the next tag in the page.
  • If the determination at [0086] block 1117 is true, then control continues to block 1118 where browser 399 determines whether this bookmark entry 811 contains any blocked-area fields 816-818. If the determination at block 1118 is false then control continues to block 1132, as described above. If the determination at block 1118 is true, then control then continues to block 1119 where browser 399 interprets the tag in the page and calculates the starting position and offsets on display screen 114 where browser 399 will display the data associated with this tag. Control then continues to block 1120 where browser 399 determines whether the data to be displayed would fall within any of blocked-area fields 816-818 in bookmark entry 811 associated with this URL in bookmark list 310. If this determination is false, then control continues to block 1130 where browser 399 downloads the image specified by the tag, after which control continues to block 1135 as described above.
  • If the determination at [0087] block 1120 is true, then control continues to block 1125 where browser 399 blocks the screen area where this image would have been displayed had it been downloaded and processed. In the preferred embodiment, browser 399 displays an icon on the screen in place of the blocked image that indicates that the image has been blocked. This icon could be a rectangle with a cross through it. But, the browser could simply display empty space at this location. Control then continues to block 1135, as described above.
  • When the determination at [0088] block 1135 is false, then there are no tags left to process in the downloaded page, and control continues to block 1140 where the function returns.
  • Referring to FIG. 12, there is illustrated sample logic that removes blocking from either one selected block area or from all blocked areas associated with a particular URL. Control begins at block [0089] 1200. Control then continues to block 1240 where browser 399 retrieves the bookmark list entry 811 associated with the current page. Control then continues to block 1241 where browser 399 gets the next blocked area in the bookmark list entry 811. Control then continues to block 1243 where browser 399 determines whether this blocked area is to be unblocked. If the user selected menu option 755 in FIG. 7b then the determination at block 1243 in FIG. 12 will be true for all blocked areas in bookmark list entry 811. If the user selected menu option 760 in FIG. 7b, then the determination at block 1243 in FIG. 12 will be true only for the areas that the user selected for unblocking. Referring again to FIG. 12, if the determination at block 1243 is false then control continues to block 1249 where browser 399 determines if there are any more blocked areas in bookmark entry 811. If the determination at block 1249 is false then the function returns at block 1255. If the determination at block 1249 is true then control returns to block 1241.
  • If the determination at [0090] block 1243 is true, then control continues to block 1244 where browser 399 finds the control tag in the page that is associated with this blocked area, that is, the tag that would display data within the blocked area. Control then continues to block 1245 where browser 399 downloads the data specified by this tag and presents the data on display screen 114. Control then continues to block 1247 where browser 399 sets the blocked-area field to none indicating that this area is not blocked. Control then continues to block 1249, as described above.
  • While this invention has been described with respect to the preferred and alternative embodiments, it will be understood by those skilled in the art that various changes in detail may be made therein without departing from the spirit, scope, and teaching of the invention. For example, browsers may become widely employed in consumer applications such as operator panels for consumer electronics, appliances, and automobiles. Accordingly, the herein disclosed invention is to be limited only as specified in the following claims. [0091]

Claims (27)

What is claimed is:
1. An apparatus that browses a document, wherein the document contains a plurality of control tags, and wherein data is associated with the plurality of control tags, comprising:
a processor;
memory coupled to the processor;
a blocked display-area list residing in the memory; and
a browser residing in the memory and executed by the processor, wherein the browser
interprets the plurality of control tags and formats the data to create a plurality of viewable objects displayed on a display-screen, and
saves to the blocked display-area list a description of a user-selected display-screen area.
2. The apparatus of
claim 1
, wherein
when the browser subsequently retrieves the document again, the browser compares the saved display-screen area description in the blocked display-area list to locations on the display screen associated with the plurality of control tags,
when the viewable object associated with the compared control tag is outside the saved display-screen area description, the browser displays the viewable object on the display screen, and
when the viewable object associated with the compared control tag is within the saved display-screen area description, the browser blocks the display of the viewable object.
3. The apparatus of
claim 2
, wherein the browser blocks the display of the viewable object by displaying a blank area on the display screen.
4. The apparatus of
claim 2
, wherein the browser blocks the display of the viewable object by substituting a blocking icon in place of the viewable object.
5. The apparatus of
claim 2
, wherein the browser operates at a client and downloads the document from a server, and wherein the associated data is contained in a file separate from the document, and when the browser blocks the display of the viewable object, the browser refrains from downloading the data associated with the blocked viewable object.
6. The apparatus of
claim 1
, wherein the blocked display-area list further comprises a bookmark list, and wherein the bookmark list further comprises an address of the document.
7. The apparatus of
claim 1
, wherein the browser further removes the description of the user-selected display-screen from the blocked display-area list in response to a user request.
8. A program product that browses a document, wherein the document contains a plurality of control tags, and wherein data is associated with the plurality of control tags, comprising:
a blocked display-area list;
a browser, wherein the browser
interprets the plurality of control tags and formats the data to create a plurality of viewable objects displayed on a display-screen, and
saves to the blocked display-area list a description of a user-selected display-screen area; and
signal-bearing media bearing the blocked display-area list and the browser.
9. The program product of
claim 8
, wherein
when the browser subsequently retrieves the document again, the browser compares the saved display-screen area description in the blocked display-area list to locations on the display screen associated with the plurality of control tags,
when the viewable object associated with the compared control tag is outside the saved display-screen area description, the browser displays the viewable object on the display screen, and
when the viewable object associated with the compared control tag is within the saved display-screen area description, the browser blocks the display of the viewable object.
10. The program product of
claim 9
, wherein the browser blocks the display of the viewable object by displaying a blank area on the display screen.
11. The program product of
claim 9
, wherein the browser blocks the display of the viewable object by substituting a blocking icon in place of the viewable object.
12. The program product of
claim 9
, wherein the browser operates at a client and downloads the document from a server, and wherein the associated data is contained in a file separate from the document, and when the browser blocks the display of the viewable object, the browser refrains from downloading the data associated with the blocked viewable object.
13. The program product of
claim 8
, wherein the blocked display-area list further comprises a bookmark list, and wherein the bookmark list further comprises an address of the document.
14. The program product of
claim 8
, wherein the browser further removes the description of the user-selected display-screen from the blocked display-area list in response to a user request.
15. A method for browsing a document, wherein the document contains a plurality of control tags, and wherein data is associated with the plurality of control tags, comprising the computer-executed steps of:
interpreting the plurality of control tags and formatting the data to create a plurality of viewable objects displayed on a display-screen; and
saving to a blocked display-area list a description of a user-selected display-screen area.
16. The method of
claim 15
, further comprising:
subsequently retrieving the document again;
comparing the saved display-screen area description in the blocked display-area list to locations on the display screen associated with the plurality of control tags;
when the viewable object associated with the compared control tag is outside the saved display-screen area description, displaying the viewable object on the display screen; and
when the viewable object associated with the compared control tag is within the saved display-screen area description, blocking the display of the viewable object.
17. The method of
claim 16
, wherein the blocking step blocks the display of the viewable object by displaying a blank area on the display screen.
18. The method of
claim 16
, wherein the blocking step blocks the display of the viewable object by substituting a blocking icon in place of the viewable object.
19. The method of
claim 16
, further comprising:
downloading the document from a server, wherein the associated data is contained in a file separate from the document.
20. The method of
claim 16
, wherein the blocking step further comprises:
refraining from downloading the data associated with the blocked viewable object.
21. The method of
claim 15
, wherein the blocked display-area list further comprises a bookmark list, and wherein the bookmark list further comprises an address of the document.
22. The method of
claim 15
, further comprising:
removing the description of the user-selected display-screen from the blocked display-area list in response to a user request.
23. A method for browsing and displaying an Internet document on a display screen, wherein the document contains a plurality of links to information, and the information is external to the document, comprising the computer-executed steps of:
defining a blocked area on the display screen, for which it is not necessary to retrieve linked information;
determining whether a first link is within the blocked area; and
retrieving first information linked by the first link only if the first information is not within the blocked area.
24. The method of
claim 23
, further comprising:
displaying blank space in the blocked area.
25. The method of
claim 23
, further comprising:
displaying a blocking icon in the blocked area.
26. The method of
claim 23
, wherein the defining step further comprises:
saving a description of the blocked area in a blocked display-area list.
27. The method of
claim 26
, wherein the blocked display-area list is in a bookmark list.
US08/979,133 1997-11-26 1997-11-26 Configurable disablement of display objects in a browser Expired - Lifetime US6356924B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US08/979,133 US6356924B2 (en) 1997-11-26 1997-11-26 Configurable disablement of display objects in a browser
KR1019980043569A KR100311190B1 (en) 1997-11-26 1998-10-15 Configurable disablement of display objects in a browser
JP10317786A JP3083806B2 (en) 1997-11-26 1998-11-09 Method and system for selectively disabling display of viewable objects
CN98122698A CN1128417C (en) 1997-11-26 1998-11-25 Configurable disablement of display objects in browser

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/979,133 US6356924B2 (en) 1997-11-26 1997-11-26 Configurable disablement of display objects in a browser

Publications (2)

Publication Number Publication Date
US20010011261A1 true US20010011261A1 (en) 2001-08-02
US6356924B2 US6356924B2 (en) 2002-03-12

Family

ID=25526725

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/979,133 Expired - Lifetime US6356924B2 (en) 1997-11-26 1997-11-26 Configurable disablement of display objects in a browser

Country Status (4)

Country Link
US (1) US6356924B2 (en)
JP (1) JP3083806B2 (en)
KR (1) KR100311190B1 (en)
CN (1) CN1128417C (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103319A1 (en) * 2005-03-30 2006-10-05 Nokia Corporation Controlling of loading of information
US20080052382A1 (en) * 2006-08-23 2008-02-28 Hung The Dinh Method and apparatus for closing browser windows after a maximum idle time
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US8086261B2 (en) 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US20230099810A1 (en) * 2021-09-27 2023-03-30 International Business Machines Corporation High-speed deserializer with programmable and timing robust data slip function

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993531B1 (en) * 1999-02-04 2006-01-31 Naas Aaron J System and method of routine navigation
US7246146B1 (en) * 1999-11-18 2007-07-17 International Business Machines Corporation Legacy host system hot link modeling and navigation
KR100473670B1 (en) * 2000-05-18 2005-03-08 인터내셔널 비지네스 머신즈 코포레이션 A method of rendering a web page and a client computer for implementing the same
US7296219B1 (en) * 2000-10-16 2007-11-13 International Business Machines Corporation Client side, web-based calculator
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
US6904569B1 (en) 2001-07-26 2005-06-07 Gateway, Inc. Link-level browser instance control
US7631328B2 (en) * 2002-06-27 2009-12-08 Microsoft Corporation Dynamic electronic program guide
US20050114545A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Method and apparatus for marking of web pages
US7617519B2 (en) * 2004-03-18 2009-11-10 Microsoft Corporation System and method for intelligent recommendation with experts for user trust decisions
CN100385852C (en) 2004-06-22 2008-04-30 腾讯科技(深圳)有限公司 Realization and realizing device for selective download from webpage inserted piece
US7519660B2 (en) * 2004-11-29 2009-04-14 International Business Machines Corporation Controlling instant messaging settings based on calendar application entries
US20060161503A1 (en) * 2005-01-18 2006-07-20 Andrei Popescu Budget browsing method, system, apparatus, and software product
KR101159788B1 (en) * 2005-03-12 2012-06-26 주진용 Advertising method and advertisement system on the internet
JP2007019769A (en) * 2005-07-06 2007-01-25 Sony Corp Tag information display control apparatus, information processing apparatus, display apparatus, and tag information display control method and program
US20070022202A1 (en) * 2005-07-22 2007-01-25 Finkle Karyn S System and method for deactivating web pages
US7565358B2 (en) * 2005-08-08 2009-07-21 Google Inc. Agent rank
KR100678925B1 (en) * 2006-01-27 2007-02-06 삼성전자주식회사 Mobile device, apparatus and method for transmitting content for mobile device
US7603350B1 (en) 2006-05-09 2009-10-13 Google Inc. Search result ranking based on trust
US8606792B1 (en) 2010-02-08 2013-12-10 Google Inc. Scoring authors of posts
KR102458261B1 (en) * 2016-02-03 2022-10-25 삼성전자주식회사 Electronic device and method for display controlling, and server and method therefor

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0451384B1 (en) 1990-04-10 1997-09-24 International Business Machines Corporation Hypertext data processing system and method
US5339389A (en) 1991-12-31 1994-08-16 International Business Machines Corporation User selectable lock regions
US5918224A (en) * 1995-07-26 1999-06-29 Borland International, Inc. Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
DE69637125T2 (en) * 1995-09-25 2008-01-24 Adobe Systems, Inc., San Jose OPTIMAL ACCESS TO ELECTRONIC DOCUMENTS
US5959623A (en) * 1995-12-08 1999-09-28 Sun Microsystems, Inc. System and method for displaying user selected set of advertisements
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5893109A (en) 1996-03-15 1999-04-06 Inso Providence Corporation Generation of chunks of a long document for an electronic book system
US5845084A (en) 1996-04-18 1998-12-01 Microsoft Corporation Automatic data display formatting with a networking application
US5884033A (en) * 1996-05-15 1999-03-16 Spyglass, Inc. Internet filtering system for filtering data transferred over the internet utilizing immediate and deferred filtering actions
DE69702689T2 (en) 1996-05-30 2000-11-30 Matsushita Electric Ind Co Ltd Data conversion device for a pseudo-interactive data communication system
US5890164A (en) * 1996-06-24 1999-03-30 Sun Microsystems, Inc. Estimating the degree of change of web pages
US5835722A (en) 1996-06-27 1998-11-10 Logon Data Corporation System to control content and prohibit certain interactive attempts by a person using a personal computer
US5918237A (en) * 1996-09-30 1999-06-29 At&T Corp. System and method for providing multimedia bookmarks for hypertext markup language files
US5890172A (en) 1996-10-08 1999-03-30 Tenretni Dynamics, Inc. Method and apparatus for retrieving data from a network using location identifiers
US5870559A (en) 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US5896502A (en) 1996-12-10 1999-04-20 International Business Machines Corporation Internet data transfer control via a client system to reduce delay
US5987504A (en) 1996-12-31 1999-11-16 Intel Corporation Method and apparatus for delivering data
US6122657A (en) * 1997-02-04 2000-09-19 Networks Associates, Inc. Internet computer system with methods for dynamic filtering of hypertext tags and content
US5848418A (en) 1997-02-19 1998-12-08 Watchsoft, Inc. Electronic file analyzer and selector
US6032182A (en) 1997-07-11 2000-02-29 International Business Machines Corporation Method, apparatus and computer program product for user selected refreshing of internet web pages
US6226642B1 (en) 1997-09-11 2001-05-01 International Business Machines Corporation Content modification of internet web pages for a television class display
JPH1196159A (en) 1997-09-22 1999-04-09 Matsushita Electric Ind Co Ltd Hypertext editing device
US5907681A (en) * 1997-10-20 1999-05-25 International Business Machines Corporation Intelligent method, apparatus and computer program product for automated refreshing of internet web pages

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843970B2 (en) 2003-10-29 2014-09-23 Chanyu Holdings, Llc Video distribution systems and methods for multiple users
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US9521452B2 (en) 2004-07-29 2016-12-13 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a media device
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US8086261B2 (en) 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US8839314B2 (en) 2004-12-01 2014-09-16 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US9571702B2 (en) 2004-12-06 2017-02-14 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
WO2006103319A1 (en) * 2005-03-30 2006-10-05 Nokia Corporation Controlling of loading of information
US7747955B2 (en) 2005-03-30 2010-06-29 Nokia Corporation Controlling of loading of information
US9178743B2 (en) 2005-05-27 2015-11-03 At&T Intellectual Property I, L.P. System and method of managing video content streams
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US9338490B2 (en) 2005-06-22 2016-05-10 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US8966563B2 (en) 2005-06-22 2015-02-24 At&T Intellectual Property, I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US10085054B2 (en) 2005-06-22 2018-09-25 At&T Intellectual Property System and method to provide a unified video signal for diverse receiving platforms
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US8535151B2 (en) 2005-06-24 2013-09-17 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US9278283B2 (en) 2005-06-24 2016-03-08 At&T Intellectual Property I, L.P. Networked television and method thereof
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US9167241B2 (en) 2005-07-27 2015-10-20 At&T Intellectual Property I, L.P. Video quality testing by encoding aggregated clips
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US20080052382A1 (en) * 2006-08-23 2008-02-28 Hung The Dinh Method and apparatus for closing browser windows after a maximum idle time
US20230099810A1 (en) * 2021-09-27 2023-03-30 International Business Machines Corporation High-speed deserializer with programmable and timing robust data slip function
US11714449B2 (en) * 2021-09-27 2023-08-01 International Business Machines Corporation High-speed deserializer with programmable and timing robust data slip function

Also Published As

Publication number Publication date
KR19990044886A (en) 1999-06-25
CN1128417C (en) 2003-11-19
US6356924B2 (en) 2002-03-12
JP3083806B2 (en) 2000-09-04
KR100311190B1 (en) 2002-01-12
JPH11328224A (en) 1999-11-30
CN1225481A (en) 1999-08-11

Similar Documents

Publication Publication Date Title
US6356924B2 (en) Configurable disablement of display objects in a browser
US6324553B1 (en) Apparatus and method for the manual selective blocking of images
US6177936B1 (en) Browser hierarchical contextual information for web pages
US6131110A (en) System and method for predicting user interest in unaccessed site by counting the number of links to the unaccessed sites in previously accessed sites
US6456307B1 (en) Automatic icon generation
US6044385A (en) Method and system for efficiently managing the manipulation of large documents displayed within a computer screen
US6313854B1 (en) Display mechanism for HTML frames
US6782430B1 (en) Invalid link recovery
US5784058A (en) User-controllable persistent browser display pages
US6211874B1 (en) Method for parallel selection of URL's
US20020054126A1 (en) Browser translation between frames and no frames
US6647534B1 (en) Method and system for organizing document information in a non-directed arrangement of documents
US5787254A (en) Web browser method and system for display and management of server latency
US6321256B1 (en) Method and apparatus for controlling client access to documents
KR100300145B1 (en) Web browser method and system for backgrounding a link access during slow link access time periods
KR100310760B1 (en) Method and system for the international support of internet web pages
US6742030B1 (en) Method to keep a persistent trace of weblink use per user
EP0844573A2 (en) Method and system for rendering hyper-link information in a printable medium
US20050097458A1 (en) Document display system and method
US6820236B1 (en) Click ahead browser function
KR100303407B1 (en) Apparatus and method in a hierarchy of internet web pages for fast return to a network page
US6781571B2 (en) Method and system for selectively controlling graphical pointer movement based upon web page content
US6724407B1 (en) Method and system for displaying conventional hypermedia files in a 3D viewing environment
US6813768B1 (en) Method and system for automatic task focus swapping during browser wait time
AU2008100658A4 (en) Document Display (Reading View) System and Method

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MULLEN-SCHULTZ, GARY LEE;REEL/FRAME:008921/0577

Effective date: 19971124

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
AS Assignment

Owner name: TWITTER, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:032075/0404

Effective date: 20131230

FPAY Fee payment

Year of fee payment: 12

SULP Surcharge for late payment

Year of fee payment: 11