Electrical computers and digital processing systems: multicomput – Distributed data processing – Client/server
Reexamination Certificate
1998-06-29
2002-09-03
Harrell, Robert B. (Department: 2152)
Electrical computers and digital processing systems: multicomput
Distributed data processing
Client/server
C345S215000
Reexamination Certificate
active
06446109
ABSTRACT:
Portions of the disclosure of this patent document may contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, SPARC, Java, JavaBeans and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
BACKGROUND OF THE INVENTION
This invention relates to computing systems, and more particularly to the architecture and environment for computing and applications executing therein.
Computers are used to send and receive data using a transport mechanism or communications network. The Internet is one example of a transport mechanism and other examples include local area networks (LANs) and wide area networks (WANs). Using a network, a software application (a sender) that resides on one computer system can exchange information (e.g., corporate data or executable code) with a software application (a receiver) that resides on a remote computer system, for example. The exchange of information between computers typically occurs between a “server application” that provides information or services, and a “client application” that receives the provided information and services.
A problem with existing server applications is that they must be pre-configured to include the information that they are to provide to a client application. Further, issues such as transmission efficiency and security are raised when information is exchanged between computers. Transmission inefficiencies are especially apparent where information is communicated over a long distance and/or lower speed or bandwidth lines. Further, where transmission is being received by a computer system, security measures are typically used to ensure that the transmitted information (e.g., program code) does not corrupt the computer system. Unfortunately, security measures can restrict access to the computer system's resources which can hinder an application's efficiency and usability.
As will be discussed below, computing environments that use an application architecture initially developed for use with the Internet can be significantly affected by the type of medium used to form the Internet connection. The type of connection that a user has to the Internet can impact the speed at which :information is transmitted.
The application architecture that is typically used in the Internet environment is referred to as a three-tier application architecture, or three-tier architecture. The three-tier architecture was originally designed to allow a client to have access to data and applications. In this architecture, a client communicates requests to a server for data, software and services, for example. The three-tier architecture includes a database tier that includes a database server, an application tier that includes an application server and application logic (i.e., software application programs, functions, etc.), and a client tier. The application server responds to application requests (e.g., a request for a software applet, etc.) received from the client. The application server forwards data requests to the database server.
The number of tiers that are required for an application may vary. For example, a calculator application might only involve the client tier. That is, if the calculator application software and data are resident on the client, there is no need to access the application or database tiers. An application that makes use of persistent storage such as a word processing application and the documents created therein may involve both the client and the application tiers. An enterprise's application (e.g., an accounting or personnel) may involve all three tiers as data that is used by the application may be stored in a database.
FIG. 1
provides an overview of a three-tier architecture. Client tier
102
typically consists of a computer system that provides a graphic user interface (GUI) generated by browser
106
. Browser
106
generates a display from a specification of GUI elements (e.g., a file containing input, form, and text elements defined using the Hypertext Markup Language (HTML) and/or by an applet (i.e., a program such as a program written using the Java programming language that runs when it is loaded by the browser).
Application server
110
is pre-configured to include those applications that are needed by its clients. In an effort to keep the size of the client minimal or “thin,” applets that are executed in client tier
102
generally do not include any significant application logic. Application server
110
is pre-configured to include the application logic that is not included in client tier
102
. The majority of an application's functionality is performed by the application logic that resides on and is managed by application server
110
in application tier
116
. Database tier
118
contains the data that is accessed by the application logic in application tier
116
. Database server
112
manages the data, its structure and the operations that can be performed on the data and/or its structure.
Application server
110
and database server
112
reside in production data center
108
. Application server
110
can be pre-configured with applications such as a corporation's accounting, personnel and payroll applications, for example. Application server
110
manages requests directed to the applications that are stored on application server
110
. Database server
112
manages the database(s) that manage data for applications. Database server
112
responds to request to access the accounting, personnel and payroll applications' data, for example.
Connection
104
is used to transfer the graphical user interface layer to client tier
102
and to transmit enterprise data between client tier
102
and production data center
108
. The client tier can communicate with the application tier via a Remote Method Invocation (RMI) application programming interface (API) available from Sun Microsystems. The RMI API provides the ability to invoke methods, or software modules, that reside on another computer system. Parameters are packaged (or marshalled) and unpackaged (or unmarshalled) for transmittal to and from the client tier. Connection
114
represents the transmission of requests for data and the responses to such requests from applications that reside in application server
110
.
In a typical computing environment, production data center
108
is located at a centralized site. In this way, applications can be centrally managed such that updates can be made and a standardized application base can be provided to users. However, an application's users can be spread across a wide geographical area. Thus, client tier
102
is not necessarily located at the same site or proximately connected to application server
110
(e.g., via a local area network, or LAN). Information may be transmitted, for example, via a wide area network (WAN) or the Internet that involve remote transmissions (e.g., overseas) and lower bandwidth communication technologies (e.g., modem) which can result in unacceptable transmission times. Transmission times are of concern since both data and application code may be transmitted between client tier
102
and application server
110
in the three-tier architecture.
The three-tier architecture can be used with various types of networks (e.g., Internet and intranet). Typically, client tier
102
communicates with production data center
108
via browser
106
which issues a request of application server
110
. The client can request a resource that is identified by a uniform resource locator (URL) designation. For example, the URL can identify a page definition (e.g., an HTML document) that browser
106
uses to generate a display, or the URL can identify an applet (i.e., executable program code) whi
Gunnison McKay & Hodgson, L.L.P.
Harrell Robert B.
Jaroenchonwanit Bunjob
McKay Philip J.
LandOfFree
Application computing environment does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Application computing environment, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Application computing environment will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2879318