Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A system and method causes a computer to detect and perform actions on structures identified in computer data. The system provides an analyzer server, an application program interface, a user interface and an action processor. The analyzer server receives from an application running concurrently data having recognizable structures, uses a pattern analysis unit, such as a parser or fast string search function, to detect structures in the data, and links relevant actions to the detected structures. The application program interface communicates with the application running concurrently, and transmits relevant information to the user interface. Thus, the user interface can present and enable selection of the detected structures, and upon selection of a detected structure, present the linked candidate actions. Upon selection of an action, the action processor performs the action on the detected structure.

InventorsJames R. Miller, Thomas Bonura, Bonnie Nardi, David Wright
Original AssigneeApple Computer, Inc.
Primary Examiner: Patrick N. Edouard
Current U.S. Classification704/9; 704/1
International Classification: G06F 1727

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5115390Nov 13, 1989May 19, 1992Sony CorporationControl data input apparatus
US5130924Jun 30, 1988Jul 14, 1992International Business Machines CorporationSystem for defining relationships among document elements including logical relationships of elements in a multi-dimensional tabular specification
US5164899May 1, 1989Nov 17, 1992Resumix, Inc.Method and apparatus for computer understanding and manipulation of minimally formatted text documents
US5202828May 15, 1991Apr 13, 1993Apple Computer, Inc.User interface system having programmable user interface elements
US5247437Oct 1, 1990Sep 21, 1993Xerox CorporationMethod of managing index entries during creation revision and assembly of documents
US5369575May 15, 1992Nov 29, 1994International Business Machines CorporationConstrained natural language interface for a computer system
US5574843Jan 17, 1995Nov 12, 1996Escom AGMethods and apparatus providing for a presentation system for multimedia applications

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6286014Jun 16, 1998Sep 4, 2001International Business Machines Corp.Method and apparatus for acquiring a file to be linked
US6298357Jun 3, 1997Oct 2, 2001Adobe Systems IncorporatedStructure extraction on electronic documents
US6392668Nov 12, 1999May 21, 2002Kendara, Inc.Client-side system and method for network link differentiation
US6484224Nov 29, 1999Nov 19, 2002Cisco Technology Inc.Multi-interface symmetric multiprocessor
US6651218Dec 22, 1998Nov 18, 2003Xerox CorporationDynamic content database for multiple document genres
US6799300Sep 18, 2000Sep 28, 2004Matsushita Electric Industrial Co., Ltd.
Panasonic Mobile Communications Co., Ltd.
NTT DoCoMo, Inc.
Document processor
US6870828Jun 3, 1997Mar 22, 2005Cisco Technology, Inc.Method and apparatus for iconifying and automatically dialing telephone numbers which appear on a Web page
US6973643Aug 17, 2001Dec 6, 2005International Business Machines CorporationMethod, system and program for handling errors occurring in function calls
US7000055Jul 26, 2002Feb 14, 2006Cisco Technology, Inc.Multi-interface symmetric multiprocessor
US7003522Jun 24, 2002Feb 21, 2006Microsoft CorporationSystem and method for incorporating smart tags in online content
US7032174Mar 27, 2001Apr 18, 2006Microsoft CorporationAutomatically adding proper names to a database
US7133693Sep 5, 2003Nov 7, 2006Fujitsu LimitedInformation processing device, schedule inputting method and program for use in information processing device
US7178102Dec 9, 2003Feb 13, 2007Microsoft CorporationRepresenting latent data in an extensible markup language document
US7272604Sep 3, 1999Sep 18, 2007Method, system and computer readable medium for addressing handling from an operating system
US7277905Mar 31, 2004Oct 2, 2007Microsoft CorporationSystem and method for a consistency check of a database backup
US7281245Jun 5, 2002Oct 9, 2007Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US7325194May 7, 2002Jan 29, 2008Microsoft CorporationMethod, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US7346892May 27, 2003Mar 18, 2008Microsoft CorporationPrediction and pre-selection of an element in syntax completion
US7356537Jun 6, 2002Apr 8, 2008Microsoft CorporationProviding contextually sensitive tools and help content in computer-generated documents
US7392479Jun 27, 2002Jun 24, 2008Microsoft CorporationSystem and method for providing namespace related information
US7404195Dec 9, 2003Jul 22, 2008Microsoft CorporationProgrammable object model for extensible markup language markup in an application
US7421645Apr 24, 2001Sep 2, 2008Microsoft CorporationMethod and system for providing electronic commerce actions based on semantically labeled strings
US7434157Dec 9, 2003Oct 7, 2008Microsoft CorporationProgrammable object model for namespace or schema library support in a software application
US7451389Jun 27, 2002Nov 11, 2008Microsoft CorporationMethod and system for semantically labeling data and providing actions based on semantically labeled data
US7457642Jun 1, 2006Nov 25, 2008Fujitsu LimitedInformation processing device, schedule inputting method and program for use in information processing device
US7487515Dec 9, 2003Feb 3, 2009Microsoft CorporationProgrammable object model for extensible markup language schema validation
US7490314Jan 30, 2004Feb 10, 2009Microsoft CorporationSystem and method for exposing tasks in a development environment
US7496854Aug 6, 2001Feb 24, 2009Arendi Holding LimitedMethod, system and computer readable medium for addressing handling from a computer program
US7509573Feb 17, 2004Mar 24, 2009Microsoft CorporationAnti-virus security information in an extensible markup language document
US7558841May 14, 2003Jul 7, 2009Microsoft CorporationMethod, system, and computer-readable medium for communicating results to a data query in a computer network
US7607100May 29, 2003Oct 20, 2009International Business Machines CorporationMethod, system and program product for display management of web page phone/fax numbers by a data processing system
US7610258Jan 30, 2004Oct 27, 2009Microsoft CorporationSystem and method for exposing a child list
US7672985Oct 30, 2006Mar 2, 2010Sentius International CorporationAutomated creation and delivery of database content
US7707024May 23, 2002Apr 27, 2010Microsoft CorporationMethod, system, and apparatus for converting currency values based upon semantically labeled strings
US7707496May 9, 2002Apr 27, 2010Microsoft CorporationMethod, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7711550Apr 29, 2003May 4, 2010Microsoft CorporationMethods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7712024Jul 16, 2001May 4, 2010Microsoft CorporationApplication program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7716163Jul 17, 2001May 11, 2010Microsoft CorporationMethod and system for defining semantic categories and actions
US7716676Jun 25, 2002May 11, 2010Microsoft CorporationSystem and method for issuing a message to a program
US7739588Jun 27, 2003Jun 15, 2010Microsoft CorporationLeveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7742048May 23, 2002Jun 22, 2010Microsoft CorporationMethod, system, and apparatus for converting numbers based upon semantically labeled strings
US7770102Jun 6, 2000Aug 3, 2010Microsoft CorporationMethod and system for semantically labeling strings and providing actions based on semantically labeled strings
US7778816Apr 24, 2001Aug 17, 2010Microsoft CorporationMethod and system for applying input mode bias
US7783614Feb 13, 2003Aug 24, 2010Microsoft CorporationLinking elements of a document to corresponding fields, queries and/or procedures in a database
US7788590Sep 26, 2005Aug 31, 2010Microsoft CorporationLightweight reference user interface
US7788602Jul 16, 2001Aug 31, 2010Microsoft CorporationMethod and system for providing restricted actions for recognized semantic categories
US7827546Dec 9, 2003Nov 2, 2010Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US7899674Jan 30, 2007Mar 1, 2011The United States of America as represented by the Secretary of the NavyGUI for the semantic normalization of natural language
US7912828Feb 23, 2007Mar 22, 2011Apple Inc.Pattern searching methods and apparatuses
US7917843Jul 29, 2008Mar 29, 2011Arendi S.A.R.L.Method, system and computer readable medium for addressing handling from a computer program
US7921356Jul 22, 2010Apr 5, 2011Arendi S.A.R.L.Method, system and computer readable medium for addressing handling from a computer program
US7937688Feb 8, 2007May 3, 2011Microsoft CorporationSystem and method for context-sensitive help in a design environment
US7992085May 15, 2007Aug 2, 2011Microsoft CorporationLightweight reference user interface
US8095882Sep 29, 2005Jan 10, 2012Avaya Technology Corp.Additional functionality for telephone numbers and utilization of context information associated with telephone numbers in computer documents
US8174503May 17, 2008May 8, 2012David H. CainTouch-based authentication of a mobile device through user generated pattern creation
US8214349Mar 1, 2010Jul 3, 2012Sentius International LLCAutomated creation and delivery of database content

