# US 7,610,388 B2 · System, method and program for coordinating timeouts for distributed servers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,388 B2
- Document ID: US7610388B2
- Status: Granted
- Kind: B2
- Application number: 10/805,428
- Filed: 2004-03-18
- Published: 2004-12-09
- Granted: 2009-10-27
- Earliest claimed: 2003-04-03
- Assignees: International Business Machines Corporation
- Inventors: Hiroshi Yamamoto
- Web page: https://patentgrep.com/patent/US7610388B2

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- H04L 69/28: Timers or timing mechanisms used in protocols
- H04L 69/329: in the application layer [OSI layer 7]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

System, method and program product for determining time-outs for sessions between first and second servers and between first and third servers. The first server receives a client request for a first service. The first service requires a second service from the second server and a third service from the third server. A first timeout is determined for a first session between the first server and the second server to obtain the second service. A second timeout is determined for a second session between the first server and the third server to obtain the third service. The first and second time-outs are based in part on an order in which the second and third servers begin their respective services. The second server begins the second service before the third server begins the third service. The first timeout is based on a time required for the second server to provide the second service and the third server to provide said third service. The second timeout is based on a time required for the third server to provide the third service.

## Claims

### Claim 1

A method for determining time-outs for sessions between first and second servers and between first and third servers, said method comprising the steps of:
said first server receiving a client request for a first service, said first service requiring a second service from said second server and a third service from said third server; and
said first server determining a first timeout for a first session between said first server and said second server to obtain said second service, and said first server determining a second timeout for a second session between said first server and said third server to obtain said third service, said first and second time-outs being based in part on an order in which said second and third servers begin their respective services.

### Claim 2 (depends on 1)

A method as set forth in claim 1 further comprising the steps of:
said first server requesting said second service from said second server, and if said second server does not complete said second service before said first timeout, terminating said first session; and
said first server requesting said third service from said third server, and if said third server does not complete said third service before said second timeout, terminating said second session.

### Claim 3 (depends on 1)

A method as set forth in claim 1 wherein said second server begins said second service before said third server begins said third service, said first timeout is based on a time required for said second server to provide said second service and said third server to provide said third service, and said second timeout is based on a time required for said third server to provide said third service.

### Claim 4 (depends on 3)

A method as set forth in claim 3 wherein said second timeout does not begin until said third server begins said third service.

### Claim 5 (depends on 1)

A method as set forth in claim 1 wherein said first timeout is sufficient to allow said third server to provide said third service to said first server and allow said second server to provide said second service to said first server; and said second timeout is sufficient to allow said second server to provide said second service to said first server and allow said third server to provide said third service to said first server.

### Claim 6 (depends on 1)

A method as set forth in claim 1 wherein
said second service comprises a first sub service and a second sub service, said third service comprises a third sub service and a fourth sub service, said sub services are performed in an order of said first sub service, said third sub service, said second sub service and said fourth sub service; and
said first timeout is based on a time for said first, third, second and fourth sub services, and said second timeout is based on a time for said third, second and fourth sub services, said second timeout being shorter than said first timeout.

### Claim 7 (depends on 6)

A method as set forth in claim 6 wherein,
said time for said first, third, second and fourth sub services comprises a time for said second server to perform said first and second sub services and associated communication time between said first and second servers and a time for said third server to perform said third and fourth sub services and associated communication time between said first and third servers; and
said time for said third, second and fourth sub services comprises a time for said second server to perform said second sub service and associated communication time between said first and second servers and a time for said third server to perform said third and fourth sub services and associated communication time between said first and third servers.

### Claim 8 (depends on 7)

A method as set forth in claim 7 further comprising the steps of said first server creating a session with said client and creating a third timeout for said session with said client, ending times for said first and second time-outs being based on an ending time for said third timeout.

### Claim 9 (depends on 1)

A method as set forth in claim 1 wherein
said second service comprises a first sub service and a second sub service, said third service comprises a third sub service and a fourth sub service, said sub services are performed in an order of said first sub service, said third sub service, said second sub service and said fourth sub service; and
said first timeout is based on a time for said first, third, second and fourth sub services, and said second timeout is based on a time for said third, second and fourth sub services, said second timeout being shorter than said first timeout.

