IP Library Granted Patent US 7,406,696
Granted Patent B2
US 7,406,696 · App. 10/785,501 · Granted Jul 29, 2008

System and method for providing user input information to multiple independent, concurrent applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,406,696
App. No.
10/785,501
Granted
Jul 29, 2008
Kind
B2
Abstract

In a system for providing user input information to multiple independent, concurrent applications, the applications send subscription messages to a device receiving user input such as a telephone receiving key presses from a keypad. Each subscription message identifies a pattern of user input that the application is to be notified of. The device monitors the user input to identify the occurrence of the identified patterns. When a specified pattern of user input is detected, the device notifies the corresponding application via a signaling channel linking the application with the device. The subscription messages use regular expressions including various formats to specify the patterns of interest, such as a single digit (explicitly or wildcard), one of a set of digits, a range of digits, and a repeating pattern of digits. The subscription messages can also contain tags associated with the regular expressions, which are returned to the application upon reporting the occurrence of a pattern to enable the application to readily identify the context of the notification.

Claims (41)

1. A method of providing user input information to a plurality of independent, concurrent applications, comprising:

for each application, generating a respective subscription message and providing the subscription message to a device receiving input of a predetermined type from a user, the subscription message for each application identifying a respective pattern of user input upon whose occurrence the application is to be notified; and

at the device, (1) monitoring the user input to identify the occurrence of the respective patterns identified in the subscription messages, and (2) upon the occurrence of the user input pattern identified in a given subscription message, notifying the corresponding application via a signaling channel linking the application with the device,

wherein each subscription message optionally includes a persistence indicator indicating that the device is to notify the application for each of multiple occurrences of the user input pattern identified in the message, and further comprising, at the device, (1) determining for each subscription message whether the persistence indicator is included, (2) if the persistence indicator is included, then repeating the monitoring and notifying steps for a subsequent occurrence of the user input pattern, and (3) if the persistence indicator is not included, then ceasing the monitoring for the input pattern upon the first notification of the application that the user input pattern has occurred.

2. A method according to claim 1 , wherein the device receives the user input directly.

3. A method, according to claim 2 , wherein the device is a telephone.

4. A method according to claim 3 , wherein the user input received by the device comprises key presses.

5. A method according to claim 4 , wherein each pattern of input key presses is identified in a respective one of the subscription messages in the form of a respective digit regular expression.

6. A method according to claim 5 , wherein each digit regular expression includes one or more elements taken from the following classes: a specified digit, a wildcard digit, a multiple digit selector, a range of digits, and a repetition of digits.

7. A method according to claim 5 , wherein each digit regular expression optionally includes a tag to be provided back to the application as part of notifying the respective application of the occurrence of the pattern specified in the digit regular expression.

8. A method according to claim 4 , wherein monitoring the key presses from the user comprises continually comparing the key presses to the patterns identified in the subscription messages.

9. A method according to claim 8 , wherein the comparing is done on a shortest-match basis.

10. A method according to claim 8 , wherein the comparing is done on a longest-match basis.

11. A method according to claim 8 , wherein the comparing is done on a most-specific-match basis.

12. A method according to claim 4 , wherein the key presses from the user are buffered within the device.

13. A method according to claim 12 , wherein the key presses are buffered in a circular buffer.

14. A method according to claim 12 , wherein the key presses are discarded from a buffer after a fixed time period.

15. A method according to claim 12 , wherein the key presses are discarded from a buffer after a variable time period.

16. A method according to claim 12 , further comprising, within the device, quarantining key presses occurring after an application has been notified and before receiving a subsequent subscription message.

17. A method according to claim 4 , further comprising, at the device upon notifying an application via the respective signaling channel of the occurrence of the respective pattern of user key presses, suppressing the transmission of the user key presses on a media channel on which media emanating from the user is generally transmitted by the device.

18. A method according to claim 3 , wherein the user input received by the device comprises speech.

19. A method according to claim 1 , wherein the device obtains the user input from a media stream between the user and the applications.

20. A method according to claim 1 , wherein the input of the predetermined type from the user comprises key presses.

21. A method according to claim 1 , wherein the user input comprises speech.

22. A method according to claim 1 , wherein the device comprises a touch-sensitive screen and the user input comprises touches and/or strokes on the screen.

23. A method according to claim 1 , wherein the user input is provided by a human user.

24. A method according to claim 1 , wherein the user input is provided by a computer.

25. A device for receiving input of a predetermined type from a user and providing corresponding user input information to a plurality of independent, concurrent applications, the device comprising:

a processor;

