The present invention generally relates to the field of electronic messaging. In particular, the present invention is directed to an electronic message content party restriction system and method.
Electronic messages typically combine message content with identifying information regarding the sender of the message and/or the recipient of the message. The identifying information may occur in the header of the electronic message. Header information includes the recipient address, date and/or time associated with the message, and other information. Having header information coupled to a message content may allow a third party to log, intercept, or otherwise access the electronic message and associate the message content with the sender and/or recipient of the message. This may be undesirable in certain situations. Services, such as those described in U.S. Pat. No. 7,610,345, reduce the traceability of an electronic message in part by separating the message content from the header information.
A sender may also include information identifying the sender and/or the recipient in the body of the message content (e.g., by typing the sender and/or recipient name directly into the subject matter of the message content). In such a situation, separating the header from the message content would still leave identifying information about the sender and/or recipient in the message body. There is a demand for an improved system and method for reducing the traceability of electronic messages.
In one implementation, a computer-implemented method of communicating an electronic message from a sender to a recipient is provided. The method includes identifying the sender of the electronic message; identifying one or more recipients of the electronic message; receiving from the sender a message content at a message content user interface of a computing device; determining if a restricted indication of the sender or any of the one or more recipients is included in the message content received from the sender; and rejecting the message content if the message content includes the restricted indication.
In another implementation, a machine readable hardware storage medium containing machine executable instructions implementing a method of communicating an electronic message from a sender to a recipient is provided. The instructions include a set of instructions for identifying the sender of the electronic message; a set of instructions for identifying one or more recipients of the electronic message; a set of instructions for receiving from the sender a message content at a message content user interface of a computing device; a set of instructions for determining if a restricted indication of the sender or any of the one or more recipients is included in the message content received from the sender; and a set of instructions for rejecting the message content if the message content includes the restricted indication.
In still another implementation, a computer-implemented method of communicating an electronic message from a sender to a recipient, the method comprising: receiving a recipient address from a sender at a first user interface on a first computing device; receiving a message content from the sender at a second user interface on the first computing device; and rejecting the message content if the message content includes an indication of the sender or the recipient.
For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. However, it should be understood that the present invention is not limited to the precise arrangements and instrumentalities shown in the drawings, wherein:
Electronic messaging allows a sending user to send a message electronically to one or more recipient users (e.g., from one computer to another computer). An electronic message typically includes header information and message content information. Example header information includes, but is not limited to, information that uniquely identifies a sending user, information that uniquely identifies a recipient user, a date and/or time associated with the electronic message (e.g., a date and/or time of creation and/or deliver), and any combinations thereof. Example information that may uniquely identify a user includes, but is not limited to, an electronic messaging address (e.g., an email address), a display name, a system login name, an alias identifier that may be correlated to a user (e.g., via a crossover table association of a system), an image representing a user, an actual name of a sender, an actual name of a recipient, a nickname of a sender, a nickname of a recipient, and any combinations thereof.
The current disclosure provides an electronic messaging system and method that limits the inclusion of information that would identify the sender of a message and/or a recipient of the message in a message content portion of the electronic message. One exemplary benefit to limiting identifying information in message content includes preventing linking a recipient and/or sender to the subject matter in a message content (e.g., where the message content has been separated from header information, such as in a recordless system as discussed below). In one example, a message content includes the body of the message. Message content may also include one or more file attachments. Message content may also include a subject line. It is contemplated that a subject line may also be included in header information. In the discussion below, it is contemplated that the message content may include the subject line in some examples (e.g., when the subject line is considered part of the message content).
In one example, a system and/or method that limits the presence of identifying information of a sender and/or a recipient in message content can be utilized with a recordless messaging system in which the header information is separated from the message content. Such a system and method is disclosed in the incorporated documents discussed above. Separation of header information and message content can occur in a variety of ways including, but not limited to, separating an input display for a recipient address from an input display for a message content (e.g., on a sending user's computer), allowing only one of header information or message content to be displayed on a sending user's computer display at a time (e.g., separating input display portions, blocking/obscuring one input portion while the other is visible), allowing only one of header information or message content to be displayed on a recipient user's computer display at a time (e.g., separating display portions, blocking/obscuring one display portion while another is visible), storing a header component separately from a message content component (e.g., date stored separately on sending computer, server computer, recipient computer), transmitting a header component separately from a message content component such that the two components are not transmitted from one computer to another together (e.g., from a sending computer to a recipient computer, from a sending computer to a server computer, from a server computer to a recipient computer), and any combinations thereof.
A sending user typically will utilize a user interface to enter/compose an electronic message. Various user interfaces are contemplated and will be configurable by a person of ordinary skill in light of the current disclosure. Example user interfaces are discussed further below (e.g., with respect to
At step 310, the identity of one or more recipients of the electronic message is identified. It is noted that throughout this disclosure the term “a recipient” may be used to represent the possibility of the singular and/or the plural for recipients. For example, an electronic message may be directed to a single user, multiple users, to a group of users (e.g., a user group), etc. Example ways to identify an identity of a recipient user include, but are not limited to, utilizing information entered by the sending user to address the message (e.g., via a text entry field, via a pull down list of one or more possible recipients, using a selected image of a recipient user, etc.).
At step 315, a message content is received from the sender user. In one example, a sender computer may include client software that works with the individual hardware and operating system of the computer to allow entry of information, including the message content, of an electronic message. Message content may be input into one or more message content entry portions of a user interface.
At step 320, the message content is reviewed to determine if information that identifies a sender and/or a recipient is included in the message content. In one exemplary aspect, if such information is included for example, the message content may be rejected, allowed to be delivered, modified prior to delivery, and any combinations thereof. The determination may occur at one or more locations of the messaging system. Example locations for determining if sender and/or recipient identifying information is included in message content include, but are not limited to, at the sender computer (e.g., using client software programmed to make a determination), at a server computer that receives the message content (e.g., directly via a network interface accessed by a sender user computer, after electronic transmission from a sender user computer, etc.), at a recipient computer, and any combination thereof.
Determining if information in a message content can be used to identify a user can be done in a variety of ways. Example ways to determine if information included in message content can be used to identify a user (e.g., a sender and/or a recipient) include, but are not limited to, comparing the information in the message content to user information stored in a memory (e.g., at the sender computer, at a server computer, at a recipient computer, etc.), comparing information in the message content to information input in a “from” field of a user interface, comparing information in the message content to information input in a “to” and/or “recipient” field of a user interface, comparing the information in the message content for an exact match to an identity of a user, comparing the information in the message content for common misspellings of an identity of a user, comparing the information in the message content for common soundings of an identity of a user, comparing information in the message content for common nicknames for an identity of a user, comparing information in the message content against alias names for the identity of a user that are manually entered into a database (e.g., aliases entered at time of entering a user in an electronic messaging system, such as those known as name alternatives for a person, nicknames, etc.), comparing information in the message content against real nicknames and aliases of a user, comparing information in the message content for obfuscations of a user identity (e.g., identifying a name variant that includes additional characters, such as dashes, asterisks, or other marks within the name (determining that “J-o-h-n” is a comparison for “John”)), comparing one way hash values (e.g., irreversible hash values) for data values (e.g., comparing hash values for recipient and/or sender identities that are sent back from server computer after server computer receives header information from a sender computer, comparing hash values at server side, and/or comparing hash values at time of entry by sender), using a security level code that is assigned to the message content that rates a level of comparison of the message content (e.g., such a code may be communicated to a server from a user computer for processing and comparison, the code can be used to determine if a message should be rejected or allowed to be transmitted), and any combinations thereof.
The determining if message content includes identifying information of a recipient and/or a sender can be at any time (e.g., a time that allows action to limit the inclusion of such information, such as by rejecting the information, allowing the information, and modifying the information). Example timings for determining if message content includes identifying information of a recipient and/or a sender include, but are not limited to, as a sender enters message content (e.g., via monitoring the data entry at the sender computer, such as via programmed client software having access to the identity information from steps 305 and/or 310), periodic comparisons during entry of message content, at notification of an event by a computer (e.g., a keystroke event notice, a mouse/pointer device event notice), continuous comparison (e.g., using a while(1) loop), at actuation of a user control of a message entry interface (e.g., at completion of message content entry, at completion of electronic message entry, at a time of desire by sender user to check message content, etc.), upon receipt of message content at a server computer, prior to saving message content to a memory of an electronic messaging system (e.g. a memory of a server, a memory on a sender computer, a recipient computer), at a copy/paste event (e.g., a user attempts to copy and paste identifying information into a message content), and any combinations thereof.
As discussed above, after determining if a message content includes information identifying a user, the message may be rejected, allowed to be delivered (e.g., unaltered (such as when no identifying information is included or when a predetermined low amount of information is included) and/or altered (examples of which will be discussed below). Rejection of a message may be triggered by identifying information in the message content. Example ways to reject a message include, but are not limited to, preventing further data entry by a sender user (e.g., when information is determined at the time of entry by the sender user), providing a graphical indication to the sender user that the identifying information is rejected, providing an audio indication to the sender user that the identifying information is rejected, providing a pop-up window indication (e.g., with a message indicating that the user cannot enter that name in message content), providing a haptic indication to a user that identifying information is included message content (e.g., a vibration, such as a vibration of a mobile device), providing a visual indication to a user that identifying information is included in message content (e.g., an LED light indication on a mobile device), providing an indication at time of data entry, providing an indication of rejection at time of user actuation of a user interface control (e.g., at time of completion of entry of message content, at time of completion of entry of electronic message, at time of actuation of another control), providing a rejection after a server computer receives the message content being rejected, highlighting text and/or images that are rejected in message content, underlining text and/or images that are rejected in message content, providing an indication (e.g., a graphical indication, a textual explanation, etc.) in the body of a message content returned by a server after rejection to an inbox of a sender user, and any combinations thereof. A rejected message content may be prevented from delivery to a recipient. A rejected message content may also be prevented from storage, further display on a display device of a computer, or other restriction that will prevent the rejected message content from being retrievable with message content. A rejected message content may be returned to a sender to correct the inclusion of identifying information of a recipient and/or sender (e.g., by removing the identifying content). A user interface control can be included in a returned message that allows a user to actuate the control and automatically cause the removal of all determined identifying information of a recipient and/or a sender. After correction, a sender may resend message content.
A message content may also be allowed to be delivered after information identifying a recipient and/or sender are determined to be included in the message content. In one example, such delivery may be combined with one or more of the above described rejection indications. Example ways to handle message content that includes identifying information while allowing delivery include, but are not limited to, automatically redacting identifying information in message content, automatically replacing identifying information with non-identifying information (e.g., different names from those of the rejected recipient/sender), automatically removing identifying information from message content, and any combinations thereof. After handling message content may be delivered (e.g., to a server computer, to a recipient, etc.). Example ways of redacting include, but are not limited to, replacing rejected content with a textual character (e.g., an asterisk or an “x”), replacing rejected content with a graphical element (e.g., a blackout of rejected material), replacing rejected content text characters with a different number of non-identifying character(s) (e.g., randomly assigning different character numbers), and any combinations thereof.
In one exemplary implementation, a rejection of a message content may be overridden. Example ways to override a rejection include, but are not limited to, providing settings for a sender that exempt that sender from rejection rules, providing settings for a recipient that exempt that recipient from rejection rules, allowing a recipient to receive a warning message prior to receiving a message content including identifying information of a recipient and/or sender, and any combinations thereof. Example warning messages to a recipient include, but are not limited to, an audio alert, a graphical indication (e.g., a different color tone for a rejected message in a recipient's in-box), a haptic indication (e.g., vibration), a visual indication (e.g., LED light indication), and any combinations thereof. A warning message may include an actuatable display control (e.g., an “override” button) that allows the user to override the rejection. In one example, an overridden rejection may be transmitted to a server computer and/or to a recipient.
It is also contemplated that in addition to the limitation (e.g., rejection) of information that identifies a recipient and/or sender from message content, other information and/or items may be limited/rejected using similar methods and functionalities as discussed above. Example additional items that may be used to reject a message content (e.g., alone or in combination with recipient/sender identifying information) include, but are not limited to, date of creation of message, time of creation of message, objectionable (e.g., nude, pornographic) images, keywords and their synonyms (e.g., “promise” and “guarantee”), offensive words/phrases, and any combinations thereof.
It is to be noted that any one or more of the aspects and embodiments described herein may be conveniently implemented using one or more machines (e.g., one or more computing devices that are utilized as a user computing device for an electronic document, one or more server devices, such as a document server) programmed according to the teachings of the present specification, as will be apparent to those of ordinary skill in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those of ordinary skill in the software art. Aspects and implementations discussed above employing software and/or software modules may also include appropriate hardware for assisting in the implementation of the machine executable instructions of the software and/or software module.
Such software may be a computer program product that employs a machine-readable storage medium. A machine-readable storage medium may be any medium that is capable of storing and/or encoding a sequence of instructions for execution by a machine (e.g., a computing device) and that causes the machine to perform any one of the methodologies and/or embodiments described herein. Examples of a machine-readable storage medium include, but are not limited to, a magnetic disk (e.g., a conventional floppy disk, a hard drive disk), an optical disk (e.g., a compact disk “CD”, such as a readable, writeable, and/or re-writable CD; a digital video disk “DVD”, such as a readable, writeable, and/or rewritable DVD), a magneto-optical disk, a read-only memory “ROM” device, a random access memory “RAM” device, a magnetic card, an optical card, a solid-state memory device (e.g., a flash memory), an EPROM, an EEPROM, and any combinations thereof. A machine-readable medium, as used herein, is intended to include a single medium as well as a collection of physically separate media, such as, for example, a collection of compact disks or one or more hard disk drives in combination with a computer memory. As used herein, a machine-readable storage medium does not include a signal.
Such software may also include information (e.g., data) carried as a data signal on a data carrier, such as a carrier wave. For example, machine-executable information may be included as a data-carrying signal embodied in a data carrier in which the signal encodes a sequence of instruction, or portion thereof, for execution by a machine (e.g., a computing device) and any related information (e.g., data structures and data) that causes the machine to perform any one of the methodologies and/or embodiments described herein.
Examples of a computing device include, but are not limited to, an electronic book reading device, a computer workstation, a terminal computer, a server computer, a handheld device (e.g., a tablet computer, a personal digital assistant “PDA”, a mobile telephone, a Smartphone, etc.), a web appliance, a network router, a network switch, a network bridge, any machine capable of executing a sequence of instructions that specify an action to be taken by that machine, and any combinations thereof. In one example, a computing device may include and/or be included in, a kiosk.
Memory 910 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component (e.g., a static RAM “SRAM”, a dynamic RAM “DRAM”, etc.), a read only component, and any combinations thereof. In one example, a basic input/output system 920 (BIOS), including basic routines that help to transfer information between elements within computer system 900, such as during start-up, may be stored in memory 910. Memory 910 may also include (e.g., stored on one or more machine-readable media) instructions (e.g., software) 925 embodying any one or more of the aspects and/or methodologies of the present disclosure. In another example, memory 910 may further include any number of program modules including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combinations thereof.
Computer system 900 may also include a storage device 930. Examples of a storage device (e.g., storage device 930) include, but are not limited to, a hard disk drive for reading from and/or writing to a hard disk, a magnetic disk drive for reading from and/or writing to a removable magnetic disk, an optical disk drive for reading from and/or writing to an optical media (e.g., a CD, a DVD, etc.), a solid-state memory device, and any combinations thereof. Storage device 930 may be connected to bus 915 by an appropriate interface (not shown). Example interfaces include, but are not limited to, SCSI, advanced technology attachment (ATA), serial ATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and any combinations thereof. In one example, storage device 930 (or one or more components thereof) may be remotely interfaced with computer system 900 (e.g., via an external port connector (not shown)). Particularly, storage device 930 and an associated machine-readable medium 935 may provide nonvolatile and/or volatile storage of machine-readable instructions, data structures, program modules, and/or other data for computer system 900. In one example, software 925 may reside, completely or partially, within machine-readable medium 935. In another example, software 925 may reside, completely or partially, within processor 905.
Computer system 900 may also include an input device 940. In one example, a user of computer system 900 may enter commands and/or other information into computer system 900 via input device 940. Examples of an input device 940 include, but are not limited to, an alpha-numeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), a cursor control device (e.g., a mouse), a touchpad, an optical scanner, a video capture device (e.g., a still camera, a video camera), touchscreen, and any combinations thereof. Input device 940 may be interfaced to bus 915 via any of a variety of interfaces (not shown) including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FIREWIRE interface, a direct interface to bus 915, and any combinations thereof. Input device may include a touch screen interface that may be a part of or separate from display 965, discussed further below.
A user may also input commands and/or other information to computer system 900 via storage device 930 (e.g., a removable disk drive, a flash drive, etc.) and/or a network interface device 945. A network interface device, such as network interface device 945 may be utilized for connecting computer system 900 to one or more of a variety of networks, such as network 950, and one or more remote devices 955 connected thereto. Examples of a network interface device include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of a network include, but are not limited to, a wide area network (e.g., the Internet, an enterprise network), a local area network (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a data network associated with a telephone/voice provider (e.g., a mobile communications provider data and/or voice network), a direct connection between two computing devices, and any combinations thereof. A network, such as network 950, may employ a wired and/or a wireless mode of communication. In general, any network topology may be used. Information (e.g., data, software 925, etc.) may be communicated to and/or from computer system 900 via network interface device 945.
Computer system 900 may further include a video display adapter 960 for communicating a displayable image to a display device, such as display device 965 (e.g., for providing user access to one or more user interfaces. Examples of a display device include, but are not limited to, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasma display, a light emitting diode (LED) display, and any combinations thereof. In addition to a display device, a computer system 900 may include one or more other peripheral output devices including, but not limited to, an audio speaker, a printer, and any combinations thereof. Such peripheral output devices may be connected to bus 915 via a peripheral interface 970. Examples of a peripheral interface include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, and any combinations thereof.
In one exemplary implementation, a computer-implemented method of communicating an electronic message from a sender to a recipient is provided. The method includes identifying the sender of the electronic message; identifying one or more recipients of the electronic message; receiving from the sender a message content at a message content user interface of a computing device; determining if a restricted indication of the sender or any of the one or more recipients is included in the message content received from the sender; and rejecting the message content if the message content includes the restricted indication. The method may further include sending the message content from the computing device if the message content does not include an indication of the sender or any of the one or more recipients. The method may further include the message content being transmitted from the computing device separately from any header component of the electronic message. The method may further include saving the message content on a server computer if the message content does not include an indication of the sender or any of the one or more recipients. The method may further include said identifying the sender including using information from a login of the sender. The method may further include said identifying the sender including using information input by the sender in a header data entry field of a header user interface. The method may further include identifying the sender including using a session identification to determine the sender. The method may further include wherein said determining includes comparing text of the received message content includes the name of any of the one or more recipients. The method may further include wherein said determining includes referencing a database that includes multiple entries of name variants for the one or more recipients. The method may further include wherein said determining is performed at the computing device prior to transmitting the message content from the computing device. The method may further include wherein said determining occurs in response to actuation of a control of the message content user interface. The method may further include wherein said determining is performed as the sender is entering the message content into the message content user interface. The method may further include wherein said determining is performed at one or more server computers after transmitting the message content from the computing device. The method may further include wherein said rejecting includes generating a display message indicating the rejection of the message. The method may further include wherein said rejecting includes providing the sender with a notice of the rejection at the time of entry of the restricted indication.
In another exemplary implementation a computer-implemented method of communicating an electronic message from a sender to a recipient is provided. The method includes receiving a recipient address from a sender at a first user interface on a first computing device; receiving a message content from the sender at a second user interface on the first computing device; and rejecting the message content if the message content includes an indication of the sender or the recipient.
Exemplary embodiments have been disclosed above and illustrated in the accompanying drawings. It will be understood by those skilled in the art that various changes, omissions and additions may be made to that which is specifically disclosed herein without departing from the spirit and scope of the present invention.
Exemplary embodiments have been disclosed above and illustrated in the accompanying drawings. It will be understood by those skilled in the art that various changes, omissions and additions may be made to that which is specifically disclosed herein without departing from the spirit and scope of the present invention.
This application claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 61/625,087 filed Apr. 17, 2012, and titled “Electronic Message Content Party Restriction System and Method,” which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61625087 | Apr 2012 | US |