WO1997003400A1 - Method and apparatus for managing multiple server requests and collating responses - Google Patents

Method and apparatus for managing multiple server requests and collating responses Download PDF

Info

Publication number
WO1997003400A1
WO1997003400A1 PCT/US1996/011678 US9611678W WO9703400A1 WO 1997003400 A1 WO1997003400 A1 WO 1997003400A1 US 9611678 W US9611678 W US 9611678W WO 9703400 A1 WO9703400 A1 WO 9703400A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
response
request
domain
client
Prior art date
Application number
PCT/US1996/011678
Other languages
French (fr)
Inventor
Uptal Datta
Mark Wagner
Original Assignee
Cabletron Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cabletron Systems, Inc. filed Critical Cabletron Systems, Inc.
Priority to EP96925309A priority Critical patent/EP0838056B1/en
Priority to AT96925309T priority patent/ATE192589T1/en
Priority to AU65451/96A priority patent/AU711060B2/en
Priority to DE69608107T priority patent/DE69608107T2/en
Publication of WO1997003400A1 publication Critical patent/WO1997003400A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Definitions

  • This invention relates generally to computer communications systems and more particularly to a mechanism and process for dispatching a request from a client to a number of servers, receiving responses from the servers, and returning a collated response to the client.
  • a program at one site sends a request to a program at another site and awaits a response.
  • the requesting program is called a client; the program satisfying the request is called the server.
  • Communications networks allow clients and servers to exchange information by transmitting and receiving messages on the network.
  • a client will send a remote request individually to each server from which the client requires information. Also, if the client does not know the address ofthe server of interest, it will use an external nameservice lookup which returns the server address. The client can then proceed with the individual request to the server.
  • This prior art technique is illustrated in Figure 1. The process includes determining a request and the servers of interest (step 91), sending the request to a server (step 92), waiting for all ofthe responses from the server (step 93), and processing the responses (step 94). Each of steps 92-94 are repeated for each server.
  • This prior art technique does not provide for a single client request automatically translating into multiple (simultaneous) requests to multiple servers depending on the client's domains of interest. Furthermore, it requires that the client know the address of each server; the client must specify this address in each request. Further, the existing technique does not provide a collated response to multiple requests, even ifthe multiple requests are related. Also, there is also no overlap in time ofthe responses received. Instead, each request/response sequence is completed before a request is sent to the next server. Summary of the Invention
  • the present invention provides an apparatus and method for dispatching multiple requests from a client and for generating a collated response.
  • the method includes the steps of receiving from the client a request with a list of server domains of interest, mapping each domain to at least one server address, dispatching the request to each server address, receiving responses from each server, generating a collated response from the responses, and providing the client with the collated response.
  • the collated response includes responses ordered according to the domains; and the collated response triggers a process in the client.
  • the method can be used successfully for different protocols.
  • the apparatus ofthe invention may include a domain-to-server mapper which accesses an internal cache of domain/address mappings.
  • the apparatus may further include a dispatcher for sending simultaneous requests to multiple servers and a receiver for receiving multiple responses simultaneously and storing the responses in a context table which includes an anchor context and a number of dependent contexts.
  • a context is provided for each contacted server, and when all responses from a given server are received, it is transferred to the anchor context for providing a collated response to the client.
  • Figure 1 is a block diagram of a prior art method for sequentially sending requests to servers and receiving responses;
  • Figure 2 is a block diagram illustrating one apparatus embodiment ofthe present invention
  • Figure 3 illustrates one method of collating a response in accordance with the present invention
  • Figure 4 is a flow chart ofthe overall method ofthe invention.
  • Figure 5 shows a general purpose computer and memory for implementing the present invention.
  • FIG. 2 depicts one embodiment ofthe apparatus ofthe present invention.
  • a client 101 may have one or several requests for information to be sent to one or several servers, for example server-1 (102), server-2 (103) ... and server-N (104). These servers may reside on a single network 105, or several networks.
  • the client specifies a domain of interest and sends a request to a request manager 106.
  • a dispatcher collator 107 receives the request from the client.
  • the dispatcher collator includes a domain-to-server mapper 108, an internal cache 109 of server addresses, and a mechanism 110 for accessing an external nameservice process 112.
  • the domain-to-server mapper 108 determines which servers are associated with the domain of interest specified by the client 101.
  • the client 101 may specify more than one domain of interest in a single request.
  • the dispatcher collator 107 then passes the associated server addresses to the request dispatcher 111.
  • the mapper 108 checks the internal cache 109 for the server addresses, once the servers have been identified from the domain of interest. Ifthe internal cache 109 does not contain the addresses for any ofthe servers within the domain of interest, the lookup mechanism 110 queries an external nameservice 112 to determine the same. In such an instance, the addresses requested from the external nameservice 112 will then be stored in the internal cache 109, so that next time the dispatcher collator 107 can access the addresses without invoking a nameservice query.
  • the scope ofthe invention is not limited by any particular form ofthe internal cache 109.
  • the cache 109 may be preset by the client 101 as an option. In such an instance, the client 101 may prespecify a list of domains of interest.
  • the request dispatcher 111 creates multiple request messages, normally one for each server.
  • the request dispatcher 111 also creates a request context for each request and stores the same in a request context table 113.
  • One ofthese contexts is designated the "anchor" context 114, and the remaining contexts are treated as "dependent" contexts 115, 116.
  • Each ofthe dependent contexts 115, 116 has a reference to the anchor context 114.
  • a context may be added to the request context table 113 and indexed by a unique number, such as an exchange identifier. In such an example, each request message sent to a server may also be tagged by the exchange identifier.
  • the request dispatcher 111 simultaneously sends a request message to each ofthe designated servers.
  • a session count 117 within the anchor context 114 is incremented by one. Later, as the session with a particular server ends (indicated by either NO_DATA_FOUND, or NO_MORE_DATA or an error condition), the session count is decremented as described hereinafter.
  • Responses from the servers (102-104) may be received in any order, i.e. the responses may be asynchronous and interleaved. Normally, the order and amount of responses received from each server is completely unpredictable. This is because the order of receipt is influenced by such factors as the amount of relevant data stored by the server, the network distance between client and the server, etc. However, all ofthe responses received from any server are tagged by the same exchange identifier that was used for tagging the request that generated these responses. The response receiver 118 uses the exchange identifier associated with the response in order to identify the correct context. The response message received may then be stored in a message store area 120, shown in the request context table, where there is one message store area associated with each anchor context 114 and each dependent context 115, 116.
  • a server will set a no-more-data flag in a response when a session between the request manager 106 and a specific server is complete.
  • all of the responses from the message store of that context are transferred to the collated message store 121 in the anchor context.
  • the session count is decremented by one, indicating that all responses associated with a particular context (i.e., coming from a single server) have been received.
  • the request manager 106 sends the collated message back to the client 101.
  • the responses within the collated message are placed in an order according to the server from which they were received.
  • the dispatcher collator triggers a process 119 (pre-specified by the client at the initiation of the request) within the client 101 with a single collated response.
  • the server domain of interest can vary depending upon the application in which the response manager 106 is used.
  • a domain of interest is a sphere of control of a server, for example an entity or set of entities which the server controls, or which the server is responsible for.
  • server domains include the set of network services that are managed by a single Cabletron SpectrumTM server (sold by Cabletron Systems, Inc., Rochester, NH), a database or databases managed by a single database server, a DCE (distributed computing environment), an X.500 standard cell, or a group of entities whose name/location service is provided by a cell-directory server.
  • a client may process a request, and then determine the domain of interest associated with the request.
  • the domain of interest may be internally generated, may be received from an external device, or may be received from a user.
  • the request manager processes these requests by mapping the domains of interest into a list of network server addresses, sending the request to each ofthe servers, and receiving and collating the received responses.
  • the invention enables a client to dispatch any information request to a desired set of servers by identifying only the request and the domains of interest.
  • the invention is independent ofthe type of request or the communication protocol used between the client and servers.
  • an SNMP client may use this mechanism to send simultaneous requests to multiple SNMP servers (agents) and receive a single collated response; in the same way, a database client may send simultaneous SQL requests to multiple database servers and receive a single collated response.
  • server is broadly defined; the invention may be used for requesting responses from devices, such as other clients or other host computers; thus, as used herein, “server” includes such other devices.
  • Each server may send one or more responses for each request. Additionally, the request manager's session with each server may end in any order. In other words, multiple parallel sessions with multiple servers may continue, and the sessions do not have to end in the same order as the order in which the requests were sent.
  • the client has an option to indicate a specific process/action that needs to be triggered on receipt of all ofthe responses from all ofthe servers.
  • An input stream of responses 31 for a particular request may be received in any order. As shown, the order of receipt in this example is "RSP 1 from SI” (32), “RSP 1 from S2" (33), “RSP 2 from SI " (34), and “RSP 2 from S2" (35).
  • SI indicates a first server to which a request was sent
  • S2 indicates a second server to which a request was sent.
  • a collation process using the anchor/dependent context provides a collated response 30 such that response 1 from SI (32) and response 2 from SI (34) are first provided in serial order, and response 1 from S2 (33) and response 2 from S2 (35) are next provided in serial order.
  • the single collated response 30 is then provided to the client.
  • FIG. 4 illustrates generally the process steps in accordance with the present invention.
  • a request is received from a client.
  • This request includes a domain of interest, or a number of domains of interests.
  • Step 42 determines the servers from the domain or domains of interest, and also determines the address for each server.
  • the individual requests are dispatched to the servers, and in step 44 responses from the servers are received and collated.
  • the client is provided with a collated response.
  • an internal cache may be used in step 42 to determine the server addresses, and a nameservice mechanism may also be used to determine the addresses.
  • a request context table may be generated, which for each request, includes an anchor context and at least one dependent context.
  • the anchor context and the dependent context are one and the same.
  • one ofthe contexts is the anchor context and the rest are dependent contexts.
  • the anchor context includes a session count, so that as responses are received and collated from a server, the session count can be decremented. This session count is initially incremented when each server is sent a request, as in step 43. When the session count is decremented to zero (when all messages for all the requests are received), then the client may be provided with a collated response as in step 45. Alternatively, step 45 may trigger a process identified by a request within the client when the collator response is complete.
  • Any ofthe above embodiments may be implemented in a general purpose computer 90 as shown in Figure 5.
  • This general purpose computer may include a computer processing unit (CPU) 91, memory 92, a processing bus 93 by which the CPU can access the memory, and an interface 94 by which the CPU can interface to other devices.
  • CPU computer processing unit
  • the invention may be a general purpose computer apparatus 90 which performs the functions of any ofthe previous embodiments.
  • the invention may be a memory 92, such as a floppy disk, compact disk, or hard drive, that contains a computer program or data structure, for providing to a general purpose computer instructions and data for carrying out the functions ofthe previous embodiments.

