Executing Instructions in Response to a Communication
Claim Score by NHIP
Abstract
An instruction execution engine on a user device may be configured to receive an executable instruction assigned to one or more contacts or groups of contacts. A communication from the one or more contacts or groups may be detected. Upon detecting the communication, the engine may execute the executable instruction. This executing step may trigger a user reminder or data transfer to one or more third parties.

Term
7.7 yearsto projected expiry
Projected expiry 22 May 2034, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to:obtain one or more executable instructions at a device, wherein the one or more executable instructions are assigned to one or more contacts, and wherein each contact identifies one or more individuals;detect a communication with one or more third parties;identify the one or more third parties;determine the identified one or more third parties correspond to at least one of the one or more contacts;and execute the one or more instructions based, at least in part, on the determination.
- 15Broadest claimClaim Score 74, broad(NHIP)A method for executing instructions on a device, comprising:detecting a communication with one or more third parties;identifying the one or more third parties;determining the identified one or more third parties matches one or more contacts stored on the device, wherein the one or more contacts are assigned to one or more executable instructions, and wherein each contact identifies one or more individuals;and executing the one or more instructions based, at least in part, on the determination.
- 18A system comprising:a display;and one or more processors configured to perform operations comprising: obtaining one or more executable instructions at a device, wherein the one or more executable instructions are assigned to one or more contacts, and wherein each contact identifies one or more individuals;detecting a communication with one or more third parties;identifying the one or more third parties;determining the identified one or more third parties correspond to at least one of the one or more contacts;executing the one or more instructions based, at least in part, on the determination.
Independent claims3
58 paragraphs in 4 sections, as filed
BACKGROUND
0001The present application relates generally to executing instructions in response to a communication. More particularly, the present application relates to displaying user reminders or executing data transfers on an electronic device when the device communicates with a specific contact or group of contacts.
0002Millions of people rely on electronic devices to manage their daily lives. These devices include computers, mobile phones, personal music players, tablet computers, or other similar electronic devices. Often, these devices are relied upon to notify their users of upcoming events (e.g., a doctor's appointment, a meeting, a flight, etc.). A notification may be provided to the user in response to a user-configured trigger, such as a specific time or location. For example, the user can configure their device to trigger an event notification one hour before the event starts. Alternatively, the user can configure their device to trigger the notification when the device is within a certain distance of the event's physical location.
0003Thus, existing devices can be configured to trigger notifications at a user-specified time or near a user-specified location. But they cannot be configured to trigger notifications in response to a communication between the device's user and one or more third parties. For example, a user may wish to receive a reminder after establishing communication with a certain contact or group of contacts. Alternatively, the user may wish to execute a data transfer in response to communicating with the contact(s). Thus, there is need in the art for systems and methods that can execute a user-configured instruction in response to a communication from or to a device.
SUMMARY
0004A summary of certain embodiments disclosed herein is set forth below. It's understood that this section is presented merely to provide the reader with a brief summary of certain embodiments and that these descriptions are not intended to limit this application's scope. Indeed, this disclosure may encompass a variety of embodiments that may not be set forth herein.
0005In one embodiment, a method executes one or more user-defined instructions in response to a communication between the user and one or more of the user's contacts or groups of contacts. The method may receive from the user, on a device, one or more instructions assigned to one or more contacts or groups of contacts. When the user communicates with the one or more contacts or groups the method executes the instruction. The method may be embodied in program code and stored on a non-transitory medium. The stored program code may be executed by one or more processors that are part of or controls the device.
0006In another embodiment, executing the one or more instructions may cause the device to display to the user a user-defined reminder. In yet another embodiment, executing the one or more instructions may cause the device to transfer data to one or more third parties.
BRIEF DESCRIPTION OF THE DRAWINGS
0007The foregoing summary, as well as the following detailed description, will be better understood when read in conjunction with the appended drawings. For the purpose of illustration only, there is shown in the drawings certain embodiments. It's understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown in the figures.
0008<figref idref="DRAWINGS">FIG. 1</figref> is a flow chart showing a method for executing instructions in response to a communication between a user and a third party, in accordance with an embodiment.
0009<figref idref="DRAWINGS">FIG. 2</figref> shows components of an instruction execution engine, in accordance with an embodiment.
0010<figref idref="DRAWINGS">FIG. 3</figref> shows a plurality of screens that may be displayed to access an instruction's interface and create instructions, in accordance with an embodiment.
0011<figref idref="DRAWINGS">FIGS. 4A-4D</figref> show a plurality of screens that may be displayed to create and receive a user reminder, in accordance with an embodiment.
0012<figref idref="DRAWINGS">FIGS. 5A-SD</figref> show a plurality of screens that may be displayed to create and confirm a data transfer, in accordance with an embodiment.
0013<figref idref="DRAWINGS">FIG. 6</figref> shows a model electronic device, in accordance with an embodiment.
DETAILED DESCRIPTION
0014This disclosure is generally directed to systems, methods, and computer readable media for executing user-defined instructions in response to a communication. In general, the application discloses techniques to receive executable instructions on an electronic device that may then be assigned to one or more specific contacts or groups of contacts. The instructions execute when the device communicates with the one or more specified contacts or groups. In one embodiment, executing the instructions may cause the device to display a user reminder. In another embodiment, executing the instructions may cause the device to transfer data to a third party.
0015Before explaining at least one embodiment in detail, it's understood that the invention set forth herein is not limited in its application to the construction details or component arrangements set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and being practiced and carried out in various ways. Also, it's understood that the phraseology and terminology employed herein are merely for descriptive purposes and are not considered limiting.
0016It's also understood that any one of the described features may be used separately or in combination with other features. Other invented systems, methods, features, and advantages will be or become apparent to one with skill in the art upon examining the drawings and the detailed description herein. It's intended that all such additional systems, methods, features, and advantages be protected by the accompanying claims.
0017Referring to <figref idref="DRAWINGS">FIG. 1</figref>, a method for executing instructions <b>100</b> is carried out in a device. In one embodiment, the method can be carried out in an instruction execution engine, which may function as a stand-alone application or may be integrated with the device's operating system. Furthermore, the device can be any type, including but not limited to workstation and desk-top computer systems, mobile phones, personal music players, tablet computer systems, or other similar electronic devices.
0018The device receives one or more contact-assigned instructions <b>105</b> from a user. In one embodiment, an instruction may be a user-defined action set to execute when the user communicates with one or more contacts or groups of contacts, or vice versa. As will be discussed in greater detail below, a user may directly input the instructions into the device. For example, the user may input the instructions through a stand-alone application, or through any communication channel, including but not limited to telephone, text messaging, email, instant messaging, social networking applications, etc. Also, the user may input the instructions via any mode of input, including but not limited to voice command, text input, menu selection, etc.
0019In an embodiment, the one or more instructions comprise any user-definable action disclosed herein, including but not limited to reminders or data transfers. For example, in one embodiment, the user can create a reminder instruction that, when executed, triggers a reminder to discuss a certain topic, ask a particular question, make an affirmative statement, perform a task, attend an event, etc. It's understood that the reminder can comprise any notification type desired by the user, including but not limited to any notification relevant to a communication between the user and any third party. In yet another embodiment, the user can create a data transfer instruction that, when executed, triggers a data transfer to one or more contacts. It's understood that the data can comprise any transferable data, including but not limited to images, videos, contacts, documents, music files, etc. It's also understood that the data can come from any source, including but not limited to a photo gallery, video gallery, music player, documents file, social networking media, cloud, etc. A photo gallery and video gallery may include any system that can store any types of digital photographs and videos, respectively. A music player can be any music player that can store and play any type of digital music file. A documents file may include any system that can store any type of document. Social networking media may include any system where users can interact and create, share, or exchange information. A cloud may include any type of online storage system.
0020In another embodiment, transferable data can be stored in a source outside the device (e.g., cloud). If data is stored outside of the device, the device can download the data from the outside source either when the instruction is created or when the instruction is executed. The device can then transfer the downloaded data when the data transfer instruction is executed. Alternatively, when a data transfer instruction is executed, the device can cause the outside source to transfer the data from the outside source to the one or more contacts.
0021Furthermore, the user may assign the one or more instructions to one or more of its contacts or groups of contacts so that the instruction only executes when the user communicates with those one or more contacts or those one or more groups. For example, a user can assign a reminder instruction to a certain contact. When the user sends a communication to that contact or receives a communication from that contact, the device executes the instruction to trigger the reminder. Alternatively, the user can assign the reminder instruction to a group communication (e.g., co-workers). When the user sends the communication to that entire group, the device can execute the instruction to trigger the reminder. But the reminder may not be triggered if the communication is only sent to a single member of the group. In yet another embodiment, the user can assign the reminder instruction to one or more contacts, or one or more members of a group. When the user sends the communication to any of the one or more contacts or group members, or receives a communication from any of the one or more contacts or group members, the device can execute the instruction to trigger the reminder.
0022A person of ordinary skill in the art understands that there are numerous ways that a user can create an instruction and assign it to one or more contacts within the spirit and scope of this application. In one embodiment, a user can create and assign an instruction through many communication channels, including but not limited to telephone, text messaging, email, instant messaging, social networking application, etc. For example, the user can create an instruction and assign it to a contact through the user's text messaging contacts interface. Alternatively, the user can create and assign instructions in a stand-alone application that has access to all of the user's contacts. Furthermore, in an alternative embodiment, the user can create instructions through a voice recognition system (e.g., Siri®) (SIRI is a registered trademark of Apple Inc.).
0023After receiving the one or more contact- or group-assigned instructions, the device can detect communications between the user and a third party or group of third parties <b>110</b>. For example, in one embodiment, the device may detect an incoming communication sent by a third party to the user. In another embodiment, the device may detect an outgoing communication sent by the user to a third party or group. The device can detect incoming and outgoing communications from all of the device's communication channels, including but not limited to telephone, text messaging, email, instant messaging, or any social networking.
0024When the device detects a communication between the user and a third party or group <b>110</b> it compares the third party's or group's identification to the one or more contacts or groups of contacts assigned to instructions <b>115</b>, if any. In one embodiment, for group communications, the individual group member identifications may be compared. In an alternative embodiment, the group identity may be compared (e.g., parents, favorites, etc.). The device can then determine whether or not the third party is an assigned contact or group <b>120</b>. For example, if the third party's or group's identification does not match any of the contacts or groups assigned to instructions, then the device takes no further action. However, if the third party's or group's identification matches one of the contacts or groups assigned to the instructions, then the device may then execute the instruction <b>125</b>.
0025In one embodiment, executing the one or more instructions <b>125</b> may cause the device to display a user-defined reminder. By way of example only, a communication with a contact or group may trigger display of a reminder to discuss a certain topic with the contact or group. In addition, in yet another embodiment, the device may generate a notification (e.g., an audible tone) to alert the user to the displayed reminder. After displaying the reminder, the device may repeat the notification according to a predefined frequency (e.g., every two minutes or until a specified time-limit is reached) until the user clears the reminder from the display, or from the device's notifications history.
0026In an alternative embodiment, executing the one or more instructions <b>125</b> may cause the device to transfer data. As an example, communication with a contact or group may trigger the device to transfer data from the device to the contact, group, or any other third party. In one embodiment, when the data transfer instruction is executed <b>125</b> the device may automatically transfer the data. In another embodiment, when the data transfer instruction is executed <b>125</b> the device can prompt the user to permit or decline the transfer. Furthermore, in any embodiments disclosed herein, the device may transfer the data to a third party through any communication channels, including but not limited to telephone, text messaging, email, instant messaging, social networking, etc. In still another embodiment, the device may confirm the data transfer by displaying a confirmation prompt. As with displayed reminders, the device may generate a notification (e.g., an audible tone) to alert the user of the confirmation prompt. The device may repeat the notification according to a predefined frequency (e.g., every two minutes up to, for example, a specified time-limit) until the user clears the confirmation from the display, or from the device's notifications history.
0027<figref idref="DRAWINGS">FIG. 2</figref> illustrates one embodiment of the aforementioned instruction execution engine <b>200</b>. The instruction execution engine <b>200</b> may be designed to carry out the methods described in <figref idref="DRAWINGS">FIG. 1</figref>, and any other methods derived therefrom or within the spirit and scope of this application.
0028Instruction execution engine <b>200</b> may be a stand-alone application or may integrate with a device's <b>600</b> operating system and hardware. The device <b>600</b> can be any type, including but not limited to workstation and desktop computer systems, mobile phones, personal music players, tablet computer systems, or other similar electronic devices.
0029The instruction execution engine <b>200</b> can receive one or more executable instructions that are input into the device <b>600</b> by the device's user (<b>225</b>). As already explained above for <figref idref="DRAWINGS">FIG. 1</figref>, the one or more instructions can comprise any user-defined instruction, including but not limited to a reminder or data transfer. Furthermore, the one or more instructions may be assigned by the user to one or more contacts or groups.
0030A storing engine <b>205</b> can receive and store the assigned instructions. The storing engine may communicate with a matching engine <b>215</b> (<b>230</b>), which may also communicate with a detecting engine <b>210</b> (<b>240</b>).
0031The detecting engine <b>210</b> can detect communication events (<b>235</b>). For example, it can detect incoming and outgoing communications between a user and a third party or group of third parties. In one embodiment, the detecting engine can detect communications from any communication channel, including but not limited to telephone, text messaging, instant messaging, email, social networking, etc. When the detecting engine <b>210</b> detects a communication event <b>235</b> between a user and a third party or group, it may pass to the matching engine <b>215</b> the third party's identity (<b>240</b>).
0032The matching engine <b>215</b> can compare the third party's or group's identification to the assigned instructions, which are obtained from the storing engine <b>205</b> (<b>230</b>). If the third party's or group's identification does not match any of the contacts or groups assigned to instructions, the instruction execution engine <b>200</b> may take no further action. However, if the third party's or group's identification matches at least one of the contacts or groups assigned to the instructions, the matching engine <b>215</b> can pass the relevant instruction(s) to the execution engine <b>220</b> (<b>245</b>).
0033In one embodiment, for group communications, the matching engine <b>215</b> compares the individual group member identifications. In an alternative embodiment, the matching engine <b>215</b> may compare the group identity (e.g., parents, favorites, etc.).
0034Finally, the execution engine <b>220</b> can execute any instructions the matching engine <b>215</b> passes to it. As explained in detail above for <figref idref="DRAWINGS">FIG. 1</figref>, executing the instruction may cause the device to display a user-defined reminder. Alternatively, executing the instruction may cause the device to transfer data from the device to any third party or group. In one embodiment, the execution engine <b>220</b> could confirm data transfer by displaying a prompt. In another embodiment, the reminder or confirmation may be audibly delivered to the user (e.g., Siri). In yet another embodiment, executing the instruction may display one or more of a selectable set of pre-defined default reminders (e.g., phone wife, send data, etc.)
0035<figref idref="DRAWINGS">FIGS. 3</figref>, <b>4</b>A, and <b>5</b>A, by way of non-limiting examples, illustrate a plurality of screens that can be accessed by a user to input one or more executable instructions in accordance with the embodiments described herein. The screen features can be activated via buttons, which may include touch buttons, sliders, switches, control pads, keys, knobs, scroll wheels, keyboards, mice, touchpads, etc., or some combination thereof. In one embodiment, the buttons may allow a user to navigate a graphical user interface (GUI) display. Further, in certain embodiments, the buttons may include a touch screen mechanism. In such embodiments, a user may select or interact with displayed interface elements by simply touching those elements.
0036Referring to <figref idref="DRAWINGS">FIG. 3</figref>, by way of example only, a user can create an executable instruction through its stored contacts <b>300</b> on a device <b>600</b>. It's understood that the contacts list <b>300</b> can include any of the user's contacts lists, including but not limited to telephone contacts, text messaging contacts, email contacts, instant messaging contacts, social networking contacts, etc. Furthermore, contacts may include a group, such as but not limited to co-workers, favorites, etc. It's also understood that the device can be any type, including but not limited to workstation and desktop computer systems, mobile phones, personal music players, tablet computer systems, or other similar electronic devices.
0037To begin creating an instruction, the user can select any contact (e.g., Jane A) or group from the contact list <b>300</b> (<b>310</b>). Selecting a contact opens a contact options screen <b>305</b>. The user can then select an instructions button <b>315</b> (<b>325</b>). This opens the instructions interface <b>320</b> (<b>325</b>), which can include buttons for creating reminders <b>330</b> or data transfers <b>335</b>. Furthermore, in one embodiment, the instructions interface <b>320</b> may include an assign contacts button <b>350</b>. When selected, this button <b>350</b> allows the user to assign additional contacts to the instructions.
0038In one embodiment, the user may desire to create a reminder instruction. To do so, the user can select the reminders button <b>330</b> (<b>340</b>). This action opens up the reminders display <b>400</b>, illustrated in <figref idref="DRAWINGS">FIG. 4A</figref>. Alternatively, the user may desire to create a data transfer instruction. To set up a future data transfer the user can select the data transfers button <b>335</b>. This action opens up the data transfers display <b>500</b>, illustrated in <figref idref="DRAWINGS">FIG. 5A</figref>. Reminders and data transfers are discussed in further detail below.
0039<figref idref="DRAWINGS">FIG. 4A</figref>, by way of example only, illustrates a plurality of screens for creating a reminder instruction. The user can select the message button <b>405</b> to open the messaging screen <b>415</b> (<b>410</b>). This screen <b>415</b> comprises a text box <b>420</b>. The user can enter any type of reminder into the text box <b>410</b>. It's understood that the reminder can comprise any notification type a user desires, including but not limited to any notification relevant to a communication between the user and any third party or group. For example, in certain embodiments the user can input a reminder to discuss a certain topic, ask a particular question, make an affirmative statement, perform a task, attend an event, etc. The reminder can, for example, be input into the text box <b>420</b> via keyboard or voice text.
0040In one embodiment, the messaging screen <b>415</b> may further comprise an add messages button <b>425</b>. By selecting this button <b>425</b> the user can add multiple reminder messages to the instruction.
0041In addition, in yet another embodiment, the reminders display <b>400</b> may comprise an options button <b>430</b>. Selecting this button <b>430</b> opens an options menu <b>440</b> (<b>435</b>). A person of ordinary skill in the art understands that the options menu <b>440</b> can comprise any number of options that facilitate executing the reminder instruction. By way of example only, in the options menu <b>440</b> the user can set the reminder instruction to notify the user with a ring tone <b>445</b>, vibration <b>450</b>, or both. In one embodiment, the user can select from a number of ring tones in a drop down menu. Furthermore, the user can select the frequency of the notices <b>455</b> via a drop down menu <b>460</b>. For example, in one embodiment the ring tone can be set to go off every 2 minutes. The user may also select whether the reminder instruction is executed in response to an outgoing <b>465</b> or incoming <b>470</b> communication, or both. In still another embodiment, instead of inputting a message, the user can select from a list of pre-defined default reminders (e.g., phone spouse, send data, etc.).
0042In yet another embodiment, the user may choose to limit the instruction's execution to a group communication. For example, the user can set the instruction to execute only for a group communication by toggling an on/off switch <b>480</b>. In doing so, the instruction may only execute if the user communicates with the entire group. But it may not execute if the user only communicates with one member of the group.
0043After a user creates the reminder instruction, the device <b>600</b> can execute the instruction when the user communicates with the one or more assigned contacts or groups, or vice versa. <figref idref="DRAWINGS">FIG. 4B</figref>, by way of example only, illustrates executing a reminder instruction. In this particular example, the user has previously created a reminder to ask Jenn A to feed the user's fish the next time the user and Jenn A communicate. At no particular time, the user accepts an incoming call <b>475</b> from Jenn A (<b>480</b>). After the call is established <b>485</b> the system executes the reminder instruction to display to the user the user-defined reminder message <b>487</b> (e.g., “Ask Jenn to feed my fish”) (<b>486</b>). As explained above, in one embodiment, this reminder message <b>487</b> can be accompanied by a notification (e.g., audible tone) at a preset frequency.
0044<figref idref="DRAWINGS">FIG. 4C</figref> illustrates yet another example of executing a reminder instruction. In this particular example, the user has previously created a reminder to ask the user's parents to babysit the next time the user and the user's parents communicate. At no particular time, the user accesses a text message interface <b>488</b> and creates a new text message <b>490</b> to the user's mom and dad (<b>489</b>). After the text message is sent <b>491</b> to the user's parents the system executes the reminder instruction to display to the user the reminder message <b>492</b> (e.g., “Ask mom and dad to babysit!!!”). As explained above, in one embodiment, the reminder message <b>492</b> can be accompanied by a notification (e.g., audible tone) at a preset frequency.
0045In an alternative embodiment, the system can execute a reminder instruction before the user sends the communication to the contact. For example, referring to <figref idref="DRAWINGS">FIG. 4D</figref>, the user has previously created a reminder to ask Jenn A to babysit the next time the user and Jenn A communicate. At no particular time, the user accesses a text message interface <b>488</b> to create a new text message <b>490</b> to Jenn A (<b>489</b>). When the user populates the “to:” field with Jenn A's contact information <b>493</b> the system executes the reminder instruction to display to the user the reminder message <b>492</b> (e.g, “Ask Jenn to babysit!!!”). In another embodiment, the system may execute the reminder instruction as the user presses the “Send” button but before the message is actually sent. At that time, the reminder may be displayed in such a manner as to allow the user to edit their initial message to include a request that Jenn A babysit or, if they had already done this, dismiss the reminder to let the message be sent. In this way, the user is immediately reminded to make the babysitting request with the first outgoing communication <b>494</b>. In yet another embodiment, executed reminders may be logged so that they may be reviewed at a later time.
0046<figref idref="DRAWINGS">FIG. 5A</figref>, by way of example only, illustrates a plurality of screens for creating a data transfer instruction. The user can select the choose data button <b>505</b> to open the choose data screen <b>515</b> (<b>510</b>). This screen <b>515</b> can comprise a number of links <b>520</b>. A user can select a link <b>520</b> to pull data from the link's source. It's understood that a user can access the data from any source on the device <b>600</b>, including but not limited to a photo gallery, video gallery, documents file, social media, cloud, music player, etc. Furthermore, it's understood that data can comprise any type of transferable data, including but not limited to images, videos, contacts, documents, music files, etc.
0047In one embodiment, the choose data screen <b>515</b> may further comprise an add data button <b>525</b>. By selecting this button <b>525</b> the user can add multiple data to the data transfer instruction.
0048In addition, in yet another embodiment, the data transfer display <b>500</b> may comprise an auto transfer option. If turned on, the system will automatically transfer data when the user and a third party communicate. If turned off, the system can alert the user that they have identified a data transfer for a contact and ask them whether they would like to proceed with the transfer or not.
0049In a further embodiment, the data transfer display <b>500</b> may comprise an options button <b>530</b>. Selecting this button <b>530</b> opens an options menu <b>540</b> (<b>535</b>). A person of ordinary skill in the art understands that the options menu <b>540</b> can comprise any number of options that facilitate executing the data transfer instruction. By way of example only, in the options menu <b>440</b> the user can set the data transfer instruction to notify the user of the transfer with a ring tone <b>545</b>, vibration <b>550</b>, or both. In one embodiment, the user can select from a number of ring tones in a drop down menu. Furthermore, the user can select the frequency of the notices <b>555</b> via a drop down menu <b>560</b>. For example, in one embodiment the ring tone confirmation can be set to go off every 2 minutes. In another embodiment, the user can select whether the data transfer instruction is executed in response to an outgoing <b>565</b> or incoming <b>570</b> communication, or both. Finally, in yet another embodiment, the user can select the communication channel <b>575</b> for transferring the data <b>580</b>.
0050In yet another embodiment, the user may choose to limit the instruction's execution to a group communication. For example, the user can set the instruction to execute only for a group communication by toggling an on/off switch <b>585</b>. In doing so, the instruction may only execute if the user communicates with the entire group. But it may not execute if the user only communicates with one member of the group.
0051In yet another embodiment, the data transfer display <b>500</b> may comprise a choose recipients button <b>501</b>. Selecting this button <b>501</b> opens the contacts display <b>300</b>. The user may then select one or more contacts or groups of contacts as recipients of the data transfer. Thus, when the system executes the data transfer the device transfers the data to each of the one or more assigned recipients or groups.
0052After a user creates the data transfer instruction, the device <b>600</b> can execute the instruction when the user communicates with the one or more assigned contacts or groups, or vice versa. <figref idref="DRAWINGS">FIG. 5B</figref>, by way of example only, illustrates executing a data transfer instruction. In this particular example, the user has previously created an instruction to automatically transfer a video to the user's co-workers the next time the user and the user's co-workers communicate. At no particular time, the user accesses an email interface <b>585</b> and creates a new email message <b>586</b> to the user's co-workers (<b>587</b>). After the email is sent <b>588</b> to the user's co-workers the system automatically transfers the video from the user's device to the user's co-workers (<b>589</b>). Finally, the system displays to the user a data transfer confirmation <b>590</b>. In one embodiment, this confirmation <b>590</b> may include the transfer time and date. As explained above, in one embodiment, the confirmation can be accompanied by a notification (e.g., audible tone) at a preset frequency. In yet another embodiment, confirmation messages may be logged so that they may be reviewed at a later time.
0053<figref idref="DRAWINGS">FIG. 5C</figref> illustrates yet another example of executing a data transfer instruction. In this particular example, the user has previously created an instruction to transfer a document to Jenn A the next time the user and Jenn A communicate. At no particular time, the user accesses a social networking interface <b>591</b> and creates a message <b>593</b> to Jenn A (<b>592</b>). After the message is sent <b>594</b> to Jenn A the system displays a data transfer request <b>595</b>. The user can either permit or decline the data transfer. As explained above, in one embodiment, the request can be accompanied by a notification (e.g., audible tone) at a preset frequency. Furthermore, in an alternative embodiment, if the user accepts the data transfer the system displays to the user a data transfer confirmation.
0054In an alternative embodiment, the system can execute a data transfer instruction before the user sends the communication to the one or more contacts or groups. For example, referring to <figref idref="DRAWINGS">FIG. 5D</figref>, the user has previously created an instruction to transfer a document the next time the user and Jenn A communicate. At no particular time, the user accesses a social networking interface <b>591</b> to create a message <b>593</b> to Jenn A (<b>592</b>). When the user populates the “to:” field <b>596</b> with Jenn A's contact information the system displays a data transfer request <b>595</b>. The user can either permit or decline the data transfer. In this way, the user is immediately prompted to transfer the data before the first outgoing communication <b>593</b>. In yet another embodiment, the system can make this determination at the time the user asserts the “SEND” button (<b>597</b>) in a manner similar to that discussed above with respect to sending a text message.
0055<figref idref="DRAWINGS">FIG. 6</figref>, by way of non-limiting example, illustrates one embodiment of the electronic device <b>600</b>. The electronic device <b>600</b> may include a processor <b>605</b>, display <b>610</b>, user interface <b>615</b>, graphics hardware <b>620</b>, device sensors <b>625</b> (e.g., proximity sensor/ambient light sensor, accelerometer and/or gyroscope), microphone <b>630</b>, audio codec(s) <b>635</b>, speaker(s) <b>640</b>, communications circuitry <b>645</b>, digital image capture unit <b>650</b>, video codec(s) <b>655</b>, memory <b>660</b>, storage <b>665</b>, and communications bus <b>670</b>. The electronic device <b>600</b> may be, for example, a personal digital assistant (PDA), personal music player, mobile telephone, notebook, laptop, tablet computer, or any other similar device. Furthermore, the above described instruction execution engine <b>200</b> may be executed on a device that takes the form of device <b>600</b>.
0056The processor <b>605</b> may execute instructions necessary to carry out or control the operation of many functions performed by device <b>600</b>. The processor <b>605</b> may, for instance, drive display <b>610</b> and receive user input from user interface <b>615</b>. User interface <b>615</b> can take a variety of forms, such as a button, keypad, dial, a click wheel, keyboard, display screen and/or a touch screen. Processor <b>605</b> may also, for example, be a system-on-chip such as those found in mobile devices and include a dedicated graphics processing unit (GPU). Processor <b>605</b> may be based on reduced instruction set computer (RISC) or complex instruction-set computer (CISC) architectures or any other suitable architecture, and may include one or more processing cores. Graphics hardware <b>620</b> may be special purpose computational hardware for processing graphics and/or assisting processor <b>605</b> to process graphics information. In one embodiment, graphics hardware <b>620</b> may include a programmable graphics processing unit (GPU).
0057Sensor and camera circuitry <b>650</b> may capture still and video images that may be processed, at least in part, by video codec(s) <b>655</b> and/or processor <b>605</b> and/or graphics hardware <b>620</b>, and/or a dedicated image processing unit incorporated within circuitry <b>650</b>. Images so captured may be stored in memory <b>660</b> and/or storage <b>665</b>. Memory <b>660</b> may include one or more different types of media used by processor <b>605</b> and graphics hardware <b>620</b> to perform device functions. For example, memory <b>660</b> may include memory cache, read-only memory (ROM), and/or random access memory (RAM). Storage <b>665</b> may store media (e.g., audio, image and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. Storage <b>665</b> may include one or more non-transitory storage mediums including, for example, magnetic disks (fixed, floppy, and removable) and tape, optical media such as CD-ROMs and digital video disks (DVDs), and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM). Memory <b>660</b> and storage <b>665</b> may be used to tangibly retain computer program instructions or code organized into one or more modules and written in any desired computer programming language. When executed by processor <b>605</b> the computer program code may implement one or more of the methods described herein.
0058It's understood that the above description is intended to be illustrative, and not restrictive. The material has been presented to enable any person skilled in the art to make and use the inventive concepts described herein, and is provided in the context of particular embodiments, variations of which will be readily apparent to those skilled in the art (e.g., some of the disclosed embodiments may be used in combination with each other). Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention therefore should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”
Contents4
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11126447B2 | Cited by | United States of America | Applicant |
| US11726805B2 | Cited by | United States of America | Applicant |
| US11340922B2 | Cited by | United States of America | Applicant |
| US10928991B1 | Cited by | United States of America | Search report |
| US10387176B1 | Cited by | United States of America | Applicant |
| US2018219989A1 | Cited by | United States of America | Search report |
| US11954508B2 | Cited by | United States of America | Applicant |
| US2018219989A1 | Cited by | United States of America | Search report |
| US2018219989A1 | Cited by | United States of America | Search report |
| US10802850B2 | Cited by | United States of America | Applicant |
| US9807151B2 | Cited by | United States of America | Search report |
| US11604664B2 | Cited by | United States of America | Applicant |
| US11442605B2 | Cited by | United States of America | Search report |
| US11983392B2 | Cited by | United States of America | Applicant |
| US2014237048A1 | Cited by | United States of America | Pre-grant |
| US11709585B2 | Cited by | United States of America | Applicant |
| US10791214B2 | Cited by | United States of America | Search report |
| US2005148890A1 | Cites | United States of America | Pre-grant |
| US2008201650A1 | Cites | United States of America | Pre-grant |
| US2008205621A1 | Cites | United States of America | Pre-grant |
| WO2009056947A2 | Cites | World Intellectual Property Organization (WIPO) | Pre-grant |
| US2009111447A1 | Cites | United States of America | Pre-grant |
| US2011088002A1 | Cites | United States of America | Pre-grant |
| US2011092187A1 | Cites | United States of America | Pre-grant |
| US2011246308A1 | Cites | United States of America | Pre-grant |
| US2014046943A1 | Cites | United States of America | Pre-grant |
| US8848892B2 | Cites | United States of America | Pre-grant |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2014232815A1 | United States of America | A1 | |
| US10154131B2 | United States of America | B2 |
111 transactions on the USPTO file
Allowed after 3 non-final rejections, 3 final rejections, 2 RCEs and 1 appeal.
- Non-final rejections
- 3
- Final rejections
- 3
- RCEs
- 2
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Dispatch to FDCD1935 | D1935 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mailing Corrected Notice of AllowabilityMCNOA | MCNOA | |
| Corrected Notice of AllowabilityCNOA | CNOA | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Printer Rush- No mailingTCPB | TCPB | |
| Printer Rush- No mailingTCPB | TCPB | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Appeals conf. Rej. withdrawnMAPCA | MAPCA | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Pre-Appeals Conference Decision - Rejection WithdrawnAPCA | APCA | |
| Request for Pre-Appeal Conference FiledAP.C | AP.C | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic request for Examiner InterviewM865E | M865E | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| After Final Consideration Program Amendment too ExtensiveAFNE | AFNE | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| PILOT- Request for After Final Consideration ProgramRAFC | RAFC | |
| Response after Final ActionA.NE | A.NE | |
| Mail Interview Summary - Applicant Initiated - TelephonicMEXAT | MEXAT | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Post CardPST_CRD | PST_CRD | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20140232815
- Application
- 13770429
Titles
- English
- Executing Instructions in Response to a Communication
Patent term adjustment
- A delay
- +440 daysthe office missed an examination deadline
- B delay
- +214 dayspendency past three years
- Overlap
- −78 daysdelays counted once
- Applicant delay
- −119 days
- Net adjustment
- 457 days
Classification
- CPC, 5
- H04N7/147
- H04M1/2745
- H04M1/72484
- H04M1/27453
- H04M1/27457
- IPC, 2
- H04N7 14
- H04M1 72484
- USPC, 1
- 348014080