Client interface
First Claim
1. In a client interface, a method for interfacing two or more applications, the method comprising the steps of:
- (a) receiving an instruction from a first application to send a message to a second application;
(b) sending said message to said second application and setting a timer to indicate an amount of time since said message was sent;
(c) providing said response to said first application if a response to said message is received from said second application within a predetermined period of time; and
(d) resending said message to said second application if said response is not received within said predetermined time;
wherein said message is resent to said second application without further action required by said first application.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for processing telephone calls and providing enhanced services is presented. The call processing system includes a network control processor for controlling the processing and routing of the calls and for providing enhanced features, and a matrix switch for routing calls from an originating location to a terminating location. Operator consoles can be included to provide operator assistance to the caller. The network control processor comprises a central message processor that receives call data, determines the type of call, determines the processing required, and determines whether operator assistance is required. A call route distributor allocates an operator console to the call if required. A billing server is used to track billing information for the call while it is in progress. A database server is provided for database look-ups and storage. The call processing system also includes a validation system, a billing system, a distribution system, and a fraud detection and prevention system. The validation system is used to validate call information to determine whether the call can be placed. The billing system determines rates for calls and calculates the cost of completed calls. The distribution system distributes changes that are made to a master database to the appropriate slave database. The fraud detection and prevention system monitors originating and in-process calls to detect and possibly prevent possible fraudulent uses of phone services and systems. A client interface is provided to facilitate communications among applications and DEF records are used to define specific call processing actions.
98 Citations
28 Claims
-
1. In a client interface, a method for interfacing two or more applications, the method comprising the steps of:
-
(a) receiving an instruction from a first application to send a message to a second application;
(b) sending said message to said second application and setting a timer to indicate an amount of time since said message was sent;
(c) providing said response to said first application if a response to said message is received from said second application within a predetermined period of time; and
(d) resending said message to said second application if said response is not received within said predetermined time;
wherein said message is resent to said second application without further action required by said first application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
determining a number of times to resend said message to said second application if said response is not received within said predetermined time; and
resending said message to said second application as long as said response is not received within said predetermined time and said number of times determined is not exceeded.
-
-
3. The method according to claim 2, wherein if said determined number of times is exceeded and a response has not been received, the method further comprises the steps of:
-
determining whether there is an alternative application to which said message can be sent;
sending said message to said alternative application and setting a timer to indicate an amount of time since said message was sent to said alternative application; and
providing a response to said first application if a response to said message is received from said alternative application within a determined period of time.
-
-
4. The method according to claim 3, further comprising the step of informing said first application that an error occurred if said response is not received within said predetermined amount of time and if there is no alternative application to which said message can be sent.
-
5. The method according to claim 3, further comprising the step of repeating said steps of determining whether an alternative application exists and sending said message to said determined alternative application for each alternative application if said predetermined number of times is exceeded, as long as said response is not received within said determined period of time.
-
6. The method according to claim 2, wherein if said determined number of times is exceeded and a response has not been received, the method further comprises the steps of:
-
determining a new route by which to send said message; and
repeating said steps (b) through (d) for said new route.
-
-
7. The method according to claim 6, wherein said step of repeating said steps (b) through (d) is repeated for a predetermined number of retry attempts.
-
8. The method according to claim 2, wherein said step of determining a number of times to resend said message to said second application, comprises the steps of:
-
receiving from said first application an initial retry count indicating a number of times to resend a message for which no response is received; and
maintaining and updating an actual retry count indicating an actual number of times said message was resent to said second application.
-
-
9. The method according to claim 8, wherein said step of resending said message to said second application comprises the step of comparing said actual retry count to said initial retry count and resending said message if said retry count meets or exceeds said initial retry count.
-
10. The method according to claim 1, wherein said step of resending said message to said second application comprises the step of:
-
storing said message sent to said second application in an outstanding request list;
deleting said stored message from said outstanding request list when a response to said stored message is received; and
resending said stored message to said second application if said response to said stored message is not received within said predetermined time.
-
-
11. The method according to claim 1, further comprising the steps of:
-
receiving information from said first application indicating messages that said first application is accepting; and
filtering said messages sent to said first application so that said first application only receives messages that said first application is accepting.
-
-
12. The method according to claim 1, further comprising the step of determining a route by which to send said message to said second application, wherein said route determination is made by using a cost factor table to compare a cost associated with sending said message over various routes.
-
13. The method according to claim 12, wherein said step of determining a route further comprises the step of using an address table indicating a range of servers that can be used to send said message to said second application.
-
14. The method according to claim 1, further comprising the steps of:
-
saving each said message in a list when each said message is sent to said second application; and
deleting each said message from said list when said response to that message is received such that said list can be used to determine the messages for which no response has been received.
-
-
15. A client interface residing in a first client computer system for interfacing a first application in the first client computer system to a second application in at least one of a second client computer system and a server computer system, comprising:
-
means for receiving an instruction from the first application in the first client computer system to send a message to the second application;
means for sending said message to the second application;
timer means for determining an amount of time elapsed since said message was sent to the second application to determine whether a timeout period has expired;
means for resending said message to the second application if a response to said message is not received within said timeout period; and
wherein said message is resent to the second application by the client interface without further action required by the first application. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
means for receiving said response; and
means for providing said response to said first application when said response is received.
-
-
17. The client interface of claim 15, further comprising means for determining a number of retry times to resend said message to said second application if said response is not received within said timeout period, and wherein said means for resending said message to said second application only resends said message as long as said response is not received within said timeout period and said number of retry times is not exceeded.
-
18. The client interface of claim 17, further comprising means for determining whether there is an alternative application to which said message can be sent if a response is not received from said second application and said number of retry times is exceeded, wherein said means for sending is adapted to send said message to said alternative application and said timer means determines an amount of time elapsed since said message was sent to said alternative application to determine whether a timeout period has expired.
-
19. The client interface of claim 18, further comprising means for informing said first application that an error occurred if said response is not received within said timeout period and if there is no alternative application to which said message can be sent.
-
20. The client interface of claim 17, further comprising means for determining a new route by which to send said message, wherein said new route is determined if said number of retry times is exceeded and a response has not been received.
-
21. The client interface of claim 17, wherein said means for determining a number of retry times to resend said message to said second application, comprises:
-
means for receiving from said first application an initial retry count indicating a number of times to resend a message for which no response is received; and
means for maintaining and updating an actual retry count indicating an actual number of times said message was resent to said second application.
-
-
22. The client interface of claim 21, wherein said means for resending said message to said second application comprises means for comparing said actual retry count to said initial retry count and resending said message if said initial retry is greater than said actual retry count.
-
23. The client interface of claim 17, wherein said means for resending said message to said second application comprises:
-
storage means for storing said message sent to said second application;
means for deleting said stored message from said storage means when a response to said stored message is received; and
means for resending said stored message to said second application if said response to said stored message is not received within said timeout period.
-
-
24. The client interface of claim 15, further comprising:
-
means for receiving information from said first application indicating messages that said first application is accepting; and
means for filtering said messages received for said first application so that said first application only receives messages that said first application is accepting.
-
-
25. The client interface of claim 15, further comprising:
-
cost table means for storing costs associated with sending a message over various routes; and
route determination means for determining a route by which to send said message to said second application, wherein said route determination is made using information in said cost factor table to compare a cost associated with sending said message over various routes.
-
-
26. The client interface of claim 25, further comprising address table means indicating a range of servers that can be used to send said message to said second application.
-
27. The client interface of claim 26, wherein said route determination means further comprises means for indicating a range of servers available for sending said message to said second application.
-
28. The client interface of claim 15, further comprising:
-
list means for saving each said message when each said message is sent to said second application; and
means for deleting each said saved message from said list means when said response to that message is received such that said list means can be used to determine the messages for which no response has been received.
-
Specification