Abstract

In a communications network, a request manager simultaneously dispatches a number of requests to servers corresponding to at least one domain of interest that is specified by a client. Multiple responses are received and a single collated response is sent back to the client that initiated the request. A request context table is provided which includes an anchor context and dependent contexts corresponding to each of the servers, and a session count for tracking receipt of all responses for each server. An internal cache of server addresses is also maintained.

Description

METHOD AND APPARATUS FOR MANAGING MULTIPLE SERVER REQUESTS AND COLLATING RESPONSES
Field of the Invention
This invention relates generally to computer communications systems and more particularly to a mechanism and process for dispatching a request from a client to a number of servers, receiving responses from the servers, and returning a collated response to the client.
Background ofthe Invention
In the "client-server" model of interaction in a distributed system, a program at one site sends a request to a program at another site and awaits a response. The requesting program is called a client; the program satisfying the request is called the server.
Communications networks allow clients and servers to exchange information by transmitting and receiving messages on the network. Currently, in order to obtain information from the servers, a client will send a remote request individually to each server from which the client requires information. Also, ifthe client does not know the address ofthe server of interest, it will use an external nameservice lookup which returns the server address. The client can then proceed with the individual request to the server. This prior art technique is illustrated in Figure 1. The process includes determining a request and the servers of interest (step 91), sending the request to a server (step 92), waiting for all ofthe responses from the server (step 93), and processing the responses (step 94). Each of steps 92-94 are repeated for each server.
This prior art technique does not provide for a single client request automatically translating into multiple (simultaneous) requests to multiple servers depending on the client's domains of interest. Furthermore, it requires that the client know the address of each server; the client must specify this address in each request. Further, the existing technique does not provide a collated response to multiple requests, even ifthe multiple requests are related. Also, there is also no overlap in time ofthe responses received. Instead, each request/response sequence is completed before a request is sent to the next server. Summary of the Invention
The present invention provides an apparatus and method for dispatching multiple requests from a client and for generating a collated response.
The method includes the steps of receiving from the client a request with a list of server domains of interest, mapping each domain to at least one server address, dispatching the request to each server address, receiving responses from each server, generating a collated response from the responses, and providing the client with the collated response.
In select embodiments: the collated response includes responses ordered according to the domains; and the collated response triggers a process in the client. The method can be used successfully for different protocols.
The apparatus ofthe invention may include a domain-to-server mapper which accesses an internal cache of domain/address mappings. The apparatus may further include a dispatcher for sending simultaneous requests to multiple servers and a receiver for receiving multiple responses simultaneously and storing the responses in a context table which includes an anchor context and a number of dependent contexts. A context is provided for each contacted server, and when all responses from a given server are received, it is transferred to the anchor context for providing a collated response to the client.
These and other advantages ofthe present invention will be more particularly described with respect to the following detailed description and figures.
Brief Description of the Figures Figure 1 is a block diagram of a prior art method for sequentially sending requests to servers and receiving responses;
Figure 2 is a block diagram illustrating one apparatus embodiment ofthe present invention;
Figure 3 illustrates one method of collating a response in accordance with the present invention;
Figure 4 is a flow chart ofthe overall method ofthe invention; and Figure 5 shows a general purpose computer and memory for implementing the present invention. Detailed Description
Figure 2 depicts one embodiment ofthe apparatus ofthe present invention. A client 101 may have one or several requests for information to be sent to one or several servers, for example server-1 (102), server-2 (103) ... and server-N (104). These servers may reside on a single network 105, or several networks. Instead of specifying a server address as in the prior art, the client specifies a domain of interest and sends a request to a request manager 106. Within the request manager 106, a dispatcher collator 107 receives the request from the client. In this embodiment, the dispatcher collator includes a domain-to-server mapper 108, an internal cache 109 of server addresses, and a mechanism 110 for accessing an external nameservice process 112.
The domain-to-server mapper 108 determines which servers are associated with the domain of interest specified by the client 101. The client 101 may specify more than one domain of interest in a single request. The dispatcher collator 107 then passes the associated server addresses to the request dispatcher 111. In this embodiment, the mapper 108 checks the internal cache 109 for the server addresses, once the servers have been identified from the domain of interest. Ifthe internal cache 109 does not contain the addresses for any ofthe servers within the domain of interest, the lookup mechanism 110 queries an external nameservice 112 to determine the same. In such an instance, the addresses requested from the external nameservice 112 will then be stored in the internal cache 109, so that next time the dispatcher collator 107 can access the addresses without invoking a nameservice query.
The scope ofthe invention is not limited by any particular form ofthe internal cache 109. In one embodiment, the cache 109 may be preset by the client 101 as an option. In such an instance, the client 101 may prespecify a list of domains of interest.
The request dispatcher 111 creates multiple request messages, normally one for each server. The request dispatcher 111 also creates a request context for each request and stores the same in a request context table 113. One ofthese contexts is designated the "anchor" context 114, and the remaining contexts are treated as "dependent" contexts 115, 116. Each ofthe dependent contexts 115, 116 has a reference to the anchor context 114. A context may be added to the request context table 113 and indexed by a unique number, such as an exchange identifier. In such an example, each request message sent to a server may also be tagged by the exchange identifier. The request dispatcher 111 simultaneously sends a request message to each ofthe designated servers. In this embodiment, each time the request dispatcher 111 sends a request, a session count 117 within the anchor context 114 is incremented by one. Later, as the session with a particular server ends (indicated by either NO_DATA_FOUND, or NO_MORE_DATA or an error condition), the session count is decremented as described hereinafter.
Responses from the servers (102-104) may be received in any order, i.e. the responses may be asynchronous and interleaved. Normally, the order and amount of responses received from each server is completely unpredictable. This is because the order of receipt is influenced by such factors as the amount of relevant data stored by the server, the network distance between client and the server, etc. However, all ofthe responses received from any server are tagged by the same exchange identifier that was used for tagging the request that generated these responses. The response receiver 118 uses the exchange identifier associated with the response in order to identify the correct context. The response message received may then be stored in a message store area 120, shown in the request context table, where there is one message store area associated with each anchor context 114 and each dependent context 115, 116.
Normally, a server will set a no-more-data flag in a response when a session between the request manager 106 and a specific server is complete. When such session is complete, all of the responses from the message store of that context are transferred to the collated message store 121 in the anchor context. When each such transfer occurs, the session count is decremented by one, indicating that all responses associated with a particular context (i.e., coming from a single server) have been received. When the session count reaches a zero value, indicating that all responses from all contexts (both anchor and dependent) have been collated in the collated message store ofthe anchor context, the request manager 106 sends the collated message back to the client 101. In one embodiment, the responses within the collated message are placed in an order according to the server from which they were received. When the session count reaches zero, the dispatcher collator triggers a process 119 (pre-specified by the client at the initiation of the request) within the client 101 with a single collated response.
The server domain of interest can vary depending upon the application in which the response manager 106 is used. In general, a domain of interest is a sphere of control of a server, for example an entity or set of entities which the server controls, or which the server is responsible for. Examples of server domains include the set of network services that are managed by a single Cabletron Spectrum™ server (sold by Cabletron Systems, Inc., Rochester, NH), a database or databases managed by a single database server, a DCE (distributed computing environment), an X.500 standard cell, or a group of entities whose name/location service is provided by a cell-directory server.
A client may process a request, and then determine the domain of interest associated with the request. The domain of interest may be internally generated, may be received from an external device, or may be received from a user. As described above, the request manager processes these requests by mapping the domains of interest into a list of network server addresses, sending the request to each ofthe servers, and receiving and collating the received responses. Thus, the invention enables a client to dispatch any information request to a desired set of servers by identifying only the request and the domains of interest. The invention is independent ofthe type of request or the communication protocol used between the client and servers. For example, an SNMP client may use this mechanism to send simultaneous requests to multiple SNMP servers (agents) and receive a single collated response; in the same way, a database client may send simultaneous SQL requests to multiple database servers and receive a single collated response. As used herein, "server" is broadly defined; the invention may be used for requesting responses from devices, such as other clients or other host computers; thus, as used herein, "server" includes such other devices.
Each server may send one or more responses for each request. Additionally, the request manager's session with each server may end in any order. In other words, multiple parallel sessions with multiple servers may continue, and the sessions do not have to end in the same order as the order in which the requests were sent. In one embodiment, the client has an option to indicate a specific process/action that needs to be triggered on receipt of all ofthe responses from all ofthe servers. One process of collating a single response is illustrated in Figure 3. An input stream of responses 31 for a particular request may be received in any order. As shown, the order of receipt in this example is "RSP 1 from SI" (32), "RSP 1 from S2" (33), "RSP 2 from SI " (34), and "RSP 2 from S2" (35). SI indicates a first server to which a request was sent, and S2 indicates a second server to which a request was sent. However, it may be advantageous to the client to have the responses collated in a different order than received, e.g., by server. In this example, a collation process using the anchor/dependent context provides a collated response 30 such that response 1 from SI (32) and response 2 from SI (34) are first provided in serial order, and response 1 from S2 (33) and response 2 from S2 (35) are next provided in serial order. The single collated response 30 is then provided to the client.
Figure 4 illustrates generally the process steps in accordance with the present invention. In step 41, a request is received from a client. This request includes a domain of interest, or a number of domains of interests. Step 42 determines the servers from the domain or domains of interest, and also determines the address for each server. In step 43, the individual requests are dispatched to the servers, and in step 44 responses from the servers are received and collated. In step 45, the client is provided with a collated response. As indicated above, an internal cache may be used in step 42 to determine the server addresses, and a nameservice mechanism may also be used to determine the addresses. Furthermore, a request context table may be generated, which for each request, includes an anchor context and at least one dependent context. Ifthe request is going to a single server, the anchor context and the dependent context are one and the same. In case the request is going to more than one server, one ofthe contexts is the anchor context and the rest are dependent contexts. The anchor context includes a session count, so that as responses are received and collated from a server, the session count can be decremented. This session count is initially incremented when each server is sent a request, as in step 43. When the session count is decremented to zero (when all messages for all the requests are received), then the client may be provided with a collated response as in step 45. Alternatively, step 45 may trigger a process identified by a request within the client when the collator response is complete. Any ofthe above embodiments may be implemented in a general purpose computer 90 as shown in Figure 5. This general purpose computer may include a computer processing unit (CPU) 91, memory 92, a processing bus 93 by which the CPU can access the memory, and an interface 94 by which the CPU can interface to other devices.
In alternative embodiments, the invention may be a general purpose computer apparatus 90 which performs the functions of any ofthe previous embodiments. Alternatively, the invention may be a memory 92, such as a floppy disk, compact disk, or hard drive, that contains a computer program or data structure, for providing to a general purpose computer instructions and data for carrying out the functions ofthe previous embodiments.
Having thus described several particular embodiments ofthe invention, various modifications and improvements will readily occur to those skilled in the art and are intended to be within the scope of this invention. Accordingly, the foregoing description is by way of example only, and not intended to be limiting.

