The invention relates to the field of computer networks and, more particularly, to systems and methods for managing communications between network users.
Computer-assisted communications, in a variety of formats, such as e-mail, instant messaging (IM), voice-over-internet-protocol (VOIP), short message service (SMS) for cellular phone text messaging, multimedia, and other forms of file transfer and digital data stream technologies, are becoming increasing popular and more widely available to users who want to communicate with one another. Using the Internet or other wired or wireless network systems, users may initiate and/or accept communications in a variety of locations with the help of a variety of communications devices, and at virtually any time of the day or night, at costs that are a fraction of what they may have been just a decade ago, if options for such communications were available at all. Furthermore, users who wish to transmit a communication to a large number of others may now do so with greatly enhanced ease and speed and at greatly reduced cost.
However, together with the advantages made available by computer-assisted communications have come an array of attendant disadvantages. For example, many users receive an overload of unwanted communications and struggle to maintain control over their privacy, their private identification information, and their communications generally.
Unsolicited e-mail (“spam”) continues to elude filter programs and proliferates. Users cannot easily prioritize or route phone messages based on the person calling. Additionally, users generally must give out contact information to receive communications. Users generally cannot maintain control over how their contact information is used or distributed or keep it up to date in other users' address books.
Furthermore, currently available systems for controlling communications frequently provide only imprecise control mechanisms that may, for example, block all communications from an identified individual or forward all calls from one phone number to another. Refusing to share contact information protects privacy only at the expense of foregoing communication.
In the light of the foregoing, conventional communications channels provide users with inadequate control of their communications.
Embodiments of the system and method described herein allow users to control their communications by providing a system of communications channels that are managed based on relationships established and expressed between parties wishing to communicate with one another. A relationship manager allows two users of the system to establish a relationship, wherein establishing the relationship comprises allowing each user to designate a set of permissions that define conditions under which the user is willing to accept communications from the other user. The relationship-related conditions may include, for example, a definition of permissible and impermissible time periods for communication, as well as limitations on the types of communications (text messages, voice-mails, IMs, and the like) that the user is willing to accept from the other user. In various embodiments, other conditions, long- and short-term, may be set for permissible communications. Each party in a relationship may set different permission conditions for the relationship, as will be illustrated with reference to
In various embodiments, the system provides additional flexibility to the setting of permissions by allowing for temporary overrides of the normal permission instructions. In various embodiments, the system additionally or alternatively allows users to specify permissions instructions that are based at least in part on priority levels of tasks with which the user is involved and in association with which the user expects to receive communications.
Users of the relationship-managed communications system retain control over their own contact information, and may share portions of it with only the relationship-managed communications system. A user may direct the system to securely maintain the privacy of the user's contact information, making use of the contact information to establish communications channels with the user on behalf of others only as prescribed by the user's relationship-related permissions. The system may mediate communications with the user without providing to others the contact information that would allow the others to establish communications with the user on their own. Thus, a first user may modify communications permissions that control a second user's ability to communicate with the first user using a given communications channel, and the system will reflect the modified permissions in managing any subsequent communications requests on the part of the second user.
In various embodiments, allowing users to maintain control of their own contact information additionally allows the users to modify their system-stored contact information for updates, such as when an IP address is updated, without need to individually notify and update the information with all users who may now or in the future wish to communicate with the first user. Other portions of the user's contact and other personal information stored by the system may be shared with other users based on permissions that are set and stored with respect to the associated relationship.
Embodiments of the relationship-managed communications system may further provide services to users that include, for example, intelligently routing communications to substitute channels based on relationship-related information, securely storing logs of all communications, securely storing copies of file-based communications, making information about users available to other users as specified in the relationship-related parameters, and providing relationship-related event notification services to users. These and other features of the systems and methods described herein are more particularly pointed out with reference to the figures in the detailed description to follow.
An embodiment of a method for managing computer-based communications between a first user and a second user is described. The method comprises the act of establishing a relationship between a first user and a second user, wherein the relationship defines a set of communications channels that the first user is allowed to use to communicate with the second user. The method further comprises the acts of: storing information about the relationship; receiving a request from the first user to open a communications channel to the second user; accessing the stored relationship information to determine if the requested communications channel is among the set of allowed communications channels; and opening the communications channel if the requested communications channel is among the set of allowed communications channels.
An embodiment of a computer-based system for managing communications between users is described. The system comprises: a communications permissions repository for storing information about communications channels that a first user is allowed to use to communicate with a second user and a messaging module configured to receive from the first user a request to communicate with the second user using a communications channel. The messaging module is further configured to access the communications permissions repository to determine if the first user is allowed to use the communications channel. If the first user is allowed to use the communications channel, the messaging module is further configured to accept a computer-based communication for the second user from the first user.
An embodiment of a computer-based system for managing communications between users is described. The system comprises a configuration module and a messaging module in communication with the configuration module. The configuration module is configured to establish a relationship between a first user and a second user and to allow the first user to specify parameters for acceptable communications that the first user is willing to receive from the second user. The configuration module is further configured to allow the second user to specify parameters for acceptable communications that the second user is willing to receive from the first user and to store in a permissions repository information about the parameters specified by the first user and the parameters specified by the second user. The messaging module is configured to receive from the first user a computer-based communication for the second user and to access the permissions repository to determine if the computer-based communication conforms to the second user's specified parameters. If the communication conforms to the second user's specified parameters, the messaging module is further configured to notify the second user about the computer-based communication.
An embodiment of a method for establishing a relationship between a first user and a second user of a relationship-managed communications system is described. The method comprises the acts of: receiving a request from a first user to establish a relationship with a second user; receiving relationship-related data from the first user defining communications permissions that the first user allows to the second user; allowing the second user to provide relationship-related data defining communications permissions that the second user allows to the first user; and storing the relationship-related data from the first user and the relationship-related data from the second user.
For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
A general architecture that implements various features of specific embodiments of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.
Systems and methods described herein are implemented by a relationship-managed communications system that securely stores contact information for users and that routes communications between users based on permissions-related information received from users regarding communications that they are willing to accept.
In various embodiments, the system 10 controls access to identifying contact information for users that initiate communications on some types of communications channels and does not control access to identifying contact information for users that initiate communications on other types of communications channels. In general, the system 10 retains greater control over communications that are established using channels whose protocols do not inherently includes users' identifying contact information in the protocol. Such controllable communication channels include IM, telephone, VOIP, secure text messaging systems, and other channels described herein. For these channels, the communications system 10 preferably retains control over the contact information used for the communication rather than making it available to the receiver of the communication. Furthermore, for communications conducted over these channels, the system 10 retains control over access to the content of the communication and may, for example, impose limitations on a receiver's ability to ford, copy, or store a received message.
Other types of communications channels, such as conventional e-mail systems, inherently carry identifying information in their protocols. Some embodiments of the system 10 provide users with an option for communicating using e-mail or similar systems in an “uncontrolled” manner, namely, in a manner that does not hide a sender's contact information and does not allow the sender to retain control over the e-mail message itself. Other embodiments of the system 10 may alternatively provide controlled access to e-mail channels by adding extra layer(s) of security to conventional email systems. For example, as will be familiar to practitioners of ordinary skill in the art, e-mail systems can be modified such that the sender of the message is not readily identifiable. Legal requirements and regulations in some jurisdictions may prohibit systems that allow senders of e-mail to remain anonymous. Thus, in anticipation of such legal requirements, while technically feasible, a preferred embodiment does not include features that maintain the anonymity of e-mail senders' identities. An alternative to e-mail used by embodiments of the system 10 is secure messaging, as described herein.
Users of the system 10 may be individual persons who have contracted with the system 10 to have the system route communications coming to them from other users and going out from them to other users, based on relationship-based information provided by the users. In various embodiments, users of the system 10 may also be other types of entities. For example, a corporate or other commercial entity, such as a website order processor, may be registered with the system 10 as a user and may communicate with other users as a single entity. Similarly, a grouping of individuals communicating as a single entity may be a user of the system 10. In some embodiments, more abstract users, such as a computer process with whom other users may want to communicate may be registered as a user of the system 10. For ease of description, in this application, the pronoun “he” will generally be used to refer to a user of the system, referring equally to users who are male, female, groupings, or other types of entities, including logical components such as software systems, services, or agents.
As depicted in the embodiment shown in
For example, the relationship manager 11 preferably instructs a configuration module 14 to establish a new relationship or to update permissions or other parameters associated with an existing relationship.
The relationship data 18 stored for an individual user preferably comprises a repository of the user's identity data 20, as will be described in greater detail with reference to
In general, User A retains control over the contents of his identity data 20, his event matrix 19, and over the communications permissions 21 that he has set for communications coming to him from other users. Similarly, other users with whom User A may wish to communicate control permissions and conditions upon communications that they are willing to accept from User A, as well as controlling access that User A may have to their contact and other identity information 20. In various embodiments, the configuration module 14 allows individual users to modify and update their relationship data 18 as desired.
Once a relationship between two users is established and the communications permissions 21 of the users are designated, the relationship manager 11, upon request, preferably instructs a communications module 15 to establish a communications channel between the two users, based at least in part on the stored communications permissions 21.
The relationship manager 11 preferably instructs an identity module 13 of the system 10 to manage publication of a user's personal information based on relationship-related permissions provided by the user. In various embodiments, the relationship manager 11 instructs an event module 12 to carry out requested event notifications.
A security module 16 of the relationship-managed communications system 10 oversees security for the communications system 10. In various embodiments, the security module 16 enforces sign-on, credential, or other authentication procedures to allow users access to the system 10. The security module 16 may also oversee the security of contact information, identity information, messages and other data stored for users by the system 10 using encryption and other security methods. The security module 16 may also oversee the security of transmissions and communications with remote entities in association with the relationship-based communication managed by the system 10.
As stated above,
As depicted at the center of
At the same time, Brenda controls communications that she receives from Alan and other users with permissions 25 that Brenda has set for her established relationships. In particular, the simplified set of permissions 26 depicted for Brenda's relationship with Alan indicate that Brenda allows Alan to IM her only at home in the evening, to send her a secure message only at work during the day, or to use VOIP to communicate with her at work or at home during any time of day or evening.
As depicted in
For example, in the simplified user interface 40 depicted in
In some embodiments, the system 10 provides a set of pre-defined roles that a user may apply to relationships. In some embodiments, the system 10 additionally or alternatively provides capabilities for users to custom-define roles as deemed useful to them. In still other embodiments, roles are not used.
The user interface 40, as depicted in
At the bottom of the sample user interface 40 of
Buttons 53 depicted in
As indicated in the simplified example user interfaces depicted in
For example, in one embodiment, a first user may initiate a permitted VOIP communication with a second user by using a computer mouse to select a phone icon associated with initiating a VOIP session with the second user. Selecting the icon may successfully initiate the VOIP session. However, even after initiating the VOIP session, the first user does not possess the contact information used to establish the VOIP connection with the second user. Furthermore, the second user may revoke the first user's future ability to contact him at any time by changing the relationship-related permissions stored by the relationship manager. In the case of such revocation, the first user will no longer have access to use the contact information for establishing the communications channel.
If the second user wishes to revoke the first user's permissions to communicate using the channel, the second user need not worry about how the first user will use the now-unpermitted contact information, because the first user never had the contact information in question. The icon allowing the first user to contact the second user via the communication channel may be deleted or deactivated in the first user's relationship manager user interface 40, 50, and the second user is effectively denied access to the communications channel. In other embodiments, the VOIP icon is still visible to the second user, but any attempt to open a channel will be denied.
The second user may also update or otherwise modify his contact information, such as might occur if the second user changed internet service provider, causing future communications brokered by the relationship-managed communications system to be routed using the updated information. Preferably, the modification takes place transparently to other users communicating with the second user because the icons in their relationship manager user interfaces remain the same. In one embodiment, the modification is made once to contact information stored in a central identity data 20 repository such that there is no need to update the second user's contact information individually for each other user. Alternatively, the contact information can be distributed, in which case more than one update may be required.
Furthermore, in various embodiments of the system 10, in addition to the explicit time and/or communications-channel-related permissions that a user may specify for a relationship, the user may also be allowed to specify other types of permissions. For example, a user may be allowed to specify permissions that are in effect for a limited period of time, which may be pre-defined in length or may be defined to continue until notified by the user. A user interface may allow the user to click on a “Do Not Disturb” button that temporarily suspends permissions to communicate with the user for all or a subset of the user's relationships.
As another example of permissions that are implemented by some embodiments of the system 10, a user is permitted to assign priority levels to defined projects or tasks with which he is involved and in association with which he expects to receive communications. For example, assuming that the user is currently involved with four tasks, Tasks 1 and 4 being designated as high priority tasks, Task 2 being designated as a low priority task, and Task 3 being designated as a medium priority task, the user can instruct the system 10 to classify route incoming communication requests based at least in part on priority levels of the tasks with which the communication requests are associated. High priority communications may trigger immediate notification of the user. According to instructions received from the user, incoming high priority text messages may be listed at the top of an incoming message list and/or the user may be notified by cell phone or pager of newly received messages. Medium priority phone calls may be routed to voice-mail, with a pop-up appearing on the user's computer screen to notify him of the voice-mail. Low priority calls may be routed to voice mail with no extra notification.
In various embodiments, the system 10 identifies the priority level of communication requests based on identification of the sender attempting to communicate. For example, a sender may be associated with a task, and thus with an associated priority level and communication handling strategy. In some embodiments, other mechanisms, such as parsing of communications subject lines or setting of priority flags may identify a task with which a communication is associated, even if the sender is associated with more than one of the user's prioritized tasks. Skilled artisans will appreciate that other mechanisms may be employed to classify communications by priority level.
Other types of permissions parameters may be set based on the system's 10 awareness of external events. For example, the system 10 may be configured to receive global positioning system (GPS) information from a user's laptop computer, or other location-related information from the user's cellular phone, and may enforce relationship-related communications permissions that are based on this information. For example, the system 10 can allow a user to require a secure message to be accessed from a laptop computer only when the laptop computer is located on company premises. This condition can be useful to prevent an employee from showing sensitive messages to someone outside the company, such as on a business trip. Another use is that a user can set permission such that he will not receive communications when he is in Europe, which may mean that he is on vacation. The system 10 may be configured to receive notifications from other external or internal computer systems, such as information about stock market activity from a remote server or information from the user's own desktop computer calendaring application, and may enforce relationship-related communications permissions based on this information. For example, with regard to calendaring, the system 10 can be configured in one embodiment, to not allow cell phone calls during scheduled meetings with a supervisor.
Permissions that the user specifies for a limited time may be seen as overrides that are temporarily used in place of the user's normally specified permissions, which resume effectiveness when the override is not in effect.
The last example request provides an indication that in addition to tracking actions taken by entities with whom a user has established a relationship, the event module 12 may also be configured to track other types of events. For example, in this case, when the database is updated, Alan has requested a response. In other examples, a user may request that when his company's monthly sales goal has been met, that a congratulatory message be sent to the members of the sales team, or that when the temperature in Detroit, Mich. drops to a certain low, that he is prompted to call and check on his grandmother, or that when the Dow Jones Industrial Average reaches a threshold value, that a pre-specified sale or purchase activity be initiated.
In various embodiments, the system's 10 capability to provide event notifications may be aided, as least in part, by a log that is kept of events mediated by the system 10. In various embodiments, the log may comprise a more extensive or a more sparse set of information. Embodiments of the system 10 that provide for relationship-based event notifications may make a trade-off and maintain a desired balance between their ability to provide desired services to users and their ability to safeguard the privacy of their users. It will be appreciated that some users may consider an event response matrix feature to be a privacy concern. Out of respect for this viewpoint, some embodiments of the system do not have such a feature, or allow the feature to be disabled.
In the sample user interface 80 depicted in
In various other embodiments, the relationship-managed communications system 10 provides an opportunity for users to specify other types of default communications permissions. For example, in one embodiment, users who choose to specify custom settings for their permissions can also specify time periods associated with the permissions. As another example, in embodiments of the system 10 that make use of role-based user classifications, users may be provided an opportunity to specify default permissions that will be applied to newly created relationships based on roles associated with newly created relationships. In other embodiments, still other opportunities for defining default communications permissions may be provided to users.
As further depicted in
In Block 112, User A's relationship-related communication permissions and other parameters associated with the proposed relationship with User B are received and stored. In one embodiment, the configuration module 114 of the system 10 receives and stores the communication permissions and other parameters.
In Block 113, User B's previously stored default communications permissions and other parameters are received and applied to the new relationship with User A. In one embodiment, the configuration module 14 locates and applies User B's default communications permissions and other parameters to the new relationship with User A. As described above with reference to
In Block 114, in some embodiments, User B is notified about the creation of the new relationship with User A and is optionally provided with an opportunity to modify his communications permissions and other parameters for the new relationship. In one embodiment, the relationship-managed communications system 10 notifies User B with the opportunity to modify his permissions and other parameters for the new relationship.
The process 110 comes to an end, and the new relationship is created, with permissions and contact information stored
In Block 122, the received communications request is classified. In one embodiment, the communications module 15 classifies the communication request based at least in part on relationship permissions and other parameters established for the relationship and stored in the repository of communications permissions 21. The communications module 15 determines whether the proposed communication from User A is currently permitted by the stored relationship permissions, based on the communications channel requested, current time of day and/ or day of week, and/or any other conditions set forth in the stored communications permissions for the relationship. In other embodiments, these acts are carried out by other components of the system 10.
In some embodiments, the communication is also classified based at least in part on a variety of other factors. The communications module 15 may further determine whether temporary overrides of the standard permissions have been authorized by the intended recipient of the proposed communication. For example, the recipient may have submitted a permissions override to the system 10 indicating that although he commonly accepts communications from a variety of users during his lunch hour, he is currently in an important meeting and will accept communications only from his supervisor. Or, the recipient may have submitted a permissions override indicating that although he generally accepts communications from his stock broker only during work hours, now that an important corporate merger is being discussed, he will accept communications from his stock broker at any time of the day or night. Priority levels defined by the recipient in association with tasks and/or with specific other users may be used to classify incoming communications.
In some embodiments, users initiating a communication provide an indication of the importance or urgency of the communication that can be used to classify the communication. In some embodiments, users indicate a task or priority level associated with communications that they initiate.
In Block 123, communications that have been determined to be currently permitted are routed to appropriate communications channels. In one embodiment, the communications module 15 routes the currently permitted. The communications module 15 may route the communication using the communications channel requested by User A. In some embodiments, the communication may be routed using a substitute communications channel, according to the classification of Block 122 that took into account relationship parameters, temporary override rules, and/or importance levels declared by User A. For example, continuing to use the first example from Block 122, the communications module 15 may route requested telephone calls and VOIP sessions intended for the user who is in an important meeting, and from anyone other than the user's supervisor, to a voice-mail system for the user.
In some embodiments of the relationship-managed communications system 10, the system 10 may be configured to identify a communications device, such as an office computer workstation, a cell phone, or a wireless PDA, currently being used by a user. The system 10 may be further configured to identify a current location and/or activity of the user, based on the current device use and/or on other available location/activity-related information, and to route communications accordingly. For example, if the communications module 15 receives information indicating that the user in the second example from Block 122 is currently driving in his car, the communications module 15 may route requests for a VOIP session or call to the user's office from the user's stockbroker directly to the user's cell phone. Thus, the relationship-managed communications system 10 may provide decision-making capabilities for re-routing communications to alternate communications channels based on rule-based, neural network, decision-tree, probabilistic, genetically-programmed, or other type or combinations of types of learning and/or decision-making technologies.
Systems and methods for managing computer-based communications between users based on the establishment of relationships and the articulation of communications permissions based on the relationships have been described herein. Although the foregoing systems and methods have been described in terms of certain preferred embodiments, other embodiments will be apparent to those of ordinary skill in the art from the disclosure herein. Additionally, other combinations, omissions, substitutions and modifications will be apparent to the skilled artisan in view of the disclosure herein. While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms without departing from the spirit thereof. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention.
The present application claims priority benefit under 35 U.S.C. 119(e) from U.S. Provisional Application No. ______, filed Sep. 14, 2004 with Attorney Docket No. CJB.002PR and entitled RELATIONSHIP-MANAGED COMMUNCIATIONS CHANNELS, and from U.S. Provisional Application No. ______, filed Sep. 14, 2004 with Attorney Docket No. CJB.003PR, entitled DISTRIBUTED SECURE REPOSITORY, both of which are hereby incorporated herein by reference in their entireties. Furthermore, the present application is related to the co-pending and commonly owned U.S. patent application Ser. No. ______ entitled DISTRIBUTED SECURE REPOSITORY, filed on even date herewith with Attorney Docket No. CJB.003A and incorporated herein by reference in its entirety.