WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Replaceable and extensible connection dialog component of a network component system    
United States Patent5724506   
Link to this pagehttp://www.wikipatents.com/5724506.html
Inventor(s)Cleron; Michael A. (Menlo Park, CA); Evans; John S. (Mountain View, CA); Fisher; Stephen (Menlo Park, CA); Holleran; Patrick A. (Santa Cruz, CA); Ford; Richard (Arlington, VA); Donnelly; Richard J. (San Jose, CA); Bruck; Timo (Mountain View, CA)
AbstractA connection dialog component of an extensible and replaceable network-oriented component system enables a user to specify address information of a particular resource coupled to a computer network. The network-oriented system includes novel application programming interfaces for the connection dialog component that facilitates integration with an underlying software component architecture. Such a highly-modular cooperating layered-arrangement between the network component system and the component architecture allows the connection dialog component to be replaced, extended or modified by other connection dialog-type components, while ensuring that these latter components "seamlessly" interact with existing components and component editors of the system.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5724506
Replaceable and extensible connection dialog component of a network

     component system - US Patent 5724506 Drawing
Replaceable and extensible connection dialog component of a network component system
Inventor     Cleron; Michael A. (Menlo Park, CA); Evans; John S. (Mountain View, CA); Fisher; Stephen (Menlo Park, CA); Holleran; Patrick A. (Santa Cruz, CA); Ford; Richard (Arlington, VA); Donnelly; Richard J. (San Jose, CA); Bruck; Timo (Mountain View, CA)
Owner/Assignee     Apple Computer, Inc. (Cupertino, CA)
Patent assignment
All assignments
Publication Date     March 3, 1998
Application Number     08/435,213
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 5, 1995
US Classification     709/230 715/809 719/328
Int'l Classification     G06F 015/00
Examiner     An; Meng-Ai T.
Assistant Examiner    
Attorney/Law Firm     Cesari and McKenna, LLP
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/155 395/156 395/157 395/159 395/793 395/200.2 395/200.02 395/200.09 395/200.12 395/200.16 395/200.15 395/200.17 395/335 370/58.2 370/60 370/85.7 370/85.13 370/95.1 370/94.1
Patent Tags     replaceable extensible connection dialog component network component
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5625781
Cline
715/854
Apr,1997

[0 after 0 votes]
5579469
Pike
715/781
Nov,1996

[0 after 0 votes]
5572643
Judson
709/218
Nov,1996

[0 after 0 votes]
5559947
Wugofski
715/837
Sep,1996

[0 after 0 votes]
5557730
Frid-Nielsen

Sep,1996

[0 after 0 votes]
5394522
Sanchez-Frank
715/735
Feb,1995

[0 after 0 votes]
5335320
Iwata

Aug,1994

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. An extensible and replaceable network-oriented component system for providing services directed to resources coupled computer networks, the system residing on a computer including a component architecture layer interfacing with an operating system to control the operations of the computer, the system comprising:

a network component layer coupled to the component architecture layer in cooperating relation; and

a connection dialog component defined by the network component layer for enabling a user to specify address information of a particular resource coupled to the computer networks, the connection dialog component being replaceable and extensible by other connection dialog-type components in response to the cooperating relationship between the network component layer and the component architecture layer.

2. The system of claim 1 wherein the connection dialog component is manifested on a computer screen as a dialog box having a list of selectable service types with associated dialog view components having at least one field for receiving the address information of the particular resource.

3. The system of claim 2 wherein the connection dialog component and dialog view components are objects and wherein the network component layer comprises application programming interfaces delivered in the form of objects in a class hierarchy.

4. The system of claim 3 wherein the application programming interfaces include a Service class for constructing a connection object representing a particular service.

5. The system of claim 4 wherein the application programming interfaces further include an Extension class for constructing a network navigation object representing additional behaviors provided to computing components of the component architecture layer to thereby enable communication between the computing components and the network navigation components.

6. The system of claim 5 wherein the application programming interfaces further include a ContainerExtension class for further constructing the connection dialog object as a network navigation object representing an outer portion of the connection dialog object having behaviors that manifest on the computer screen.

