US2014365459A1PendingUtilityA1

Harvesting Addresses

Assignee: APPLE INCPriority: Jun 8, 2013Filed: Nov 15, 2013Published: Dec 11, 2014
Est. expiryJun 8, 2033(~6.9 yrs left)· nominal 20-yr term from priority
G06Q 10/107G06F 16/24578G01C 21/3617H04W 4/025G06F 7/26G06F 16/951G06F 16/901G06Q 10/10G06F 17/30864H04L 67/535
65
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Some embodiments of the invention provide an address harvester that harvests addresses from one or more applications executing on a device. Some embodiments use the harvested addresses to facilitate the operation of one or more applications executing on the device. Alternatively, or conjunctively, some embodiments use the harvested addresses to facilitate the operation of one or more applications executing on another device than the one used for harvesting the addresses. In some embodiments, a prediction system uses the harvested addresses to formulate predictions, which it then provides to the same set of applications from which it harvested the addresses in some embodiments.

Claims

exact text as granted — not AI-modified
1 . A non-transitory machine readable medium storing a program for harvesting addresses on a first device, the program for execution by at least one processing unit, the program comprising sets of instructions for:
 extracting a first plurality of telecommunication addresses from a first set of applications executing on the first device and storing the addresses in a data storage of the first device;   receiving a second plurality of telecommunication addresses from a set of devices associated with the first device through a network and storing the addresses in the data storage; and   using the stored telecommunication addresses in the data storage to facilitate operations of a second set of applications executing on the device.   
     
     
         2 . The non-transitory machine readable medium of  claim 1 , wherein the program further comprises a set of instructions for sending at least a subset of the first plurality of telecommunication addresses to the set of devices through the network in order to facilitate the operation of applications executing on the set of devices. 
     
     
         3 . The non-transitory machine readable medium of  claim 1 , wherein the telecommunication addresses comprise electronic mail (email) addresses that are harvested from email messages or text messages. 
     
     
         4 - 9 . (canceled) 
     
     
         10 . The non-transitory machine readable medium of  claim 1 , wherein the telecommunication addresses are extracted from phone calls, text messages, and electronic mail messages. 
     
     
         11 . The non-transitory machine readable medium of  claim 1 , wherein the first set of applications comprises at least one of an email application, a messaging application, and a calendar application. 
     
     
         12 - 14 . (canceled) 
     
     
         15 . The non-transitory machine readable medium of  claim 1 , wherein the set of instructions for using the stored addresses further comprises sets of instructions for:
 receiving user input in a particular application;   matching the user input to the stored telecommunication addresses in the data storage in order to identify a set of candidate telecommunication addresses; and   outputting the set of candidate telecommunication addresses for display in the application.   
     
     
         16 . The non-transitory machine readable medium of  claim 1 , wherein the program further comprises sets of instructions for:
 computing a ranking for each of the plurality of telecommunication addresses;   selecting a particular set of telecommunication addresses to use for a particular application of the second set of applications based on the computed ranking.   
     
     
         17 . The non-transitory machine readable medium of  claim 16 , wherein the set of instructions for computing the ranking for a particular telecommunication address comprises a set of instructions for counting a number of times that the particular telecommunication address has been extracted. 
     
     
         18 - 29 . (canceled) 
     
     
         30 . A mobile device comprising:
 an address harvesting engine for harvesting a plurality of telecommunication addresses from a first plurality of applications executing on the device;   a data storage for storing the harvested addresses; and   a prediction engine for facilitating operations of a second plurality of applications based on the stored harvested addresses.   
     
     
         31 . The mobile device of  claim 30 , wherein the address harvesting engine is further for (i) receiving telecommunication addresses from a set of other devices associated with the device through a network, (ii) storing the received addresses in the data storage of the device, and (iii) using the received addresses to facilitate the operation of the second plurality of applications. 
     
     
         32 . The mobile device of  claim 30  further comprising an interface for receiving user input in a particular application, wherein the prediction engine matches the user input to the plurality of telecommunication addresses in the data storage in order to identify a set of candidate telecommunication addresses and outputs the set of candidate telecommunication addresses for display in the interface of the particular application. 
     
     
         33 . The mobile device of  claim 30  further comprising a ranking engine for specifying a ranking score for each telecommunication address, wherein the prediction engine is further for selecting a particular set of telecommunication addresses to use for a particular application based on the computed ranking score. 
     
     
         34 . The mobile device of  claim 30 , wherein the prediction engine facilitates the operation of a particular application by (i) matching user input from the particular application to stored, harvested addresses, (ii) ranking the matching addresses based on how frequently the addresses are harvested, and how recently the addresses are harvested from the first plurality of applications, and (iii) returning the matching addresses according to the ranking. 
     
     
         35 . A non-transitory machine readable medium storing a program for harvesting addresses of a device, the program for execution by at least one processing unit, the program comprising sets of instructions for:
 from a first set of applications executing on the device, extracting a plurality of individual telecommunication addresses;   from the first set of applications, extracting a plurality of groups of telecommunication addresses, each group comprising a plurality of individual telecommunication addresses;   storing the extracted addresses in a data storage of the device; and   using the stored individual addresses and groups of telecommunication addresses in the data storage to facilitate operations of at least a second set of applications.   
     
     
         36 - 41 . (canceled) 
     
     
         42 . The non-transitory machine readable medium of  claim 35 , wherein the set of instructions for using the stored individual and group telecommunication addresses comprises sets of instructions for:
 receiving user input in a particular application; and   matching the user input to at least one individual telecommunication address or one group of telecommunication addresses to identify a set of candidate telecommunication addresses; and   outputting the set of candidate telecommunication addresses for display in the particular application.   
     
     
         43 . The non-transitory machine readable medium of  claim 35 , wherein the program further comprises sets of instructions for:
 computing, for each individual telecommunication address and each group of telecommunication addresses, a ranking score based on a set of factors;   storing the computed score for each individual address or group of addresses in a record for the individual address or group of addresses within the data storage.   
     
     
         44 . The non-transitory machine readable medium of  claim 35 , wherein the program further comprises sets of instructions for:
 detecting that a particular group of telecommunication addresses is not stored within the data storage; and   storing the particular group telecommunication addresses in the data storage.   
     
     
         45 . The non-transitory machine readable medium of  claim 44 , wherein the program further comprises sets of instructions for:
 detecting that a particular individual telecommunication address is not stored within the data storage; and   storing the particular individual telecommunication address in the data storage.   
     
     
         46 . A method for harvesting addresses across a plurality of devices, the method comprising:
 on a first device, extracting a plurality of addresses from a first application executing on the first device and storing the addresses in a data storage of the first device;   detecting whenever a new address is added to the data storage;   sending each detected, stored new address to a set of servers for relaying the address to a second device when the second device is available to receive the address.   
     
     
         47 . The method of  claim 46  further comprising:
 before storing an extracted address in the data storage, detecting that the address was previously stored in the data storage; 
 updating a set of parameters stored for the previously stored address in the data storage; and 
 sending at least one updated parameter for the previously stored address to the set of servers for relaying the updated parameter to the second device when the second device is available to receive the updated parameter. 
 
     
     
         48 . The method of  claim 47  further comprising detecting that the set of parameters for the previously stored address has been updated before sending the updated parameter to the set of servers. 
     
     
         49 . The method of  claim 46 , wherein the data storage is part of a key-value store that is synchronized across a plurality of devices by the set of servers. 
     
     
         50 . The method of  claim 46 , wherein the first and second devices are associated with a same account. 
     
     
         51 . (canceled) 
     
     
         52 . (canceled) 
     
     
         53 . A method for harvesting addresses across a plurality of devices, the method comprising:
 receiving an address extracted by a first device;   determining that the first device is related to a second device;   when the second device is available to receive the extracted address, sending the extracted address to the second device;   when the second device is not available to receive the extracted address, storing the extracted address until the second device becomes available to receive the extracted address, said extracted address for use by at least one application executing on the first device or the second device.   
     
     
         54 . The method of  claim 53  further comprising:
 receiving and storing a plurality of addresses from the first device for the second device when the second device is not available to receive the addresses for a duration of time; 
 supplying the plurality of addresses to the second device when the second device becomes available to receive the addresses. 
 
     
     
         55 . The method of  claim 53 , wherein the address is stored in data storages on the first and second devices that are part of a key-value store that is synchronized across the first and second devices by an external synchronizing service that require each device to send updates to its data storage to the external synchronizing service.

Join the waitlist — get patent alerts

Track US2014365459A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.