US20070299927A1 - Routing messages using presence information - Google Patents
Routing messages using presence information Download PDFInfo
- Publication number
- US20070299927A1 US20070299927A1 US11/852,972 US85297207A US2007299927A1 US 20070299927 A1 US20070299927 A1 US 20070299927A1 US 85297207 A US85297207 A US 85297207A US 2007299927 A1 US2007299927 A1 US 2007299927A1
- Authority
- US
- United States
- Prior art keywords
- message
- information
- message recipient
- data repository
- recipient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42365—Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity
- H04M3/42374—Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity where the information is provided to a monitoring entity such as a potential calling party or a call processing server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
Routing a message (e.g., text message, voice message, etc.) based on the accessibility of an intended recipient's associated communication channels (e.g., email, fax, instant message, cell, landline, etc.) may involve discovering information relating to an accessibility state of one or more communication channels associated with the message recipient; maintaining a data repository comprising the discovered accessibility state information; and routing a message to the message recipient based on information in the data repository.
Description
- This application is a divisional application of and claims priority to U.S. patent application Ser. No. 09/917,300, filed Jul. 27, 2001. The contents of the prior application are considered part of, and are incorporated by reference, in the instant application.
- present application describes systems and techniques for routing messages to recipients based on “presence” information—e.g., information that describes or otherwise relates to a recipient's accessibility via one or more communication channels. As used herein, a “message” refers to virtually any type of communication that can be transmitted from one endpoint to another over one or more communication channels.
-
FIG. 1 is a block diagram of a typical network environment in which messages can be communicated among users of the network. As shown therein, users may connect to a packet-switchedcomputer network 100, such as a Local Area Network (LAN) or Wide Area Network (WAN), via computer platform endpoints such aslaptop 101,workstation 102 or personal computer (PC) 103. The LAN/WAN 100 may be connected via one ormore gateways 107 to other types of endpoints such as acell phone 104, a handheld computer 105 (e.g., a Personal Digital Assistant (PDA)), or alandline telephone 106 on the Public Switched Telephone Network (PSTN). Thecommunication links 108 connecting the endpoints 101-106 to the LAN/WAN 100 or thegateway 107 may be wired or wireless. - Communication among endpoints 101-106 may be accomplished by sending messages using any of several different techniques and/or media. For example, a user at
endpoint 101 may send a text message—e.g., either an e-mail message or an “instant message” (IM)—to another user atendpoint 102 via LAN/WAN 100. Typically, e-mail messages are viewed at the message recipient's convenience by affirmatively selecting a message to be read in a client application running on the user's computer platform. IMs, in contrast, are messages that, if enabled, typically appear instantaneously in a pop-up window on the recipient's monitor. - As further examples, a user at
endpoint 101 may send a text message to a user atcell phone 104 orhandheld computer 105 and/or may send a voice message (e.g., using Internet Protocol (IP) telephony) to a user atcell phone 104, handheld 105 orlandline telephone 106. In general, virtually any endpoint that can connect to a communications network can send messages to any other endpoint connected to the network. -
FIG. 1 is a block diagram of a typical network environment in which messages can be communicated among users of the network. -
FIG. 2 shows an example of potential paths over which a message can be routed to a recipient. -
FIG. 3 is a block diagram of an architecture that may be used to route messages to recipients based on presence information. -
FIG. 4 shows an example of routing a message to a recipient using a bridge device. -
FIG. 5 shows an example of a data structure that may be used to maintain a user's preferences and presence state information. -
FIG. 6 is a flowchart of a process for routing messages using presence information. - Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
- Typically, a single user may have several different associated communication channels through which the user can receive messages from other users. For example, a user “Rob” may have multiple e-mail addresses, multiple IM addresses, multiple landline telephone numbers, multiple cell phone numbers, and one or more fax numbers, pager numbers, and the like, any one or more of which may be used to route messages to Rob. As shown in
FIG. 2 , for example, amessage 200 intended for arecipient 210 can be sent over any of one or more of 13 different communication channels 212 (such as communication channels associated with (i) a LAN/WAN 202 which may, for example, include afirst e-mail address 201, asecond e-mail address 203, a firstinstant messaging address 205, a secondinstant messaging address 207; (ii) a PTSN 204 which may, for example, include a firstwork telephone number 209, a secondwork telephone number 211, ahome telephone number 213, afax telephone number 215, avoicemail number 217; (iii) amobile network 206 which may, for example, include acell phone number 219, acar phone number 221; and/or (iv)other networks 208 which may, for example, include apager number 223 or an address associated with a hand-held 225). Either the sender or the recipient may desire that the message be sent over more than one of thechannels 212 for the sake of redundancy or persistence. Typically, the sender chooses which of the channels the message is to be sent over. To do so, however, the sender must know and keep track of the recipient's various device addresses (e-mail address, telephone number, etc.), which depending on the particular recipient can represent a voluminous amount of information. - Moreover, depending on the recipient's location or circumstances, the channel or channels designated by the sender may turn out to be less than ideal for a variety of reasons. For example, the recipient may be unreachable over the designated channel because of a service outage or other lack of communications connectivity. As an example, if the sender chooses to send an instant message to the recipient's wireless hand-held computer via
channel 225, it may not be possible to deliver the message in a timely manner if the recipient is outside of the wireless reception range. Moreover, even if reachable via the chosen channel (e.g., communications connectivity exists), the recipient may nonetheless be unavailable if, for example, the recipient does not have the IM client currently running on his hand-held computer or has otherwise indicated an unwillingness to communicate via that communication channel. - Accordingly, systems and techniques as described herein have been developed that enable a sender to send a message to a recipient's identity rather than, e.g., one or more device addresses associated with the recipient, and further that optimally and intelligently route the message to the recipient over one or more communication channels based on presence information, which indicates the recipient's state of accessibility via the various communication channels. As a result, messages may be addressed and routed to recipients with dramatically increased ease, flexibility, and/or situational appropriateness.
-
FIG. 3 is a block diagram of apresence routing architecture 300 that may be used to route messages to recipients based on a recipient's identity and on presence state information indicating the recipient's accessibility via the various communication channels over which messages may be received. As shown inFIG. 3 , thepresence routing architecture 300 may be formed of four components 301-304, typically implemented as software entities residing and/or executing on one or more networked computer platforms. - The
Discovery component 301 may be responsible for discovering and/or collecting information relating to the accessibility state for each of a recipient's potential communication channels. As used herein, “accessibility” encompasses both the “reachability” of a message recipient via a given communications channel and the “availability” of the recipient on the channel under consideration. A recipient is deemed to be “reachable” on a channel if there is communications connectivity for the channel—that is, if a signal path exists between the sender and the recipient over the channel under consideration. Availability, on the other hand, refers to the readiness and willingness of the recipient to receive messages. As an example, a recipient who has his cell phone turned on and is within cell signal range, but who has the phone's ringer turned off, is “reachable” via his cell phone channel (because a signal path exists to receive calls) but is “unavailable” to receive messages because he will not be alerted to, and thus not answer, incoming calls. - The
Discovery component 301 may seek to determine, and continuously or periodically update, the accessibility state of each of a recipient's potential communications channels. A channel's accessibility state is a snapshot of the reachability and/or availability of the recipient via that channel. - The
Discovery component 301 may have four basic subcomponents—Cellular presence discovery 305, Internetdiscovery 306,Bridged discovery 307, and Inter-operabilitydiscovery 308—each of which represents a different avenue for discovering information about the respective accessibility states of a recipient's communications channels. - The Cellular
presence discovery subcomponent 305 is used to discover accessibility state information based on a user's cell phone usage. For example, when a user turns on and/or uses his cell phone while within cell signal range, data packets are transmitted from the cell phone to the cellular service provider's computer system. From the received data packets, the cell provider's computer system may determine at least the following information: (1) whether or not the user's cell phone is turned on; (2) whether or not the cell phone is currently in use; and (3) the approximate geographic location of the cell phone (i.e., the cell in which the phone is located). This information can be transmitted from the cell provider's computer system to the computer system on which the Discoverycomponent 301 resides and stored for use in making future routing decisions, as described below. - The
Internet discovery subcomponent 306 may be responsible for discovering accessibility state information for Internet-based communication channels, for example, communication channels that use IP addresses or equivalent for addressing (e.g., e-mail, IM).Component 306 can discover Internet-based accessibility state information in a number of ways. For example,subcomponent 306 can ping an IP address to see if it responds, and in that way discover information about the reachability of the communication channel associated with the pinged IP address.Component 306 also can check with e-mail and IM servers connected to the Internet to see if a user is currently logged into, and thus presently available via, the associated e-mail or IM system. In addition,component 306 can receive user-supplied availability information such as a “do not disturb” or “away from office” indicator flag set by a user within an IM client application. - The
Bridged discovery subcomponent 307 may be responsible for discovering accessibility state information for a potential recipient through indirect routes—for example, through one or more other user's communication channels.FIG. 4 shows an example of a bridged communication channel in which alaptop computer 402 serves as a bridge device to form a bridged connection between a user's hand-heldcomputer 400 and a LAN/WAN 403. A “bridged connection” as used herein is one that passes through an intermediate recipient's device and/or is sent to an address associated with an intermediate recipient before the message ultimately is delivered to the intended recipient. In contrast, a “direct connection” is one that is delivered directly to the intended recipient without first be routed through one or more intermediate recipients. Although the bridged connection shown inFIG. 4 involves only a single bridging device (laptop 402), a bridged connection potentially could include two or more bridging devices either in a serial arrangement (for bridge connections having two or more hops between the recipient device and the LAN/WAN) or a parallel arrangement (for bridge connections with redundant links). - For the purposes of this example, assume that the
Bridged discovery subcomponent 307 is interested in discovering accessibility state information about a potential recipient's hand-heldcomputer 400. Assume further that hand-heldcomputer 400 happens to be in the proximity of laptop computer 402 (belonging either to another user or to the same user associated with hand-held computer 400) that has a communications link 404 (e.g., wireless Ethernet) to LAN/WAN 403 and further that hand-heldcomputer 400 has a communications link 401 (e.g., a Bluetooth-based link or other radio frequency (RF) wireless link) tolaptop 402. - Accordingly, the Bridged
discovery subcomponent 307 may discover (either by interrogatinglaptop 402 or bylaptop 402 or hand-held 400 reporting the presence of hand-held 400 upon establishment of communications link 401) that the recipient associated with hand-held 400 is accessible over a bridged connection throughlaptop 402 and thus can receive messages, e.g., from amessage originator 406 connected to the LAN/WAN 403 by communications link 405. The ongoing presence or sudden absence of hand-held 400 may be monitored by the Bridgeddiscovery subcomponent 307 by requiring the hand-held 400 to continuously or periodically transmit a data packet vialaptop 402, the receipt of which indicates the hand-held's continued accessibility via the bridged connection. Alternatively, a wireless transmission protocol such as Bluetooth, which sends registration and deregistration packets when initiating and terminating a connection, respectively, could be used to monitor the accessibility of the hand-held via the bridged connection. In addition, information relating to the hand-held user's availability to receive messages could be transmitted back to the Bridgeddiscovery subcomponent 307 via the bridged connection. - Returning to
FIG. 3 , theDiscovery component 301 also may include anInteroperation discovery subcomponent 308 for discovering accessibility information about a recipient's communication channels among interoperating messaging systems. For example, a user may have accounts on two or more different IM networks that facilitate interoperation between them (e.g., a user on IM network X can send/receive IMs to/from a user on IM network Y).Interoperation discovery subcomponent 308 may discover information relating to the accessibility of a user on such interoperating systems. - The
presence routing architecture 300 also may include amessage store 303 configured to store messages pending delivery. Themessage store 303, which may be implemented as a database system or, more generally, using any data repository formats or mechanisms deemed suitable by the system designer, may serve either as a temporary pigeon-hole for storing messages while a routing decision is being made, or may store the messages more persistently, for example, if a recipient is determined to be unavailable over any of the recipient's potential communication channels. - The
presence routing architecture 300 also may include aPresence Management component 302 that persistently stores information relating to accessibility state and presence, and uses the information to make intelligent message routing decisions. ThePresence Management component 302, which may be implemented as a database management system (DBMS) or, more generally, using any data repository formats or mechanisms deemed suitable by the system designer, may have four subcomponents: auser preference subcomponent 314 for storing user preferences for receiving messages over various communication channels, astate subcomponent 315 for storing accessibility state information for each of the user's communication channels, arouting subcomponent 316 for making message routing decisions based on the collected accessibility and presence information, and asubscription processor 317. Other users (e.g., either human users or automated processes) may subscribe to thesubscription processor 317 to receive automatic notification of changes to a user's presence information. For example, when thediscovery component 301 notices a change in a user's (e.g., Rob's) reachability or availability, thesubscription processor 317 composes and provides notification of the change to all other user's who have subscribed to Rob's presence information. This allows those subscribing users to maintain an updated copy of Rob's presence information, which enables the subscribing users to know ahead of time, for example, whether an IM to Rob will be instantly delivered as opposed to being stored. - The pseudo-code shown in Table 1 below (code segments are indicated by italics; comments are preceded by “//”) relates to a basic routing procedure that may be used by the
routing subcomponent 316, which may be implemented, for example, as one or more software processes executing on a computer system. - As indicated by the pseudo-code, the routing procedure first accepts a message, m, intended for a recipient and parses it, among other reasons, to identify the recipient (specified by “m.toID”). If the recipient is not reachable (“!reachable”), meaning, e.g., that the recipient has no communication channels that currently have connectivity to a communications network, the message is stored for later. Similarly, if the recipient is unavailable (“!available”) the message is stored for later, for example, until the recipient becomes reachable and available.
- Lastly, if the recipient is determined to be both reachable and available, the procedure determines whether a direct connection is available to that recipient and, if so, the direct connection is used to transport the message (“send(m)”). If, on the other hand, a direct connection is unavailable, a bridged connection is used to transport the message to the recipient (“sendViaBridge(m)”), for example, by routing the message through an intermediate recipient who has an associated device that is in communication with the intended recipient's communication device.
TABLE 1 m = acceptMessage( ); parseMessage( ); // See if recipient is reachable; if not, store msg for later if (!reachable(m.toID)) storeForLater(m); // See if recipient is available; if not, store msg for later if (!available(m.toID)) storeForLater(m); // Recipient is reachable & available; send msg via direct // connection if available; otherwise, use bridged connection if (m.isDirect( )) send(m); else sendViaBridge(m); - The
presence routing architecture 300 also may include a Mobile IndependentMessaging Connection component 304, which represents a transport-independent connection subsystem for routing messages to a desired identity. In operation, the Mobile IndependentMessaging Connection component 304 may receive a message to be delivered over a communications channel determined by thePresence Management component 302 and then may deliver the message to the specified destination.Component 304 may include five subcomponents including amessage routing subcomponent 309 for delivering messages to a direct connection, a bridged connection, or for storing in theMessage Store 303, apresence protocol component 310 for identifying the intended recipient of the message and adding appropriate high-level routing information (e.g., presence-level information) to the message so that it will be directed to the intended recipient, amessage protocol component 311 for adding low-level routing information (e.g. transport-layer level information such as Multipurpose Internet Mail Extensions (MIME) information) to the message so that it can be transported to the intended recipient,cryptography libraries 312 including, for example, public keys for authentication and encryption purposes, and network/transport-specific plugins 313. The Mobile IndependentMessaging Connection component 304 hides details of communication specifics from messaging applications in order to accommodate changes in network connectivity of recipient devices. -
FIG. 5 shows an example of a data structure that may be used to store a user's preferences relating to the user's communication channels. Such user preference and accessibility state information may be collected and maintained, for example, in thePresence Management component 302 in thearchitecture 300 ofFIG. 3 . The arrangement and types of data depicted inFIG. 5 are provided for explanatory purposes. Virtually any other arrangement and types of user preference and/or accessibility state data could be collected and stored using any suitable data repository framework. In general, availability is a subset of reachability—that is, if a communication channel is determined to be reachable, then availability for that channel can be tracked. Alternatively, availability information may be stored for each potential communication channel, regardless of whether or not the channel is currently reachable. For example, the availability of channel not currently reachable could be set to whatever value was applicable when the channel was last reachable. In one implementation, reachability and availability states for each channel are stored as binary values (yes/no or 1/0), with a string (e.g., “busy,” “out to lunch,” “available”) associated with, and potentially qualifying, the availability of a channel. - As shown in
FIG. 5 , adata structure 500 for a particular user, Rob, (a potential message recipient) may include information such as the user'sVital Statistics 502,potential Communication Channels 504 associated with the user,User Preferences 506, andAccessibility State 508, which represents the user's current state of presence on the various communication channels. The items of information stored instructure 500, or various combinations thereof, may be used by the Routing Decisions component 316 (seeFIG. 3 ) to make intelligent routing decisions to help ensure that messages intended for the user reach him in a timely or otherwise appropriate manner. - In one implementation, intelligent routing decisions may be made by reference to the
Accessibility State information 508, which in this example includes information indicating which of Rob's communication channels are currentlyReachable 525. In this example, user Rob is reachable through three different communication channels—email:work1 526, wireless:cell 527 and email:pda 528, each of which has associated availability information indicated atavailability fields Availability field 529, for example, indicates that although Rob is reachable through his work1 email account, he is not available because, as indicated by the string infield 529 he is “out to lunch.”Availability field 530 in contrast indicates that Rob is available to communicate on his cell phone but that he is “busy” meaning, for example, that he may or may not answer an incoming call or message.Availability field 528 indicates that Rob is available to receive email messages on his PDA and, further, includes the string “available.” The availability strings in fields 529-531 may be derived from any of several different sources. For example, the availability strings could be input by the user himself or they could be inferred based on the user's actions or from other accessibility state information known about the user. - Depending on implementation and design preferences, the Routing Decisions component 316 (see
FIG. 3 ) may, in one example, interpret the relative availability information indicated in fields 529-531 to decide that Rob's preferred communication channel to receive messages at this point in time is to send a message intended for Rob as an email message to Rob's PDA. However, other factors, such as Rob'suser preferences 506 or presence information gleaned from other sources, could be used to override or influence the Routing Decision component's routing decision. - The
Accessibility State 508 also may include information (not shown) relating to whether a particular communication channel is reachable by a direct connection or by a bridged connection or both.Accessibility State 508 also could includeOther Indicia 532 that may affect routing decisions, such as user-supplied information (e.g., an “Away from Desk” or “Don't Bother Me Now” indicator flag set by user) or information inferred or received from other sources (e.g., an indication from the user's cell provider that the user currently is on his cell phone and/or at a location outside his office). As noted above, theAccessibility State information 508 may be updated as frequently as new information is available. - In other implementations, the Routing Decisions component may make intelligent routing decisions based not only the
Accessibility State information 508, but also based on other information that could affect the ultimate routing decision. For example,Vital Statistics 502 stored instructure 500 may include details such as the user's name, position, department, supervisor's name and contact information, assistant's name and contact information, security information such as the user's public keys or certificates, and/or any other personal information about the user. All or part of this information may be used by the Routing Decisions component to aid in making routing decisions for messages intended for the user. For example, assume that Rob is in a meeting with his supervisor in his supervisor's office (which information might be gleaned from the user's online scheduling program). In that case, the Routing Decisions component might decide to route a message to Rob via a less obtrusive communications channel (e.g., an email sent to Rob's PDA) rather than a more obtrusive communications channel (e.g., a text message sent to Rob's pager, which rings upon receipt of pages) so as not to interrupt the meeting. On the other hand, if Rob was out to lunch, the Routing Decisions component might decide to use a more obtrusive communications channel so as to better get Rob's attention. - In the example shown, user Rob has several
potential communication channels 504 over which he may receive messages. These include various landline telephone numbers 509 (work, home, fax); email addresses 511 (work, personal, etc.); wireless telephone numbers 513 (e.g., cell phone, car phone); andOther communication channels 515 such as IM addresses and the like. The Routing Decisions component may use one or more of these potential communication channels, depending on accessibility state and other information such as user preferences, to make routing decisions. Moreover, other users seeking to send messages to Rob need not (but may) specify a particular communications channel, but rather may simply address the message to a unique, communications device-independent identity associated with Rob and thus give the Routing Decisions component the choice of which communications channel to use (subject, for example, to accessibility state and user preferences). Consequently, because routing decisions may be made by an intelligent routing algorithm based on collected information, messages sent to Rob's identity may be more likely to reach him in a timely and/or context-appropriate manner than if left to the sending user's choice of communication channels. Moreover, sending users may no longer be required to know and keep track of the addresses and/or numbers associated with Rob's various communication channels in order to use those channels to send Rob a message. Accordingly, record-keeping of correspondents' various contact information items may be dramatically simplified. - Intelligent routing by the Routing Decisions component also may be based on the
User Preferences 506 stored instructure 500. These preferences may either be collected based on input received from the user, or may be inferred from the user's past actions or habits. For example, user Rob may have specified apriority scheme 517—e.g., an order of preference in which his various communications channels should be used depending on accessibility—that is to be used by the Routing Decisions component. User preferences also may specify the time of week/day 519, which may be used to adjust the specified priority scheme 517 (e.g., Rob may specify different priorities for evenings and weekends), or further may include parameters that may affect routing decisions such as re-routing information 521 (e.g., where to send failed messages), store & forward information 523 (e.g., which message store to use, how long messages should persist), and the like. -
FIG. 6 is a flowchart of aprocess 600 for message routing using presence information. In general, theprocess 600 seeks to route a message to a user in manner that represents an optimized solution to the following statement: the message is routed via one or more communications channels such that the message is (a) likely to reach the user, (b) in a timely manner, and/or (c) at a context-appropriate level of obtrusiveness. Different or additional routing criteria (e.g., urgency, redundancy, persistence, reliability, etc.) could be used in addition to, or in place of, these criteria, however. - First, the
process 600 receives a message addressed to a Recipient, e.g., Rob (602). Next, theprocess 600 identifies Rob's potential communication channels, for example, by examining theCommunication Channels 504 listed instructure 500 for user Rob (604). - Next, the
process 600 determines whether Rob is reachable on one or more of his potential communication channels, for example, by examining theReachable field 525 in theAccessibility State information 508 in structure 500 (606). If the process determines that Rob is not reachable on any of his communication channels, the message is stored for later, for example, to be delivered when one of Rob's communication channels becomes accessible (608). - Next, for each communication channel on which Rob is determined to be reachable, the
process 600 determines whether Rob is available, for example, by examining theAvailable field 527 and/or theOther Indicia field 532 in theAccessibility State information 508 in structure 500 (610). If the process determines that Rob is not available on any of his reachable communication channels, the message is stored for later, for example, to be delivered when one of Rob's communication channels becomes reachable and available (608). - Lastly, if the
process 600 determines that at least one of Rob's communication channels is both reachable and available, the process uses a direct connection, if available, to send the message (612, 614). Otherwise, a bridged connection is used to send the message (612, 616). - Various implementations of the systems and techniques described here may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits) or in computer hardware, firmware, software, or combinations thereof.
- Other embodiments may be within the scope of the following claims.
Claims (9)
1. A machine-implemented method comprising:
discovering information relating to an accessibility state of one or more communication channels associated with a message recipient;
maintaining a data repository comprising the accessibility state information discovered by said discovering information;
maintaining a calendaring system storing calendar information about the message recipient that facilitates context-appropriate message routing decisions to be made; and
routing a message to the message recipient based on information in the data repository and the calendaring system.
2. Machine-readable instructions, embodied in a medium or a propagated signal, for causing the machine to perform operations comprising:
discover information relating to an accessibility state of one or more communication channels associated with a message recipient;
maintain a data repository comprising the accessibility state information discovered by said discover information operation;
maintain a calendaring system storing calendar information about the message recipient that facilitates context-appropriate message routing decisions to be made; and
route a message to the message recipient based on information in the data repository and the calendaring system.
3. A message-routing system comprising:
one or more discovery processes configured to discover information relating to an accessibility state of one or more communication channels associated with a message recipient;
a data repository configured to store the accessibility state information discovered by said one or more discovery processes;
a calendaring system coupled to the data repository that stores calendar information about the message recipient that facilitates context-appropriate message routing decisions to be made; and
a message routing decision process configured to route a message to the message recipient based on information in the data repository and the calendaring system.
4. A machine-implemented method comprising:
discovering information relating to an accessibility state of one or more communication channels associated with a message recipient, the discovering information comprising accessing an e-mail system to determine whether the message recipient is currently logged in;
maintaining a data repository comprising the accessibility state information discovered by said discovering information; and
routing a message to the message recipient based on information in the data repository.
5. Machine-readable instructions, embodied in a medium or a propagated signal, for causing the machine to perform operations comprising:
discover information relating to an accessibility state of one or more communication channels associated with a message recipient by accessing an e-mail system to determine whether the message recipient is currently logged in;
maintain a data repository comprising the accessibility state information discovered by said discover information operation; and
route a message to the message recipient based on information in the data repository.
6. A message-routing system comprising:
one or more discovery processes configured to discover information relating to an accessibility state of one or more communication channels associated with a message recipient by accessing an e-mail system indicating that the message recipient is currently logged in;
a data repository configured to store the accessibility state information discovered by said one or more discovery processes; and
a message routing decision process configured to route a message to the message recipient based on information in the data repository.
7. A machine-implemented method comprising:
discovering information relating to an accessibility state of one or more communication channels associated with a message recipient, wherein at least one of the communication channels is the Internet and the discovering information comprises pinging an IP address associated with the message recipient and confirming that a response is received from the IP address;
maintaining a data repository comprising the accessibility state information discovered by said discovering information; and
routing a message to the message recipient based on information in the data repository.
8. A machine-implemented method comprising:
discovering information relating to an accessibility state of one or more communication channels associated with the message recipient;
maintaining a data repository comprising the accessibility state information by said discovering;
accessing an online scheduling program to determine the availability of the message recipient; and
routing a message to the message recipient based on information in the data repository and the availability of the message recipient determined from the online scheduling program.
9. Machine-readable instructions, embodied in a medium or a propagated signal, for causing the machine to perform operations comprising:
receive a device-independent identifier uniquely identifying a message recipient;
discover information relating to an accessibility state of one or more communication channels associated with the message recipient;
maintain a data repository comprising the accessibility state information discovered by said discover information operation;
access an online scheduling program to determine the availability of the message recipient; and
route a message to the message recipient based on information in the data repository and the availability of the message recipient determined from the online scheduling program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/852,972 US20070299927A1 (en) | 2001-07-27 | 2007-09-10 | Routing messages using presence information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/917,300 US7269627B2 (en) | 2001-07-27 | 2001-07-27 | Routing messages using presence information |
US11/852,972 US20070299927A1 (en) | 2001-07-27 | 2007-09-10 | Routing messages using presence information |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/917,300 Division US7269627B2 (en) | 2001-07-27 | 2001-07-27 | Routing messages using presence information |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070299927A1 true US20070299927A1 (en) | 2007-12-27 |
Family
ID=25438585
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/917,300 Active 2024-09-08 US7269627B2 (en) | 2001-07-27 | 2001-07-27 | Routing messages using presence information |
US11/852,972 Abandoned US20070299927A1 (en) | 2001-07-27 | 2007-09-10 | Routing messages using presence information |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/917,300 Active 2024-09-08 US7269627B2 (en) | 2001-07-27 | 2001-07-27 | Routing messages using presence information |
Country Status (1)
Country | Link |
---|---|
US (2) | US7269627B2 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177134A1 (en) * | 2002-07-16 | 2004-09-09 | Nokia Corporation | System, apparatus and method for providing partial presence notifications |
US20050275878A1 (en) * | 2004-06-15 | 2005-12-15 | Cynthia Hiatt | System and method for indicating status of an incoming transmission to a user |
US20070050463A1 (en) * | 2005-08-25 | 2007-03-01 | Cisco Technology, Inc. | Techniques for integrating instant messaging with telephonic communication |
US20080172466A1 (en) * | 2003-02-20 | 2008-07-17 | International Business Machines Corporation | E-mail delivery device, contact point guiding device, and e-mail delivery method and program |
US7533153B1 (en) | 2008-05-15 | 2009-05-12 | International Business Machines Corporation | Method for managing instant messaging presence by group |
US20100158225A1 (en) * | 2008-12-24 | 2010-06-24 | Danica Rogers | Method and system for routing telephony communications together with modified calling party identifier information |
US20100246783A1 (en) * | 2007-11-23 | 2010-09-30 | Matthew Rose | Method and apparatus for enabling a calling party to leave a voice message for a called party in response to a command provided by the calling party |
US20100272247A1 (en) * | 2007-11-21 | 2010-10-28 | Bce Inc. | Method and apparatus for enabling a calling party to leave a voice message for a called party |
US20100278320A1 (en) * | 2007-12-21 | 2010-11-04 | Bce Inc.Corporation | Method and apparatus for interrupting an active telephony session to deliver information to a subscriber |
US20100290609A1 (en) * | 2007-12-19 | 2010-11-18 | Bce Inc. | Method and system for routing calls placed to a telephony identifier associated with a group of identities |
US20100296425A1 (en) * | 2007-12-21 | 2010-11-25 | Jonathan Allan Arsenault | Method and system for establishing a connection with a packet-based application server |
US20100312912A1 (en) * | 2007-12-27 | 2010-12-09 | Bce Inc. | Method and system for modifying routing information associated to a party |
US20110038469A1 (en) * | 2007-12-27 | 2011-02-17 | Carrefour Alexander-Graham-Bell Tour | Method and system for processing calls in an architecture allowing a telephony identifier to be associated with a group of identities |
US20110246605A1 (en) * | 2010-03-31 | 2011-10-06 | Yang Ju-Ting | Method for Handling Information Delivery in Personal Network and Related Communication Device |
US20120331066A1 (en) * | 2011-06-24 | 2012-12-27 | Avaya Inc. | Method for visualizing temporal data |
US20130308631A1 (en) * | 2008-12-02 | 2013-11-21 | International Business Machines Corporation | System and method to initiate a presence driven peer to peer communications session on non-ims and ims networks |
WO2014022016A1 (en) * | 2012-08-03 | 2014-02-06 | Intel Corporation | Communication path switching for mobile devices |
US8719238B2 (en) | 2009-01-22 | 2014-05-06 | Sunstein Kann Murphy & Timbers LLP | Office-based notification messaging system |
WO2016049008A1 (en) * | 2014-09-22 | 2016-03-31 | Alibaba Group Holding Limited | Communication method, apparatus, and system |
US20180054407A1 (en) * | 2016-08-18 | 2018-02-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Sending messages to an unavailable device |
US10178056B2 (en) * | 2015-02-17 | 2019-01-08 | International Business Machines Corporation | Predicting and updating availability status of a user |
US11075874B2 (en) | 2019-03-21 | 2021-07-27 | International Business Machines Corporation | Intelligent electronic communications across heterogeneous communication channels |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444383B2 (en) | 2000-06-17 | 2008-10-28 | Microsoft Corporation | Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information |
US7624172B1 (en) | 2000-03-17 | 2009-11-24 | Aol Llc | State change alerts mechanism |
US9736209B2 (en) | 2000-03-17 | 2017-08-15 | Facebook, Inc. | State change alerts mechanism |
US8086672B2 (en) * | 2000-06-17 | 2011-12-27 | Microsoft Corporation | When-free messaging |
US10929784B2 (en) * | 2001-08-21 | 2021-02-23 | Bookit Oy | Booking method and system |
US7349700B1 (en) * | 2001-08-30 | 2008-03-25 | Aol Llc | Communication system and method |
US7177403B2 (en) * | 2001-09-24 | 2007-02-13 | Meyerson Robert F | Event driven multi-media communication management system |
US7243123B1 (en) * | 2001-10-22 | 2007-07-10 | Digeo, Inc. | Video call routing with presence determination |
US6735287B2 (en) * | 2001-11-16 | 2004-05-11 | Sbc Technology Resources, Inc. | Method and system for multimodal presence detection |
JP2003283722A (en) * | 2002-03-27 | 2003-10-03 | Minolta Co Ltd | Data transmission apparatus |
US7631047B1 (en) | 2002-06-24 | 2009-12-08 | At&T Intellectual Property I. L.P. | Systems and methods for providing critical information based on profile data |
US8150922B2 (en) | 2002-07-17 | 2012-04-03 | Research In Motion Limited | Voice and text group chat display management techniques for wireless mobile terminals |
US7640293B2 (en) * | 2002-07-17 | 2009-12-29 | Research In Motion Limited | Method, system and apparatus for messaging between wireless mobile terminals and networked computers |
US7243124B1 (en) * | 2002-09-06 | 2007-07-10 | Oracle International Corporation | Architecture for general purpose near real-time business intelligence system with client devices and methods therefor |
US7945846B2 (en) | 2002-09-06 | 2011-05-17 | Oracle International Corporation | Application-specific personalization for data display |
US7941542B2 (en) | 2002-09-06 | 2011-05-10 | Oracle International Corporation | Methods and apparatus for maintaining application execution over an intermittent network connection |
US7412481B2 (en) | 2002-09-16 | 2008-08-12 | Oracle International Corporation | Method and apparatus for distributed rule evaluation in a near real-time business intelligence system |
US8165993B2 (en) | 2002-09-06 | 2012-04-24 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
US8255454B2 (en) | 2002-09-06 | 2012-08-28 | Oracle International Corporation | Method and apparatus for a multiplexed active data window in a near real-time business intelligence system |
US7912899B2 (en) * | 2002-09-06 | 2011-03-22 | Oracle International Corporation | Method for selectively sending a notification to an instant messaging device |
US7899879B2 (en) | 2002-09-06 | 2011-03-01 | Oracle International Corporation | Method and apparatus for a report cache in a near real-time business intelligence system |
US7401158B2 (en) * | 2002-09-16 | 2008-07-15 | Oracle International Corporation | Apparatus and method for instant messaging collaboration |
US7668917B2 (en) * | 2002-09-16 | 2010-02-23 | Oracle International Corporation | Method and apparatus for ensuring accountability in the examination of a set of data elements by a user |
US7933957B2 (en) * | 2002-09-17 | 2011-04-26 | At&T Intellectual Property Ii, L.P. | Tracking email and instant messaging (IM) thread history |
US7657598B2 (en) * | 2002-09-17 | 2010-02-02 | At&T Intellectual Property I, L.P. | Address book for integrating email and instant messaging (IM) |
US20040064514A1 (en) * | 2002-09-17 | 2004-04-01 | Daniell W. Todd | Providing instant messaging (IM) internet presence information and chat capability from displayed email messages |
US7185059B2 (en) * | 2002-09-17 | 2007-02-27 | Bellsouth Intellectual Property Corp | Multi-system instant messaging (IM) |
US7921160B2 (en) * | 2002-09-17 | 2011-04-05 | At&T Intellectual Property I, L.P. | Initiating instant messaging (IM) chat sessions from email messages |
US8037141B2 (en) | 2002-09-17 | 2011-10-11 | At&T Intellectual Property I, L.P. | Instant messaging (IM) internet chat capability from displayed email messages |
US20040054736A1 (en) * | 2002-09-17 | 2004-03-18 | Daniell W. Todd | Object architecture for integration of email and instant messaging (IM) |
US7225226B2 (en) * | 2002-09-27 | 2007-05-29 | International Business Machines Corporation | Chat messaging channel redirection |
US20040081088A1 (en) * | 2002-10-25 | 2004-04-29 | Schinner Charles Edward | Data transfer time arbitration |
US20060100881A1 (en) * | 2002-11-13 | 2006-05-11 | Intel Corporation | Multi-modal web interaction over wireless network |
US8122137B2 (en) | 2002-11-18 | 2012-02-21 | Aol Inc. | Dynamic location of a subordinate user |
US7640306B2 (en) | 2002-11-18 | 2009-12-29 | Aol Llc | Reconfiguring an electronic message to effect an enhanced notification |
CA2506585A1 (en) | 2002-11-18 | 2004-06-03 | Valerie Kucharewski | People lists |
US7590696B1 (en) | 2002-11-18 | 2009-09-15 | Aol Llc | Enhanced buddy list using mobile device identifiers |
US8701014B1 (en) | 2002-11-18 | 2014-04-15 | Facebook, Inc. | Account linking |
US7899862B2 (en) * | 2002-11-18 | 2011-03-01 | Aol Inc. | Dynamic identification of other users to an online user |
US8965964B1 (en) | 2002-11-18 | 2015-02-24 | Facebook, Inc. | Managing forwarded electronic messages |
US7428580B2 (en) | 2003-11-26 | 2008-09-23 | Aol Llc | Electronic message forwarding |
US8005919B2 (en) | 2002-11-18 | 2011-08-23 | Aol Inc. | Host-based intelligent results related to a character stream |
US7263614B2 (en) | 2002-12-31 | 2007-08-28 | Aol Llc | Implicit access for communications pathway |
US7698367B2 (en) * | 2003-03-06 | 2010-04-13 | Siemens Communications, Inc. | System and method for presence enabled e-mail delivery |
US7761516B2 (en) * | 2003-03-06 | 2010-07-20 | Siemens Enterprise Communications, Inc. | System and method for e-mail presence confirmation |
US7904823B2 (en) | 2003-03-17 | 2011-03-08 | Oracle International Corporation | Transparent windows methods and apparatus therefor |
US20040205127A1 (en) * | 2003-03-26 | 2004-10-14 | Roy Ben-Yoseph | Identifying and using identities deemed to be known to a user |
JP2004349802A (en) * | 2003-05-20 | 2004-12-09 | Sharp Corp | Ip telephone device |
US7653693B2 (en) | 2003-09-05 | 2010-01-26 | Aol Llc | Method and system for capturing instant messages |
US7610340B2 (en) * | 2003-10-09 | 2009-10-27 | International Business Machines Corporation | Method, system and storage medium for providing interoperability of email and instant messaging services |
US7996470B2 (en) | 2003-10-14 | 2011-08-09 | At&T Intellectual Property I, L.P. | Processing rules for digital messages |
US20050138126A1 (en) * | 2003-12-23 | 2005-06-23 | Timucin Ozugur | Peer-to-peer e-mail |
US8635273B2 (en) | 2004-03-05 | 2014-01-21 | Aol Inc. | Announcing new users of an electronic communications system to existing users |
US7743386B2 (en) * | 2004-03-12 | 2010-06-22 | Sap Ag | Context objects for accessing message content |
US7272634B2 (en) * | 2004-03-18 | 2007-09-18 | Sony Corporation | System and method for integrating multiple messaging systems |
US8099395B2 (en) * | 2004-06-24 | 2012-01-17 | Oracle America, Inc. | System level identity object |
US7321921B2 (en) * | 2004-07-13 | 2008-01-22 | At&T Delaware Intellectual Property, Inc. | Messaging system in a hybrid network and mobile communication environment |
US7568007B2 (en) * | 2004-09-29 | 2009-07-28 | International Business Machines Corporation | System and method for supporting instant messaging in disconnected modes |
US7669213B1 (en) | 2004-10-28 | 2010-02-23 | Aol Llc | Dynamic identification of other viewers of a television program to an online viewer |
US7571224B2 (en) * | 2004-10-29 | 2009-08-04 | International Business Machines Corporation | Method for using presence in a system management environment |
WO2006057580A1 (en) * | 2004-11-24 | 2006-06-01 | Telefonaktiebolaget Lm Ericsson (Publ) | A method and apparatus for communicating messages in a communications network |
US7730143B1 (en) | 2004-12-01 | 2010-06-01 | Aol Inc. | Prohibiting mobile forwarding |
US9002949B2 (en) | 2004-12-01 | 2015-04-07 | Google Inc. | Automatically enabling the forwarding of instant messages |
US7689655B2 (en) * | 2004-12-06 | 2010-03-30 | Aol Inc. | Managing and collaborating with digital content using a dynamic user interface |
CN1825837B (en) * | 2005-02-23 | 2012-05-23 | 朗迅科技公司 | Personal information subscribing for and transmitting by instant message transmission |
CA2603149C (en) * | 2005-03-24 | 2014-08-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement in a communication system for delivering messages to a recipient |
EP1713218A1 (en) * | 2005-04-15 | 2006-10-18 | France Telecom | Communications system and method |
US8306056B2 (en) * | 2005-05-31 | 2012-11-06 | International Business Machines Corporation | Blended synchronous/asynchronous messaging |
GB2427099B (en) * | 2005-06-09 | 2010-08-11 | Nortel Networks Ltd | Enhanced messaging services |
FR2888706A1 (en) * | 2005-07-12 | 2007-01-19 | France Telecom | METHOD FOR INTERPERSONAL RELATIONSHIP |
US8706817B2 (en) * | 2005-07-21 | 2014-04-22 | International Business Machines Corporation | Sender managed message privacy |
US8537997B2 (en) * | 2005-07-27 | 2013-09-17 | Cisco Technology, Inc. | RFID for available resources not connected to the network |
US20080305040A1 (en) * | 2005-09-16 | 2008-12-11 | University Of Pittsburgh | In Vivo or in Vitro Method For Detecting Amyloid Deposits Having at Least One Amyloidogenic Protein |
US20070130288A1 (en) * | 2005-12-02 | 2007-06-07 | Inter-Tel, Inc. | Distributed communication through media services |
US20070143433A1 (en) * | 2005-12-15 | 2007-06-21 | Daigle Brian K | Using statistical tracking information of instant messaging users |
FR2897496A1 (en) * | 2006-02-15 | 2007-08-17 | France Telecom | MANAGING COMMUNICATION BETWEEN A TELECOMMUNICATIONS SYSTEM AND A SERVER |
EP1994735B1 (en) | 2006-03-10 | 2017-09-27 | BRITISH TELECOMMUNICATIONS public limited company | Call completion service in case of called party unavailability |
US8045976B2 (en) | 2006-04-04 | 2011-10-25 | Aegis Mobility, Inc. | Mobility call management |
EP1845674A1 (en) * | 2006-04-12 | 2007-10-17 | BRITISH TELECOMMUNICATIONS public limited company | Messaging service |
US20070260730A1 (en) * | 2006-05-08 | 2007-11-08 | Adithya Gadwale | Automatically updated instant messaging (IM) presence of roaming IM user |
US9519888B2 (en) * | 2006-05-08 | 2016-12-13 | Telecommunication Systems, Inc. | End use transparent email attachment handling to overcome size and attachment policy barriers |
US8483126B2 (en) * | 2006-05-23 | 2013-07-09 | British Telecommunications Plc | Multi-network mobile communications systems and/or methods |
EP2020156A1 (en) * | 2006-05-23 | 2009-02-04 | British Telecommunications Public Limited Company | Inter wlan handover without mobile network support |
US20070285502A1 (en) * | 2006-05-26 | 2007-12-13 | Microsoft Corporation | Techniques for automatically setting up communications |
DE102006030237A1 (en) | 2006-06-30 | 2008-01-10 | Vodafone Holding Gmbh | Method, portal and terminal for managing messages between at least two participants |
WO2008022990A1 (en) * | 2006-08-22 | 2008-02-28 | France Telecom | Gateway and method for routing messages |
US7739340B2 (en) * | 2006-09-20 | 2010-06-15 | International Business Machines Corporation | Method, system and computer program product for enabling electronic chat with online calendar invitees |
US8311046B2 (en) * | 2006-11-28 | 2012-11-13 | Core Wireless Licensing S.A.R.L. | Method for the delivery of messages in a communication system |
GB2446846A (en) * | 2007-01-31 | 2008-08-27 | Hewlett Packard Development Co | Service routing for communication systems based upon location of mobile communication device |
US8738005B2 (en) | 2007-03-02 | 2014-05-27 | Aegis Mobility, Inc. | Management of mobile device communication sessions to reduce user distraction |
US7286661B1 (en) * | 2007-05-01 | 2007-10-23 | Unison Technologies Llc | Systems and methods for scalable hunt-group management |
US20080273678A1 (en) * | 2007-05-01 | 2008-11-06 | Igor Balk | Systems and methods for phone call management |
US20080285736A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technolgies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20080285588A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with combined communication log |
US20080285587A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with user selectable reply format |
US8244878B2 (en) | 2007-06-13 | 2012-08-14 | Microsoft Corporation | User experience for multiple simultaneous connections on an instant messaging program |
US9241078B2 (en) * | 2007-06-28 | 2016-01-19 | Microsoft Technology Licensing, Llc | Virtual contact identifier |
US8224353B2 (en) * | 2007-09-20 | 2012-07-17 | Aegis Mobility, Inc. | Disseminating targeted location-based content to mobile device users |
US8775513B2 (en) | 2007-11-30 | 2014-07-08 | International Business Machines Corporation | Correlating messaging text to business objects for business object integration into messaging |
US9497041B2 (en) | 2007-11-30 | 2016-11-15 | International Business Machines Corporation | Business object action justification for business object integration into messaging |
US8782250B2 (en) | 2007-11-30 | 2014-07-15 | International Business Machines Corporation | Split transcript view for business object integration into messaging |
US8788698B2 (en) | 2007-11-30 | 2014-07-22 | International Business Machines Corporation | Indexing a messaging session for business object integration into messaging |
EP2202925B1 (en) | 2008-05-09 | 2016-09-14 | BlackBerry Limited | System and method for updating presence information in instant messaging applications on a mobile device |
EP2120411A1 (en) * | 2008-05-15 | 2009-11-18 | France Telecom | Adaptation of the presence status in instant messaging |
US7984102B1 (en) * | 2008-07-22 | 2011-07-19 | Zscaler, Inc. | Selective presence notification |
EP2327253A4 (en) * | 2008-09-05 | 2013-04-03 | Aegis Mobility Inc | Bypassing enhanced services |
US8433805B2 (en) * | 2008-09-19 | 2013-04-30 | Apple Inc. | Method and system for facilitating contacting people using electronic devices |
GB2464948A (en) | 2008-10-29 | 2010-05-05 | Quolos Limited | Online collaboration |
CN101742429B (en) * | 2008-11-05 | 2013-06-05 | 华为技术有限公司 | Instant message and short message interworking method, device and system |
US20100284290A1 (en) * | 2009-04-09 | 2010-11-11 | Aegis Mobility, Inc. | Context based data mediation |
US9037655B2 (en) * | 2009-05-18 | 2015-05-19 | International Business Machines Corporation | Maintaining instant messaging conversations when a recipient is not at their primary workstation |
US8787936B2 (en) | 2009-07-21 | 2014-07-22 | Katasi Llc | Method and system for controlling a mobile communication device in a moving vehicle |
US9615213B2 (en) | 2009-07-21 | 2017-04-04 | Katasi Llc | Method and system for controlling and modifying driving behaviors |
US9386447B2 (en) | 2009-07-21 | 2016-07-05 | Scott Ferrill Tibbitts | Method and system for controlling a mobile communication device |
TWI409692B (en) * | 2009-10-29 | 2013-09-21 | Mitac Int Corp | Method of simultaneously displaying states of a plurality of internet communication software of a plurality of contacts in address books of and related communication device |
US20110107236A1 (en) * | 2009-11-03 | 2011-05-05 | Avaya Inc. | Virtual meeting attendee |
US20110125793A1 (en) * | 2009-11-20 | 2011-05-26 | Avaya Inc. | Method for determining response channel for a contact center from historic social media postings |
US20110153668A1 (en) * | 2009-12-18 | 2011-06-23 | Research In Motion Limited | Accessing a data item stored in an unavailable mobile communication device |
US20110185237A1 (en) * | 2010-01-28 | 2011-07-28 | Futurewei Technologies, Inc. | System and Method for Delivering Messages |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
CA2718696C (en) | 2010-06-08 | 2018-06-12 | Merge Healthcare, Inc. | Remote control of medical devices using instant messaging infrastructure |
US8706824B2 (en) * | 2011-08-08 | 2014-04-22 | Facebook, Inc. | Rescinding messages in a messaging system with multiple messaging channels |
CA2817565A1 (en) * | 2010-11-12 | 2012-05-18 | Facebook, Inc. | Messaging system with multiple messaging channels |
US9203796B2 (en) | 2010-11-12 | 2015-12-01 | Facebook, Inc. | Messaging system with multiple messaging channels |
US9501531B2 (en) | 2011-05-18 | 2016-11-22 | Microsoft Technology Licensing, Llc | Contextual relevance engine for activity feeds |
US9147082B2 (en) * | 2011-09-13 | 2015-09-29 | Whorlr Llc | Electronic messaging system with configurable delivery that maintains recipient privacy |
CN103051515B (en) * | 2011-10-17 | 2015-12-09 | 多玩娱乐信息技术(北京)有限公司 | A kind of method and system obtaining instant message state information |
US20140359026A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Deterministic messaging |
US11436618B2 (en) * | 2014-05-20 | 2022-09-06 | [24]7.ai, Inc. | Method and apparatus for providing customer notifications |
US9654645B1 (en) | 2014-09-04 | 2017-05-16 | Google Inc. | Selection of networks for voice call transmission |
US9450901B1 (en) * | 2015-03-25 | 2016-09-20 | Pypestream Inc. | Channel based communication and transaction system |
US10659403B2 (en) * | 2015-03-25 | 2020-05-19 | Pypestream, Inc. | Systems and methods for navigating nodes in channel based chatbots using natural language understanding |
US10601745B2 (en) * | 2015-03-25 | 2020-03-24 | Pypestream Inc. | Systems and methods for channel based communication and engagement through advertising units |
US9647968B2 (en) * | 2015-03-25 | 2017-05-09 | Pypestream Inc | Systems and methods for invoking chatbots in a channel based communication system |
US11496430B2 (en) * | 2015-04-13 | 2022-11-08 | Citrix Systems, Inc. | Configurable offline messaging management using user presence information |
US10171394B2 (en) * | 2015-05-13 | 2019-01-01 | Verizon Patent And Licensing Inc. | Multimedia mail service |
US9699301B1 (en) | 2015-05-31 | 2017-07-04 | Emma Michaela Siritzky | Methods, devices and systems supporting driving and studying without distraction |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US10659524B2 (en) | 2016-06-03 | 2020-05-19 | International Business Machines Corporation | Preferred contact decision service |
US10536405B2 (en) * | 2017-11-13 | 2020-01-14 | International Business Machines Corporation | Automatically determining and selecting a suitable communication channel to deliver messages to recipient |
US11025530B1 (en) | 2020-01-10 | 2021-06-01 | International Business Machines Corporation | Intelligent routing of messages through communication channels |
US11115373B1 (en) * | 2020-06-11 | 2021-09-07 | Movius Interactive Corporation | Multi-channel engagement platform converter |
Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796394A (en) * | 1995-10-03 | 1998-08-18 | Sony Corporation | User interface and rule processing for a personal communications routing system |
US5949413A (en) * | 1996-12-31 | 1999-09-07 | International Business Machines Corporation | Database graphical user interface with tabbed user view |
US6052372A (en) * | 1996-02-14 | 2000-04-18 | British Telecommunications Public Limited Company | Method and apparatus for establishing communication |
US6052121A (en) * | 1996-12-31 | 2000-04-18 | International Business Machines Corporation | Database graphical user interface with user frequency view |
US6148328A (en) * | 1998-01-29 | 2000-11-14 | International Business Machines Corp. | Method and system for signaling presence of users in a networked environment |
US6260148B1 (en) * | 1997-04-04 | 2001-07-10 | Microsoft Corporation | Methods and systems for message forwarding and property notifications using electronic subscriptions |
US20010013069A1 (en) * | 1999-01-11 | 2001-08-09 | Infospace, Inc. | Data messaging aggregation |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US20010049617A1 (en) * | 2000-02-24 | 2001-12-06 | Berenson Richard W. | Web-driven calendar updating system |
US20020116461A1 (en) * | 2001-02-05 | 2002-08-22 | Athanassios Diacakis | Presence and availability management system |
US20020160757A1 (en) * | 2001-04-26 | 2002-10-31 | Moshe Shavit | Selecting the delivery mechanism of an urgent message |
US6480830B1 (en) * | 1998-01-29 | 2002-11-12 | International Business Machines Corporation | Active calendar system |
US20020178227A1 (en) * | 2001-05-25 | 2002-11-28 | International Business Machines Corporation | Routing instant messages using configurable, pluggable delivery managers |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20030161452A1 (en) * | 2000-06-19 | 2003-08-28 | Marc Fournier | Telephone correspondent reception system for unavailable subscriber |
US6643650B1 (en) * | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US6691162B1 (en) * | 1999-09-21 | 2004-02-10 | America Online, Inc. | Monitoring users of a computer network |
US6807423B1 (en) * | 1999-12-14 | 2004-10-19 | Nortel Networks Limited | Communication and presence spanning multiple access networks |
US20040268265A1 (en) * | 2003-06-30 | 2004-12-30 | Berger Kelly D. | Multi-mode communication apparatus and interface for contacting a user |
US20040267887A1 (en) * | 2003-06-30 | 2004-12-30 | Berger Kelly D. | System and method for dynamically managing presence and contact information |
US20060015606A1 (en) * | 2001-07-19 | 2006-01-19 | Gebhardt Ronald L Jr | Distributed element network management |
US7035923B1 (en) * | 2002-04-10 | 2006-04-25 | Nortel Networks Limited | Presence information specifying communication preferences |
US7243130B2 (en) * | 2000-03-16 | 2007-07-10 | Microsoft Corporation | Notification platform architecture |
US7359496B2 (en) * | 2004-12-17 | 2008-04-15 | Alcatel Lucent | Communications system and method for providing customized messages based on presence and preference information |
US7433922B2 (en) * | 2001-05-11 | 2008-10-07 | Varia Llc | Method and system for collecting and displaying aggregate presence information for mobile media players |
US20090019542A1 (en) * | 2001-11-16 | 2009-01-15 | Claire Svetlana Vishik | Method and system for intelligent rounting based on presence detection |
US7571224B2 (en) * | 2004-10-29 | 2009-08-04 | International Business Machines Corporation | Method for using presence in a system management environment |
US20090299934A1 (en) * | 2000-03-16 | 2009-12-03 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL119364A (en) * | 1996-10-06 | 2000-11-21 | Icq Inc | Communications system |
AU5004200A (en) | 1999-05-11 | 2000-11-21 | Visitalk.Com, Inc. | System and method for facilitating communications over a distributed electronic network |
EP1104965B1 (en) | 1999-12-02 | 2007-02-28 | Sony Deutschland GmbH | Protocol for instant messaging |
EP1104964B1 (en) | 1999-12-02 | 2005-03-23 | Sony International (Europe) GmbH | Instant messaging |
WO2001041477A1 (en) | 1999-12-03 | 2001-06-07 | Arreo Communications Inc. | Instant messenger system and instant message transfer method using phone number as instant messenger address |
US7191213B1 (en) | 1999-12-08 | 2007-03-13 | Avaya Technology Corp. | Instant message notification application |
-
2001
- 2001-07-27 US US09/917,300 patent/US7269627B2/en active Active
-
2007
- 2007-09-10 US US11/852,972 patent/US20070299927A1/en not_active Abandoned
Patent Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796394A (en) * | 1995-10-03 | 1998-08-18 | Sony Corporation | User interface and rule processing for a personal communications routing system |
US6052372A (en) * | 1996-02-14 | 2000-04-18 | British Telecommunications Public Limited Company | Method and apparatus for establishing communication |
US5949413A (en) * | 1996-12-31 | 1999-09-07 | International Business Machines Corporation | Database graphical user interface with tabbed user view |
US6052121A (en) * | 1996-12-31 | 2000-04-18 | International Business Machines Corporation | Database graphical user interface with user frequency view |
US6260148B1 (en) * | 1997-04-04 | 2001-07-10 | Microsoft Corporation | Methods and systems for message forwarding and property notifications using electronic subscriptions |
US6480830B1 (en) * | 1998-01-29 | 2002-11-12 | International Business Machines Corporation | Active calendar system |
US6148328A (en) * | 1998-01-29 | 2000-11-14 | International Business Machines Corp. | Method and system for signaling presence of users in a networked environment |
US20010013069A1 (en) * | 1999-01-11 | 2001-08-09 | Infospace, Inc. | Data messaging aggregation |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US6691162B1 (en) * | 1999-09-21 | 2004-02-10 | America Online, Inc. | Monitoring users of a computer network |
US6807423B1 (en) * | 1999-12-14 | 2004-10-19 | Nortel Networks Limited | Communication and presence spanning multiple access networks |
US20010049617A1 (en) * | 2000-02-24 | 2001-12-06 | Berenson Richard W. | Web-driven calendar updating system |
US20090299934A1 (en) * | 2000-03-16 | 2009-12-03 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US7243130B2 (en) * | 2000-03-16 | 2007-07-10 | Microsoft Corporation | Notification platform architecture |
US6643650B1 (en) * | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US20030161452A1 (en) * | 2000-06-19 | 2003-08-28 | Marc Fournier | Telephone correspondent reception system for unavailable subscriber |
US20030046421A1 (en) * | 2000-12-12 | 2003-03-06 | Horvitz Eric J. | Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system |
US20020116461A1 (en) * | 2001-02-05 | 2002-08-22 | Athanassios Diacakis | Presence and availability management system |
US20020160757A1 (en) * | 2001-04-26 | 2002-10-31 | Moshe Shavit | Selecting the delivery mechanism of an urgent message |
US7433922B2 (en) * | 2001-05-11 | 2008-10-07 | Varia Llc | Method and system for collecting and displaying aggregate presence information for mobile media players |
US20020178227A1 (en) * | 2001-05-25 | 2002-11-28 | International Business Machines Corporation | Routing instant messages using configurable, pluggable delivery managers |
US20060015606A1 (en) * | 2001-07-19 | 2006-01-19 | Gebhardt Ronald L Jr | Distributed element network management |
US20090019542A1 (en) * | 2001-11-16 | 2009-01-15 | Claire Svetlana Vishik | Method and system for intelligent rounting based on presence detection |
US7035923B1 (en) * | 2002-04-10 | 2006-04-25 | Nortel Networks Limited | Presence information specifying communication preferences |
US20040267887A1 (en) * | 2003-06-30 | 2004-12-30 | Berger Kelly D. | System and method for dynamically managing presence and contact information |
US20090144634A1 (en) * | 2003-06-30 | 2009-06-04 | Berger Kelly D | Multi-mode communication apparatus and interface for contacting a user |
US20040268265A1 (en) * | 2003-06-30 | 2004-12-30 | Berger Kelly D. | Multi-mode communication apparatus and interface for contacting a user |
US7571224B2 (en) * | 2004-10-29 | 2009-08-04 | International Business Machines Corporation | Method for using presence in a system management environment |
US7359496B2 (en) * | 2004-12-17 | 2008-04-15 | Alcatel Lucent | Communications system and method for providing customized messages based on presence and preference information |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177134A1 (en) * | 2002-07-16 | 2004-09-09 | Nokia Corporation | System, apparatus and method for providing partial presence notifications |
US9043404B2 (en) * | 2002-07-16 | 2015-05-26 | Nokia Corporation | System, apparatus and method for providing partial presence notifications |
US20150249711A1 (en) * | 2002-07-16 | 2015-09-03 | Nokia Corporation | System, apparatus and method for providing partial presence notifications |
US20080172466A1 (en) * | 2003-02-20 | 2008-07-17 | International Business Machines Corporation | E-mail delivery device, contact point guiding device, and e-mail delivery method and program |
US20050275878A1 (en) * | 2004-06-15 | 2005-12-15 | Cynthia Hiatt | System and method for indicating status of an incoming transmission to a user |
US7903795B2 (en) * | 2004-06-15 | 2011-03-08 | Avaya Inc. | System and method for indicating status of an incoming transmission to a user |
US20070050463A1 (en) * | 2005-08-25 | 2007-03-01 | Cisco Technology, Inc. | Techniques for integrating instant messaging with telephonic communication |
US8438235B2 (en) * | 2005-08-25 | 2013-05-07 | Cisco Technology, Inc. | Techniques for integrating instant messaging with telephonic communication |
US8897427B2 (en) | 2007-11-21 | 2014-11-25 | Bce Inc. | Method and apparatus for enabling a calling party to leave a voice message for a called party |
US20100272247A1 (en) * | 2007-11-21 | 2010-10-28 | Bce Inc. | Method and apparatus for enabling a calling party to leave a voice message for a called party |
US9042526B2 (en) | 2007-11-23 | 2015-05-26 | Bce Inc. | Method and apparatus for enabling a calling party to leave a voice message for a called party in response to a command provided by the calling party |
US20100246783A1 (en) * | 2007-11-23 | 2010-09-30 | Matthew Rose | Method and apparatus for enabling a calling party to leave a voice message for a called party in response to a command provided by the calling party |
US8494134B2 (en) | 2007-12-19 | 2013-07-23 | Bce Inc. | Method and system for routing calls placed to a telephony identifier associated with a group of identities |
US20100290609A1 (en) * | 2007-12-19 | 2010-11-18 | Bce Inc. | Method and system for routing calls placed to a telephony identifier associated with a group of identities |
US20100296425A1 (en) * | 2007-12-21 | 2010-11-25 | Jonathan Allan Arsenault | Method and system for establishing a connection with a packet-based application server |
US8675830B2 (en) | 2007-12-21 | 2014-03-18 | Bce Inc. | Method and apparatus for interrupting an active telephony session to deliver information to a subscriber |
US20100278320A1 (en) * | 2007-12-21 | 2010-11-04 | Bce Inc.Corporation | Method and apparatus for interrupting an active telephony session to deliver information to a subscriber |
US20110038469A1 (en) * | 2007-12-27 | 2011-02-17 | Carrefour Alexander-Graham-Bell Tour | Method and system for processing calls in an architecture allowing a telephony identifier to be associated with a group of identities |
US9203967B2 (en) | 2007-12-27 | 2015-12-01 | Bce Inc. | Method and system for processing calls in an architecture allowing a telephony identifier to be associated with a group of identities |
US8693652B2 (en) | 2007-12-27 | 2014-04-08 | Bce Inc. | Method and system for processing calls in an architecture allowing a telephony identifier to be associated with a group of identities |
US20100312912A1 (en) * | 2007-12-27 | 2010-12-09 | Bce Inc. | Method and system for modifying routing information associated to a party |
US11317174B2 (en) * | 2007-12-27 | 2022-04-26 | Bce Inc. | Method and system for modifying routing information associated to a party |
US7533153B1 (en) | 2008-05-15 | 2009-05-12 | International Business Machines Corporation | Method for managing instant messaging presence by group |
US20130308631A1 (en) * | 2008-12-02 | 2013-11-21 | International Business Machines Corporation | System and method to initiate a presence driven peer to peer communications session on non-ims and ims networks |
US9124469B2 (en) * | 2008-12-02 | 2015-09-01 | International Business Machines Corporation | System and method to initiate a presence driven peer to peer communications session on non-IMS and IMS networks |
US8712029B2 (en) | 2008-12-24 | 2014-04-29 | Bce Inc. | Method and system for routing telephony communications together with modified calling party identifier information |
US20100158225A1 (en) * | 2008-12-24 | 2010-06-24 | Danica Rogers | Method and system for routing telephony communications together with modified calling party identifier information |
US8719238B2 (en) | 2009-01-22 | 2014-05-06 | Sunstein Kann Murphy & Timbers LLP | Office-based notification messaging system |
US20110246605A1 (en) * | 2010-03-31 | 2011-10-06 | Yang Ju-Ting | Method for Handling Information Delivery in Personal Network and Related Communication Device |
US9923982B2 (en) * | 2011-06-24 | 2018-03-20 | Avaya Inc. | Method for visualizing temporal data |
US20120331066A1 (en) * | 2011-06-24 | 2012-12-27 | Avaya Inc. | Method for visualizing temporal data |
WO2014022016A1 (en) * | 2012-08-03 | 2014-02-06 | Intel Corporation | Communication path switching for mobile devices |
US9369912B2 (en) | 2012-08-03 | 2016-06-14 | Intel Corporation | Communication path switching for mobile devices |
US8982880B2 (en) | 2012-08-03 | 2015-03-17 | Intel Corporation | Communication path switching for mobile devices |
WO2016049008A1 (en) * | 2014-09-22 | 2016-03-31 | Alibaba Group Holding Limited | Communication method, apparatus, and system |
US20190253370A1 (en) * | 2015-02-17 | 2019-08-15 | International Business Machines Corporation | Predicting and updating availability status of a user |
US10178056B2 (en) * | 2015-02-17 | 2019-01-08 | International Business Machines Corporation | Predicting and updating availability status of a user |
US10277537B2 (en) * | 2015-02-17 | 2019-04-30 | International Business Machines Corporation | Predicting and updating availability status of a user |
US10574602B2 (en) | 2015-02-17 | 2020-02-25 | International Business Machines Corporation | Predicting and updating availability status of a user |
US10897436B2 (en) | 2015-02-17 | 2021-01-19 | International Business Machines Corporation | Predicting and updating availability status of a user |
CN107769990A (en) * | 2016-08-18 | 2018-03-06 | 联想企业解决方案(新加坡)有限公司 | Sending messages to unavailable devices |
US20180054407A1 (en) * | 2016-08-18 | 2018-02-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Sending messages to an unavailable device |
US11362980B2 (en) * | 2016-08-18 | 2022-06-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Sending messages to an unavailable device |
US11075874B2 (en) | 2019-03-21 | 2021-07-27 | International Business Machines Corporation | Intelligent electronic communications across heterogeneous communication channels |
Also Published As
Publication number | Publication date |
---|---|
US20030023691A1 (en) | 2003-01-30 |
US7269627B2 (en) | 2007-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7269627B2 (en) | Routing messages using presence information | |
US11032693B2 (en) | System and methods for data communications in a wireless communication system | |
US6968052B2 (en) | Method and apparatus for creating a presence monitoring contact list with dynamic membership | |
JP5525496B2 (en) | A method for creating a peer-to-peer rapid messaging solution without using an instant messaging server | |
US7668915B2 (en) | System and method for responding to a communication message with a canned reply | |
CN100477706C (en) | Re-direction from mobile network information to electronic mail | |
US7546117B2 (en) | Method and apparatus for blocking ID information associated with a sender of a short messaging service (SMS) message | |
US6807423B1 (en) | Communication and presence spanning multiple access networks | |
US7499973B2 (en) | System and method for automatically forwarding a communication message | |
US20010005859A1 (en) | Text messaging system and method | |
US8458309B2 (en) | Orthogonal subscription | |
US20050141479A1 (en) | Presence-based routing in a communications network environment | |
CN101766011A (en) | Centralized call log for synchronized call protocol information | |
EP1348294A1 (en) | Presence and session handling information | |
WO2007000091A1 (en) | A method for limiting the forwarding times of the multimedia message for the multimedia messaging service center mmsc and a system thereof | |
US20060168087A1 (en) | Instant messaging client and server | |
US8521155B2 (en) | Presence-based call switching | |
US8526423B2 (en) | Method and device for managing personal communications of at least one user | |
US20070005763A1 (en) | Method and system for using load information in an instant messaging system | |
EP1524831B1 (en) | Subscriber communication capability | |
US20150163177A1 (en) | System and method for pseudo-presence indication for non-xmpp client devices within xmpp applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KNAUERHASE, ROBERT C.;REEL/FRAME:019922/0127 Effective date: 20010727 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: TAHOE RESEARCH, LTD., IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176 Effective date: 20220718 |