7. The system of claim 6 wherein the application programming interfaces further include a ConnectExtension class for still further constructing the connection dialog object as a network navigation object representing an inner portion of the connection dialog object that accesses the address of the particular resource.

8. An extensible and replaceable network-oriented component system for providing services directed to resources coupled computer networks, the system comprising:

a processor;

an operating system;

a component architecture layer interfacing with the operating system to control the operations of the processor;

a network component layer coupled to the component architecture layer in cooperating relation; and

a connection dialog component defined by the network component layer for enabling a user to specify an address of a particular resource coupled to the computer networks, the connection dialog component being replaceable and extensible by other connection dialog-type components in response to the cooperating relationship between the network component layer and the component architecture layer.

9. The system of claim 8 wherein the component architecture layer defines a plurality of computing components, and wherein the component architecture layer and the network component layer comprise means for embedding the computing components within one another to form a compound document having mixed data types and formats.

10. The system of claim 9 wherein the connection dialog component is a compound document displayed on a computer screen as a dialog box that provides access to a plurality of service types, each service type having an associated dialog view component with fields for receiving the address information needed to connect to the particular resource.

11. The system of claim 10 wherein each dialog view component comprises an address pointer that references a resource location on the computer networks.

12. The system of claim 11 wherein the network component layer further comprises an application programming interface for transposing the computing components to the connection dialog component.

13. A method for providing navigation services directed to network resources of interest to a user of a computer system coupled to computer networks, the method comprising the steps of:

controlling operations of the computer system with an operating system coupled to a component architecture of the system;

integrating a network component layer of the computer system with the component architecture to provide a cooperating component computing arrangement;

creating a connection dialog component using the cooperating component computing arrangement, the connection dialog component enabling the user to specify address information of a particular network resource coupled to the computer networks; and

displaying the connection dialog component as a dialog box on a screen of the computer system, the dialog box having selectable service types represented by service icons.

14. The method of claim 13 further comprising the step of:

selecting a service type of interest to the user by clicking on a representative service icon using a pointer device.

15. The method of claim 14 further comprising the steps of:

constructing a dialog view component in response to the selected service type, the dialog view component defining additional behaviors for manifestation on the computer screen;

embedding the dialog view component within the connection dialog component; and

displaying the embedded dialog view component within the dialog box as a dialog view box on the computer screen, the dialog view component having a plurality of fields for specifying the address information of the particular network resource.

16. The method of claim 15 further comprising the steps of:

tabbing through the fields of the dialog view box to place the pointer within each field;

typing the specified address information into the fields of the dialog view box; and

clicking a connect button of the dialog view box.

17. The method of claim 16 further comprising the step of, in response to the step of clicking the connect button, connecting to the particular network resource using the address information typed into the fields.

18. The method of claim 17 wherein the step of connecting comprises the step of creating an object that "transports" the user to the particular network resource.

19. The method of claim 17 wherein the step of selecting comprises the step of creating an object that represents the selected service type.

20. The method of claim 13 wherein the cooperating component computing arrangement allows one of replacing, modifying and extending the connection dialog component with a different dialog-type component to provide the user with a customized network service offering.
 Description Submit all comments and votes
 


CROSS-REFERENCE TO RELATED APPLICATIONS

This invention is related to the following copending U.S. Patent Applications:

U.S. patent application Ser. No. 08/435,377, titled EXTENSIBLE, REPLACEABLE NETWORK COMPONENT SYSTEM;

U.S. patent application Ser. No. 08/435,374, titled REPLACEABLE AND EXTENSIBLE NOTEBOOK COMPONENT OF A NETWORK COMPONENT SYSTEM;

U.S. patent application Ser. No. 08/435,862, titled REPLACEABLE AND EXTENSIBLE LOG COMPONENT OF A NETWORK COMPONENT SYSTEM;

U.S. patent application Ser. No. 08/435,671, titled EMBEDDING INTERNET BROWSER/BUTTONS WITHIN COMPONENTS OF A NETWORK COMPONENT SYSTEM, and

U.S. patent application Ser. No. 08/435,880, titled ENCAPSULATED NETWORK ENTITY REFERENCE OF A NETWORK COMPONENT SYSTEM, each of which was filed on May 5, 1995 and assigned to the assignee of the present invention.