Claims

1. A computer-based system for detecting structures in data and performing actions on detected structures, comprising:

an input device for receiving data;
an output device for presenting the data;
a memory storing information including program routines including
an analyzer server for detecting structures in the data, and for linking actions to the detected structures;
a user interface enabling the selection of a detected structure and a linked action; and
an action processor for performing the selected action linked to the selected structure; and
a processing unit coupled to the input device, the output device, and the memory for controlling the execution of the program routines.

2. The system recited in claim 1, wherein the analyzer server stores detected structures in the memory.

3. The system recited in claim 1, wherein the input device receives the data from an application running concurrently, and wherein the program routines stored in memory further comprise an application program interface for communicating with the application.

4. The system recited in claim 1, wherein the analyzer server includes grammars and a parser for detecting structures in the data.

5. The system recited in claim 4, wherein the analyzer server includes actions associated with each of the grammars, and wherein the analyzer server links to a detected structure the actions associated with the grammar which detects that structure.

6. The system recited in claim 1, wherein the analyzer server includes a string library and a fast string search function for detecting string structures in the data.

7. The system recited in claim 6, wherein the analyzer server includes actions associated with each of the strings, and wherein the analyzer server links to a detected structure the actions associated with the grammar which detects that string structure.

8. The system recited in claim 1, wherein the user interface highlights detected structures.

