1. A method of performing speech recognition in a distributed speech recognition system comprising an electronic device having an embedded speech recognizer and a network device having a remote speech recognizer remote from the electronic device, the method comprising:
receiving, by the electronic device, input audio uninterrupted by one or more prompts output from the electronic device, wherein the input audio comprises input speech;
identifying multiple types of information in the input speech;
determining whether speech recognition by the remote speech recognizer is desired, wherein the determining is based, at least in part, on the identified types of information in the input speech; and
in response to determining that speech recognition by the remote speech recognizer is desired, processing a first portion of the input speech by the embedded speech recognizer and sending a second portion of the input speech to the network device for recognition by the remote speech recognizer.
2. The method of claim 1, wherein the second portion of the input speech is processed prior to being sent to the network device.
3. The method of claim 1, wherein the embedded speech recognizer is configured to perform speech recognition on at least one first type of information and the remote speech recognizer is configured to perform speech recognition on at least one second type of information, and wherein determining whether speech recognition by the remote speech recognizer is desired comprises:
determining whether the input speech includes input audio corresponding to the at least one second type of information.
4. The method of claim 1, wherein identifying multiple types of information in the input speech comprises:
processing the input speech by the embedded speech recognizer to determine the first portion of the input audio as corresponding to a first type of information and the second portion of the input audio as corresponding to a second type of information.
5. The method of claim 4, further comprising:
determining whether the embedded speech recognizer is configured to recognize the first type of information andor the second type of information with an accuracy above a threshold; and
determining that speech recognition by the remote speech recognition is desired in response to determining that the embedded speech recognizer is not configured to recognize the first type of information andor the second type of information with an accuracy above the threshold.
6. The method of claim 1, further comprising:
recognizing the entire input speech by the embedded speech recognizer in response to determining that speech recognition by the remote speech recognizer is not desired; and
performing at least one action based, at least in part, on a local speech recognition result produced by the embedded speech recognizer.
7. The method of claim 6, wherein the at least one action is selected from the group consisting of initiating a phone call, sending a communication including text, and performing a web-based operation.
8. The method of claim 1, wherein the multiple types of information are selected from the group consisting of voice command information, name information, free-flow dictation, and web-search parameters.
9. The method of claim 1, wherein at least one of the multiple types of information in the input audio is identified as free-flow dictation andor web-search parameters, and wherein the method further comprises:
determining that speech recognition by the remote speech recognizer is desired in response to identifying at least one of the multiple types of information in the input audio as free-flow dictation andor web-search parameters.
10. A non-transitory computer-readable storage medium encoded with a plurality of instructions that, when executed by at least one processor on an electronic device in a distributed speech recognition system comprising the electronic device having an embedded speech recognizer and a network device having a remote speech recognizer remote from the electronic device, perform a method comprising:
receiving, by the electronic device, input audio uninterrupted by one or more prompts output from the electronic device, wherein the input audio comprises input speech;
identifying multiple types of information in the input speech;
determining whether speech recognition by the remote speech recognizer is desired, wherein the determining is based, at least in part, on the identified types of information in the input speech; and
in response to determining that speech recognition by the remote speech recognizer is desired, processing a first portion of the input speech by the embedded speech recognizer and sending a second portion of the input speech to the network device for recognition by the remote speech recognizer.
11. The computer-readable storage medium of claim 10, wherein the second portion of the input speech is processed prior to being sent to the network device.
12. The computer-readable storage medium of claim 10, wherein identifying multiple types of information in the input speech comprises:
processing the input speech by the embedded speech recognizer to determine the first portion of the input audio as corresponding to a first type of information and the second portion of the input audio corresponding to a second type of information.
13. The computer-readable storage medium of claim 12, wherein the method further comprises:
determining whether the embedded speech recognizer is configured to recognize the first type of information andor the second type of information with an accuracy above a threshold; and
determining that speech recognition by the remote speech recognition is desired in response to determining that the embedded speech recognizer is not configured to recognize the first type of information andor the second type of information with an accuracy above the threshold.
14. The computer-readable storage medium of claim 10, wherein the method further comprises:
recognizing the entire input speech by the embedded speech recognizer in response to determining that speech recognition by the remote speech recognizer is not desired; and
performing at least one action based, at least in part, on a local speech recognition result produced by the embedded speech recognizer.
15. The computer-readable storage medium of claim 10, wherein at least one of the multiple types of information in the input audio is identified as free-flow dictation andor web-search parameters, wherein the method further comprises:
determining that speech recognition by the remote speech recognizer is desired in response to identifying at least one of the multiple types of information in the input audio as free-flow dictation andor web-search parameters.
16. An electronic device for use in a distributed speech recognition system comprising the electronic device and a network device remote from the electronic device, the electronic device, comprising:
an embedded speech recognizer configured to receive input audio uninterrupted by one or more prompts output from the electronic device, wherein the input audio comprises input speech; and
at least one processor programmed to:
identify multiple types of information in the input speech;
determine whether speech recognition by the remote speech recognizer is desired, wherein the determining is based, at least in part, on the identified types of information in the input speech; and
in response to determining that speech recognition by the remote speech recognizer is desired, process a first portion of the input speech by the embedded speech recognizer and send a second portion of the input speech to the network device for recognition by the remote speech recognizer.
17. The electronic device of claim 16, wherein the second portion of the input speech is processed prior to being sent to the network device.
18. The electronic device of claim 16, wherein identifying multiple types of information in the input speech comprises processing the input speech by the embedded speech recognizer to determine the first portion of the input audio as corresponding to a first type of information and the second portion of the input audio as corresponding to a second type of information and wherein the processor is further programmed to:
determine whether the embedded speech recognizer is configured to recognize the first type of information andor the second type of information with an accuracy above a threshold; and
determine that speech recognition by the remote speech recognition is desired in response to determining that the embedded speech recognizer is not configured to recognize the first type of information andor the second type of information with an accuracy above the threshold.
19. The electronic device of claim 16, wherein the embedded speech recognizer is configured to recognize the entire input speech in response to determining that speech recognition by the remote speech recognizer is not desired; and
wherein the at least one processor is further programmed to perform at least one action based, at least in part, on a local speech recognition result produced by the embedded speech recognizer.
20. The distributed speech recognition system of claim 16, wherein at least one of the multiple types of information in the input audio is identified as free-flow dictation andor web-search parameters, wherein the at least one processor is further programmed to:
determine that speech recognition by the remote speech recognizer is desired in response to identifying at least one of the multiple types of information in the input audio as free-flow dictation andor web-search parameters.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method, comprising:
maintaining a workspace in a web-based collaborative environment for a plurality of collaborators, wherein one or more of the collaborators of the workspace perform activities on one or more work items within the workspace;
if one or more of the collaborators has a synchronization permission for the workspace, permitting each of the one or more of the collaborators to enable synchronization to occur between the workspace and a local sync folder on each of the one or more of the collaborators’ computers when a change is detected at the workspace or at the local sync folder.
2. The method of claim 1, wherein requirements for the synchronization permission for the workspace is determined by a creator or administrative user of the workspace.
3. The method of claim 1, further comprising:
receiving an event notification from an editing collaborator’s computer of a new change in an editing collaborator’s local sync folder;
copying the new change from the editing collaborator’s local sync folder to the workspace.
4. The method of claim 3, further comprising:
sending a notification of the new change to the workspace to selected collaborators of the workspace.
5. The method of claim 4, wherein the notification is made in real time or near real time to when the copying occurred.
6. The method of claim 4, wherein the selected collaborators are selected based on permissions configured for the workspace.
7. The method of claim 1, further comprising:
maintaining a set of synchronized electronic folders, wherein the set of synchronized electronic folders includes the workspace, a first local sync folder stored on a first electronic device of a first collaborator, and a second local sync folder stored on a second electronic device of a second collaborator; wherein the first collaborator and the second collaborator are collaborators of the workspace.
8. The method of claim 7, further comprising:
receiving at the first electronic device a first event notification of a first change to a work item in the workspace;
receiving at the first electronic device a second event notification of a second change to a local copy of the work item in the first local sync folder;
accessing a rule engine to determine a first action for handling synchronization of the work item in the first local sync folder and the workspace.
9. The method of claim 8, if the first change and the second change are a hard conflict, the first action comprises:
creating a first copy of the local copy of the work item in the first local sync folder;
renaming the first copy, wherein a new name of the first copy includes an identification of the first collaborator;
downloading the work item from the workspace to the first local sync folder;
uploading the renamed first copy to the workspace;
notifying the first collaborator that the second change was not merged into the work item in the workspace.
10. The method of claim 9, further comprising:
sending a first notification of the uploaded first copy to the workspace to selected collaborators of the workspace.
11. The method of claim 10, wherein the first notification is made in real time or near real time to when the uploading occurred.
12. The method of claim 9, further comprising:
receiving at the second electronic device a third event notification of the first change to the work item in the workspace;
receiving at the second electronic device a fourth event notification of the uploading of the renamed first copy to the workspace;
downloading the work item with the first change from the workspace to the first local sync folder.
13. The method of claim 8, if the first change and the second change are a soft conflict, the first action comprises:
downloading the work item from the workspace to the first local sync folder;
merging the second change with the downloaded work item.
merging the second change with the work item in the workspace.
14. The method of claim 13, further comprising:
sending a second notification of the work item with the merged second change to the workspace to selected collaborators of the workspace.
15. The method of claim 14, wherein the second notification is made in real time or near real time to when the uploading occurred.
16. A system, comprising:
a triggering event module configured to receive notifications about changes made to a server sync folder and a local sync folder synchronized to the server sync folder, wherein the server sync folder is stored in a web-based collaborative platform, and further wherein the local sync folder is stored at a computer of a collaborator of the server sync folder who has synchronization permission;
a copying manager configured to copy a change in one of the synchronized folders to the other synchronized folder.
17. The system of claim 16, further comprising a notification server configured to send a notification to selected collaborators of the server sync folder when the server sync folder is synchronized to the local sync folder.
18. The system of claim 16, further comprising:
a conflicts manager configured to identify a conflict if a work item has been changed in the server sync folder and the local sync folder and to determine an action to be performed in response to the conflict.
19. The system of claim 18, further comprising:
a rules engine configured to receive information about the conflict and to search among pre-defined rules for the action to be performed.
20. A system, comprising:
means for maintaining a workspace in a web-based collaborative environment, wherein one or more of the collaborators of the workspace perform activities on one or more work items within the workspace;
if one or more of the collaborators has a synchronization permission for the workspace, permitting each of the one or more of the collaborators to enable synchronization to occur between the workspace and a local sync folder on each of the one or more of the collaborators’ computers when a change is detected at the workspace or at the local sync folder.
21. The method of claim 20, further comprising:
means for receiving an event notification from an editing collaborator’s computer of a new change in the editing collaborator’s local sync folder;
means for copying the new change from the editing collaborator’s local sync folder to the workspace;
means for sending a notification of the new change to the workspace to selected collaborators of the workspace.