FIELD OF THE INVENTION

This invention relates generally to computer networks and, more particularly, to an architecture and tools for building Internet-specific services.

BACKGROUND OF THE INVENTION

The Internet is a system of geographically distributed computer networks interconnected by computers executing networking protocols that allow users to interact and share information over the networks. Because of such wide-spread information sharing, the Internet has generally evolved into an "open" system for which developers can design software for performing specialized operations, or services, essentially without restriction. These services are typically implemented in accordance with a client/server architecture, wherein the clients, e.g., personal computers or workstations, are responsible for interacting with the users and the servers are computers configured to perform the services as directed by the clients.

Not surprisingly, each of the services available over the Internet is generally defined by its own networking protocol. A protocol is a set of rules governing the format and meaning of messages or "packets" exchanged over the networks. By implementing services in accordance with the protocols, computers cooperate to perform various operations, or similar operations in various ways, for users wishing to "interact" with the networks. The services typically range from browsing or searching for information having a particular data format using a particular protocol to actually acquiring information of a different format in accordance with a different protocol.

For example, the file transfer protocol (FTP) service facilitates the transfer and sharing of ties across the Internet. The Telnet service allows users to log onto computers coupled to the networks, while the netnews protocol provides a bulletin-board service to its subscribers. Furthermore, the various data formats of the information available on the Internet include JPEG images, MPEG movies and .mu.-law sound files.

Two fashionable services for accessing information over the Internet are Gopher and the World-Wide Web ("Web"). Gopher consists of a series of Internet servers that provide a "list-oriented" interface to information available on the networks; the information is displayed as menu items in a hierarchical manner. Included in the hierarchy of menus are documents, which can be displayed or saved, and searchable indexes, which allow users to type keywords and perform searches.

Some of the menu items displayed by Gopher are links to information available on other servers located on the networks. In this case, the user is presented with a list of available information documents that can be opened. The opened documents may display additional lists or they may contain various data-types, such as pictures or text; occasionally, the opened documents may "transport" the user to another computer on the Internet.

The other popular information service on the Internet is the Web. Instead of providing a user with a hierarchical list-oriented view of information, the Web provides the user with a "linked-hypertext" view. Metaphorically, the Web perceives the Internet as a vast book of pages, each of which may contain pictures, text, sound, movies or various other types of data in the form of documents. Web documents are written in HyperText Markup Language (HTML) and Web servers transfer HTML documents to each other through the HyperText Transfer Protocol (HTTP).

The Web service is essentially a means for naming sources of information on the Internet. Armed with such a general naming convention that spans the entire network system, developers are able to build information servers that potentially any user can access. Accordingly, Gopher servers, HTTP servers, FTP servers, and E-mail servers have been developed for the Web. Moreover, the naming convention enables users to identify resources (such as directories and documents) on any of these servers connected to the Internet and allow access to those resources.

As an example, a user "traverses" the Web by following hot items of a page displayed on a graphical Web browser. These hot items are hypertext links whose presence are indicated on the page by visual cues, e.g., underlined words, icons or buttons. When a user follows a link (usually by clicking on the cue with a mouse), the browser displays the target pointed to by the link which, in some cases, may be another HTML document.

The Gopher and Web information services represent entirely different approaches to interacting with information on the Interact. One follows a list-approach to information that "looks" like a telephone directory service, while the other assumes a page-approach analogous to a tabloid newspaper. However, both of these approaches include applications for enabling users to browse information available on Internet servers. For example, TurboGopher is a text-based browser application for client computers operating in accordance with the Gopher protocol. Additionally, each of these applications has a unique way of viewing and accessing the information on server computers.

Typically, a computer includes an operating system and application software which, collectively, control the operations of the computer. The applications are preferably task-specific and independent, e.g., a word processor application edits text, a drawing application edits drawings and a database application interacts with information stored on a database storage unit. Although a user can move data from one application to the other, such as by copying a drawing into a word processing file, the independent applications must be invoked to thereafter manipulate that data. This is primarily because the applications are designed as monolithic, autonomous modules that generally do not interact efficiently.