Claims

1. In a network including a plurality of servers and clients, a method for receiving a request from a client and providing a collated response comprising the steps of: receiving a request from a client including a domain of interest, the domain of interest having a set of associated servers; mapping the domain of interest to a corresponding server address for each ofthe associated servers; dispatching the request simultaneously to each ofthe associated servers; receiving at least one response from the associated servers; generating a collated response from the at least one response; and providing the client with the collated response.
2. The method of claim 1, wherein the mapping step includes: determining from a cache the server addresses.
3. The method of claim 1 , wherein the mapping step includes; determining from a nameservice the server addresses.
4. The method of claim 1, further including: determining at least one domain of interest and associated servers.
5. The method of claim 1 , wherein the set includes multiple associated servers.
6. The method of claim 5, wherein the generating step includes: generating an anchor context corresponding to one ofthe associated servers, the anchor context including a message store area for storing the responses from the one associate server; generating a dependent context, coupled to the anchor context, for each ofthe other associated servers, each dependent context including a message store area for storing the responses from the other associated server.
7. The method of claim 5, further including: initializing a session counter to zero; incrementing the session counter by one for each request sent to one ofthe associated servers; decrementing the session counter by one for each completion of a session with one ofthe associated servers when all responses are received from that server; and providing the collated response when the session counter has been decremented to zero.
8. The method of claim 5, wherein the generating step includes ordering ofthe at least one response according to the associated servers.
9. The method of claim 1 , further including: maintaining a cache of corresponding server addresses and associated servers for at least one domain of interest.
10. The method of claim 1, wherein the step of providing the collated response triggers a process within the client.
11. Apparatus for receiving a request from a client and providing a collated response in a network including a plurality of servers and clients, the apparatus comprising: a dispatcher collator, having an input that receives a request from a client, the request including a domain of interest, the dispatcher collator having an output that provides at least one address corresponding to at least one server, the at least one server corresponding to the domain of interest; a request dispatcher, having an input coupled to the output ofthe dispatcher collator, and an output that includes at least one request that is sent to the at least one server; and a response receiver, having an input that receives at least one response from the at least one server, in response to the at least one request, wherein the response receiver provides as an output to the client a collated response, wherein the collated response includes each at least one response.
12. The apparatus of claim 11 , wherein the dispatch collator includes: a domain-to-server mapper, having an input that receives the domain of interest, and an output that determines the at least one server that corresponds to the domain of interest; an intemal cache, having an input coupled to the output ofthe domain-to-server mapper, and an output that provides an address for each at least one server having an address within the intemal cache.
13. The apparatus of claim 12, wherein the intemal cache includes prespecified server addresses, corresponding to a domain of interest prespecified by the client.
14. The apparatus of claim 12, further including: a nameservice lookup mechanism, having an input coupled to the output ofthe domain-to-server mapper, and an output that provides an address for each at least one server not having an address within the intemal cache, wherein the nameservice lookup mechanism further has a second output that queries an extemal nameservice, and a second input receiving a response from the extemal nameservice.
15. The apparatus of claim 11 , further including a request table, coupled to the response receiver and the request dispatcher, that includes: an anchor context corresponding a first ofthe at least one server, including a message store area to store responses from the first server; a dependent context, coupled to the anchor context, including a message store area to store responses from a second ofthe at least one server; and a response collator for processing the responses and generating the collated response.
16. The apparatus of claim 15, wherein the request table further includes a session counter that is incremented by one for each request sent to the at least one server.
17. The apparatus of claim 11 , wherein the response receiver collates the at least one response ordered according to the at least one server.
18. An electronic storage media, containing data representing a computer program for providing instmctions to a general purpose computer for receiving a request from a client on a network and for providing a collated response to the client, the electronic storage media comprising: means for providing instmctions for receiving the request, the request including a domain of interest and an information request; means for providing instmctions for mapping the domain of interest to at least one address, the at least one address corresponding to at least one server; means for providing instmctions for dispatching at least one request, corresponding to the at least one address, to each ofthe at least one server; means for providing instmctions for receiving at least one response from the at least one server; means for providing instmctions for generating a collated response from the at least one response; and means for providing instmctions for providing the client with the collated response.
PCT/US1996/011678 1995-07-13 1996-07-12 Method and apparatus for managing multiple server requests and collating responses WO1997003400A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP96925309A EP0838056B1 (en) 1995-07-13 1996-07-12 Method, apparatus and electronic storage medium for managing multiple server requests and collating responses
AT96925309T ATE192589T1 (en) 1995-07-13 1996-07-12 METHOD, APPARATUS AND ELECTRONIC STORAGE MEDIUM FOR MANAGING REQUESTS TO MULTIPLE SERVERS AND COLLATING THE RESPONSE
AU65451/96A AU711060B2 (en) 1995-07-13 1996-07-12 Method and apparatus for managing multiple server requests and collating responses
DE69608107T DE69608107T2 (en) 1995-07-13 1996-07-12 METHOD, DEVICE AND ELECTRONIC STORAGE MEDIA FOR MANAGING REQUIREMENTS FOR SEVERAL SERVER AND FOR COLLECTING THE REPLIES

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/502,163 US5649103A (en) 1995-07-13 1995-07-13 Method and apparatus for managing multiple server requests and collating reponses
US08/502,163 1995-07-13

