TL;DR: In this article, a method and system for passing information between a client, as a browser, and a server, as an application server, where the information is passed through a web server for processing between the application server and the browser is presented.
Abstract: A method and system for passing information between a client, as a browser, and a server, as an application server, where the information is passed through a web server for processing between the application server and the browser. The webserver loads one or more template files. These template files contain standard markup language plus special tags. These tags are parsed, translated into commands for the application server, and sent to the application server. The application server returns the objects called to the web server, which passes the called objects to the client. The session is persistent.
TL;DR: In this paper, the authentication mechanism is externalized from the application in the form of a login server, and the application server verifies the authentication directly with the login server and responds accordingly.
Abstract: A method and apparatus for authenticating users. Prior art mechanisms require each individual application (running on an “application server”) that the user is accessing to provide for the ability to use the various authentication mechanisms. One or more embodiments of the invention externalize the authentication mechanism from the application in the form of a login server. Only the login server needs to be configured to handle authentication mechanisms. The application server checks if a request has an active and valid session (e.g., a valid session may exist when there is active communication between a client and server that has not expired). If there is not a valid session, the application server redirects the user to the login server. The login server attempts to authenticate the user using any desired authentication mechanism. Once authenticated, the login server redirects the user back to the application server. The application server verifies the authentication directly with the login server. Once verified, the application server processes the user's request and responds accordingly. One or more embodiments of the invention may utilize cookies to aid in the authentication process. Thus, applications on the application server need not be concerned about authenticating a given user. The application server merely knows how to work with the login server to authenticate the user. Further, communications between the application server and login server are transparent (or without any interaction from) the user (although the user may see the browser communicating with each server).
TL;DR: The design and implementation of a QoS-enabled web server called the Web2K server is described, which enables web site operators to optimize the usage of their web sites by prioritizing among requests from different classes of users.
Abstract: Preeti Bhoj, Srinivas Ramanathan, Sharad Singhal Internet Systems and Applications Laboratory HP Laboratories Palo Alto HPL-2000-61 May, 2000 Web services, quality of service, service management The recent outages and brown-outs at several large Internet portal sites (trading, auction, etc.) and the associated loss in revenues highlight the central role that web-based services play in the -commerce era. Unpredictable demands posed byE sudden surges of requests from users on the open Internet have made it extremely difficult for web site operators to offer predictable quality of service (QoS). In order to provide stable service to users considered important by the site operator under these conditions, it is imperative that systems handle overloads gracefully. In this paper, we describe the design and implementation of a QoS-enabled web server called the Web2K server. The Web2K server enables web site operators to optimize the usage of their web sites by prioritizing among requests from different classes of users. Under overload conditions, predictive queue controllers incorporated in the Web2K server enable it to selectively deny service to some percentage of requests based on the associated user classification. Unlike current web servers, the Web2K server also maintains stable response times under overload using a novel, traffic-aware request processing model. A primary concern of operators while deciding to deploy QoS solutions relates to the overall impact of QoS provisioning on the capacity of their servers. To address this issue we present a comprehensive performance study that quantifies the overheads of a Web2K server and demonstrates its significant benefits.
TL;DR: In this paper, a scalable, distributed, highly available, load balancing server system having multiple machines is provided that functions as a front server layer between a network (such as the Internet) and a back-end server layer having multiple servers functioning as Web file servers, FTP servers, or other application servers.
Abstract: A scalable, distributed, highly available, load balancing server system having multiple machines is provided that functions as a front server layer between a network (such as the Internet) and a back-end server layer having multiple machines functioning as Web file servers, FTP servers, or other application servers. The front layer machines comprise a server cluster that performs fail-over and dynamic load balancing for both server layers. The operation of the servers on both layers is monitored, and when a server failure at either layer is detected, the system automatically shifts network traffic from the failed machine to one or more operational machines, reconfiguring front-layer servers as needed without interrupting operation of the server system. The server system automatically accommodates additional machines in the server cluster, without service interruption. The system operates with a dynamic reconfiguration protocol that permits reassignment of network addresses to the front layer machines. The front layer machines perform their operations without breaking network communications between clients and servers, and without rebooting of computers.
TL;DR: DynamicTAO as mentioned in this paper is a CORBA-compliant reflective ORB that supports dynamic configuration and maintains an explicit representation of its own internal structure and uses it to carry out run time customization safely.
Abstract: Conventional middleware systems fail to address important issues related to dynamism. Modern computer systems have to deal not only with heterogeneity in the underlying hardware and software platforms but also with highly dynamic environments. Mobile and distributed applications are greatly affected by dynamic changes of the environment characteristic such as security constraints and resource availability. Existing middleware is not prepared to react to these changes. In many cases, application developers know when adaptive changes in communication and security strategies would improve system performance. But often, they are not able to benefit from it because the middleware lacks the mechanisms to support monitoring (to detect when adaptation should take place) and on-the-fly reconfiguration. dynamicTAO is a CORBA-compliant reflective ORB that supports dynamic configuration. It maintains an explicit representation of its own internal structure and uses it to carry out run time customization safely. After describing dynamicTAO's design and implementation, we discuss our experience on the development of two systems benefiting from the reflective nature of our ORB: a flexible monitoring system for distributed objects and a mechanism for enforcing access control based on dynamic security policies.
TL;DR: In this paper, the authors present a wireless network system where a server has a server controller and a server radio modem, and a number of clients each including a client controller and client radio modem.
Abstract: A wireless network system includes a server having a server controller and a server radio modem, and a number of clients each including a client controller and a client radio modem. The server controller implements a server process that includes the receipt and the transmission of data packets via the radio modem. The client controllers of each of the clients implements a client process that includes the receipt and transmission of data packets via the client radio modem. The client process of each of the clients initiates, selects, and maintains a radio transmission path to the server that is either a direct path to the server, or is an indirect path or “link” to the server through at least one of the remainder of the clients. A method for providing wireless network communication includes providing a server implementing a server process including receiving data packets via a radio modem, sending data packets via the server radio modem, communicating with the network, and performing housekeeping functions, and further includes providing a number of clients, each implementing a client process sending and receiving data packets via a client radio modem, maintaining a send/receive data buffer, and selecting a radio transmission path to the server. The radio transmission path or “link” is either a direct path to the server, or an indirect path to the server through at least one of the remainder of the clients. The process preferably optimizes the link to minimize the number of “hops” to the server.
TL;DR: In this paper, a scalable, distributed, highly available, load balancing server system having multiple machines is provided that functions as a front server layer between a network (such as the Internet) and a back-end server layer having multiple servers functioning as Web file servers, FTP servers, or other application servers.
Abstract: A scalable, distributed, highly available, load balancing server system having multiple machines is provided that functions as a front server layer between a network (such as the Internet) and a back-end server layer having multiple machines functioning as Web file servers, FTP servers, or other application servers. The front layer machines comprise a server cluster that performs fail-over and dynamic load balancing for both server layers. The operation of the servers on both layers is monitored, and when a server failure at either layer is detected, the system automatically shifts network traffic from the failed machine to one or more operational machines, reconfiguring front-layer servers as needed without interrupting operation of the server system. The server system automatically accommodates additional machines in the server cluster, without service interruption. The system operates with a dynamic reconfiguration protocol that permits reassignment of network addresses to the front layer machines. The front layer machines perform their operations without breaking network communications between clients and servers, and without rebooting of computers.
TL;DR: In this article, a distributed speech recognition system includes at least one client station and a server station connected via a network, such as Internet, where a speech controller directs at least part of the speech input signal to a local speech recognizer.
Abstract: A distributed speech recognition system includes at least one client station and a server station connected via a network, such as Internet. The client station includes means for receiving the speech input signal from a user. A speech controller directs at least part of the speech input signal to a local speech recognizer. The, preferably limited, speech recognizer is capable of recognizing at least part of the speech input, for instance a spoken command for starting full recognition. In dependence on the outcome of the recognition, the speech controller selectively directs a part of the speech input signal via the network to the server station. The server station includes means for receiving the speech equivalent signal from the network and a large/huge vocabulary speech recognizer for recognizing the received speech equivalent signal.
TL;DR: In this article, the authors propose an incrementally scalable database system, which enables database servers to be scaled by adding resources, such as additional servers, without requiring that the system be taken offline.
Abstract: An incrementally-scalable database system and method. The system architecture enables database servers to be scaled by adding resources, such as additional servers, without requiring that the system be taken offline. Such scaling includes both adding one or more computer servers to a given server cluster, which enables an increase in database read transaction throughput, and adding one or more server clusters to the system configuration, which provides for increased read and write transaction throughput. The system also provides for load balancing read transactions across each server cluster, and load balancing write transactions across a plurality of server clusters. The system architecture includes an application server layer including one or more computers on which an application program(s) is running, a database server layer comprising two or more server clusters that each include two or more computer servers with replicated data, and an intermediate “virtual transaction” layer that includes at least two computers that facilitate database transactions with one or more databases operating in the database server layer. Data in the database(s) are evenly distributed across the server clusters in fragmented mutually exclusive subsets of data based on a hashing function. An application program interface is provided so as to enable application programs to perform a full range of database transactions without regard for where data is stored, or what database(s) is operating in the database server layer.
TL;DR: In this paper, a distributed system and method for balancing connection load among servers (10) in an asymmetric or heterogeneous server cluster is presented. Each server includes a load balancing module for determining whether the server can accept a new client request.
Abstract: A distributed system and method for balancing connection load among servers (10) in an asymmetric or heterogeneous server cluster. Each server (10) includes a load balancing module for determining whether the server can accept a new client request. Additionally, the distributed system directs a client request for data to a server (10) having the latest version of the requested data.
TL;DR: In this paper, a Virtual Server Farm (VSF) is created out of a wide scale computing fabric ('Computing Grid') which is physically constructed once and then logically divided up into VSFs for various organizations on demand.
Abstract: Methods and apparatus providing a dynamically sized, highly scalable and available server farm are disclosed. A Virtual Server Farm (VSF) is created out of a wide scale computing fabric ('Computing Grid') which is physically constructed once and then logically divided up into VSFs for various organizations on demand. Each organization retains independent administrative control of a VSF. A VSF is dynamically firewalled within the Computing Grid. An allocation and control of the elements in the VSF is performed by a Control Plane connected to all computing, networking, and storage elements in the computing grid through special control ports. The internal topology of each VSF is under control of the Control Plane. No physical rewiring is necessary in order to construct VSFs in many different configurations, including single-tier Web server or multi-tier Web-server, application server, database server configurations. Each tier of a multi-tier VSF (e.g. Web server tier, application server tier, database server tier, etc) can be dynamically sized based on the load on the servers in that particular tier. Storage devices may include a plurality of pre-defined logical blueprints that are associated with roles that may be assumed by the computing grid elements. Initially, no computing element is dedicated to any particular role or task such as Web server, application server, database server, etc. The role of each computing element is acquired from one of a plurality of pre-defined, stored blueprints, each of which defines a boot image for the computing elements that are associated with that role.
TL;DR: In this article, the authors proposed a method of selecting a mirror server for client-host interaction over a network providing automatic, user-transparent, selection of a particular mirror server from among multiple mirror servers that replicate a host server providing web content over the Internet.
Abstract: A method of selecting a mirror server for client-host interaction over a network provides automatic, user-transparent, selection of a particular mirror server from among multiple mirror servers that replicate a host server providing web content over the Internet. The method selects the mirror server that has the best response time for a given client computer requesting web content under changing web traffic and mirror server load conditions. The host server creates and maintains a list of addresses of available mirror servers, preferably ranked according to the load on the mirror servers. In response to an initial information request from the client computer, the host server sends the mirror server list to the client computer along with the requested web content. The client computer creates multiple mirror server requests, corresponding to the mirror servers on the address list, sends the requests to the mirror servers, then compares the round trip response times to determine the optimum mirror server site from which to continue subsequent client-host interaction. The invention also includes methods and apparatus, preferably in the form of computer program products, which are operable at the host server, to create, maintain and send the address list, and other methods and apparatus operable at the client computer, to receive the list, query the mirror servers and select the optimum mirror server for further interaction.
TL;DR: In this article, a system and method for recovering from a server failure in a computer network, wherein the network contains several stand-alone, non-clustered, servers, and a cluster, wherein a clustered server also serves as the spare server, is disclosed.
Abstract: A system and method for recovering from a server failure in a computer network, wherein the network contains several stand-alone, non-clustered, servers, and a cluster, wherein a clustered server also serves as the spare server, is disclosed. This cluster will have one standby recovery group for each non-clustered server in the computer network. Each recovery group contains the IP address and network name of the associated stand-alone server. The cluster monitors the health of the stand-alone servers, preferably through the use of a heartbeat mechanism. If the cluster detects a failure, it will reassign the LUNs owned by the failing server to the cluster. After the cluster has reassigned the LUNs, it will activate the recovery group containing the IP address and network name of the failing server. Subsequently, the cluster will assume the identity of the failing server and serve its users, until the failing server is repaired or replaced.
TL;DR: In this article, a client within the telephone sends recent changes to its dataset to the server and requests an acknowledgement of these changes, and the server sends its changes to the client, requests acknowledgement, and resends changes until it confirms that the client has received all of the changes.
Abstract: Methods for synchronizing PIM data between a wireless telephone and a synchronization server. A communication in interface is established between the telephone and the server, using a wireless network and the Internet. The telephone initiates the synchronization by placing a data call to the server and logging on to the server. A sync client within the telephone sends recent changes to its dataset to the server and requests an acknowledgement of these changes. In an acknowledgement message, the server specifies which changes were actually received. Based on this acknowledgment, the client continues resending changes until it receives confirmation that the server has received all of its changes. The server performs conflict and duplicate resolution between the changes received from the client and other changes of which the server is aware, and enters into its dataset those changes that survive the resolutions. The client also requests that the server send changes that have been made to the server's dataset. The server identifies all changes that should be sent to the client and that have survived the conflict and duplicate resolutions. The server then sends its changes to the client, requests acknowledgement, and resends changes until it confirms that the client has received all of the changes. The client enters the changes from the server into its dataset without any further conflict or duplicate resolution. The client then logs off of the server and ends the data call.
TL;DR: In this paper, a method for efficiently transferring data between a client and a server includes the steps of: providing an application program, providing application independent client process effecting a plurality of client states; providing an independent server process effected a pluralityof server states; transferring data from the server process to the client process in response to an application application program; and updating at least one client state in response the transferred data.
Abstract: A method for efficiently transferring data between a client and a server includes the steps of: providing an application program; providing an application-independent client process effecting a plurality of client states; providing an application-independent server process effecting a plurality of server states; transferring data from the server process to the client process in response to an application program; and updating at least one client state in response to the transferred data. A related apparatus is also disclosed.
TL;DR: In this paper, a networked system is described in which the majority of data bypass the server(s) while retaining the security, flexibility, and services that a server-based system provides.
Abstract: A networked system is described in which the majority of data bypass the server(s). This design improves the end-to-end performance of network access by achieving higher throughput between the network and storage system, improving reliability of the system, yet retaining the security, flexibility, and services that a server-based system provides. The apparatus that provides this improvement consists of a network interface, server computer interface, and storage interface. It also has a switching element and a high-layer protocol decoding and control unit. Incoming traffic (either from the network or storage system) is decoded and compared against a routing table. If there is a matching entry, it will be routed, according to the information to the network, the storage interface, or sent to the server for further processing (default). The routing table entries are set up by the server based on the nature of the applications when an application or user request initially comes in. Subsequently, barring any changes or errors, there will be no data exchange between the server and the device (although, a control message may still flow between them). There may also be a speed matching function between the network and storage, load balancing function for servers, and flow control for priority and QoS purposes. Because the majority of data traffic will bypass the bus and the operating system (OS) of the server(s), the reliability and throughput can also be significantly improved. Therefore, for a given capacity of a server, much more data traffic can be handled. Certain improvements concerning one particular embodiment of the invention are also disclosed.
TL;DR: In this paper, a scalable system and method for locating a closest server in response to a client request via an interactive distribution network, such as the Internet, is provided, in which a closest content server is defined as having the least round trip time for responding to client request.
Abstract: A scalable system and method for locating a closest server in response to a client request via an interactive distribution network, such as the Internet, are provided. A closest content server is defined as having the least round trip time for responding to a client request. The system including a plurality of content servers; and a local server in communication with a plurality of clients, the local server acting as a proxy for communicating client requests from clients to a redirection server. Client network distance and load information is periodically collected at each content server in the network from clients communicating with each of the respective content servers. The redirection server periodically aggregates the network distance and load information from each content server to create client clusters from both current and previously aggregated network distance and load information. Each client cluster represents a division or partition of the total IP address space. Each client cluster is then mapped (paired) to one or more content servers in the network. The mapping or pairing is then utilized to respond to client DN requests received from any client in the network. Another aspect of the invention involves considering the respective capacities of the content servers in the network. A selection probability is assigned to each content server/domain index pair to prevent the repeated selection of the content server having lowest round trip time thereby overloading that server's service capacity. The selection probabilities assigned to each content server effect a load balancing to prevent overloading. Another aspect of the invention involves collecting the distance and load information without incurring any overhead cost by passively collecting TCP information as it is transmitted from clients in communication with content servers in the course of normal communications.
TL;DR: In this paper, the authors present a financial transaction system that allows clients of a financial institution to use a web-based workstation to interface with a plurality of back office systems within one or more financial institutions.
Abstract: A financial transaction system consistent with the invention allows clients of a financial institution to use a web-based workstation to interface with a plurality of back office systems within one or more financial institutions. In an exemplary embodiment, a financial transaction system comprises a hub server, a plurality of financial institutions, at least one web server, and at least one database server. The hub server receives data in the form of a plurality of disparately formatted instructions and communicates the instructions to the financial institutions, which are connected to the hub server for receiving the data and have a plurality of differing reception formats to receive the reformatted data. Data is transmitted between the web server and at least one user via a network interface, and between the web server and the hub server. The web server stores data and at least one application in an application database. Data is transmitted between the database server, the hub server, and the web server, and is stored in a hub database. The hub server maps data received from the financial institutions and loads it onto the hub database. The web server receives the mapped data from the hub database, transmits it onto the application database, and permits the user to manipulate it using the application. In another exemplary embodiment, a method of executing a financial transaction consistent with the present invention comprises the steps of receiving into an application database an instruction to execute a financial transaction from at least one user using an application, receiving the instruction into a hub database, reformatting the instruction, and routing the reformatted instruction to at least one financial institution.
TL;DR: In this paper, a system and method for automatically providing services over a computer network, such as the Internet, for users in a mobile environment based on their geographic location is presented.
Abstract: A system and method for automatically providing services over a computer network, such as the Internet, for users in a mobile environment based on their geographic location. A client computer system is equipped with a local storage device, a wireless transceiver, an input device, in output device and an automatic location identifying (ALI) device. An application program is installed on the client computer system that prompts the user to input information. The application program builds a data packet comprising location information and user information and stores the data packet on the local client storage device. The client computer system connects with a server coupled to a computer network, such as the Internet. Upon connection, the client automatically transmits the electronic data packet to the server. The primary server maintains a database that contains a list of enhanced services. The information in the data packet is used to formulate a database query. The result of the database query is an address of a particular enhanced server that matches the client's request. A specific universal resource locator (URL) that contains the address of the enhanced server is transmitted to the client. The client computer system launches a web browser and connects to the enhanced server. Upon connection relevant data customized for the client's location is automatically displayed without additional input from the user.
TL;DR: In this paper, the authors present a system and apparatus for efficient and reliable, control and distribution of data files or portions of files, applications, or other data objects in large-scale distributed networks.
Abstract: The present invention provides a system and apparatus for efficient and reliable, control and distribution of data files or portions of files, applications, or other data objects in large-scale distributed networks. A unique content-management front-end provides efficient controls for triggering distribution of digitized data content to selected groups of a large number of remote computer servers. Network distribution messages are dispatched according to a sorted list of servers, based on factors such as nearness, server processor speed, reliability, and CPU Usage. For large numbers of servers, a store-and-forward approach becomes much more efficient. A first selected server receives the message from a content control manager (CCM). The first server requests instructions for the next server listed on an ordered list in the CCM and forwards a copy of that message to the next identified server. Each server reports its completion and requests further instructions from the CCM. This mechanism permits highly efficient and robust distribution of assignments and data content from the CCM to each required GL using a store-and-forward tree structure.
TL;DR: In this paper, the authors present a method, apparatus, and article of manufacture for an application programming interface (API) on a client computer that enables access to architectural project information stored across the internet on a server site.
Abstract: A method, apparatus, and article of manufacture for an application programming interface (API) on a client computer that enables access to architectural project information stored across the internet on a server site. The server site maintains an organization for the architectural information in the form of containers for storing, managing, and sharing files for one or more architectural projects, wherein the files comprise drawings, documents, communications, and tasks related to the architectural projects. The API of the invention permits third parties to create custom clients or permit direct access to a site hosted on a server. Such an API operates with both thick (.exe) and thin (.html) clients. The API establishes/obtains a connection between the client and the server to enable such access. For example, if the user desires to store a file on the server site, the user selects the appropriate server site/folder from within an application program executing the API. The API may then require the user to logon and confirms that the user has appropriate access permissions to work with the server site/folder. Once confirmed, the connection session is established. During the session, the user may access and download files as desired while maintaining the storage structure of architectural information stored on the server site.
TL;DR: A client/server computer system having personalizable views of database data is described in this article, where a translator is used to convert client application database input and output requests into native database commands.
Abstract: A client/server computer system having personalizable views of database data The personalizable views programmed in client profiles which are customized for each client in the client/server computer system The client/server computer system featuring a translator for converting client application database input and output requests into native database commands The translator also supporting processing functions on data both retrieved from the database and stored to the database according to each individual client profile The client/server computer system also supporting a hierarchy of preprogrammable group profiles which may be assigned to a group of clients The client/server system also providing a security function for database data without modifying either the client applications executing on each client terminal or the native database
TL;DR: The control software required to support task switching for an application split over the host processor - coprocessor boundary as well as the requirements and features of context saving and restoring in the FPGA cop rocessor context are explored.
Abstract: Multitasking on an FPGA-based processor is one possibility to explore the efficacy of reconfigurable computing. Conventional computers and operating systems have demonstrated the many advantages of sharing computational hardware by several tasks over time. The ability to do run-time configuration and readback of FPGAs in a coprocessor architecture allows investigating the problems of implementing realistic multitasking. This paper explores the control software required to support task switching for an application split over the host processor - coprocessor boundary as well as the requirements and features of context saving and restoring in the FPGA coprocessor context. An FPGA coprocessor designed especially to support multitasking of such applications is described.
TL;DR: In this article, a system, method and apparatus for utilizing transaction databases in a client-server environment is presented, which includes the steps of receiving a user request from the user via the user interface and retrieving a template from the client template database based on the user request.
Abstract: A system, method and apparatus for utilizing transaction databases in a client-server environment. The transaction databases can be used to receive and retain multiple server responses to consecutive client requests regardless of the temporal relationship between the multiple responses and consecutive requests. One method of the invention relates to how a client device displays information. This method is for use in a client-server system including one or more servers and a client device having a client transaction database, a client template database, and a user interface adapted to enable a user to enter requests. The method includes the steps of receiving a user request from the user via the user interface and retrieving a template from the client template database based on the user request. The template includes one or more data fields. The method also includes the step of retrieving information from the client transaction database based on the template, wherein the information relates to the one or more data fields of the template. A page is then displayed based on the template and the information relating to the one or more data fields.
TL;DR: In this paper, the authors propose a solution to the problem of routing or redirecting a given client to a replica or proxy server which has a relatively shortest propagation delay to the client.
Abstract: The technique of the present invention provides a solution to the problem of routing or redirecting a given client to a replica or proxy server which has a relatively shortest propagation delay to the client. According to the technique of the present invention, a network device referred to as an intercept server sits in front of a host server, and intercepts packets routed to the host server. When desired, packets which are intercepted by the intercept server are replicated, encapsulated and tunneled to selected client servers in the overlay network. The tunneled packets are received and processed by each of the selected client servers, whereupon each of the selected client servers generates a respective spoofed response to the source device identified in the header of the originally intercepted packet. Further, according to the technique of the present invention, each of the selected client servers transmits its respective spoofed response to the identified source device at substantially the same time. The client server associated with the spoofed response which is first received at the identified source device is considered to have the relatively shortest propagation delay to the identified source device, and is identified as the successful client server. Thereafter, the source device will be directed or redirected to communicate directly with the successful client server when subsequently attempting to access information from the host server.
TL;DR: In this paper, a system for enterprise information management includes a data warehouse server, a transformation and staging server connected to the data warehouse for providing transformed and cleansed data to the Data Warehouse server.
Abstract: A system for enterprise information management includes a data warehouse server; a transformation and staging server connected to the data warehouse server for providing transformed and cleansed data to the data warehouse server; a data source application connected to the transformation and staging server to provide data to the transformation and staging server, wherein the transformation and staging server obtains data from the data source application via requests and places the data into temporary staging tables to prepare for the transformation and cleansing process prior to movement of the data to the data warehouse server; a financial consolidation application connected to the transformation and staging server for performing consolidation and reporting of financial data; a web server connected to the data warehouse server; and a plurality of clients connectable to the web server for accessing data from the data warehouse server via the web server.
TL;DR: In this paper, a distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link, where client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system.
Abstract: A distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link. Client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system. As a result, the system and method of the present invention is easily scalable to support an arbitrary number of participants to a conference by merely adding the appropriate number of server computers to the system. In addition, by replicating the conference information on more than one server computer, the single point of failure limitation is eliminated. In fact, if a server hosting or participating in a conference malfunctions, the failure is detected by other server computers and the client computer is able to reconnect to the conference through a new server computer.
TL;DR: In this paper, a distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link, where client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system.
Abstract: A distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link. Client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system. As a result, the system and method of the present invention is easily scalable to support an arbitrary number of participants to a conference by merely adding the appropriate number of server computers to the system. In addition, by replicating the conference information on more than one server computer, the single point of failure limitation is eliminated. In fact, if a server hosting or participating in a conference malfunctions, the failure is detected by other server computers and the client computer is able to reconnect to the conference through a new server computer.
TL;DR: In this article, a failover mechanism causes future requests to be handled by a different application server until the performance improves, under extreme circumstances, an application server will be restarted.
Abstract: A computer system for a web site uses load balancing of new sessions based on measurements and estimates of past, present, and future performance, using the average time each application server takes to respond to a request (the latency) and the number of active sessions on each application server. Generally, once assigned to a session, an application server handles all future requests relating to that session. However, if the load or performance of an application server becomes sufficiently degraded, a failover mechanism causes future requests to be handled by a different application server until the performance improves. Under extreme circumstances, an application server will be restarted. If a web or HTTP server is unable to have requests served by any application server, future requests may be redirected to another web server.
TL;DR: In this article, a system for distributing load between multiple servers where more than one server in a sever cluster receives a request for connection from a client and each server makes a determination of whether or not to respond to the request is described.
Abstract: A system for distributing load between multiple servers where more than one server in a sever cluster receives a request for connection from a client and each server makes a determination of whether or not to respond to the request Software modules running on the servers monitor and communicate relative abilities of each server to respond to client requests Each server responding to a percentage of client requests corresponding to its relative ability to respond