Netscape Navigator.TM. ("Netscape") is an example of a monolithic Web browser application that is configured to interact with many of the previously-described protocols, including HTTP, Gopher and FTP. However when instructed to invoke an application that uses one of these protocols, Netscape "translates" the protocol to hypertext. Such awkward translation places the user farther away from the protocol designed to run the application and, in some cases, actually thwarts the user's Internet experience. For example, a discussion system requiring an interactive exchange between participants may be bogged down by hypertext translations.

Each of these information services provides a mechanism for specifying an address or path to access a particular network resource; in Netscape, a command open location may be specified to "transport" a user to that resource location and in TurboGopher, the command another Gopher allows a user to type Gopher-specific address information to transport the user to the specified location. These resource specifying mechanisms, however, are not generally configured to interact with applications other than their own, primarily due to the monolithic nature of the Netscape and TurboGopher applications. Thus, it is difficult to replace these mechanisms with similar mechanisms provided by other developers; furthermore, the monolithic nature of the applications generally precludes extension of the functions and behaviours of these mechanisms other than by those developers associated with the respective services.

The Gopher and Web services may further require additional applications to perform specific functions, such as playing sound or viewing movies, with respect to the data types contained in the documents. For example, Netscape employs helper applications for executing application programs having data formats it does not "understand". Execution of these functions on a computer requires interruption of processing and context switching (i.e., saving of state) prior to invoking the appropriate application. Thus, if a user operating within the Netscape application "opens" a MPEG movie, that browsing application must be saved (e.g., to disk) prior to opening an appropriate MPEG application, e.g., Sparkle, to view the image. Such an arrangement is inefficient and rather disruptive to execution of the application programs.

Generally, the application program presents information to a user through a window of a graphical user interface by drawing images, graphics or text within the window region. The user, in turn, communicates with the application by "pointing" at graphical objects in the window with a pointer that is controlled by a hand-operated pointing device, such as a mouse, or by pressing keys of a keyboard.

The graphical objects typically included with each window region are sizing boxes, buttons and scroll bars. These objects represent user interface elements that the user can point at with the pointer (or a cursor) to select or manipulate. For example, the user may manipulate these elements to move the windows around on the display screen, and change their sizes and appearances so as to arrange the window in a convenient manner. When the elements are selected or manipulated, the underlying application program is informed, via the window environment, that control has been appropriated by the user.

A menu bar is a further example of a user interface element that provides a list of menus available to a user. Each menu, in ram, provides a list of command options that can be selected merely by pointing to them with the mouse-controlled pointer. That is, the commands may be issued by actuating the mouse to move the pointer onto or near the command selection, and pressing and quickly releasing, i.e., "clicking" a button on the mouse.

Command options in the menus typically act on one or more objects. If an application requires more information to carry out a command, a dialog box may be employed. A dialog box is a special type of window that elicits information from the user, such as requiring the user to check items or fill in the blanks, typically through the use of a graphical object that the user can manipulate with the mouse. Such an object is called a control and, by manipulating the control, the user can take an immediate action or change a setting to modify a future action. A modal dialog box requires that the user respond to the elicitation prior to performing other actions.

In contrast to this typical application-based computing environment, a software component architecture provides a modular document-based computing arrangement using tools such as viewing editors. The key to document-based computing is the compound document, i.e., a document composed of many different types of data sharing the same file. The types of data contained in a compound document may range from text, tables and graphics to video and sound. Several editors, each designed to handle a particular data type or format, can work on the contents of the document at the same time, unlike the application-based computing environment.

Since many editors may work together on the same document, the compound document is apportioned into individual modules of content for manipulation by the editors. The compound-nature of the document is realized by embedding these modules within each other to create a document having a mixture of data types. The software component architecture provides the foundation for assembling documents of differing contents and the present invention is directed to a system for extending this capability to network-oriented services.

Therefore, it is among the objects of the present invention to simplify a user's experience on computer networks without sacrificing the flexibility afforded the user by employing existing protocols and data types available on those networks.

Another object of the invention is to provide a system for users to search and access information on the Internet without extensive understanding or knowledge of the underlying protocols and data formats needed to access that information.

