TL;DR: In this paper, the target server and the border server utilize various combinations of secure and non-secure caches for secure access to a network from an external client, where requests for access to confidential data may be redirected from a target server to a border server, after which a secure sockets layer connection between the border and the external client carries user authentication information.
Abstract: Methods, signals, devices, and systems are provided for secure access to a network from an external client. Requests for access to confidential data may be redirected from a target server to a border server, after which a secure sockets layer connection between the border server and the external client carries user authentication information. After the user is authenticated to the network, requests may be redirected back to the original target server. Web pages sent from the target server to the external client are scanned for non-secure URLs such as those containing "http://" and modified to make them secure. The target server and the border server utilize various combinations of secure and non-secure caches. Although tunneling may be used, the extensive configuration management burdens imposed by virtual private networks are not required.
TL;DR: In this paper, a system and method is provided to facilitate communication and collaboration by considering the timing of a user's activities on one or more clients via accessing, from a centralized server, information about the user's client-server interactions.
Abstract: A system and method is provided to facilitate communication and collaboration by considering the timing of a user's activities on one or more clients via accessing, from a centralized server, information about the user's client-server interactions. The systems and methods can harness existing protocols and data exchange used in legacy client-server applications for email, making available to one or more client-side message routing applications, information about a user's interactions with email across multiple clients. Applications include considering the time since the last client-server interaction to guide decisions about if, when, and how to route messages so as to limit the mobile relay of information a user has already seen, providing information to colleagues about a user's current or past “inbox presence,” and forecasting the time until a user will have access to a device or communication channel.
TL;DR: In this article, a communication application server is proposed for supporting converged communications in a communication system, where the communication service requests from external endpoints, applications or other requesting entities are routed through the communication application servers.
Abstract: A communication application server for supporting converged communications in a communication system. The communication application server is responsive to communication service requests from external endpoints, applications or other requesting entities, and in one embodiment comprises at least first and second components. The first component is operative: (i) to process a given one of the communication service requests to identify at least one corresponding communication service supported by the communication application server; (ii) to determine one or more executable communication tasks associated with the identified communication service; and (iii) to establish communication with one or more external servers to carry out execution of at least a subset of the one or more executable communication taks associated with the communication service. The second component is coupled between the first component and the one or more external servers, and provides, for each of the external servers, a corresponding interface for connecting the communication application server to the external server.
TL;DR: A sense of some of the tradeoffs required to deliver a cutting-edge action experience on the Internet is given, and how predictive modeling can be used to mask the effects of latency is shown.
Abstract: Overview: Designing first-person action games for Internet play is a challenging process. Having robust on-line gameplay in your action title, however, is becoming essential to the success and longevity of the title. In addition, the PC space is well known for requiring developers to support a wide variety of customer setups. Often, customers are running on less than state-of-the-art hardware. The same holds true for their network connections. While broadband has been held out as a panacea for all of the current woes of on-line gaming, broadband is not an simple solution allowing developers to ignore the implications of latency and other network factors in game designs. It will be some time before broadband truly becomes adopted the United States, and much longer before it can be assumed to exist for your clients in the rest of the world. In addition, there are a lot of poor broadband solutions, where users may occasionally have high bandwidth, but more often than not also have significant latency and packet loss in their connections. Your game must to behave well in this world. This discussion will give you a sense of some of the tradeoffs required to deliver a cutting-edge action experience on the Internet. The discussion will provide some background on how client / server architectures work in many on-line action games. In addition, the discussion will show how predictive modeling can be used to mask the effects of latency. Finally, the discussion will describe a specific mechanism, lag compensation, for allowing the game to compensate for connection quality. Most action games played on the net today are modified client / server games. Games such as Half-Life, including its mods such as Counter-Strike and Team Fortress Classic, operate on such a system, as do games based on the Quake3 engine and the Unreal Tournament engine. In these games, there is a single, authoritative server that is responsible for running the main game logic. To this are connected one or more " dumb " clients. These clients, initially, were nothing more than a way for the user input to be sampled and forwarded to the server for execution. The server would execute the input commands, move around other objects, and then send back to the client a list of objects to render. Of course, the real world system has more components to it, but the simplified breakdown is useful for thinking about prediction …
TL;DR: In this paper, an application deployment model for enterprise applications enables such applications to be deployed to and executed from a globally distributed computing platform, such as an edge server in an Internet content delivery network (CDN).
Abstract: An application deployment model for enterprise applications enables such applications to be deployed to and executed from a globally distributed computing platform, such as an edge server in an Internet content delivery network (CDN). In a representative embodiment, a CDN edge server supports application server code that executes a Web tier and/or Enterprise tier component of a given Java-based application. When multiple instances of the application server code are executed, given resources (e.g., memory, CPU, disk and network I/O) are monitored, and the application server instances are terminated or rate-limited to prevent over-utilization by any particular instance. In addition, a given application running in a given application server instance is restricted from taking certain actions, e.g., reading or writing from a file system, so that it cannot interfere with or access data from another customer's application.
TL;DR: In this paper, a network transaction accelerator for accelerating transactions involving data transfer between at least one client and at least a server over a network comprising a client-side engine, a server side engine and a transaction predictor configured to predict, based on past transactions, which transactions are likely to occur in the future between the client and server.
Abstract: In a network that conveys requests from clients to servers and responses from servers to clients, a network transaction accelerator for accelerating transactions involving data transfer between at least one client and at least one server over a network comprising a client-side engine, a server-side engine and a transaction predictor configured to predict, based on past transactions, which transactions are likely to occur in the future between the client and server. The transaction predictor might be in the server-side engine, the client-side engine, or both. The client-side engine receives indications of requests from the client, a transaction buffer for storing results of predicted transactions received from the server or the server-side engine ahead of receipt of a corresponding request, and a collator for collating the requests from the client with the stored results or received results, wherein a request and a response that are matched by the collator are identified and the matched response is provided to the client in response to the matched request. The server-side engine receives indications of transactions including requests and responses and conveys requests to the server in response to actual transactions or predicted transactions.
TL;DR: Methods of transparent connection failover allowing a remote computer to continue to use a network connection to communicate with one of at least two or more other computers over a network when one of the other computers fails.
Abstract: Methods of transparent connection failover allowing a remote computer (i.e., a client), to continue to use a network connection to communicate with one of at least two or more other computers (i.e., the backup servers) over a network, when one of the other computers (i.e., the primary server) fails. With the mechanisms of this invention, there is no need for the client to establish a new connection to a backup server when the primary server fails. The failover is preferably executed within a bridge layer between the TCP layer and the IP layer of the server's TCP/IP stack. No modifications are required to the network infrastructure, the client's TCP/IP stack, the client application or the server application. The methods support active or semiactive replication of the server application, and do not require rollback of the application during failover. The invention also provides mechanisms for bringing up new backup servers.
TL;DR: In this article, a distributed server architecture for in-flight passenger entertainment system for an aircraft or other vehicle, utilizes a distributed network server architecture to host and support a variety of audio/visual content providing applications.
Abstract: In-flight passenger entertainment system for an aircraft or other vehicle, utilizes a distributed network server architecture to host and support a variety of audio/visual content providing applications. A communications management unit (20) provides connectivity between the distributed network architecture and various satellite, wireless, or ground broadband signal sources. A distributed server architecture (14) implemented in a wireless LAN configuration, allows passengers to access WWW functionality, email functionality as well as multimedia content, broadcast television, cellular telephone communication, and the like. Individual nodes of the distributed network architecture host individual ones of the various communication applications such that a central server and centralized distribution network is no longer necessary.
TL;DR: In this paper, a server provides a secure environment for establishing peer-to-peer communications between clients, and different levels of authorization may be granted to different clients, to limit the interaction between clients.
Abstract: A server provides a secure environment for establishing peer-to-peer communications between clients. When two clients of the server wish to establish peer-to-peer communication, they first connect to the server. The server authenticates each client and provides information to authenticated clients to enable them to establish peer-to-peer communication. Any client who abuses the peer-to-peer communication privileges can lose the right to be authenticated. In an exemplary embodiment, the server is a game server and the clients joining in playing games, preferably using voiced-based peer-to-peer communication. Different levels of authorization may be granted to different clients, to limit the interaction between clients.
TL;DR: WebSTAT is presented, an intrusion detection system that analyzes Web requests looking for evidence of malicious behavior and provides a sophisticated language to describe multistep attacks in terms of states and transitions to achieve more effective detection of Web-based attacks.
Abstract: Web servers are ubiquitous, remotely accessible, and often misconfigured. In addition, custom Web-based applications may introduce vulnerabilities that are overlooked even by the most security-conscious server administrators. Consequently, Web servers are a popular target for hackers. To mitigate the security exposure associated with Web servers, intrusion detection systems are deployed to analyze and screen incoming requests. The goal is to perform early detection of malicious activity and possibly prevent more serious damage to the protected site. Even though intrusion detection is critical for the security of Web servers, the intrusion detection systems available today only perform very simple analyses and are often vulnerable to simple evasion techniques. In addition, most systems do not provide sophisticated attack languages that allow a system administrator to specify custom, complex attack scenarios to be detected. We present WebSTAT, an intrusion detection system that analyzes Web requests looking for evidence of malicious behavior. The system is novel in several ways. First of all, it provides a sophisticated language to describe multistep attacks in terms of states and transitions. In addition, the modular nature of the system supports the integrated analysis of network traffic sent to the server host, operating system-level audit data produced by the server host, and the access logs produced by the Web server. By correlating different streams of events, it is possible to achieve more effective detection of Web-based attacks.
TL;DR: In this paper, a color search engine for measurement and matching of color and patterns in everyday objects using a simple, inexpensive, self-contained, handheld device (such as a Personal Digital Assistant (PDA) with a digital imaging array video camera attachment).
Abstract: This invention relates to the measurement of color and patterns in everyday objects using a simple, inexpensive, self-contained, handheld device (such as a Personal Digital Assistant (PDA) with a digital imaging array video camera attachment). A key component of the invention is a novel color search engine for measurement and matching of color, which runs on the PDA, but can also be used as a server based application, or in a client server model over the internet. The invention will help professionals and consumers to identify, match and remember patterns and manage custom palettes for a wide variety of products anywhere None of the traditional methods for pattern matching adequately address the need for a portable, inexpensive method of acquiring and managing pattern information for a random physical object. Each of them is targeted at a specific industry application, from the industry's point of view.
TL;DR: A variation of the prediction by partial match model, for example, makes prefetching decisions by reviewing URLs clients have accessed on a particular server, then structuring them in a Markov predictor tree is proposed that builds common surfing patterns and regularities into the tree.
Abstract: The diverse server, client, and unique file object types used today slow Web performance. Caching alone offers limited performance relief because it cannot handle many different file types easily. One solution combines caching with Web prefetching: obtaining the Web data a client might need from data about that client's past surfing activity. The prediction by partial match model, for example, makes prefetching decisions by reviewing URLs clients have accessed on a particular server, then structuring them in a Markov predictor tree. The authors propose a variation of this model that builds common surfing patterns and regularities into the tree.
TL;DR: In this article, the application's GUI API and event processing API are implemented to be network-aware, transmitting application's presentation layer information, event processing registries, and other related information between client and server.
Abstract: A method for delivering applications over a network where the application's logic runs on the backend server and the application's user interface is rendered on a client-device, according to its display capabilities, thought a network connection with the backend server. The application's GUI API and event processing API are implemented to be network-aware, transmitting application's presentation layer information, event processing registries, and other related information a between client and server. The transmission is a high, object level format, which minimizes network traffic. Client-side events are transmitted to the server for processing via a predetermined protocol, the server treating such events and inputs as if locally generated. The appropriate response to the input is generated and transmitted to the client device using the format to refresh the GUI on the client.
TL;DR: In this article, a system and method for distributing streaming content data from a server to multiple clients enables the server to handle transient surges of requests by having the clients cooperate with the server and other clients to distribute content.
Abstract: A system and method for distributing streaming content data from a server to multiple clients enables the server to handle transient surges of requests by having the clients cooperate with the server and other clients to distribute content, thereby alleviating the load on the server. The server divides the streaming content into multiple sub-streams (e.g., by using multiple description coding), and constructs multiple distribution trees with itself at the root and each client as a node in each of the trees. Each sub-stream is transmitted down a corresponding one of the distribution trees. Clients that receive sub-streams from its parent nodes in the distribution trees in turn forward the sub-streams to their child nodes in the trees.
TL;DR: In this paper, the origin server is "shielded" from the publicly-routable IP address space, and only given machines acting as clients can access it, and then only under restricted, secure circumstances.
Abstract: The present invention addresses the known vulnerabilities of Web site infrastructure by making an origin server substantially inaccessible via Internet Protocol traffic. In particular, according to a preferred embodiment, the origin server is 'shielded' from the publicly-routable IP address space (Figure 3, 308). Preferably, only given machines acting as clients can access the origin server, and then only under restricted, secure circumstances. In a preferred embodiment, these clients are the servers located in a 'parent' region of a content delivery network (CDN) tiered distribution hierarchy (304).
TL;DR: In this paper, the capacity to serve out servable resources is distributed between the resources without necessarily moving the resource data itself between the servers by distributing: resource serving application software and/or installation software adapted to install resource-serving application software.
Abstract: The availability of requested network resources in a network of servers, each having associated network-servable resources of a specific kind is maintained. Resource data and resource-serving application software serve out the resource data and dynamically distribute capacity to serve out servable resources between the resource servers dependent on demand for the resources. The capability of the network as a whole to serve out a particular resource dependent upon the level of demand for the particular resource is thereby varied. The capacity to serve out servable resources is distributed between the resources without necessarily moving the resource data itself between the servers by distributing: resource-serving application software and/or installation software adapted to install resource-serving application software.
TL;DR: The principles and concepts needed to take on the most common challenges encountered during planning, implementing, and managing Internet and intranet IP-based server farms are addressed.
Abstract: Master the basics of data centers to build server farms that enhance your Web site performance Learn design guidelines that show how to deploy server farms in highly available and scalable environments Plan site performance capacity with discussions of server farm architectures and their real-life applications to determine your system needs Today's market demands that businesses have an Internet presence through which they can perform e-commerce and customer support, and establish a presence that can attract and increase their customer base. Underestimated hit ratios, compromised credit card records, perceived slow Web site access, or the infamous "Object Not Found" alerts make the difference between a successful online presence and one that is bound to fail. These challenges can be solved in part with the use of data center technology. Data centers switch traffic based on information at the Network, Transport, or Application layers. Content switches perform the "best server" selection process to direct users' requests for a specific service to a server in a server farm. The best server selection process takes into account both server load and availability, and the existence and consistency of the requested content. Data Center Fundamentals helps you understand the basic concepts behind the design and scaling of server farms using data center and content switching technologies. It addresses the principles and concepts needed to take on the most common challenges encountered during planning, implementing, and managing Internet and intranet IP-based server farms. An in-depth analysis of the data center technology with real-life scenarios make Data Center Fundamentals an ideal reference for understanding, planning, and designing Web hosting and e-commerce environments.
TL;DR: In this article, a system for monitoring and evaluating the performance of a server comprises a component that monitors a plurality of performance metrics of the server over a period of time while the server responds to requests from clients.
Abstract: A system for monitoring and evaluating the performance of a server comprises a component that monitors a plurality of performance metrics of the server over a period of time while the server responds to requests from clients. An analysis component analyzes the collected performance metric data values to evaluate degrees to which specific performance metrics are related. Causal relationships and dependencies that affect the performance of the server are thereby identified.
TL;DR: In this article, the authors describe a method, apparatus, computer system and computer program product that enable a server to provide information and control the display of the information at a client dynamically without being persistently connected to the client.
Abstract: A method, apparatus, computer system and computer program product that enable a server to provide information and control the display of the information at a client dynamically without being persistently connected to the client. Functionality of the user interface can be changed without changing a client application displaying the information, installing a new application on the client computer system, or maintaining a persistent network connection between the client computer system and the server computer system. A control program running on the client computer system is configured to operate according to instructions provided by the server. The instructions provide information such as particular modules to present within the user interface and the layout of windows that provide access to the modules. The server also provides instructions for responses to be performed upon receiving events.
TL;DR: In this paper, a server load balancing system for distributing a content delivery to a client among a plurality of content servers, comprises a destination server determining policy setting unit for setting selection criteria for determining a content server for delivering the content for every content characteristic and a server determining unit for determining the content server according to the selection criteria corresponding to the characteristic of the requested content.
Abstract: A server load balancing system for distributing a content delivery to a client among a plurality of content servers, comprises a destination server determining policy setting unit for setting selection criteria for determining a content server for delivering the content for every content characteristic and a destination server determining unit for determining the content server for delivering the content requested from the client, according to the selection criteria corresponding to the characteristic of the requested content.
TL;DR: In this paper, a client request for digital information to a server by selecting a server based on client location is forwarded to the server by using client location derived from a query to a client application such as a modem dial-up application or a mobile phone Global Positioning System.
Abstract: Redirecting a client request for digital information to a server by selecting a server based on client location. The client location derived from a query to a client application such as a modem dial-up application or a mobile phone Global Positioning System. The client location information being used in combination with a listing of groups of servers as well as a listing of servers having the requested digital information to select a preferred server satisfying geographical preferences.
TL;DR: In this article, a web-based system for monitoring the operation and status of a video/audio conferencing system is presented, which includes multiple client computer devices that interconnect with a web server.
Abstract: The operation and status of a system, such as a video/audio conferencing system, is monitored through the use of a web-based system. The system includes multiple client computer devices that interconnect with a web server. The web server is able to access the system to determine status changes, as well as to control the operation of the system. For operability across multiple platforms and technologies, the interface between the web server and the system is performed using a Microsoft Component Object Model (“COM”) application. The web server also includes an ASP page constructed with a server script and one or more client scripts embedded or invoked from the server script. The server script is set up to operate in a looped configuration. Each pass through the loop of the server script, the system is queried to determine if a status change has occurred. If no change has occurred, the server script delays and then restarts the loop. If a change in status has occurred, the client script is updated to reflect the status change and the client script is downloaded to the client computer device. The client computer device includes a web browser that loads a split pane website from the web server—one pane being visible and the other pane being invisible. The client script runs within the invisible pane and is generally constructed to update the visible pane to reflect the status change. Thus, the visible pane on the client computer system can be updated automatically and rapidly without requiring a user to perform any functions, such as actuating a refresh button.
TL;DR: In this article, the authors propose a mechanism to switch over from the client to the host environment in the case of, with respect to the primary environment, a disaster, a need to perform maintenance, system failure and the like.
Abstract: Stable and automated recovery of an application executing on a primary computer system by transitioning to a secondary computer system is provided [Fig. 1]. Intelligent agents [112a] installed on a primary client server [102] allow the primary environment to be replicated on a host [128], secondary environment [106]. This creates continuous availability of applications executing on the primary system via the mirrored host environment. Every transaction on the client environment (e.g., every piece of data) is replicated in real-time on the host environment. A simple mechanism (e.g., a button) is provided to allow access to the secondary environment thereby switching over from the client environment to the host environment in the case of, with respect to the primary environment, a disaster, a need to perform maintenance, system failure and the like.
TL;DR: In this paper, a client application registers a request entry with a scheduler, informing the scheduler of associated application callback, and then invokes this application callback when a network connection is available for use, and the client application then sends the request to the server.
Abstract: One disadvantage of the client/server computing model is the client's strong dependence on the server. A system and method are disclosed for enabling a client application to operate offline from the server. For each request, the client application registers a request entry with a scheduler, informing the scheduler of an associated application callback. The scheduler then invokes this application callback when a network connection is available for use, and the client application then sends the request to the server. Error recovery methods are described for requests that are sent to the server but for which no reply is received, and for other error scenarios. Some applications may maintain client-side caches to lookup information independently of the server. Synchronization entries may be registered with the scheduler for keeping the client-side cache in sync with the server-side master data.
TL;DR: In this paper, a system for configuring heterogeneous servers across a network through modules that can browse, snapshot, track changes, track compliance, correct server objects on each of the servers, and provision new servers is provided.
Abstract: A method and system for configuring heterogeneous servers across a network through modules that can browse, snapshot, track changes, track compliance, correct server objects on each of the servers, and provision new servers is provided. In one embodiment, server objects on multiple servers can be browsed in real time. While browsing, a collection of server object identifiers can be selected and collected in a template. The values of the server objects identified in the template can be recorded for a “gold server” through a “snapshot” process, which collects the values and saves them in a reference model. By comparing other live servers to the reference model, discrepancies in configuration of the other live servers can be identified and corrected. The reference models can also be used to provision a new server. Alternative to the reference model, an arbitrary snapshot or scheduled snapshots of a server can be used to track change and compliance in that server.
TL;DR: In this paper, a virtual server is defined as an abstract model representing a collection of actual target servers, and abstract system calls that extend execution of operating-system-specific system calls to multiple servers, regardless of their supported operating systems, are used.
Abstract: A method and system for managing a large number of servers and their server components distributed throughout a heterogeneous computing environment is provided. In one embodiment, an authenticated user, such as a IT system administrator, can securely and simultaneously control and configure multiple servers, supporting different operating systems, through a “virtual server.” A virtual server is an abstract model representing a collection of actual target servers. To represent multiple physical servers as one virtual server, abstract system calls that extend execution of operating-system-specific system calls to multiple servers, regardless of their supported operating systems, are used. A virtual server is implemented by a virtual server client and a collection of virtual server agents associated with a collection of actual servers.
TL;DR: In this paper, an electronic commerce system integrating plurality of content provider servers with plurality of merchant servers having integration server communicating request for commercial transaction to at least one merchant server, thus enabling the user of the client computer connected to the content provider server to initiate commercial transactions without being redirected to the merchant server away from the content providers server.
Abstract: An electronic commerce system integrating plurality of content provider servers with plurality of merchant servers having integration server communicating request for commercial transaction to at least one merchant server, thus enabling the user of the client computer connected to the content provider server to initiate commercial transactions to at least one merchant server without being redirected to the merchant server away from the content provider server. The system increases customer retention on the content provider server, thereby increasing incentive for content providers to join the commerce system, thereby increasing the number of sites advertising products offered by merchants. The system also simplifies integration of multitude of servers, thereby reducing cost and time required for such integration.
TL;DR: In this article, a single frame failover can be accomplished by simultaneously streaming a digital asset by a first server and a second server, and the second server flags each frame of the asset for discard, and meanwhile monitors the first server to ensure the firstserver is operational.
Abstract: Systems, methods, and computer readable media are provided for very fast failover of streaming media servers. Fast failover allows for better quality of service. If a first server that is streaming media to a customer fails, a second server can continue operations in its place. Single frame failover can be accomplished by simultaneously streaming a digital asset by a first server and a second server. The second server flags each frame of the asset for discard, and meanwhile monitors the first server to ensure the first server is operational. Upon detecting a failure in the first server, the second server stops flagging frames for discard.
TL;DR: In this paper, a method for monitoring client interaction with a resource downloaded from a server in a computer network includes the steps of using a client to specify an address of a resource located on a first server, downloading a file corresponding to the resource from the first server in response to specification of the address, using a server to acquire client identifying indicia from the client, and uploading the amount of time determined by the first executable program to a third server.
Abstract: A method for monitoring client interaction with a resource downloaded from a server in a computer network includes the steps of using a client to specify an address of a resource located on a first server, downloading a file corresponding to the resource from the first server in response to specification of the address, using the client to specify an address of a first executable program located on a second server, the address of the first executable program being embedded in the file downloaded from the first server, the first executable program including a software timer for monitoring the amount of time the client spends interacting with and displaying the file downloaded from the first server, downloading the first executable program from the second server to run on the client so as to determine the amount of time the client interacts with the file downloaded from the first server, using a server to acquire client identifying indicia from the client, and uploading the amount of time determined by the first executable program to a third server
TL;DR: In this article, a stateless protocol is proposed to manage state information across communication sessions between a client and a server via a hyperlink to non-cacheable embedded content, where the user obtains embedded content from the cached web page via the hyperlink, the identifier is also sent to the server.
Abstract: Managing state information across communication sessions between a client and a server via a stateless protocol. The server delivers to the client a cacheable web page with a hyperlink to non-cacheable embedded content. In the hyperlink to the non-cacheable embedded content, the server adds a token or an identifier uniquely associated with the user. When the user obtains embedded content from the cached web page via the hyperlink, the identifier is also sent to the server. Upon receipt of the identifier from the client, the server accesses the stored state information. In this manner, the server manages state information related to the client across communication sessions without the use of cookies as long as the client caches the web page with the unique identifier.