Publications (1)

Publication Number Publication Date
WO1997003400A1 true WO1997003400A1 (en) 1997-01-30

Family

ID=23996634

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/011678 WO1997003400A1 (en) 1995-07-13 1996-07-12 Method and apparatus for managing multiple server requests and collating responses

Country Status (6)

Country Link
US (1) US5649103A (en)
EP (1) EP0838056B1 (en)
AT (1) ATE192589T1 (en)
AU (1) AU711060B2 (en)
DE (1) DE69608107T2 (en)
WO (1) WO1997003400A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827659B4 (en) * 1997-06-30 2010-01-28 Microsoft Corp., Redmond System and method for storing data and protecting the data against unauthorized access

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US6061504A (en) * 1995-10-27 2000-05-09 Emc Corporation Video file server using an integrated cached disk array and stream server computers
US5805823A (en) * 1996-01-30 1998-09-08 Wayfarer Communications, Inc. System and method for optimal multiplexed message aggregation between client applications in client-server networks
SE507138C2 (en) * 1996-10-14 1998-04-06 Mirror Image Internet Ab Procedure and apparatus for information transmission on the Internet
US6012090A (en) * 1997-03-14 2000-01-04 At&T Corp. Client-side parallel requests for network services using group name association
US6418466B1 (en) * 1997-07-10 2002-07-09 International Business Machines Corporation Management of authentication discovery policy in a computer network
US6681227B1 (en) * 1997-11-19 2004-01-20 Ns Solutions Corporation Database system and a method of data retrieval from the system
US6553368B2 (en) * 1998-03-03 2003-04-22 Sun Microsystems, Inc. Network directory access mechanism
US5987233A (en) * 1998-03-16 1999-11-16 Skycache Inc. Comprehensive global information network broadcasting system and implementation thereof
US6205474B1 (en) * 1998-04-14 2001-03-20 Compaq Computer Corporation Access mechanism for parallel status update for multiple servers
US6385730B2 (en) 1998-09-03 2002-05-07 Fiware, Inc. System and method for restricting unauthorized access to a database
US6336114B1 (en) 1998-09-03 2002-01-01 Westcorp Software Systems, Inc. System and method for restricting access to a data table within a database
US6275939B1 (en) 1998-06-25 2001-08-14 Westcorp Software Systems, Inc. System and method for securely accessing a database from a remote location
FI108694B (en) * 1999-05-24 2002-02-28 Nokia Oyj connection Handle
US6694362B1 (en) * 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
AU2001261275A1 (en) * 2000-05-05 2001-11-20 Aprisma Management Technologies, Inc. Systems and methods for isolating faults in computer networks
US7500143B2 (en) * 2000-05-05 2009-03-03 Computer Associates Think, Inc. Systems and methods for managing and analyzing faults in computer networks
US7237138B2 (en) * 2000-05-05 2007-06-26 Computer Associates Think, Inc. Systems and methods for diagnosing faults in computer networks
AU2001261258A1 (en) * 2000-05-05 2001-11-20 Aprisma Management Technologies, Inc. Help desk systems and methods for use with communications networks
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
DE10029644B4 (en) * 2000-06-16 2008-02-07 Deutsche Telekom Ag Method for relevance evaluation in the indexing of hypertext documents by means of a search engine
JP3561267B2 (en) * 2000-06-27 2004-09-02 株式会社ケイビーエムジェイ Information providing system, information providing method, and storage medium
US20050157654A1 (en) * 2000-10-12 2005-07-21 Farrell Craig A. Apparatus and method for automated discovery and monitoring of relationships between network elements
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US20020055983A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Computer server having non-client-specific persistent connections
US7383191B1 (en) 2000-11-28 2008-06-03 International Business Machines Corporation Method and system for predicting causes of network service outages using time domain correlation
US7177917B2 (en) * 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
US20020133398A1 (en) * 2001-01-31 2002-09-19 Microsoft Corporation System and method for delivering media
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US6744739B2 (en) * 2001-05-18 2004-06-01 Micromuse Inc. Method and system for determining network characteristics using routing protocols
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US20050286685A1 (en) * 2001-08-10 2005-12-29 Nikola Vukovljak System and method for testing multiple dial-up points in a communications network
US7299470B2 (en) * 2001-09-13 2007-11-20 International Business Machines Corporation Method and system for regulating communication traffic using a limiter thread
GB0122507D0 (en) * 2001-09-18 2001-11-07 Marconi Comm Ltd Client server networks
US7363368B2 (en) 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
US20040015543A1 (en) * 2002-07-19 2004-01-22 Martin Schmidt Manufacturing data access
US7363629B2 (en) * 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
EP1510951A1 (en) * 2003-08-27 2005-03-02 Sap Ag A data processing method, system and computer program
US20060072721A1 (en) * 2004-09-21 2006-04-06 Netomat, Inc. Mobile messaging system and method
GB0422007D0 (en) * 2004-10-05 2004-11-03 Ibm Method and system for identifying a complete response to a request
US20060271634A1 (en) * 2005-05-25 2006-11-30 England Laurence E Method, system, and program for processing a message with dispatchers
JP2007317028A (en) * 2006-05-26 2007-12-06 Ns Solutions Corp Information processing apparatus, database management system, method for controlling information processing apparatus, and program
JP4680866B2 (en) * 2006-10-31 2011-05-11 株式会社日立製作所 Packet transfer device with gateway load balancing function
JP4877831B2 (en) * 2007-06-27 2012-02-15 久美子 石井 Confirmation system, information provision system, and program
US8812333B2 (en) * 2007-09-17 2014-08-19 Amadeus S.A.S. Automated split ticketing
AU2015200369B2 (en) * 2010-02-05 2016-03-10 Paypal, Inc. Widget framework, real-time service orchestration, and real-time resource aggregation
AU2016203934B2 (en) * 2010-02-05 2018-03-01 Paypal, Inc. Widget framework, real-time service orchestration, and real-time resource aggregation
US9367371B2 (en) 2010-02-05 2016-06-14 Paypal, Inc. Widget framework, real-time service orchestration, and real-time resource aggregation
US11165714B2 (en) 2014-12-15 2021-11-02 Royal Bank Of Canada Verification of data processes in a network of computing resources
EP3234792B1 (en) 2014-12-15 2023-06-07 Royal Bank Of Canada Verification of data processes in a network of computing resources
EP4083798A1 (en) * 2016-06-14 2022-11-02 Royal Bank Of Canada Verification of data processes in a network of computing resources
CN108469990A (en) * 2018-03-14 2018-08-31 北京思特奇信息技术股份有限公司 A kind of parallel calculating method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384339A2 (en) * 1989-02-24 1990-08-29 Digital Equipment Corporation Broker for computer network server selection
JPH0675890A (en) * 1992-08-26 1994-03-18 Chugoku Nippon Denki Software Kk Request data/response data transmitting/receiving system between client and server
EP0661652A1 (en) * 1993-12-29 1995-07-05 Microsoft Corporation Distributed file system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0520749B1 (en) * 1991-06-28 1996-12-18 Digital Equipment Corporation A method and apparatus for network computer systems management group administration
US5592620A (en) * 1993-08-12 1997-01-07 International Business Machines Corporation System and method for controlling, monitoring and retrieving accounting data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384339A2 (en) * 1989-02-24 1990-08-29 Digital Equipment Corporation Broker for computer network server selection
JPH0675890A (en) * 1992-08-26 1994-03-18 Chugoku Nippon Denki Software Kk Request data/response data transmitting/receiving system between client and server
EP0661652A1 (en) * 1993-12-29 1995-07-05 Microsoft Corporation Distributed file system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"EARLY TERMINATION OF MULTICAST QUERIES", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 34, no. 7B, 1 December 1991 (1991-12-01), pages 419 - 420, XP000282630 *
CHANG R N ET AL: "A SERVICE ACQUISITION MECHANISM FOR SERVER-BASED HETEROGENEOUS DISTRIBUTED SYSTEMS", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, vol. 5, no. 2, 1 February 1994 (1994-02-01), pages 154 - 169, XP000440134 *
PATENT ABSTRACTS OF JAPAN vol. 018, no. 327 (P - 1757) 21 June 1994 (1994-06-21) *
SCHILL A B ET AL: "Client/server approach versus distributed object-oriented computing on top of OSF DCE", COMPUTER COMMUNICATIONS, JULY 1995, UK, vol. 18, no. 7, ISSN 0140-3664, pages 512 - 518, XP000513482 *
SINGLETON J P ET AL: "DATA ACCESS WITHIN THE INFORMATION WAREHOUSE FRAMEWORK", IBM SYSTEMS JOURNAL, vol. 33, no. 2, 1 January 1994 (1994-01-01), pages 300 - 325, XP000450288 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827659B4 (en) * 1997-06-30 2010-01-28 Microsoft Corp., Redmond System and method for storing data and protecting the data against unauthorized access