Still another object of the invention is to provide a document-based computing system that enables users to replace and extend modules configured to provide services directed to information available on computer networks.

SUMMARY OF THE INVENTION

Briefly, the invention comprises a connection dialog component of an extensible and replaceable network-oriented component system that enables a user to specify address information of a particular resource coupled to a computer network. The connection dialog component is preferably a compound document that is manifested as a dialog box having a list of selectable service types with associated dialog view components. Each dialog view component has at least one field for receiving appropriate address information provided by a user to successfully connect to the particular network resource.

In accordance with the invention, the network-oriented system includes a novel application programming interface (API) for the connection dialog component that facilitates integration with an underlying software component architecture. Such a highly-modular cooperating layered-arrangement between the network component system and the component architecture allows the connection dialog component to be replaced by other connection dialog-type components, while ensuring that these latter components "seamlessly" interact with existing components and component editors of the system.

Furthermore, the API allows other service developers to insert service type references and associated dialog view components into the connection dialog component without affecting operation of the novel network component system. For example, the novel connection dialog may provide access to a predetermined number of service types, with each type of service having its own dialog "view". A service developer may provide another type of service to the connection dialog component and this service type would have its own dialog view.

In the illustrative embodiment, the connection dialog component and dialog view components are objects of the network-oriented component system that is preferably embodied as a customized framework having a set of interconnected abstract classes. Specifically, a CyberService class, a CyberExtension class, a CyberContainerExtension class and a CyberConnectExtension class collectively define a connection dialog component object for receiving address information and accessing a network resource relating to that information. The address information is preferably a pointer, e.g., a uniform resource locator (URL), for referencing any resource resident on the computer networks. In response to a user typing the address information into the appropriate dialog field(s), the dialog view object examines the specified information and proceeds to "open" and display the resource as a document.

Advantageously, the invention involves the component approach to network navigation tools; any service having a corresponding component adapted to the network-oriented component system can utilize the connection dialog for accessing network addresses. Moreover, the connection dialog component may be efficiently extended, replaced and modified within the network component system. Although monolithic application programs such as Netscape and TurboGopher have functional equivalents to the connection dialog, i.e., tools for specifying addresses of network resources, each of these applications' address specifying mechanism is solely their own and, thus, cannot be replaced or extended or modified.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and further advantages of the invention may be better understood by referring to the following description in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram of a network system including a collection of computer networks interconnected by client and server computers;

FIG. 2 is a block diagram of a client computer, such as a personal computer, on which the invention may advantageously operate;

FIG. 3 is a block diagram of a server computer of FIG. 1;

FIG. 4 is a highly schematized block diagram of a layered component computing arrangement in accordance with the invention;

FIG. 5 is an illustration of basic primitives for defining the layout of a compound document;

FIG. 6 is a schematic illustration of the interaction of a component, a software component layer and an operating system of the computer of FIG. 2;

FIG. 7 is a schematic illustration of the interaction between a component, a component layer and a window manager in accordance with the invention;

FIG. 8 is a schematic diagram showing an illustrative dialog item in accordance with the invention;

FIG. 9 is a simplified class hierarchy diagram illustrating classes CyberExtension, CyberContainerExtension and CyberConnectExtension used to construct a replaceable and extensible connection dialog component object in accordance with the invention;

FIG. 10 is a simplified class hierarchy diagram illustrating a base class CyberService, and its associated subclasses, in accordance with the invention;

FIG. 11 is a schematic illustration of the connection dialog as manifested on a computer screen according to the invention; and

FIGS. 12A, 12B, 12C and 12D are schematic diagrams of illustrative dialog boxes associated with services specified by the novel connection dialog component according to the invention.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENT

FIG. 1 is a block diagram of a network system 100 comprising a collection of computer networks 110 interconnected by client computers ("clients") 200, e.g., workstations or personal computers, and server computers ("servers") 300. The servers are typically computers having hardware and software elements that provide resources or services for use by the clients 200 to increase the efficiency of theft operations. It will be understood to those skilled in the art that, in an alternate embodiment, the client and server may exist on the same computer; however, for the illustrative embodiment described herein, the client and server are separate computers.

