US9665574B1 - Automatically scraping and adding contact information - Google Patents
Automatically scraping and adding contact information Download PDFInfo
- Publication number
- US9665574B1 US9665574B1 US13/446,662 US201213446662A US9665574B1 US 9665574 B1 US9665574 B1 US 9665574B1 US 201213446662 A US201213446662 A US 201213446662A US 9665574 B1 US9665574 B1 US 9665574B1
- Authority
- US
- United States
- Prior art keywords
- contact
- information
- contact information
- matching
- identification profile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
- 238000007790 scraping Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000012015 optical character recognition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/435—Filtering based on additional data, e.g. user or group profiles
- G06F16/437—Administration of user profiles, e.g. generation, initialisation, adaptation, distribution
-
- G06F17/30035—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9562—Bookmark management
-
- G06F17/30884—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
Definitions
- Embodiments are generally related to an application or service that adds contact information to a contact database.
- Embodiments described herein relate to methods and systems for adding contact information to a personal contacts database.
- One or more contact indicators are identified within a document.
- the contact indicators at least partially represent contact identification information of an individual or place.
- One or more contact identification profiles which match the one or more contact indicators are identified.
- Each of the one or more identified contact identification profiles are displayed with an option of adding each contact identification profile to a personal contacts database.
- FIG. 1 is a diagram illustrating an example system, according to an embodiment.
- FIG. 2 is an illustration of a contact finder application, according to an embodiment.
- FIG. 3 is an illustration of an example display view of an exemplary system, according to an embodiment.
- FIG. 4 is another illustration of an example display view of an example system, according to an embodiment.
- FIG. 5 is an illustration of a flow diagram of an example method of operation, according to an embodiment.
- FIGS. 6A and 6B are illustrations of example display views of an example system, according to an embodiment.
- FIG. 7 is a diagram of an example system that may be used to implement embodiments disclosed herein.
- references to “one embodiment”, “an embodiment”, “an example embodiment”, etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- Contact databases function as a resource for users to store, manage and retrieve contact information related to an individual or a place of business.
- An application allows its users to optionally add contact information identified within a document to a personal contacts database.
- a user may visit a webpage of a business of interest.
- the webpage may be scanned for potential contact information related to the business of interest. Once potential contact information is identified, this information may be checked against a repository storing contact identification profiles.
- a contact identification profile is a record including contact information about a person or place, such as name, address, telephone number, website URL, or a social networking profile name. Once a matching contact identification profile is identified, the contact information of the contact identification profile is displayed to the user. The user is then provided the option to add the information from the contact identification profile to a personal contacts database.
- an individual may take a photograph including the name of a business of interest.
- the application detects the name in the photograph and performs a similar contact identification process, as discussed in the example above.
- the individual is presented with contact information related to the business of interest and an option to add the contact information to a personal contacts database is provided.
- references to “one embodiment”, “an embodiment”, “an example embodiment”, etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- FIG. 1 is a block diagram illustrating a contact identification system 100 for automatically identifying and adding contact information.
- Contact identification system 100 includes a server 112 , and a client computing device 102 coupled via one or more networks 110 , such as the Internet or a local area network.
- Client computing device 102 includes a browser 104 , contact finder application 106 , and personal contacts database 108 .
- Server 112 includes a contact identification profile repository 114 .
- contact identification system 100 operates as follows.
- Contact finder application 106 identifies potential contact information on a web page displayed by browser 104 .
- the potential contact information is parsed to generate a contact indicator.
- Contact finder application 106 makes a request to locate a contact identification profile which matches the generated contact indicator within contact identification profile repository 114 .
- client computing device 102 receives the information within the profile.
- Browser 104 displays the information within the contact identification profile to a user.
- the user is provided an option to edit the contact identification profile to add, modify or delete information.
- the user is then provided an option to add the contact information to personal contacts database 108 .
- the contact information is added to personal contacts database 108 .
- the user then has the ability to manage or retrieve the contact information from personal contact database 108 at a later time.
- Contact finder application 106 identifies one or more contact indicators within a document.
- a document may be a computer stored document, including, but not limited to a webpage, photograph, or an electronic book or document.
- contact finder application 106 may identify a contact indicator within a webpage viewed by a user or within a photograph taken by a user.
- contact finder application 106 may identify a contact indicator within an electronic book or document.
- a user may have an electronic book or document that includes a list of their contacts that they would like added to their personal contacts.
- a contact indicator at least partially represents contact identification information for an individual or a place.
- the contact indicator may be a name, an address, a telephone number, etc.
- identifying a contact indicator includes electronically detecting a user interaction with a set of information contained within the document and parsing the set of information. For example, a user may navigate to a web page for a business of interest. The web page may include potential contact information such as the business name, phone number or address. A user may interact with the potential contact information and perform a user operation, such as highlighting or right clicking the potential contact information. In response to the user interaction, the information is parsed to generate a contact indicator.
- identifying a contact indicator includes electronically scanning the document for potential contact information based on one or more contact heuristics and parsing the potential contact information.
- contact finder application 106 may be configured to automatically scan a displayed web page or a photograph and identify a contact indicator.
- a contact heuristic may be one of a name, telephone number, address, or combination thereof.
- Contact finder application 106 may scan the web page or photograph searching for patterns of data that represent contact information. For example, upon seeing a pattern of five numerical values in a row, contact finder application 106 may identify that data as a potential zip code of an address. The potential zip code and some of the information directly preceding it may be parsed to generate a contact indicator.
- OCR optical character recognition
- Contact finder application 106 identifies one or more contact identification profiles which match the identified contact indicator. For example, in response to identifying a contact indicator, contact finder application 106 sends a request to server 112 via network 110 to locate contact identification profiles within contact identification profile repository 114 .
- Contact identification profile repository 114 may store a plurality of contact identification profiles.
- a contact identification profile includes information related to contact information for an individual or place.
- a contact identification profile may be a database record including, but not limited to, a name, physical address, phone number, or web site address of a business of interest.
- a comparison between the identified contact indicator and each contact identification profile is made to determine a match. In an embodiment, a match is based on one or more contact heuristics.
- a contact indicator may include the address of a business of interest.
- a search of the address portion of a contact identification profile is performed for each contact identification profile within contact identification profile repository 114 . Once a match is found, all of the contact information within the matched contact identification profile is sent to contact finder application 106 on client computing device 102 .
- a new contact identification profile is generated if a matching contact identification profile is not found. For example, if a matching contact identification profile is not identified within contact identification profile repository 114 , server 112 may perform a search of another webserver (not pictured). Server 112 may attempt to identify contact identification information matching the identified contact indicator. In response to finding such information, a new contact identification profile may be generated, and that information is then sent to contact finder application 106 on client computing device 102 .
- Contact finder application 106 in response to receiving information from server 112 , displays the identified contact identification profile on browser 104 .
- an option of adding the contact identification profile to a personal contacts database is provided.
- the contact identification profile information received from server 112 may be displayed in a menu which appears as a pop-up window or side bar window on browser 104 .
- the menu may have an option button providing the ability to add the contact identification profile to personal contacts database 108 .
- the information from the contact identification profile is added to personal contacts database 108 .
- an option to edit the contact identification profile prior to adding it to the personal contact database may be provided.
- Contact finder application 106 may be part of or may be implemented with a computing device.
- computing devices include, but are not limited to, a computer, workstation, distributed computing system, computer cluster, embedded system, standalone electronic device, networked device, mobile device (e.g. mobile phone, smart phone, navigation device, tablet or mobile computing device), rack server, set-top box, or other type of computer system having at least one processor and memory.
- Such a computing device may include software, firmware, hardware, or a combination thereof.
- Software may include one or more applications and an operating system.
- Hardware can include, but is not limited to, a processor, memory and user interface display.
- Network 110 may be any network or combination of networks that can carry data communications.
- a network 110 may include, but is not limited to, a local area network, metropolitan area network, and/or wide area network such as the Internet.
- Network 110 can support protocols and technology including, but not limited to, World Wide Web (or simply the “Web”), protocols such as a Hypertext Transfer Protocol (“HTTP”) protocols, and/or services.
- Web World Wide Web
- HTTP Hypertext Transfer Protocol
- Intermediate web servers, gateways, or other servers may be provided between components of the system shown in FIG. 1 , depending upon a particular application or environment.
- Server 112 is a computing device or an application executing on a computing device that hosts contact identification profile repository 114 .
- Contact identification profile repository 114 may store data associated with contact information for an individual or place, such as a contact identification profile.
- Contact identification profile repository 114 can be hosted by one or more servers 112 .
- Server 112 delivers data within contact identification profile repository 114 to client computing device 102 .
- Contact identification profile repository 114 can store any data that can be provided over network 110 .
- the data stored in contact identification profile repository 114 may be identified by a resource tag that is associated with each contact identification profile.
- the data within contact identification profile repository 114 may include, for example, contact identification profiles stored as database records.
- the data in contact identification profile repository 114 can include content, such as words, phrases, images and sounds, that may include embedded information (such as meta-information in hyperlinks) and/or embedded instructions (such as JavaScript scripts).
- Client computing device 102 is a processor-based electronic device that is manipulated by a user and is capable of requesting and receiving data within contact identification profile repository 114 over network 110 .
- client computing device 102 include personal computers, mobile communication devices and tablet computers.
- Client computing device 102 typically includes an application, such as browser 104 .
- a user may utilize browser 104 to request data within contact identification profile repository 114 , such as contact information over network 110 .
- a request for data within contact identification profile repository 114 may be sent by contact finder application 106 of client computing device 102 in response to identifying one or more contact indicators within a document.
- server 112 delivers data within contact identification profile repository 114 to client computing device 102 .
- client computing device 102 uses browser 104 to display the data to the user.
- Browser 104 may be any kind of browser. Browser 104 may also include a contact finder application 106 .
- Contact finder application 106 may extend the functionality of browser 104 and can be configured to identify potential contact information within a document and add it to personal contacts database 108 .
- contact finder application 106 may be a browser extension downloaded from a web server and installed on client computing device 102 as part of browser 104 .
- Contact finder application 106 may be developed by an application developer on client computing device 102 or any other computing device. A programming language, such as JavaScript may be used to develop contact finder application 106 on client computing device 102 .
- Contact finder application 106 may then be stored locally on client computing device 102 .
- contact finder application 106 may be uploaded to a contact manager server (not shown). Contact manager server may distribute contact finder application 106 to additional client computing devices due to a request from a user.
- contact finder application 106 is described herein as operating in conjunction with a browser, one of skill in the art will recognize that contact finder application 106 may instead be implemented as a stand-alone application on client computing device 102 .
- FIG. 2 is an illustration of a contact finder application, according to an embodiment.
- Contact finder application 106 includes contact indicator module 202 , profile finder module 204 , and display generator 206 .
- Contact finder application 106 may be configured to identify contact information within a document and add it to a personal contacts database.
- FIG. 2 will be discussed in relation to FIG. 3 and FIG. 4 in order to illustrate certain embodiments.
- FIG. 3 and FIG. 4 are illustrations of example display views of an example system, according to embodiment.
- contact indicator module 202 is configured to identify one or more contact indicators within a document, where the contact indicator at least partially relates to contact information for an individual or a place.
- a document may be a computer stored document, including, but not limited to a webpage, photograph, or an electronic book or document.
- the document may be a page from a website a user is viewing, or the document may be a picture taken by a user via an image capturing device (e.g. a camera) of a mobile phone.
- one or more contact indicators may be identified by scanning the document for potential contact information based on one or more contact heuristics.
- contact indicator module 202 may scan a web page displayed on browser 104 as illustrated by FIG. 3 .
- Contact indicator module 202 may identify one or more contact indicators 304 A, 304 B, and 304 C. According to an embodiment, a contact indicator may be identified based on one or more contact heuristics.
- a contact heuristic may be one of a name, a telephone number, an address, or a combination thereof, according to an embodiment.
- contact indicator module 202 may scan the displayed web page and search for patterns of data which may be related to contact information for an individual or place. The pattern search may be based on the contact heuristic. A pattern of data that resembles a name, address or phone number would be identified as a contact indicator.
- Contact indicators 304 A, 304 B, 304 C illustrate data appearing within the web page, each contact indicator having a combination of data, which when scanned has patterns indicating potential contact information.
- one or more contact indicators may be identified in response to a user interaction with a set of information contained within a document.
- contact indicator module 202 may identify a contact indicator in response to a user interaction with a web page as illustrated by FIG. 4 .
- a user interaction may be a selection of a set of information followed by one of a right click, left click, shift-click, or control-click.
- a user may be viewing the displayed web page and interact with set of information 404 . The user may select and highlight the information.
- contact indicator module 202 is configured to identify this information as a contact indicator.
- Profile finder module 204 is configured to generate a request for one or more contact identification profiles matching the identified contact indicator.
- a request is sent to a server to identify contact identification profiles matching the identified contact indicator.
- profile finder module 204 may send a Hypertext Transfer Protocol (HTTP) request to server 112 for a contact identification profile matching the contact indicator.
- HTTP Hypertext Transfer Protocol
- server 112 Upon receipt of the request, server 112 searches within contact identification profile repository 114 for a matching contact identification profile.
- a matching contact identification profile may be identified based on one or more contact heuristics.
- a contact heuristic may be one of a name, a telephone number, an address, or GPS-location data.
- the GPS-location data may be retrieved from a mobile device equipped with GPS capturing technology. For example, when a user takes a photograph including contact information, the GPS coordinates of where the picture was captured can be used as a contact heuristic.
- profile finder module 204 may generate a HTTP request for a matching contact identification profile, by sending a message including a type of the contact indicator data.
- the type of the contact indicator data may be based on a contact heuristic, such as at least a partial name, telephone number, address, or GPS-location data according to an embodiment.
- the type of the contact indicator data is used by server 112 to identify whether a contact identification profile will be identified based on a name, telephone number, address, GPS-location data or combination thereof.
- Profile finder module 204 is further configured to receive a response message from server 112 , including information related to a contact identification profile matching the identified contact indicator.
- Display generator 206 is configured to display information related to an identified contact identification profile. According to an embodiment, upon receipt of information related to an identified contact identification profile, the information is extracted and a display is populated with the information of the contact identification profile. In an embodiment, an option, such as a checkbox, is provided enabling a user to add the contact identification profile to a personal contacts database. FIG. 3 and FIG. 4 illustrate the display of matching contact identification profiles.
- a display 306 is populated with data 302 A, 302 B, and 302 C.
- Data 302 A, 302 B, and 302 C correspond to each contact identification profile identified based on contact indicators 304 A, 304 B, and 304 C.
- Display 306 provides an option to add each contact identification profile to a personal contact database. For example, upon a user selecting a “Yes” option for data 302 A, 302 B, 302 C, each contact identification profile is added to personal contacts database 108 .
- an option may be provided to edit the contact identification profile prior to adding it to the personal contacts database. For example, a user may add to, modify, or delete portions of the name, address, or telephone number of a contact identification profile, prior to checking the “Yes” option box to add the contact identification profile to the personal contacts database.
- menu 402 is displayed with a matching contact identification profile.
- the user is provided with the option to add and manage the contact identification profile, as discussed previously.
- each of the constituent parts of contact identification system 100 may be implemented in hardware, software, firmware, or any combination thereof.
- modules or instructions that constitute operative parts of embodiments may utilize any type of structured memory, including a persistent memory.
- each data storage infrastructure may be implemented as a relational database.
- computer-readable medium storage embodiments may include any physical medium which is capable of having instructions encoded thereon that may subsequently be used by one or more processors to implement methods described herein.
- Example physical media may include floppy discs, optical discs (e.g. CDs, mini-CDs, DVDs, HD-DVD, Blu-ray), hard drives, punch cards, tape drives, flash memory, and memory chips.
- any other type of tangible storage medium that can serve in the role of providing instructions to one or more processors may be used to store the instructions in these embodiments.
- FIG. 5 is an illustration of a flow diagram of an example method of operation for automatically adding contact information to a contact database, according to embodiment. Further embodiments will be described using a combination of FIG. 5 , FIG. 6A , and FIG. 6B .
- FIGS. 6A and 6B are another illustration of an example display view of an example system, according to embodiment.
- one or more contact indicators are identified.
- one or more contact indicators may be identified by contact finder application 106 on client computing device 102 .
- a contact indicator is a set of information located within a document which at least partially represents contact identification information of an individual or place.
- contact finder application 106 may automatically scan a web page and search for patterns of data which may be related to contact information for an individual or place.
- a search for such patterns of data may be based on a contact heuristic such as one of a name, a telephone number, an address, or a combination thereof.
- the data is parsed to generate a contact indicator.
- a contact indicator may be identified based on a user interaction with data in a web page. For example, within a webpage a user may select and highlight a set of data related to contact information for an individual. In response to highlighting the data, contact finder application 106 parses the information and generates a contact indicator.
- a contact indicator may be identified by taking a photograph.
- a mobile device 602 equipped with a camera may include contact finder application 106 .
- the name may be recognized as a contact indicator by contact finder application 106 .
- the name of the business of interest in the photograph may be analyzed and parsed, and a contact indicator may be generated.
- the recognition of patterns of data indicative of contact information related to an individual or place may be performed by contact finder application 106 using OCR-based technology, known to those skilled in the art.
- mobile device 602 may be equipped with geo-location capturing technology, such as, but not limited to GPS.
- geo-location capturing technology such as, but not limited to GPS.
- the coordinates of the location where the picture was captured will be used as a contact heuristic.
- the contact indicator is generated, the geo-location information will be included.
- the geo-location information may be useful in a scenario, where the photograph 602 captures information about a business, in which there may be multiple businesses with the same name.
- photograph 604 captures the name of a restaurant entitled “Pizza Delivery 1”. There may be many restaurants with the same name if, for example, “Pizza Delivery 1” is a part of a chain of restaurants. Thus, the geo-location information captured with the photograph may be used to identify the specific restaurant in question.
- a request for one or more contact identification profiles which match the generated contact indicators is sent.
- a request for one or more contact identification profiles may be sent by contact finder application 106 on client computing device 102 .
- the request may be generated in response to identifying one or more contact indicators.
- the request is for one or more contact identification profiles within contact identification profile repository 114 which include data matching the one or more identified contact indicators.
- a request to identify a matching contact identification profile may be based on the contact heuristic.
- the contact heuristic may determine how the data within contact identification profile repository 114 is searched. For example, if a contact indicator is based on data related to an address or geo-location information, a matching contact identification profile is identified based on the address or geo-location information.
- step 506 it is determined whether a matching contact identification profile was identified. If one or more matching contact identification profiles are found, method 500 proceeds to step 508 . If a matching contact identification profile is not found, method 500 proceeds to step 510 .
- the one or more matching contact identification profiles are displayed.
- the one or more matching contact identification profiles are displayed by display generator 206 of contact finder application 106 .
- FIG. 6B illustrates the display of a matching contact identification profile 606 on mobile device 602 .
- the matching contact identification profile 606 displays contact information related to business depicted in photograph 604 .
- Contact identification profile 606 includes information such as the name, address, and phone number of the business.
- the contact identification profile can include information such as a URL to a company website, or social networking profile page.
- one or more contact identification profiles are generated.
- the one or more contact identification profiles may be generated by profile finder module 204 of contact finder application 106 .
- the contact indicator information is sent to server 112 .
- Server 112 may generate a contact identification profile by performing a search of another web server for contact information related to the identified contact indicator. For example, server 112 may search the web for information matching the identified contact indicator.
- an option to add the contact identification profile to a personal contacts database is provided.
- the option to add the contact identification profile to a personal contacts database is provided by display generator 206 of contact finder application 106 .
- a user has the ability to see each contact identification profile 606 which was identified or generated and has the option to add each contact identification profile to their personal contacts database. After adding the contact identification profile 606 , a user may retrieve that information at a later time.
- an option to modify the contact identification profile is provided prior to adding the contact identification profile 606 to a personal contacts database. For example, a user may choose to modify or personalize portions of the name, address, or zip code prior to adding the information to their personal contacts database.
- Some individuals may not want personal contact information divulged by an application, such as the one presented in connection with these embodiments. Therefore, it is desirable to only provide contact information of individuals who have opted to provide their information and who have given their informed consent before they use embodiments, so that users who are unwilling to accept the privacy trade-offs inherent to use of these embodiments do not participate.
- FIG. 6 illustrates an example computer system 700 in which the embodiments, or portions thereof, can be implemented as computer-readable code.
- contact identification system 100 carrying out method 500 of FIG. 5 can be implemented in system 700 .
- Various embodiments of the invention are described in terms of this example computer system 700 .
- Computer system 700 includes one or more processors, such as processor 704 .
- Processor 704 is connected to a communication infrastructure 706 (for example, a bus or network).
- Computer system 700 also includes a main memory 708 , preferably random access memory (RAM), and may also include a secondary memory 710 .
- Secondary memory 710 may include, for example, a hard disk drive and/or a removable storage drive.
- Removable storage drive 714 may include a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like.
- the removable storage drive 714 reads from and/or writes to removable storage unit 718 in a well-known manner.
- Removable storage unit 718 may include a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 714 .
- removable storage unit 718 includes a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 710 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 700 .
- Such means may include, for example, a removable storage unit 722 and an interface 720 .
- Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 722 and interfaces 720 which allow software and data to be transferred from the removable storage unit 722 to computer system 700 .
- Computer system 700 may also include a communications interface 724 .
- Communications interface 724 allows software and data to be transferred between computer system 700 and external devices.
- Communications interface 724 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like.
- Software and data transferred via communications interface 724 are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by communications interface 724 . These signals are provided to communications interface 724 via a communications path 726 .
- Communications path 726 carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link or other communications channels.
- Computer readable storage medium is used to generally refer to media such as removable storage unit 718 , removable storage unit 722 , and a hard disk installed in hard disk drive 712 .
- Computer readable storage medium can also refer to one or more memories, such as main memory 708 and secondary memory 710 , which can be memory semiconductors (e.g. DRAMs, etc.). These computer program products are means for providing software to computer system 700 .
- Computer programs are stored in main memory 708 and/or secondary memory 710 . Computer programs may also be received via communications interface 724 . Such computer programs, when executed, enable computer system 700 to implement the embodiments as discussed herein. In particular, the computer programs, when executed, enable processor 704 to implement the processes of embodiments of the present invention, such as the steps in the methods discussed above. Accordingly, such computer programs represent controllers of the computer system 700 . Where embodiments are implemented using software, the software may be stored in a computer program product and loaded into computer system 700 using removable storage drive 714 , interface 720 , or hard drive 712 .
- Embodiments may be directed to computer products comprising software stored on any computer usable medium.
- Such software when executed in one or more data processing device, causes a data processing device(s) to operate as described herein.
- Embodiments may be implemented in hardware, software, firmware, or a combination thereof. Embodiments may be implemented via a set of programs running in parallel on multiple machines.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/446,662 US9665574B1 (en) | 2012-04-13 | 2012-04-13 | Automatically scraping and adding contact information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/446,662 US9665574B1 (en) | 2012-04-13 | 2012-04-13 | Automatically scraping and adding contact information |
Publications (1)
Publication Number | Publication Date |
---|---|
US9665574B1 true US9665574B1 (en) | 2017-05-30 |
Family
ID=58737954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/446,662 Expired - Fee Related US9665574B1 (en) | 2012-04-13 | 2012-04-13 | Automatically scraping and adding contact information |
Country Status (1)
Country | Link |
---|---|
US (1) | US9665574B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150347534A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Structured suggestions |
US20170011355A1 (en) * | 2014-05-30 | 2017-01-12 | Apple Inc. | Structured suggestions |
CN109525699A (en) * | 2018-12-29 | 2019-03-26 | 努比亚技术有限公司 | Good friend's adding method, device, mobile terminal and readable storage medium storing program for executing |
US10445425B2 (en) | 2015-09-15 | 2019-10-15 | Apple Inc. | Emoji and canned responses |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20210216772A1 (en) * | 2018-07-09 | 2021-07-15 | Google Llc | Visual Menu |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349299B1 (en) * | 1998-12-24 | 2002-02-19 | International Business Machines Corporation | System and method for storing electronic contact information into an electronic address book |
US20020152265A1 (en) * | 2001-04-06 | 2002-10-17 | Hillel Felman | Method and apparatus for selectively releasing personal contact information stored in an electronic or telephonic database |
US20060046768A1 (en) | 2004-08-30 | 2006-03-02 | Bilhan Kirbas | Mobile phone address book population device and technique |
US20060195338A1 (en) * | 2000-05-24 | 2006-08-31 | Seibel John C | Web-based customer prospects harvester system |
US20070053335A1 (en) | 2005-05-19 | 2007-03-08 | Richard Onyon | Mobile device address book builder |
US20080162649A1 (en) * | 2007-01-03 | 2008-07-03 | Social Concepts, Inc. | Image based electronic mail system |
US20080243841A1 (en) * | 2007-02-23 | 2008-10-02 | Olivier Bonnet | Pattern searching methods and apparatuses |
US20090070684A1 (en) * | 2007-09-11 | 2009-03-12 | Yahoo! Inc. | Social Network Site Including Contact-Based Recommendation Functionality |
US20100261463A1 (en) | 2009-04-09 | 2010-10-14 | International Business Machines Corporation | Mobile address book population using sms polling |
US20100306185A1 (en) * | 2009-06-02 | 2010-12-02 | Xobni, Inc. | Self Populating Address Book |
US20110276595A1 (en) * | 2005-10-27 | 2011-11-10 | Nuance Communications, Inc. | Hands free contact database information entry at a communication device |
US20120078906A1 (en) * | 2010-08-03 | 2012-03-29 | Pankaj Anand | Automated generation and discovery of user profiles |
US20120230538A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Providing information associated with an identified representation of an object |
US20130172014A1 (en) * | 2011-12-07 | 2013-07-04 | Research In Motion Limited | Wireless communication system with potential new contacts and related methods |
-
2012
- 2012-04-13 US US13/446,662 patent/US9665574B1/en not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349299B1 (en) * | 1998-12-24 | 2002-02-19 | International Business Machines Corporation | System and method for storing electronic contact information into an electronic address book |
US20060195338A1 (en) * | 2000-05-24 | 2006-08-31 | Seibel John C | Web-based customer prospects harvester system |
US20020152265A1 (en) * | 2001-04-06 | 2002-10-17 | Hillel Felman | Method and apparatus for selectively releasing personal contact information stored in an electronic or telephonic database |
US20060046768A1 (en) | 2004-08-30 | 2006-03-02 | Bilhan Kirbas | Mobile phone address book population device and technique |
US20070053335A1 (en) | 2005-05-19 | 2007-03-08 | Richard Onyon | Mobile device address book builder |
US20110276595A1 (en) * | 2005-10-27 | 2011-11-10 | Nuance Communications, Inc. | Hands free contact database information entry at a communication device |
US20080162649A1 (en) * | 2007-01-03 | 2008-07-03 | Social Concepts, Inc. | Image based electronic mail system |
US20080243841A1 (en) * | 2007-02-23 | 2008-10-02 | Olivier Bonnet | Pattern searching methods and apparatuses |
US20090070684A1 (en) * | 2007-09-11 | 2009-03-12 | Yahoo! Inc. | Social Network Site Including Contact-Based Recommendation Functionality |
US20100261463A1 (en) | 2009-04-09 | 2010-10-14 | International Business Machines Corporation | Mobile address book population using sms polling |
US20100306185A1 (en) * | 2009-06-02 | 2010-12-02 | Xobni, Inc. | Self Populating Address Book |
US20120078906A1 (en) * | 2010-08-03 | 2012-03-29 | Pankaj Anand | Automated generation and discovery of user profiles |
US20120230538A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Providing information associated with an identified representation of an object |
US20130172014A1 (en) * | 2011-12-07 | 2013-07-04 | Research In Motion Limited | Wireless communication system with potential new contacts and related methods |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10565219B2 (en) * | 2014-05-30 | 2020-02-18 | Apple Inc. | Techniques for automatically generating a suggested contact based on a received message |
US10579212B2 (en) | 2014-05-30 | 2020-03-03 | Apple Inc. | Structured suggestions |
US20170010769A1 (en) * | 2014-05-30 | 2017-01-12 | Apple Inc. | Structured suggestions |
US20170011354A1 (en) * | 2014-05-30 | 2017-01-12 | Apple Inc. | Structured suggestions |
US10585559B2 (en) * | 2014-05-30 | 2020-03-10 | Apple Inc. | Identifying contact information suggestions from a received message |
US10620787B2 (en) * | 2014-05-30 | 2020-04-14 | Apple Inc. | Techniques for structuring suggested contacts and calendar events from messages |
US20170011355A1 (en) * | 2014-05-30 | 2017-01-12 | Apple Inc. | Structured suggestions |
US10747397B2 (en) * | 2014-05-30 | 2020-08-18 | Apple Inc. | Structured suggestions |
US20150347534A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Structured suggestions |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10445425B2 (en) | 2015-09-15 | 2019-10-15 | Apple Inc. | Emoji and canned responses |
US11048873B2 (en) | 2015-09-15 | 2021-06-29 | Apple Inc. | Emoji and canned responses |
US20210216772A1 (en) * | 2018-07-09 | 2021-07-15 | Google Llc | Visual Menu |
US11709881B2 (en) * | 2018-07-09 | 2023-07-25 | Google Llc | Visual menu |
CN109525699A (en) * | 2018-12-29 | 2019-03-26 | 努比亚技术有限公司 | Good friend's adding method, device, mobile terminal and readable storage medium storing program for executing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098870B (en) | Phishing detection method and device, electronic equipment and storage medium | |
US8370358B2 (en) | Tagging content with metadata pre-filtered by context | |
CN111475694B (en) | Data processing method, device, terminal and storage medium | |
US8270684B2 (en) | Automatic media sharing via shutter click | |
US9665574B1 (en) | Automatically scraping and adding contact information | |
US20150156332A1 (en) | Methods and apparatus to monitor usage of mobile devices | |
CN106713579B (en) | Telephone number identification method and device | |
KR101832680B1 (en) | Searching for events by attendants | |
US20180005022A1 (en) | Method and device for obtaining similar face images and face image information | |
CN108270754B (en) | Method and device for detecting phishing website | |
CN112328936A (en) | Website identification method, device and equipment and computer readable storage medium | |
US20130179421A1 (en) | System and Method for Collecting URL Information Using Retrieval Service of Social Network Service | |
CN105787028A (en) | Business card proofreading method and system | |
CN110020161B (en) | Data processing method, log processing method and terminal | |
CN106446123A (en) | Webpage verification code element identification method | |
CN108280102B (en) | Internet surfing behavior recording method and device and user terminal | |
CN105786858A (en) | Information search system and method | |
CN110895587B (en) | Method and device for determining target user | |
CN113076961B (en) | Image feature library updating method, image detection method and device | |
CN112685618A (en) | User feature identification method and device, computing equipment and computer storage medium | |
CN113869063A (en) | Data recommendation method, device, electronic device and storage medium | |
CN113568934A (en) | Data query method and device, electronic equipment and storage medium | |
CN111833219A (en) | Method and device for providing intellectual property service commodity data | |
CN110543457A (en) | Track type document processing method and device, storage medium and electronic device | |
CN115186240A (en) | Social network user alignment method, device and medium based on relevance information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROSE, ROBERT BRETT;REEL/FRAME:028045/0918 Effective date: 20120409 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044097/0658 Effective date: 20170929 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210530 |