Abstract:
The present invention provides a method for providing an application service, such as a managed translation service. In an embodiment, a voice call is established between a source station and a destination station. A decision may be made as to whether language translation is desired, such as from an indicator specifying commencement of a translation session. If the translation service is commenced, then the call is directed to a gateway for transmission over a data network to a translation application, which may be a cloud-based application. The translation may occur in real time or near real time. Translated speech may be displayed to the calling party and/or the called party.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The subject matter discussed in this background section should not be assumed to be prior art merely as a result of its mention herein. A problem mentioned in this background section or associated with the subject matter of this background section should not be assumed to have been recognized in the prior art. The subject matter in this background section at the most represents different approaches, which in and of themselves may also be inventions. 
         [0002]    With expanded global commerce and international travel, people have increased the demand for translation services, such as to accommodate business communications between parties who use different languages. Also, government officials from various regions have the need to communicate effectively with counterparts speaking various languages. 
         [0003]    Meeting participants wish that the meetings be as dynamic, interactive, and productive as possible, so interpretation is desired to occur simultaneously. 
         [0004]    Increasingly, such meetings are conducted remotely with conference call technology to avoid time and travel expenses. Members of a conference may participate from theft respective, locations over a telephone connection, Internet connection, or other communications method. Meetings involving speakers of different languages cause a demand for communication capabilities that allow simultaneous interpretation and translation in two or more languages, without burdening participants or interpreters with additional language constraints or duties or connection requirements to manage the flow of audio communication. 
         [0005]    This demand has led to translation services provided by online companies and speech-to-text software. However, most translation and speech-to-text solutions are limited in scope, such as wherein speech in one language is only converted to text in the same language. Additionally, most text-to-speech technology is proprietary which consequently requires a user to train each software application to recognize the speaker&#39;s voice for proper translation. 
         [0006]    While each of these types of components may be used to readily convert various conversations from speech to text, or text from one language into text of another language, there seems to not be any successful commercial implementation of an end-to-end system in which speech from one language may be readily converted to speech in another language, and particularly wherein such conversion may be accomplished and presented in real-time (e.g., instant messaging) or near real-time (e.g., e-mail). 
         [0007]    Applications on smartphones have been shown to be very important for entertainment, business, and personal life. These applications depend for efficiency on a data connection from the smartphone, as well as the smartphone&#39;s computing power. As smartphones make up only a half of the phones used, a new application format which includes all phones, even the traditional cell phones, is necessary. 
         [0008]    Hence the need for effective communication and the need for independent applications for smartphones make it advantageous to provide a method and apparatus for an improved approach for providing and managing language translation services as well as a smartphone independent application platform enabling a managed application service, optionally including a translation service. 
       SUMMARY OF THE INVENTION 
       [0009]    In one aspect of the present invention, a method may comprise receiving a voice call, via a telecommunications switch, placed from a source station to a destination station; determining that the voice call includes an action indicator (such as a translation indicator) specifying commencement of an application service managed by a service provider; directing the voice call to a gateway configured to route the voice call over a data network to an action (such as translation) application, wherein an API may interface dynamically to choose one or more different programs to be executed on the cloud and/or a local network depending on the application requested through the action indicator. 
         [0010]    In another aspect of the present invention, a translation application may be configured to translate, in real time or near real time, speech associated with a voice call from a first language to a second language, and transmitting the translated speech to a destination station. 
         [0011]    In yet another aspect of the present invention, a method may comprise receiving a voice call, via a telecommunications switch, placed from a source station to a destination station; determining that the voice call includes a translation indicator specifying commencement of a translation service managed by a service provider; directing the voice call to a gateway configured to route the voice call over a data network to an application, wherein the translation application is configured to translate, in real or next to real time, speech associated with the voice call from a first to a second language and transmitting the translation to the destination station. 
         [0012]    In yet another aspect of the present invention, a system may comprise a telephony node configured to receive a request, from a source station, to establish a voice call with a destination station and to determine whether the request includes an indicator specifying commencement of a translation service managed by a service provider; a first gateway in communication with the telephony node, wherein, if the request includes the indicator, the voice call is directed to the gateway, the gateway being configured to transmit the voice call over a data network; a second gateway configured to receive the voice call from the first gateway; and a translation service platform coupled to the second gateway and configured to provide a translation application that is configured to translate, in real time, speech associated with the voice call from a first language to a second language, wherein the translated speech is transmitted to the destination station. 
         [0013]    In a further aspect of the present invention, an apparatus for translating speech from a first language used by a calling party to a second language used by a called party during a voice-over-Internet protocol (VoIP) call comprises; a processor; a memory module in communication with the processor, the memory module for storing processing instructions executed by the processor, the processing instructions including; a speech-to-text module for receiving speech in the first language from the calling party and converting the speech to corresponding text in the first language, wherein the speech in the first language is received as output data from a proprietary application of the calling party; a socket for converting the output data from the proprietary application to an open source format; a text translation module for translating the corresponding text in the first language to text in the second language; a display module for displaying the text in the second language to the called party; and an accounting module for determining a charge to at least one of the called party and the calling party for translating speech during the call. 
         [0014]    In a still further aspect of the present invention, a method for translating speech from a first language used by a calling party to a second language used by a called party during a voice-over-Internet protocol (VoIP) call may comprise; receiving speech in the first language from the calling party and converting the speech to corresponding text in the first language, wherein the speech in the first language is received as output data from a proprietary application of the calling party; converting the output data from the proprietary application to an open source format; translating the corresponding text in the first language to text in the second language; displaying the text in the second language to the called party; and determining a charge to at least one of the called party and the calling party for translating speech during the call. 
         [0015]    In a yet still further aspect of the present invention, a method may comprise; loading an executable program from a network connection into a non-transitory computer readable storage medium, executing the executable program through a processor, the executing comprising; accessing a multi-language database embodied in a non-transitory computer readable storage medium including a plurality of phrase templates associated with a respective plurality of phrases, choosing a source language from a plurality of source languages and a destination language from a plurality of destination languages, inputting a source phrase spoken in the source language, transmitting the source phrase (i) to a speech recognition module embodied in a non-transitory computer readable storage medium for converting the spoken source phrase into a recognized source phrase, (ii) a translation module embodied in a non transitory computer readable storage medium for translating the recognized source phrase in the selected source language into a destination phrase in a destination language selected from multiple languages, wherein the plurality of phrases in the multi-language database include the destination phrase; (iii) a template look-up module embodied in a non-transitory computer readable storage medium for finding the phrase template associated with the destination phrase from among the multiple languages, and, outputting the destination phrase template as a spoken translation in the selected destination language, wherein, the spoken translation is transmitted to a destination station; and wherein, the executing step includes selecting an operational state selected from the group consisting of vocabulary content, source language options, destination language options, numeric skills options, translation output pace, and microphone on/off. 
         [0016]    In a still yet further aspect of the present invention, a method may comprise; receiving an incoming communication, via a switch, from a source station to a destination station, determining that the incoming communication includes an action indicator specifying commencement of a in-call and/or pre-call application service managed by a service provider, identifying the application and/or applications combination to be used within the database. The API may instruct a switch management system to connect directly to the application in an identified order. A method may comprise receiving an incoming communication, via a switch, from a source station to a destination station, determining that the incoming communication includes an action indicator specifying commencement of an in-call and/or pre-call application service managed by a service provider and communicating with the API. The API may identify the application and/or applications combination to be used within the database. The API may make instructions for connecting in determinant order to one or more applications hosted on a cloud and/or LAN and/or any network to establish a path for data and or voice between an application and switch management system. 
         [0017]    In a still further aspect of the present invention, a method may comprise; receiving an incoming communication, via a switch, from a source station to a destination station, determining that the incoming communication includes a action indicator specifying commencement of a in-call and/or pre-call application service managed by a service provider and communicating with the API. The API may identify the application and/or applications combination to be utilized within a database. The API may issue instructions for connecting in determinant order to one or more applications hosted on a cloud and/or LAN and/or any network in order to establish a path for data/and or voice between an application and switch. 
         [0018]    These and other aspects, objects, features and advantages of the present invention, are specifically set forth in, or will become apparent from, the following detailed description of an exemplary embodiment of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    The above and other aspects of the present invention will become more apparent by the following detailed description of exemplary embodiments thereof with reference to the attached drawings, in which: 
           [0020]      FIG. 1  is a diagram of a computer system that may be used to implement various embodiments of the present invention; 
           [0021]      FIG. 2  is a block diagram of an exemplary application and translation service platform for providing language translation services, and other applications according to an embodiment of the present invention; 
           [0022]      FIG. 3  is a block diagram of an exemplary application and translation service platform for providing language translation services and other applications, according to another embodiment of the present invention; and 
           [0023]      FIG. 4  is a block diagram of an exemplary application and translation service platform for providing language translation services and other applications, according to yet another embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0024]    The following detailed description is of the best currently contemplated modes of carrying out the invention. The description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention, since the scope of the invention is best defined by the appended claims. 
         [0025]    The present invention relates generally to a method, apparatus, and system for providing an application service for communication networks (such as telephony, radio, wireless, messaging, cloud-based networks, intranets, the Internet, and other types of networks). More particularly, the present invention relates to methods, apparatus, and systems for in-call dynamic chosen cloud application and/or translating speech from a first language used by a calling party to a second language used by a called party during a telephone call, a voice-over-Internet protocol (VoIP) call, and the like. The present invention also relates to methods, systems, and apparatus for displaying translated text for the review of one or more callers. 
         [0026]    Although the present invention is described herein regarding Internet Protocol (IP)-based networks and applications, it is contemplated that these embodiments have applicability to other networks and applications. Although the present invention may be described herein regarding operation in a cloud computing environment, it is contemplated that these embodiments may also apply to operation partially or entirely on a mobile device, such as a smartphone. 
         [0027]    Although the present invention may be described herein regarding translating speech among parties to a telephone call from one language to one or more languages, the present invention also applies to translation of other forms of communication besides speech, such as printed text, handwritten text, text messaging, messaging, voice mail, captioning, coded communications, sign language, gestures, broadcasting, electronic mail, video-conferencing, facsimile, teletype, telecommunication for the deaf, or any other suitable form of communication used to convey a message, idea, data, or piece of information. Additionally, the present invention may be adapted to operate for communication other than human communication, such as animal communication, communication between computers, or combinations thereof. The present invention also may be used to decode and/or encode encrypted communications. 
         [0028]    Referring now to the drawings in detail, wherein like reference characters refer to like elements, there is shown in  FIG. 1  a computer system  100  upon which an exemplary embodiment may be implemented. For example, the computer system  100  may comprise a bus  102  or other communication mechanism for communicating information and a processor  104  coupled to the bus  102  for processing information. The computer system  100  may also comprise a memory module  106 , such as a random access memory (RAM) or other dynamic storage device, coupled to the bus  102  for storing information and instructions to be executed by the processor  104 . 
         [0029]    Memory module  106  may also be used for storing temporary variables or other intermediate information during execution of instructions by the processor  104 . The computer system  100  may further comprise a read only memory (ROM)  108  or other static storage device coupled to the bus  102  for storing static information and instructions for the processor  104 . A storage device  110 , such as a magnetic disk or optical disk, may be coupled to the bus  102  for persistently storing information and instructions. 
         [0030]    The computer system  100  may be coupled via the bus  102  to a display  112 , such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user, such as output of translated text or speech. An input device  114 , such as a keyboard including alphanumeric and other keys, is coupled to the bus  102  for communicating information and command selections to the processor  104 . Another type of user input device may be a graphic control  116 , such as a cursor control, a mouse, a trackball, haptic devices, eye tracking systems, or cursor direction keys, for communicating direction information and command selections to the processor  104  and for controlling cursor movement on the display  112 . 
         [0031]    According to one embodiment of the invention, the processes described herein may be performed by the computer system  100 , in response to the processor  104  executing an arrangement of instructions contained in memory module  106 . Such instructions may be read into the memory module  106  from another computer-readable medium, such as the storage device  110 . Execution of the arrangement of instruction contained in memory module  106  causes the processor  104  to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in memory module  106 . In other embodiments, hard-wired circuitry may be used instead of or in combination with software instructions to implement the exemplary embodiment. Thus, it is to be understood that exemplary embodiments are not limited to any specific combination of hardware circuitry and software. 
         [0032]    The computer system  100  may also include a communication interface  118  coupled to a bus  102 . The communication interface  118  may provide a two-way data communication coupling to a network link  120  connected to a local network  122 . For example, the communication interface  118  may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. 
         [0033]    In another example, communication interface  118  may be a local area network (LAN) card (e.g., for Ethernet™ or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links may also be used. In any such implementation, communication interface  118  sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface  118  may include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, and the like. Although a single communication interface  118  is shown in  FIG. 1 , multiple communication interfaces may also be used. 
         [0034]    The network link  120  often provides data communication through one or more networks to other data devices. For example, the network link  120  may provide a connection through local network  122  to a host computer  126 , which has connectivity to a network  124  (e.g., a wide area network (WAN) or the other global packer data communication network commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network  122  and the network  124  both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link  120  and through the communication interface  118 , which communicate digital data with the computer system  100 , are exemplary forms of carrier waves bearing the information and instructions. 
         [0035]    The computer system  100  may send messages and receive data, including program code, through the network(s) the network link  120 , and the communication interface  118 . In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an exemplary embodiment through the network  124 , the local network  122  and to the communication interface  118 . The processor  104  may execute the transmitted code while being received and/or store the code in the storage device  110 , or other non-volatile storage for later execution. In this manner, the computer system  100  may obtain application code in the form of a carrier wave. 
         [0036]      FIG. 2  is a block diagram of an application service platform capable of providing a managed language translation, call transcript application and or other cloud based application service and other applications, according to various exemplary embodiments. For illustrative purposes, a communication system  200  may comprise a translation service platform  202  that provides a managed service for real time or near real-time translation. The platform  202 , in an exemplary embodiment, uses one or more translation applications  204  which may be executed by a grid or cluster of computers. For example, application may be an automated interactive language translator, without the need for interpreters, dictionaries, or memorization of pre-recorded phrases. The application may receive speech in one language and output speech in a designated language in a real-time voice-to-voice translation of continuous free speech. In this example, the translation applications  204  may be implemented to encompass several different languages with varying combination of source and target languages (e.g., from English-to-German, English-to-Spanish, Spanish-to-English, German-to-English, and the like). 
         [0037]    A switch  206  may be situated within the translation and/or application service platform  202 . The switch  206  may provide a mapping of voice calls to a respective session associated with the translation performed by the translation applications  204 . The switch  206  may also perform load balancing of the voice traffic to ensure real-time performance of the translation service. 
         [0038]    The translation service platform  202  may use, in one example, an Internet Protocol (IP) virtual private network (VPN) gateway (GW)  208  for securely communicating over a data network  210 . Alternatively, the translation service platform  202  may communicate over a circuit switched network  212 , (e.g., a public switched telephone network (PSTN) or a cellular network) using an IP telephony gateway  218 . 
         [0039]    A service provider may maintain the application and/or translation service platform  202  and use a billing system  216  to invoice subscribers. The billing system  216  may enable payment on demand or on a pre-paid basis. 
         [0040]    The application/translation service platform  202  may establish a virtual private network (VPN) connection with IP VPN GW  218 . The IP VPN gateways  208 ,  218  may create a secure tunnel through the data network  210  to exchange voice traffic. The VPN may operate according to a best-effort or a negotiated Service Level Agreement (SLA). 
         [0041]    Although  FIG. 2  shows a point-to-point connection, the VPN may employ other topologies. The IP VPN Gateway  218  may serve IP private branch exchanges (PBXs)  220 ,  222 . The IP PBX  220  may connect to one or more voice stations  224  to provide telephony features and services. As a private branch exchange, the IP PBX  220  may provide a telephony switching system within an organization (business or enterprise). The IP PBX  220  may switch calls between Voice over IP (VoIP) voice stations (of which only one, voice station  224 , is shown) on local lines and permits such stations to share external phone lines. Also, the IP PBX  220  may switch calls between a VoIP voice station and a traditional POTS (Plain Old Telephone Service) voice station, or between two POTS voice stations. 
         [0042]    The IP PBX  222  may provide telephony features to voice station(s)  226 , such as call transfer, call forwarding, call pick-up, call waiting, abbreviated dialing, and the like. The voice stations  224 ,  226  may be VoIP stations, which may be actual physical devices or virtual (“soft”) interface within a computing device. The computing devices may include desktop personal computers, workstations, web appliances, personal digital assistants (PDAs), tablet computers, smart phones, and the like. 
         [0043]    The communication system  200  may permit users (or subscribers) with POTS voice stations  226  to use real-time and or next to real-time language translation services. Using the embodiment shown in  FIG. 2 , the voice stations  224 ,  226 , and  228  may allow the users to communicate in different languages without addressing scheduling issues, as the translation service platform  202  does not necessarily rely on a human interpreter. No human intervention is required to conduct the translation service. Human intervention may be used to enhance accuracy. 
         [0044]      FIG. 3  is a block diagram of an exemplary application and/or translation service platform for providing language translation services. System  300  may comprise a soft switch  302  for controlling activity from incoming data stream  304  (such as an incoming voice call, text message, instant message, or other incoming data) and outgoing data stream  306  (such as an outgoing voice call, text message, instant message, or other outgoing data). The soft switch  302  may be a cross-platform scalable free multi-protocol soft switch of the type offered under the brand name FreeSWITCH.™ A control framework  308 , such as the open source voice application framework offered under the brand name Adhearsion,™ may be operatively connected to the soft switch  302  for communication between the soft switch  302  and an API (Application Platform Interface)  310 . The control framework  308  may be a dynamically loaded controlled framework module that uses and accesses an entire media stream. Using the soft switch  302  in conjunction with the control framework  308  may improve communication with the API or third-party applications to obtain information necessary for routing, interacting with, or otherwise modifying an existing or new call stream. 
         [0045]    The API  310  may communicate with database  312  and network  314 . Network  314  may comprise any of several types of networks, such as the Internet, an intranet, a cloud platform, or any other suitable network. 
         [0046]    The present invention may function with a cloud in-call application telecommunication infrastructure. After receiving a DTMF (Dual Tone Multi-Frequency) voice detection, a system may query the API for a list of available applications for a given telephone number from a database. A subscriber may choose a particular application to be launched at a specific time. For example, the subscriber may make the choice with voice recognition functions or from a predetermined DTMF. When the service is launched, a control framework for a soft switch may communicate with a third-party application via an Internet Protocol or other manner to retrieve information pertaining to the call. The call may be diverted to a remote application or the call may interact with the remote application which issues commands to the soft switch control framework. 
         [0047]    An API-centric structure may provide leverage for supporting various controls in the system, such as billing, user management, translation control, call control, and other functions to facilitate operation. 
         [0048]    The database  312  may comprise more than one physical piece of equipment and may be situated among more than one physical location. The network may comprise one or more service modules  316 - 334 , which may be third-party proprietary service providers. 
         [0049]    As an exemplary data processing arrangement, an incoming voice call may enter the system  300  through incoming data stream  304 , such as a calling party speaking in a first language. The data from the incoming data stream  304  may include an event detected at switch  302 , such as the calling party pressing a touch tone telephone handset button number  5  to indicate a request for translation services. The event number  5  may be processed by the soft switch  302  and/or the control framework  308  for transmission to the API  310  for direction among the other portions of the system  300 . The event number  5  indication may be present in the database  312 , which transmits the identity of the event number  5  indication to the API  310  for transmittal of the request to an appropriate portion of the network  314 , such as service module  316 . Service module  316  may be a module for recognizing the caller&#39;s spoken first language, and sending information to the API  310  for direction of the service module  316  data to another module, such as service module  318 . At service module  318 , a third-party service may convert the recognized voice data to text data, sending the text data to API  310 , which sends the text data to the network  314  for processing by another service module, such as service module  320 . The text data in the first language may be translated into text data in a second language for the called party at service module  320 . The second language text data may be transmitted to the API  310  for direction to another service module, such as service module  322  for conversion of the second language text data into voice data in the second language for transmission via the API for eventual transmission through outgoing data stream  306 . It should be understood that functions may be shared among various service modules in various combinations and sequences other than the combinations and sequences stated in this example. 
         [0050]      FIG. 4  is a block diagram of an exemplary translation service platform for providing language, according to yet another embodiment of the present invention for an application platform. System  400  may overall function similarly to the system  300  discussed regarding  FIG. 3 . System  400  in  FIG. 4  may comprise soft switches  416 A,  416 B,  4160 ,  416 D,  416 E associated with dedicated respective control frameworks  418 A,  418 B,  4180 ,  418 D,  418 E for direct communication between network  414  and soft switch  402 , eliminating some, if not all, transmission of data via API  410 , which may interact with database  412  for streamlined communication with control framework  408 . System  400  may offer reduced processing time for incoming data stream  404  and more rapid output through outgoing data stream  406 . 
         [0051]    Network  414  may be an intranet, a dedicated network, the Internet, a third-party service provider, or a collection of third-party service providers, such as a Platform as a Service (PaaS) network. Various outside services may be provided via network  414 . For example, incoming stream  404  may be recorded at a switch then sent to a third-party cloud, network, or streamed live to any of the service modules. Other services may include a concierge service or a grocery shopping service, wherein a party to a call may indicate a request (by voice detection, pressing a button, or other method) for offered services. For example, a caller may use a “hot word” such as “grocery request” to prompt the system  400  to initiate a grocery order. 
         [0052]    The present invention may operate with an application (e.g., a translation application) with a Recall functionality. With Recall functionality, call legs may be recorded after a call is initiated or bridged in directly. A recording of at least one call leg may be handled by the API which may contain an algorithm that parses, sorts, and date-stamps the individual packets, phrases, or sentences in a call flow. The recorded information may be stored in the database. The recorded information may be presented to or reviewed by the calling party, the called party, or a third-party, such as a third-party application. 
         [0053]    It should be understood, of course, that the foregoing relates to exemplary embodiments of the invention and that modifications may be made without departing from the spirit and scope of the invention as set forth in the following claims. For example, method steps, such as recording, computing, receiving, translating, and other steps may be conducted remotely from a mobile device, such as is commonly understood as “cloud computing.” Also, the methods, systems, and apparatus may occur partially or entirely on a mobile device and not necessarily exclusively in a cloud-computing environment. Furthermore the invention may be an application platform which can be used for multiple applications not limited to translation, recall, and other applications using in-call and pre-call media input and output to the application platform. 
         [0054]    Additionally, a method described herein may be performed in one or more sequences other than the sequence presented expressly herein.