Several types of computer networks 110, including local area networks (LANs) and wide area networks (WANs), may be employed in the system 100. A LAN is a limited area network that typically consists of a transmission medium, such as coaxial cable or twisted pair, while a WAN may be a public or private telecommunications facility that interconnects computers widely dispersed. In the illustrative embodiment, the network system 100 is the Internet system of geographically distributed computer networks.

Computers coupled to the Internet typically communicate by exchanging discrete packets of information according to predefined networking protocols. Execution of these networking protocols allow users to interact and share information across the networks. As an illustration, in response to a user's request for a particular service, the client 200 sends an appropriate information packet to the server 300, which performs the service and returns a result back to the client 200.

FIG. 2 illustrates a typical hardware configuration of a client 200 comprising a central processing unit (CPU) 210 coupled between a memory 214 and input/output (I/O) circuitry 218 by bidirectional buses 212 and 216. The memory 214 typically comprises random access memory (RAM) for temporary storage of information and read only memory (ROM) for permanent storage of the computer's configuration and basic operating commands, such as portions of an operating system (not shown). As described further herein, the operating system controls the operations of the CPU 210 and client computer 200.

The I/O circuitry 218, in turn, connects the computer to computer networks, such as the Internet computer networks 250, via a bidirectional bus 222 and to cursor/pointer control devices, such as a keyboard 224 (via cable 226) and a mouse 230 (via cable 228). The mouse 230 typically contains at least one button 234 operated by a user of the computer. A conventional display monitor 232 having a display screen 235 is also connected to I/O circuitry 218 via cable 238. A pointer (cursor) 240 is displayed on windows 244 of the screen 235 and its position is controllable via the mouse 230 or the keyboard 224, as is well-known. Typically, the I/O circuitry 218 receives information, such as control and data signals, from the mouse 230 and keyboard 224, and provides that information to the CPU 210 for display on the screen 235 or, as described further herein, for transfer over the Internet 250.

FIG. 3 illustrates a typical hardware configuration of a server 300 of the network system 100. The server 300 has many of the same units as employed in the client 200, including a CPU 310, a memory 314, and I/O circuitry 318, each of which are interconnected by bidirectional buses 312 and 316. Also, the I/O circuitry connects the computer to computer networks 350 via a bidirectional bus 322. These units are configured to perform functions similar to those provided by their corresponding units in the computer 200. In addition, the server typically includes a mass storage unit 320, such as a disk drive, connected to the I/O circuitry 318 via bidirectional bus 324.

It is to be understood that the I/O circuits within the computers 200 and 300 contain the necessary hardware, e.g., buffers and adapters, needed to interface with the control devices, the display monitor, the mass storage unit and the networks. Moreover, the operating system includes the necessary software drivers to control, e.g., network adapters within the I/O circuits when performing I/O operations, such as the transfer of data packets between the client 200 and server 300.

The computers are preferably personal computers of the Macintosh.RTM. series of computers sold by Apple Computer Inc., although the invention may also be practiced in the context of other types of computers, including the IBM.RTM. series of computers sold by International Business Machines Corp. These computers have resident thereon, and are controlled and coordinated by, operating system software, such as the Apple.RTM. System 7.RTM., IBM OS2.RTM., or the Microsoft.RTM. Windows.RTM. operating systems.

As noted, the present invention is based on a modular document computing arrangement as provided by an underlying software component architecture, rather than the typical application-based environment of prior computing systems. FIG. 4 is a highly schematized diagram of the hardware and software elements of a layered component computing arrangement 400 that includes the novel network-oriented component system of the invention. At the lowest level there is the computer hardware, shown as layer 410. Interfacing with the hardware is a conventional operating system layer 420 that includes a window manager, a graphic system, a file system and network-specific interfacing, such as a TCP/IP protocol stack and an Apple-talk protocol stack.

The software component architecture is preferably implemented as a component architecture layer 430. Although it is shown as overlaying the operating system 420, the component architecture layer 430 is actually independent of the operating system and, more precisely, resides side-by-side with the operating system. This relationship allows the component architecture to exist on multiple platforms that employ different operating systems.