Also Published As

Publication number Publication date
DE69608107D1 (en) 2000-06-08
EP0838056A1 (en) 1998-04-29
AU711060B2 (en) 1999-10-07
EP0838056B1 (en) 2000-05-03
US5649103A (en) 1997-07-15
AU6545196A (en) 1997-02-10
DE69608107T2 (en) 2000-11-09
ATE192589T1 (en) 2000-05-15

Similar Documents

Publication Publication Date Title
US5649103A (en) Method and apparatus for managing multiple server requests and collating reponses
US5530905A (en) Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity
US7464399B2 (en) Portable device and a method for accessing a computer resource of a temporary registered user
US6553368B2 (en) Network directory access mechanism
EP1157343B1 (en) Distributed database system
US5699523A (en) Method and apparatus for communication between at least one client and at least one server
EP0278316B1 (en) Method and system for network management
US6282569B1 (en) Name server computer having a load levelling facility to spread the load from client computers across a plurality of server computers
US6671273B1 (en) Method for using outgoing TCP/IP sequence number fields to provide a desired cluster node
US20020002613A1 (en) Method and apparatus for communicating among a network of servers
US20020124108A1 (en) Secure multiprotocol interface
CA2231684A1 (en) System and method for multi-site distributed object management environment
WO1991010191A1 (en) Object oriented distributed processing system
JPH04230567A (en) Dispersed type constitution profile for computing system
US6202089B1 (en) Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process
US5995972A (en) System and method for retrieving data
Tanenbaum The Amoeba distributed operating system
US20080281969A1 (en) Controlling access to versions of application software by a server, based on site ID
WO2006026761A2 (en) Method and system for caching directory services
US20020169881A1 (en) Method and apparatus for distributed access to services in a network data processing system
EP1787222A1 (en) Method, system and computer program product for managing database records with attributes located in multiple databases
KR100317748B1 (en) Access control method of zone data for transmission control protocol query/response in secure dns, and naming services server
US6816888B2 (en) Communication process and system with service access points and groups of references where participant addresses are used to access a particular reference
DeTreville et al. Program transformations for data access in a local distributed environment
US20040177129A1 (en) Method and apparatus for distributing logical units in a grid

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1996925309

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996925309

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

WWG Wipo information: grant in national office

Ref document number: 1996925309

Country of ref document: EP