said processor being operative to execute a plurality of instructions (1) to receive, for each application, a respective subscription message identifying a respective pattern of user input upon whose occurrence the application is to be notified, (2) to monitor the user input to identify the occurrence of the respective patterns identified in the subscription messages, and (3) upon the occurrence of the user input pattern identified in a given subscription message, to notify the corresponding application via a signaling channel linking the application with the device, wherein each subscription message optionally includes a persistence indicator indicating that the processor is to notify the application for each of multiple occurrences of the user input pattern identified in the subscription message, and wherein the processor is further operative:

(1) to determine for each subscription message whether the persistence indicator is included (2) if the persistence indicator is included, then to repeat the monitoring and notifying for a subsequent occurrence of the user input pattern, and (3) if the persistence indicator is not included, then to cease the monitoring for the input pattern upon the first notification of the application that the user input pattern has occurred.

26. A device according to claim 25 , wherein said processor is operative to receive the user input directly.

27. A device according to claim 26 , wherein said processor comprises a telephone.

28. A device according to claim 27 , wherein the user input received by said processor comprises key presses.

29. A device according to claim 27 , wherein the user input received by said processor comprises speech.

30. A device according to claim 25 , wherein said processor is operative to obtain the user input from a media stream between the user and the applications.

31. A device according to claim 25 , wherein the input of the predetermined type from the user comprises key presses.

32. A device according to claim 25 , wherein the user input comprises speech.

33. A device according to claim 25 , further including a touch-sensitive screen, and wherein the user input comprises touches and/or strokes on the screen.

34. A device according to claim 25 , wherein the user input is provided by a human user.

35. A device according to claim 25 , wherein the user input is provided by a computer.

Assignments (11)
SECURITY AGREEMENT Recorded Jun 30, 2015
From: DIALOGIC (US) INC.; DIALOGIC INC.; DIALOGIC US HOLDINGS INC.; DIALOGIC DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED; DIALOGIC CORPORATION; DIALOGIC GROUP INC.
To: SILICON VALLEY BANK
Reel/Frame 036037/0165 →
RELEASE OF SECURITY INTEREST Recorded Nov 25, 2014
From: OBSIDIAN, LLC
To: DIALOGIC CORPORATION, F/K/A EICON NETWORKS CORPORATION; DIALOGIC INC.; DIALOGIC (US) INC., F/K/A DIALOGIC INC. AND F/K/A EICON NETWORKS INC.; DIALOGIC DISTRIBUTION LIMITED, F/K/A EICON NETWORKS DISTRIBUTION LIMITED; DIALOGIC MANUFACTURING LIMITED, F/K/A EICON NETWORKS MANUFACTURING LIMITED; DIALOGIC US HOLDINGS INC.; DIALOGIC RESEARCH INC., F/K/A EICON NETWORKS RESEARCH INC.; DIALOGIC JAPAN, INC., F/K/A CANTATA JAPAN, INC.; CANTATA TECHNOLOGY, INC.; EAS GROUP, INC.; SHIVA (US) NETWORK CORPORATION; EXCEL SWITCHING CORPORATION; EXCEL SECURITIES CORPORATION; CANTATA TECHNOLOGY INTERNATIONAL, INC.; BROOKTROUT NETWORKS GROUP, INC.; BROOKTROUT TECHNOLOGY, INC.; SNOWSHORE NETWORKS, INC.; BROOKTROUT SECURITIES CORPORATION
Reel/Frame 034468/0654 →
PARTIAL RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 27, 2013
From: OBSIDIAN, LLC
To: DIALOGIC CORPORATION (A BRITISH COLUMBIA CORPORATION); DIALOGIC INC. (A DELAWARE CORPORATION)
Reel/Frame 030707/0111 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 23, 2008
From: DIALOGIC CORPORATION
To: OBSIDIAN, LLC
Reel/Frame 022024/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: SNOWSHORE NETWORKS, INC.
To: DIALOGIC CORPORATION
Reel/Frame 020288/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2007
From: SNOWSHORE NETWORKS, INC.
To: DIALOGIC CORPORATION
Reel/Frame 020227/0661 →
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2007
From: COMERICA BANK
To: SNOWSHORE NETWORKS INC.
Reel/Frame 020092/0678 →
SECURITY AGREEMENT Recorded Nov 6, 2007
From: DIALOGIC CORPORATION
To: OBSIDIAN, LLC
Reel/Frame 020072/0203 →
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2007
From: COMERICA BANK
To: EXCEL SWITCHING CORPORATION; BROOKTROUT, INC; EAS GROUP, INC.
Reel/Frame 019920/0425 →
SECURITY AGREEMENT Recorded Jan 6, 2006
From: SNOWSHORE NETWORKS, INC.
To: COMERICA BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 016976/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2004
From: BURGER, ERIC W.; FRIEDER, OPHIR
To: SNOWSHORE NETWORKS, INC.
Reel/Frame 015019/0881 →