In accordance with the present invention, a novel network-oriented component layer 450 contains the underlying technology for implementing the extensible and replaceable network component system having a connection dialog component 475 that allows a user to specify an address of a particular resource coupled to computer networks, such as the Interact. As described further herein, this technology includes novel application programming interfaces (APIs) that facilitates integration with the underlying component architecture layer 430 and allows the connection dialog component to be replaced, extended or modified by other connection dialog-type components. The novel APIs are preferably delivered in the form of objects in a class hierarchy.

It should be noted that the network component layer 450 may operate with any existing system-wide component architecture, such as the Object Linking and Embedding (OLE) architecture developed by the Microsoft Corporation; however, in the illustrative embodiment, the component architecture is preferably OpenDoc, the vendor-neutral, open standard for compound documents developed by, among others, Apple Computer, Inc.

Using tools such as viewing editors, the component architecture layer 430 creates a compound document composed of data having different types and formats. Each differing data type and format is contained in a fundamental unit called a computing part or, more generally, a "component" 460 comprised of a viewing editor along with the data content. An example of the computing component 460 may include a MacDraw component. The component editor, on the other hand, is analogous to an application program in a conventional computer. That is, the editor is a software component which provides the necessary functionality to display a component's contents and, where appropriate, present a user interface for modifying those contents. Additionally, the editor may include menus, controls and other user interface elements. An internal layout element of the component architecture layer 430 is used to organize these contents of a compound document and, further, to distinguish boundaries between editors. The layout element, in turn, comprises three data structures which form primitives for defining the layout of such a document. Referring to FIG. 5, these structures include a canvas, a frame and a transformation.

Specifically, the canvas 502 is a data structure which represents the overall context of the document. It includes a description of coordinate space and a mechanism for capturing a series of graphical commands into an image or representation. Examples of canvasses are a bit or pixel map on a computer screen, a page description language for a printer and a display list for a computer display. The frame 504, on the other hand, is a data structure which serves as a shared information repository between a "container" component and an embedding component.

A transformation is a data structure which represents a set of geometric descriptions that are applied to graphical commands. In the example of FIG. 5, the transformation is depicted as an offset 506 from a reference point, e.g., the upper left-hand corner of the canvas 502. Other types of transformations include scaling, rotation, skews and distortions. In general, the transformation is a geometric description of the location and orientation of the frame 504 on the canvas 502. Preferably, this description can be two-dimensional or three-dimensional in nature.

Referring again to FIG. 4, the network component layer 450 extends the functionality of the underlying component architecture layer 430 by defining key integrating network-oriented components 480, such as the connection dialog component 475. As noted, a feature of the invention is the ability to easily extend, replace or modify the connection dialog component of the layered computing arrangement 400 with a different connection dialog-type component to provide a user with a customized network-related service offering. This feature is made possible by the cooperating relationship between the network component layer 450 and its underlying component architecture layer 430. The integrating components communicate and interact with these various components of the system in a "seamlessly integrated" manner to provide basic tools for navigating the Internet computer networks.

FIG. 4 also illustrates the relationship of applications 490 to the elements of the layered computing arrangement 400. Although they reside in the same "user space" as the components 460 and network components 480, the applications 490 do not interact with these elements and, thus, interface directly to the operating system layer 420. Because they are designed as monolithic, autonomous modules, applications (such as previous Internet browsers) often do not even interact among themselves. In contrast, the components of the arrangement 400 are designed to work together via the common component architecture layer 430 or, in the case of the network components, via the novel network component layer 450.

Specifically, the invention features the provision of the extensible and replaceable network-oriented component system which, when invoked, causes actions to take place that enhance the ability of a user to interact with the computer to obtain information available over computer networks such as the Internet. The information is manifested to a user via a window environment, such as the graphical user interface provided by System 7 or Windows, that is preferably displayed on the screen 235 (FIG. 2) as a graphical display to facilitate interactions between the user and the computer, such as the client 200. This behavior of the system is brought about by the interaction of the network components with a series of system soil ware routines associated with the operating system 420. These system routines, in turn, interact with the component architecture layer 430 to create the windows and graphical user interface elements, as described further herein.

The window environment is generally part of the operating system software 420 that includes a collection of utility programs for controlling the operation of the computer 200. The operating system, in ram, interacts with the co