### Claim 10

A computer program product for determining time-outs for sessions between first and second servers and between first and third servers, said program product comprising:
a computer readable storage medium;
first program instructions, for execution within said first server, to receive a client request for a first service, said first service requiring a second service from said second server and a third service from said third server; and
second program instructions, for execution within said first server, to determine a first timeout for a first session between said first server and said second server to obtain said second service, and determine a second timeout for a second session between said first server and said third server to obtain said third service, said first and second time-outs being based in part on an order in which said second and third servers begin their respective services; and
wherein said first and second program instructions are recorded on said medium.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein said second timeout is based on a time required for said third server to provide said third service, a duration of said second timeout being shorter than a duration of said first timeout.

### Claim 12

A method for applying session time-outs, said method comprising the steps of:
a first server receiving a client request for a first service;
said first server establishing a first session with said client, said first service requiring a second service from a second server in a second session and a third service from a third server in a third session;
said first server specifying a first timeout for said first session;
said first server determining a second timeout, based in part on said first timeout, for said second session; and
said first server determining a third timeout, based in part on said first timeout, for said third session; and
wherein a duration of said second timeout is different than a duration of said third timeout.

### Claim 13 (depends on 12)

A method as set forth in claim 12 wherein said second and third time-outs are based in part on an order in which said second and third servers begin their respective second and third services.

### Claim 14 (depends on 12)

A method as set forth in claim 12 further comprising the steps of said first server notifying said second server to begin said second service, and said first server notifying said third server to begin said third service.

### Claim 15 (depends on 12)

A method as set forth in claim 12 further comprising the steps of:
said first server requesting said second service from said second server, and if said second server does not complete said second service before said second timeout, terminating said second session; and
said first server requesting said third service from said third server, and if said third server does not complete said third service before said third timeout, terminating said third session.

### Claim 16 (depends on 12)

A method as set forth in claim 12 wherein said second server begins processing said second request before said third server begins processing said third request, said first timeout is based on a time required for said second server to provide said second service and said third server to provide said third service, and said second timeout is based on a time required for said third server to provide said third service.

### Claim 17

A computer system for determining session time-outs, said system comprising:
a CPU, a computer readable storage media, and a computer readable memory;
first program instructions to receive a client request for a first service;
second program instructions to establish a first session with said client, said first service requiring a second service from a second server in a second session and a third service from a third server in a third session;
third program instructions to specify a first timeout for said first session;
fourth program instructions to determine a second timeout, based in part on said first timeout, for said second session; and
fifth program instructions to determine a third timeout, based in part on said first timeout, for said third session; and
wherein a duration of said second timeout is different than a duration of said third timeout and wherein said first, second, third, fourth, and fifth program instructions are stored on said computer readable media for execution by said CPU via said computer readable memory.

### Claim 18

A method for determining time-outs for sessions between first and second servers and between first and third servers, said method comprising the steps of:
said first server receiving a client request for a first service, said first service requiring a second service from said second server and a third service from said third server; and
said first server determining a first timeout for a first session between said first server and said second server to obtain said second service, and said first server determining a second timeout for a second session between said first server and said third server to obtain said third service; and wherein
said second server begins said second service before said third server begins said third service, said first timeout is based on a time required for said second server to provide said second service and said third server to provide said third service, and said second timeout is based on a time required for said third server to provide said third service, a duration of said second timeout being shorter than a duration of said first timeout.

### Claim 19 (depends on 17)

The computer system of claim 17, wherein
said third program instructions determine said first timeout between said first server and said second server to obtain said second service from said second server;
said fourth program instructions determine said second timeout for said second session between said first server and said third server to obtain said third service;
said second server begins said second service before said third server begins said third service, said first timeout is based on a time required for said second server to provide said second service and said third server to provide said third service, and said second timeout is based on a time required for said third server to provide said third service, a duration of said second timeout being shorter than a duration of said first timeout.