9. The system recited in claim 1, wherein the user interface enables selection of an action by causing the output device to display a pop-up menu of the linked actions.

10. The system recited in claim 1, wherein the programs stored in the memory further comprise an application running concurrently that causes the output device to present the data received by the input device, and an application program interface that provides interrupts and communicates with the application.

11. The system recited in claim 1, wherein the user interface enables the selection of a detected structure and a linked action using sound activation.

12. The system recited in claim 1, wherein a first one of the actions may invoke a second one of the actions.

13. A program storage medium storing a computer program for causing a computer to perform the steps of:

receiving computer data;
detecting a structure in the data;
linking at least one action to the detected structure;
enabling selection of the structure and a linked action; and
executing the selected action linked to the selected structure.

14. In a computer having a memory storing actions, a system for causing the computer to perform an action on a structure identified in computer data, comprising:

means for receiving computer data;
means for detecting a structure in the data;
means for linking at least one action to the detected structure;
means for selecting the structure and a linked action; and
means for executing the selected action linked to the selected structure.

15. In a computer having a memory storing actions, a method for causing the computer to perform an action on a structure identified in computer data, comprising the steps of:

receiving computer data;
detecting a structure in the data;
linking at least one action to the detected structure;
enabling selection of the structure and a linked action; and
executing the selected action linked to the selected structure.

16. The method recited in claim 15, wherein the computer data is received from the application running concurrently.

17. The method recited in claim 15, wherein the memory contains grammars, and wherein the step of detecting a structure further comprises the steps of retrieving a grammar and parsing the data based on the grammar.

18. The method recited in claim 17, wherein the grammar is associated with a particular action, and wherein the step of linking at least one action to the detected structure includes the step of linking the particular action to the detected structure.

19. The method recited in claim 15, wherein the memory contains strings, and wherein the step of detecting a structure further comprises the steps of retrieving a string from the memory and scanning the data to identify the string.

20. The method recited in claim 15, further comprising after the step of detecting a structure, the step of highlighting the detected structure.

21. The method recited in claim 15, further comprising, after the step of linking at least one action to the detected structure, the step of displaying and enabling selection of an action for performance on the detected structure.

22. A computer-based method for causing a computer to identify, select and perform an action on a structure in computer data received from a concurrently running application, said application presenting the computer data to the user, the method comprising the steps of:

receiving computer data from the application;
detecting a structure in the computer data;
linking at least one action to the detected structure;
communicating with the application to determine the location of the detected structure as presented by the application, to enable selection of the detected structure and a linked action, and to determine if the detected structure and a linked action have been selected; and
performing a selected action linked to the detected pattern.

23. The method recited in claim 15, wherein the step of enabling uses sound activation.

24. The method recited in claim 15, wherein a first one of the actions may invoke a second one of the actions.