# US 8,788,257 B1 · Unified cross platform input method framework

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

- Number: US 8,788,257 B1
- Document ID: US8788257B1
- Status: Granted
- Kind: B1
- Application number: 13/280,642
- Filed: 2011-10-25
- Granted: 2014-07-22
- Earliest claimed: 2011-10-25
- Assignees: Google Inc.
- Applicants: Zhe Su; Robert S. Jung; Brian Stell
- Inventors: Zhe Su; Robert S. Jung; Brian Stell
- Web page: https://patentgrep.com/patent/US8788257B1

## CPC

- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

The disclosed subject matter provides a system and method for responding to messages related to multilingual input from different operating systems. A central hub component executing on a processor manages communication between connected components, such as computer applications and different processes. An input message may be analyzed by the processor to determine a type of input device. A combination of rule sets may be applied to the input message sets. The first and second rule sets may be selected based on the analysis. The first and second rule sets may be applied to the input message. A probable output message may be generated from the application of each of the rule sets in the combination of rule sets, and forwarded for delivery to an output device.

## Claims

### Claim 1

A method for determining a response to an input message, comprising:
receiving, at a processor, an input message from a computer application, the input message including a message type;
analyzing, by the processor, the input message to determine the message type;
determining a combination of rule sets to be applied to the input message, wherein each rule set contains rules for converting a payload of the input message into a message result, and the rule set combinations are made according to a most probable content of the input message;
retrieving from a data storage a first rule set from the determined combination of rule sets;
retrieving from the data storage a second rule set in the determined combination of rule sets;
applying the retrieved first and second rule sets to the input message;
generating from the application of the first rule set a first expected output message based on the message payload;
generating from the application of the second rule set a second expected output message based on the message payload;
determining a probable output message based on the generated first and second expected output messages; and
outputting the probable output message for delivery to the computer application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the analyzing the input message further comprises:
parsing the input message to determine the message type, content of the input message, a reply mode flag, a source component identifier, a target component identifier, a message serial number and the payload of the input message.

### Claim 3 (depends on 1)

The method of claim 1, wherein the message type indicates the input device type that was used as an input to the computer application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the message type and corresponding combination of rules are stored in a data structure.

### Claim 5 (depends on 1)

The method of claim 1, wherein the combination of rule sets includes at least one rule set directed to a rule set for converting a message payload of the input message received from any of a tablet keyboard, a telephone keyboard, a personal digital media device keyboard, a desktop keyboard, a telephone touchpad, a personal digital media device touchpad, a tablet touchpad, a phone microphone, a tablet microphone, and a desktop microphone.

### Claim 6 (depends on 5)

The method of claim 5, wherein the combination of rule sets are determined dependent upon the user preferences related to the intended recipient.

### Claim 7 (depends on 1)

The method of claim 1, wherein the applying the retrieved rule set, comprises:
operating on a payload of the message to determine an action in response to the input message.

### Claim 8

A system, comprising:
a server for receiving messages from an external device to be sent to a recipient;
data storage devices coupled to the server, the data storage devices storing executable code that operates on the received messages;
a processor for executing executable code retrieved from the data storage based on content of the received messages, the processor configured to:
receive an input message from a device according to an input device;
analyze the input message to determine the type of input device;
determine a combination of rule sets to be applied to the input message, wherein each rule set contains rules for converting content of the input message into a message result, and the rule set combinations are made according to a most probable content of the input message;
retrieve from a data storage a first rule set in the combination of rule sets based on the determination of the combination of rule sets;
retrieve from the data storage a second rule set in the combination of rule sets based on the determination;
apply the retrieved first and second rule sets to the input message;
generate a probable output message from the application of the combination of rule sets; and
forward the probable output message for delivery to an output device.

### Claim 9 (depends on 8)

The system of claim 8, where to execute the retrieving of a first rule set, the processor is further configured to:
retrieve multi-touch gesture translation rules, when the identified message type indicates the input message includes content input from a touch screen.

### Claim 10 (depends on 8)

The system of claim 8, where to execute the retrieving of a first rule set, the processor is further configured to:
retrieve voice translation rules, when the identified message type indicates the input message includes content input from a microphone.

### Claim 11 (depends on 8)

The system of claim 8, where to execute the retrieving of a first rule set, the processor is further configured to:
retrieve keyboard translation rules, when the identified message type indicates the input message includes content input from a keyboard.

### Claim 12 (depends on 8)

The system of claim 8, where to execute the retrieving of a first rule set, the processor is further configured to:
retrieve handwriting translation rules, when the identified message type indicates the input message includes content input from a handwriting device.

### Claim 13 (depends on 8)

The system of claim 8, further comprising a server connection to a cloud service component, wherein the processor retrieves either the first or second rule set from the cloud service component.

### Claim 14

A computer program product having computer program code containing instructions embodied in a non-transitory machine readable medium, a processor executes the instructions to provide a method for determining a response to an input message, the method comprising:
receiving, at a processor, an input message from an input device;
analyzing, by the processor, the input message to determine the type of input device;
determining a combination of rule sets to be applied to the input message, wherein each rule set contains rules for converting content of the input message into a message result, and the rule set combinations are made according to a most probable content of the input message;
retrieving from a data storage a first rule set in the combination of rule sets based on the determination of the combination of rule sets;
retrieving from the data storage a second rule set in the combination of rule sets based on the determination;
applying the retrieved first and second rule sets to the input message;
generating a first expected output message from the application of the first rule set;
generating a second expected output message from the application of the second rule set;
comparing the first expected output message to the second expected output message; and
forwarding a probable output message for delivery to an output device.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the analyzing the input message further comprises:
parsing the input message to determine the input message type, content of the input message, a reply mode flag, a source component identifier, a target component identifier, a message serial number and the payload of the input message.

### Claim 16 (depends on 14)

The computer program product of claim 14, wherein the combination of rule sets includes at least one rule set directed to a rule set for converting a message payload of the input message received from any of a tablet keyboard, a telephone keyboard, a personal digital media device keyboard, a desktop keyboard, a telephone touchpad, a personal digital media device touchpad, a tablet touchpad, a phone microphone, a tablet microphone, and a desktop microphone.

### Claim 17 (depends on 1)

The computer program product of claim 1, wherein the message type indicates the input device type that was used as an input to the computer application.

### Claim 18 (depends on 14)

The computer program product of claim 14, wherein the combination of rule sets are determined dependent upon the user preferences related to the intended recipient.

### Claim 19 (depends on 14)

The computer program product of claim 14, wherein the applying the retrieved rule set, comprises:
operating on a payload of the message to determine an action in response to the input message.
