Modern computing devices, like cellphones, laptops, tablets, and desktops, have no provisions for distinguishing contact database information based on when it was recorded. Thus, users accessing a contact record have no way of easily determining which records are newest and/or which records are oldest.
Various aspects include methods and computing devices implementing methods executed by a processor of a computing device for maintaining an information interface for contact information that includes temporal information related to when information elements within a contact record were last updated. Various aspect methods may be implemented on a computing device having a display, a memory, and a processor coupled to the display and the memory. Various aspects may include receiving contact information for a field of a data record in a contact database and determining whether the contact information differs from previously stored contact information, storing, in the data record, the contact information and a time stamp indicating when the contact information is stored in response to determining that the contact information differs from previously stored contact information. In some aspects, storing the contact information and the time stamp may include maintaining an indication in the data record of when the previously stored contact information was stored in the data record.
Some aspects may further include generating the time stamp in response to receiving an instruction to store the contact information in the data record. In some aspects, storing the contact information and the time stamp may include maintaining an indication in the data record of when the previously stored contact information was stored in the data record.
Some aspects may further include displaying the contact information and a value reflecting the time stamp. Some aspects may further include displaying previous contact information with a corresponding time stamp indicating when the previous contact information was previously stored in the data record together with the displayed contact information and the corresponding time stamp.
Some aspects may further include displaying the contact information with an indication as to whether the contact information is newer than the previously stored contact information. In such embodiments, the indication as to whether the contact information is newer than the previously stored contact information may include a symbol that denotes the contact information is newer than the previously stored contact information.
Further aspects include a computing device including a memory, a display, and a processor configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a processor to perform operations of any of the methods summarized above. Further aspects include a processing device for use in a computing device and configured to perform operations of any of the methods summarized above. Further aspects include a computing device having means for performing functions of any of the methods summarized above.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments, and together with the general description given above and the detailed description given below, serve to explain the features of the various embodiments.
Various aspects will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and embodiments are for illustrative purposes and are not intended to limit the scope of the various aspects or the claims.
Various embodiments provide methods that may be executed by a processor of a computing device for maintaining an information interface for contact information that includes temporal information related to when information elements within a contact record were last updated. In various embodiments, a processor of a computing device may receive contact information for a field of a data record in a contact database, and store that contact information in the data record along with a time stamp associated with the contact information and the field. Each data record in the contact database may correspond to a separate contact and may include more than one element of contact information for each field or category of data, such as two phone numbers or addresses for the same person. Various embodiments may display, on the computing device, an indication (e.g., a date) of when each of the one or more elements of contact information were stored in the data record or an indication regarding which of the one or more elements of contact information is newest or oldest. In order to avoid duplicate entries, some embodiments may refrain from storing contact information for a particular field of a data record unless that contact information differs from previously stored contact information for the same field of the data record.
As used herein, the term “contact information” refers to data, facts, or details identifying an individual or organization and indicating one or more alphanumeric sequences (i.e., numbers, letters, and/or symbols), or addresses for reaching, contacting, or locating the individual or organization. For example, contact information may include name(s), address(es), telephone numbers, or the like. Such contact information may be stored in a contact database, which may be accessed using a computing device.
As used herein, the term “contact database” refers to a software program that enables users to easily store and find contact information. A contact database may include a plurality of data records, each associated with one individual or organization. The contact database may include more than one data record for the same individual or organization, but each data record may include more than one field associated with different types of contact information. The fields in a data record may include, for example, name (i.e., of the associated individual or organization), title, related name (i.e., nickname or user name), phone number, email address, physical address, mailing address, URL, date of birth or other date, social profile or other account identifier, notes, images, videos, audio files, ringtones, text-tones, etc. In addition, one data record may include more than one field associated with the same type of contact information. For example, one data record may have multiple phone numbers or multiple addresses, each associated with a separate field for the one individual associated with that data record.
As used herein, the term “time stamp” is used herein to refer generally to temporal information regarding a time and/or date of the occurrence of a particular event, such as the storing of a particular element of contact information in a contact database. Temporal information may be stored in memory within or linked to a field of a data record of a contact database in a variety of data structures and formats, and therefore, the term “time stamp” is not intended to infer or limit the scope of the claims to a particular temporal data structure.
As used herein, the term “computing device” refers to an electronic device equipped with at least a processor, communication systems, and memory configured with a contact database. For example, computing devices may include any one or all of cellular telephones, smartphones, portable computing devices, personal or mobile multi-media players, laptop computers, tablet computers, 2-in-1 laptop/table computers, smartbooks, ultrabooks, palmtop computers, wireless electronic mail receivers, multimedia Internet-enabled cellular telephones, wearable devices including smart watches, entertainment devices (e.g., wireless gaming controllers, music and video players, satellite radios, etc.), and similar electronic devices that include a memory, wireless communication components and a programmable processor. In various embodiments, computing devices may be configured with memory and/or storage. Additionally, computing devices referred to in various example embodiments may be coupled to or include wired or wireless communication capabilities implementing various embodiments, such as network transceiver(s) and antenna(s) configured to communicate with wireless communication networks.
The term “system on chip” (SOC) is used herein to refer to a single integrated circuit (IC) chip that contains multiple resources and/or processors integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio-frequency functions. A single SOC may also include any number of general purpose and/or specialized processors (digital signal processors, modem processors, video processors, etc.), memory blocks (e.g., ROM, RAM, Flash, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). SOCs may also include software for controlling the integrated resources and processors, as well as for controlling peripheral devices.
The term “system in a package” (SIP) may be used herein to refer to a single module or package that contains multiple resources, computational units, cores and/or processors on two or more IC chips, substrates, or SOCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, the SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a unifying substrate. A SIP may also include multiple independent SOCs coupled together via high speed communication circuitry and packaged in close proximity, such as on a single motherboard or in a single wireless device. The proximity of the SOCs facilitates high speed communications and the sharing of memory and resources.
Various embodiments enable users of a computing device to readily identify which contact information is newer and/or older than other contact information in a field of a data record in a contact database. In particular, various embodiments store temporal information, referred to generally herein as a time stamp, that corresponds to or identifies when the information in each field of the data record was stored in the data record. The time stamps enable the contact information within each field to be displayed on the computing device with an indication as to whether that contact information is newer than other stored contact information. For example, the indication may be a symbol that denotes the contact information is newer than other stored contact information of the same type. Alternatively, the indication may be a value reflecting the time stamp itself (e.g., a date, time, or another temporal value). Some embodiments may display previous contact information with a corresponding time stamp, indicating when the previous contact information was stored in the data record together with the display of newer contact information and a corresponding time stamp for the newer contact information.
Each of
The data label fields 141, 142, 143, 144, 145, 146 may include a label for a corresponding primary field to which that data label field is associated. For example, the data label fields 141, 142, 143, 144, 145, 146 may comprise a label selected from a list including “Home,” “Work,” “School,” “Mobile,” “Main,” “Fax,” “Pager,” “Other,” or a custom label. The labels selected for the data label field 141, 142, 143, 144, 145, 146 may help users organize and distinguish contact information of the same type. For example, when a contact, such as the contact 120, includes more than one phone number, using labels, like “Work” or “Home” may help distinguish such contact information. Additionally, or alternatively, the data label field 141, 142, 143, 144, 145, 146 may include added descriptors of the type of information included in the corresponding primary field 131, 132, 133, 134, 135, 136. For example, the data label field 141, 142, 143, 144, 145, 146 may include descriptors, such as “Phone,” “email,” “address,” etc., following the other labels noted above (e.g., “Home Phone,” “Work Address,” or “Personal Webpage”). However, often contact information like phone numbers, email, or other addresses are self-evident and do not need such added descriptors.
In various embodiments, the contact information displayed for the data record of the contact 120 may reveal that, based on the displayed time stamps in the time stamp indication fields 151, 152, 153, 154, 155, 156, one or more of the primary fields (e.g., the primary fields 131, 134) include(s) contact information that is newer than the contact information included in the other primary fields (e.g., the primary fields 132, 133, 135, 136). In addition, within one data record, some primary fields may correspond to the same type of contact information, which may make the display of the time stamp indication field particularly useful. For example, the contact 120 includes three phone numbers (i.e., the same type of contact information) in the first three primary fields 131, 132, 133, in which the first and third data label fields 141, 143 are labeled “Work,” while the second data label field 142 is labeled “Home.” Thus, a user viewing the display 110 may find the first and third time stamp indication fields 151, 153 useful for determining which of those corresponding two phone numbers is the most current. In particular, the first time stamp indication field 151 (i.e., “1/02/2020 9:15:25 AM”) is associated with newer contact information in the first primary field 131 than the third time stamp indication field 153 (i.e., “7/15/2005 5:27:32 PM”), which is associated with older contact information. In contrast, the contact 120 includes two mailing/street addresses that are not the same type of contact information. In particular, the second to last primary field 135 has a corresponding data label field 145 labeled “Home,” while the last primary field 136 has a corresponding data label field 146 is labeled “Work.” Although these two fields of contact information are not precisely the same type, the user viewing the display 110 may still use the corresponding time stamp indication fields 155, 156 to determine which of the two addresses are most recently saved.
In addition, two more of the primary fields 135, 136, include time stamp indication fields 165, 166 that are blank, which in a way still indicates whether the related primary fields include contact information that is newer than other primary field contact information. A blank time stamp indication field may represent that no other primary field of the same type is included for that contact 121. In this way, the last two primary fields 135, 136 may be said to include the newest contact information relative to other primary fields.
In accordance with various embodiments, other numeric values or schemes may be used to reflect whether individual fields from a data record contain newer or older contact information. For example, a highest value may represent the newest data entry (e.g., 10 out of 10). Similarly, although asterisks are used to accentuate and differentiate the value displayed in the time stamp indication fields 171, 172, 173, 174, 175, 176, other visual aids may be employed (e.g., using bold, italic, underline, color, highlighting, a different font, etc.).
Various embodiments may be implemented using a number of single processor and multiprocessor computer systems, including a system-on-chip (SOC) or system in a package (SIP).
With reference to
The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor 216, one or more coprocessors 218 (e.g., vector co-processor) connected to one or more of the processors, memory 220, custom circuitry 222, system components and resources 224, an interconnection/bus module 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) component 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnection/bus module 264, a plurality of mmWave transceivers 256, memory 258, and various additional processors 260, such as an applications processor, packet processor, etc.
Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor/core may perform operations independent of the other processors/cores. For example, the first SOC 202 may include a processor that executes a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor that executes a second type of operating system (e.g., MICROSOFT WINDOWS 10). In addition, any or all of the processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
The first and second SOC 202, 204 may include various system components, resources and custom circuitry for managing sensor data, analog-to-digital conversions, wireless data transmissions, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 224 of the first SOC 202 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components used to support the processors and software clients running on a wireless device. The system components and resources 224 and/or custom circuitry 222 may also include circuitry to interface with peripheral devices, such as cameras, electronic displays, wireless communication devices, external memory chips, etc.
The first and second SOC 202, 204 may communicate via interconnection/bus module 250. The various processors 210, 212, 214, 216, 218, may be interconnected to one or more memory elements 220, system components and resources 224, and custom circuitry 222, and a thermal management unit 232 via an interconnection/bus module 226. Similarly, the processor 252 may be interconnected to the power management unit 254, the mmWave transceivers 256, memory 258, and various additional processors 260 via the interconnection/bus module 264. The interconnection/bus module 226, 250, 264 may include an array of reconfigurable logic gates and/or implement a bus architecture (e.g., CoreConnect, AMBA, etc.). Communications may be provided by advanced interconnects, such as high-performance networks-on chip (NoCs).
The first and/or second SOCs 202, 204 may further include an input/output module (not illustrated) for communicating with resources external to the SOC, such as a clock 206 and a voltage regulator 208. Resources external to the SOC (e.g., clock 206, voltage regulator 208) may be shared by two or more of the internal SOC processors/cores.
In addition to the example SIP 200 discussed above, various embodiments may be implemented in a wide variety of computing systems, which may include a single processor, multiple processors, multicore processors, or any combination thereof.
As used herein, the terms “component,” “system,” “unit,” “module,” and the like include a computer-related entity, such as, but not limited to, hardware, firmware, a combination of hardware and software, software, or software in execution, which are configured to perform particular operations or functions. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a communication device and the communication device may be referred to as a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one processor or core and/or distributed between two or more processors or cores. In addition, these components may execute from various non-transitory computer readable media having various instructions and/or data structures stored thereon. Components may communicate by way of local and/or remote processes, function or procedure calls, electronic signals, data packets, memory read/writes, and other known computer, processor, and/or process related communication methodologies.
The computing device 310 may include electronic storage 325, one or more processors 330, and/or other components. The computing device 310 may include communication lines, or ports to enable the exchange of information with a network and/or other computing platforms. Illustration of the computing device 310 in
Electronic storage 325 may comprise non-transitory storage media that electronically stores information. The electronic storage media of electronic storage 325 may include one or both of system storage that is provided integrally (i.e., substantially non-removable) with the computing device 310 and/or removable storage that is removably connectable to the computing device 310 via, for example, a port (e.g., a universal serial bus (USB) port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.). Electronic storage 325 may include one or more of optically readable storage media (e.g., optical disks, etc.), magnetically readable storage media (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), electrical charge-based storage media (e.g., EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.), and/or other electronically readable storage media. Electronic storage 325 may include one or more virtual storage resources (e.g., cloud storage, a virtual private network, and/or other virtual storage resources). Electronic storage 325 may store software algorithms, information determined by processor(s) 330, information received from the computing device 310, information received from remote platform(s) 304, and/or other information that enables the computing device 310 to function as described herein.
Processor(s) 330 may be configured to provide information processing capabilities in the computing device 310. As such, processor(s) 330 may include one or more of a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information. Although processor(s) 330 is shown in
The computing device 310 may be configured by machine-readable instructions 335, which may include one or more instruction modules. The instruction modules may include computer program modules. In particular, the instruction modules may include one or more of a contact information receiving module 340, contact information comparison module 345, time stamp generating module 350, contact information storing module 355, contact information display module 360, and/or other instruction modules.
The contact information receiving module 340 may be configured to receive contact information for a field of a data record in a contact database. The contact information receiving module 340 may receive contact information from a remote source, such as a remote system (e.g., 315) or external resources (e.g., 320), using a transceiver (e.g., 256) and related components. The contact information may be received through direct user input, messages (e.g., e-mails), multimedia messaging services (MMS), instant messaging (IM), Quick Response (QR) code, or other data exchange system. The contact information may be received in various formats, such as a virtual contact file (vCard) or the like.
The contact information comparison module 345 may be configured to determine whether newly received contact information differs from previously stored contact information. To make the comparison, the contact information comparison module 345 may access a contact database, containing one or more data records, stored in local memory (e.g., 220, 258) or in a remote source, such as a remote system (e.g., 315) or external resources (e.g., 320) via the communication system 302 using a transceiver (e.g., 256) and related components. In accessing the contact database, the contact information comparison module 345 may scan the existing stored contact information fields for a match to any newly received contact information. Once the contact information comparison module 345 performs a comparison, the contact information comparison module 345 may output a determination as to whether the newly received contact information differs from any previously stored contact information.
The time stamp generating module 350 may be configured to generate a time stamp indicating when the contact information is stored in the data record in response to determining that the contact information differs from the previously stored contact information. The time stamp generating module 350 may generate the time stamp using a standardized digital format.
The contact information storing module 355 may be configured to store, in the data record of the contact database, the contact information and time stamp. The contact information storing module 355 may store the contact information and time stamp in the local memory (e.g., 220, 258) or at a remote source, such as the remote system (e.g., 315) or external resources (e.g., 320) using the transceiver (e.g., 256) and related components. Storing the contact information and time stamp may include maintaining an indication in the data record of when the previously stored contact information was previously stored in the data record.
The contact information display module 360 may be configured to display various elements of contact information. For example, the contact information display module 360 may display the primary field contact information (e.g., 131, 132, 133, 134, 135, 136), the data label fields (e.g., 141, 142, 143, 144, 145, 146), and the time stamp indication fields 151-156, 161-166, 171-176, and 181-186. In addition, the contact information display module 360 may be configured to display previous contact information with a corresponding time stamp. In this way, the display of the different contact information with corresponding time stamps will provide an indication as to when the previous contact information was stored in the data record together with newer displayed contact information. Further, the contact information display module 360 may be configured to display the contact information with one or more types of indications as to whether the contact information is newer than the previously stored contact information. For example, the indication as to whether a particular field of contact information is newer than another may be displayed in the form of a symbol that denotes the contact information is newer than other contact information (i.e., previously stored contact information). The contact information display module 360 may display the contact information and value reflecting the time stamp using a display (e.g., 110) of the computing device (e.g., 310).
In some implementations, the computing device 310, peripheral device(s) 305, remote computing devices 315, and/or external resources 320 may be operatively linked via a communication system 302. For example, the communication system 302 may be a cellular or wireless communication network.
A given remote computing device 315 may include one or more processors configured to execute computer program modules similar to those in the machine-readable instructions 335 described above. By way of non-limiting examples, remote computing devices may include one or more of a desktop computer, a laptop computer, a handheld computer, a tablet computing platform, a NetBook, a Smartphone, a gaming console, and/or other computing platforms.
External resources 320 may include remote servers storing a contacts database (or a backup copy of a contacts database), sources of information outside of system 300, external entities participating with system 300, and/or other resources. In some implementations, some or all of the functionality attributed herein to external resources 320 may be provided by resources included in system 300.
The processor(s) 330 may be configured to execute modules 340, 345, 350, 355, and/or 360, and/or other modules. Processor(s) 330 may be configured to execute modules 340, 345, 350, 355, and/or 360, and/or other modules by software; hardware; firmware; some combination of software, hardware, and/or firmware; and/or other mechanisms for configuring processing capabilities on processor(s) 330. As used herein, the term “module” may refer to any component or set of components that perform the functionality attributed to the module. This may include one or more physical processors during execution of processor readable instructions, the processor readable instructions, circuitry, hardware, storage media, or any other components.
The description of the functionality provided by the different modules 340, 345, 350, 355, and/or 360 described below is for illustrative purposes, and is not intended to be limiting, as any of modules 340, 345, 350, 355, and/or 360 may provide more or less functionality than is described. For example, one or more of modules 340, 345, 350, 355, and/or 360 may be eliminated, and some or all of its functionality may be provided by other ones of modules 340, 345, 350, 355, and/or 360. As another example, processor(s) 330 may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of modules 340, 345, 350, 355, and/or 360.
In various embodiments, the methods 400, 402, 404, 406, and 408 may be implemented in one or more processors (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information) in response to instructions stored electronically on an electronic storage medium of a computing device. The one or more processors may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of the methods 400, 402, 404, 406, and 408. For example, with reference to
In block 412, the processor may perform operations including receiving contact information for a field of a data record in a contact database. In block 412, the processor may receive contact information, such as a name (e.g., formal name, nickname, user name, business name, alias, title, etc.), address (e.g., e-mail, web, mailing, postal, etc.), and/or numbers (e.g., telephone, account, etc.) from one or more input sources. For example, a user may use a touch-sensitive input screen (e.g., 110) other input devices, like a keyboard, mouse, microphone, etc. (e.g., 305). As a further example, the computing device may receive contact information from a remote source, such as a remote system (e.g., 315) or external resources (e.g., 320), using a transceiver (e.g., 256) and related components. The contact information may be received via user input or through messages (e.g., e-mails), multimedia messaging services (MMS), instant messaging (IM), QR code, or other data exchange system. The contact information may be received in various formats, such as a virtual contact file (vCard) or the like.
In determination block 414, the processor may perform operations including determining whether the contact information differs from previously stored contact information. To make the determination in block 404, the processor may access a contact database, containing one or more data records, stored in local memory (e.g., 220, 258) or from a remote source, such as a remote system (e.g., 315) or external resources (e.g., 320) using a transceiver (e.g., 256) and related components. In accessing the contact database, the processor may scan the existing stored contact information fields for a match to the contact information received in block 402. An existing stored contact information field and the received contact information may be considered a match if they are identical. Alternatively, slight variations between the existing stored contact information field and the received contact information may be considered a match. For example, a matching logic engine may be employed that used statistical analysis for identifying matches above a certain threshold.
As part of making the determination in block 414, the processor may limit matches to primary field contact information (e.g., 131, 132, 133, 134, 135, 136). For example, only primary field contact information may be scanned for matches. In addition, the processor may use the data label fields (e.g., 141, 142, 143, 144, 145, 146) or data format information (e.g., the data is a phone number, email address, text field, etc.) for determining matches. Thus, only primary field contact information that also has a matching data label field or is presented in the same format may be considered a match (i.e., does not differ).
In response to determining that the contact information does not differ from (i.e., is a match to) the previously stored contact information (i.e., determination block 414=“No”), the processor may repeat the operations in block 412 to await receipt of additional contact information.
In response to determining that the contact information differs from the previously stored contact information (i.e., determination block 414=“Yes”), the processor may perform operations including storing, in the data record of the contact database, the contact information and time stamp in block 418. The time stamp may reflect a value that corresponds to a time and/or date when the contact information is being stored in the data record of the contact database. For example, the time stamp may include a date and time (e.g., hours, minutes, seconds). Alternatively, the time stamp may be less granular, such as one that only includes the date, only includes the month and year, or only includes the year. The time stamp may be saved in any format that is readable and/or translatable by the processor for later display as an indication as to whether that contact information is newer or older than other stored contact information.
In block 418, the processor may store the contact information and time stamp in the local memory (e.g., 220, 258) or at a remote source, such as the remote system (e.g., 315) or external resources (e.g., 320) using the transceiver (e.g., 256) and related components. The time stamp may be saved in a consistent format, allowing for easy later comparison of two different records.
Following the operations in block 418, the processor may await receipt of additional contact information before repeating the operations in block 412.
In block 420, the processor may perform operations including displaying the contact information along with the associated time stamps. The contact information and time stamp may be displayed in various formats. For example, the time stamp may be displayed immediately adjacent any primary field contact information (see,
In block 422, the processor may perform operations including displaying previous contact information with a corresponding time stamp, indicating when the previous contact information was previously stored in the data record together with the displayed contact information and time stamp. The previous contact information and corresponding time stamp may be displayed in various formats. For example, the corresponding time stamp may be displayed immediately adjacent the previous contact information (see,
In block 424, the processor may perform operations including displaying the contact information with an indication as to whether the contact information is newer than the previously stored contact information. The contact information and indication as to whether the contact information is newer than the previously stored contact information may be displayed in various formats. For example, the indication as to whether the contact information is newer than the previously stored contact information may be displayed immediately adjacent any primary field contact information (see,
In response to determining that the contact information differs from previously stored contact information (i.e., determination block 414=“Yes”), the processor may perform operations including generating a time stamp indicating when the contact information is stored in the data record of the database in block 416. The processor may generate the time stamp using a standardized digital format (e.g., ISO 8601 Data elements and interchange formats—Information interchange—Representation of dates and times). In some embodiments, means for performing the operations in block 414 may include the processor (e.g., 202, 204, 210, 212, 214, 216, 218, 252, 260) of the computing device (e.g., 310). Following the operations in block 416, the processor may store, in the data record of the contact database, the contact information and time stamp in block 418.
The various embodiments described with reference to
The various embodiments described with reference to
Mobile computing devices 600 may additionally include a sound encoding/decoding (CODEC) circuit 610, which digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes received sound data packets to generate analog signals that are provided to the speaker to generate sound. Also, one or more of the processors in the first, second, and/or third SoCs 202, 204, and 625, transceiver 608 and CODEC circuit 610 may include a digital signal processor (DSP) circuit (not shown separately).
The processors implementing various embodiments may be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various aspects described in this application. In some communication devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions and one processor dedicated to running other applications. Typically, software applications may be stored in the internal memory before they are accessed and loaded into the processor. The processor may include internal memory sufficient to store the application software instructions.
As used in this application, the terms “component,” “module,” “system,” and the like are intended to include a computer-related entity, such as, but not limited to, hardware, firmware, a combination of hardware and software, software, or software in execution, which are configured to perform particular operations or functions. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a processor of a communication device and the communication device may be referred to as a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one processor or core and/or distributed between two or more processors or cores. In addition, these components may execute from various non-transitory computer readable media having various instructions and/or data structures stored thereon. Components may communicate by way of local and/or remote processes, function or procedure calls, electronic signals, data packets, memory read/writes, and other known network, computer, processor, and/or process related communication methodologies.
A number of different cellular and mobile communication services and standards are available or contemplated in the future, all of which may implement and benefit from the various aspects. Such services and standards may include, e.g., third generation partnership project (3GPP), long term evolution (LTE) systems, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), fifth generation wireless mobile communication technology (5G), global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), 3GSM, general packet radio service (GPRS), code division multiple access (CDMA) systems (e.g., cdmaOne, CDMA1020TM), EDGE, advanced mobile phone system (AMPS), digital AMPS (IS-136/TDMA), evolution-data optimized (EV-DO), digital enhanced cordless telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), wireless local area network (WLAN), Wi-Fi Protected Access I & II (WPA, WPA2), integrated digital enhanced network (iden), C-V2X, V2V, V2P, V2I, and V2N, etc. Each of these technologies involves, for example, the transmission and reception of voice, data, signaling, and/or content messages. It should be understood that any references to terminology and/or technical details related to an individual telecommunication standard or technology are for illustrative purposes only, and are not intended to limit the scope of the CLAIMS to a particular communication system or technology unless specifically recited in the claim language.
Various aspects illustrated and described are provided merely as examples to illustrate various features of the claims. However, features shown and described with respect to any given aspect are not necessarily limited to the associated aspect and may be used or combined with other aspects that are shown and described. Further, the claims are not intended to be limited by any one example aspect. For example, one or more of the operations of the methods may be substituted for or combined with one or more operations of the methods.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the operations of various aspects must be performed in the order presented. As will be appreciated by one of skill in the art the order of operations in the foregoing aspects may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the operations; these words are used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an,” or “the” is not to be construed as limiting the element to the singular.
Various illustrative logical blocks, modules, components, circuits, and algorithm operations described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such aspect decisions should not be interpreted as causing a departure from the scope of the claims.
The hardware used to implement various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an ASIC, a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of receiver smart objects, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module or processor-executable instructions, which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage smart objects, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
The preceding description of the disclosed aspects is provided to enable any person skilled in the art to make or use the claims. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.