US20060101123A1 - Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging - Google Patents
Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging Download PDFInfo
- Publication number
- US20060101123A1 US20060101123A1 US11/255,774 US25577405A US2006101123A1 US 20060101123 A1 US20060101123 A1 US 20060101123A1 US 25577405 A US25577405 A US 25577405A US 2006101123 A1 US2006101123 A1 US 2006101123A1
- Authority
- US
- United States
- Prior art keywords
- computer system
- instant message
- successful
- message
- sending
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 230000003287 optical effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/23—Reliability checks, e.g. acknowledgments or fault reporting
Definitions
- the present invention relates to the field of electronic communication.
- the present invention relates to methods and systems for selecting criteria for a successful acknowledgement message criteria in instant messaging.
- E-mail allows a sending individual to compose a text message on his/her computer system and then transmit that text message over the computer network to a destination computer system, typically a server computer system, associated with a receiving individual. Once the receiving individual establishes a connection with his/her server computer system, the receiving individual can then retrieve the electronic mail message.
- An advantage of electronic mail is that individuals can communicate over very large distances in significantly less time than it would take to physically mail a letter to that location.
- modern electronic mail systems allow for the inclusion of “attachments” which may essentially be any file type including text files and even executable files. Thus, entire files can be conveniently transported from one location to another. Once received, the electronic mail text message and any associated attachments are in electronic form and therefore may be easily manipulated by a healthy variety of widely available software packages.
- logged in means that they either have a dedicated connection to the network such as the Internet used to transmit the instant message, or they are connected to a computer system (typically an instant messaging server) that has a dedicated connection to the network.
- acknowledgement messages are often returned back to the instant message sender indicating the success or failure of the instant message transmission.
- acknowledgement message that indicates the successful delivery of an instant message will be referred to in this description and in the claims as a “successful” acknowledgement message.
- a “successful” acknowledgement message may be returned back to the instant message sender. This ambiguity may leave the sender of the instant message somewhat confused as to the meaning of a “successful” acknowledgement message.
- embodiments of the present invention permit a user to specify the criteria for determining the success or failure of the transmission of an instant message. Since the user specifies the criteria, the user is well informed of the meaning of successful acknowledgement message received in response to the transmission of an instant message.
- the “sending computer system” identifies the user specified criteria.
- the “sending computer system” may be the client computer system associated with the sender if the client is capable of identifying the user specified criteria and determining whether the criteria are met.
- the “sending computer system” may be an instant messaging server associated with the sender if the sender's client computer system relies on the instant messaging server to identify the user specified criteria and determine whether the criteria are met.
- the user specified criteria may be included with the instant message or may have been previously transmitted to the instant messaging server.
- the sending computer system identifies the user specified criteria for returning a successful acknowledgement message corresponding to the instant message to the user.
- the sending computer system determines whether the user specified criteria for returning a successful acknowledgement message have been met. If they are met, the sending computer system returns a successful acknowledgement message to the user.
- the process for determining whether the user specified criteria have been met depend on the user specified criteria. If the user specified criteria is a “single hop”, the instant messaging server can determine, based on the very fact that it received the instant message, that the criteria have been met. Alternatively, the sender's client computer system may determine that the criteria have been met by receiving an acknowledgement message from the first server computer system in the chain of computer systems used to transmit the instant message, that the first server computer system received the instant message.
- the sending computer system may determine that the criteria is met as soon it receives acknowledgement from one of the destination server computer systems that at least one of the associated client computer systems received the instant message.
- a distribution list may include, for example, the set of users who have subscribed to the type of notification represented in the instant message.
- the distribution list may also be the set of client devices that a single user has logged in from. As long as any of the client devices that the user is using receives the instant message, the instant message might be considered successful since any of the client devices are capable of communicating the instant message to the user.
- the sending computer system will determine success when all destination server computer systems report that all of the members of the distribution list have received the instant message.
- FIG. 1 illustrates an exemplary system that provides a suitable operating environment for the present invention
- FIG. 2 is illustrates a computer network in which the present invention may operate
- FIG. 3 is a flowchart of a method of sending an instant message using the network of FIG. 2 ;
- FIG. 4 is a flowchart of a method of determining whether “deep-or” acknowledgement criteria have been met.
- FIG. 5 is a flowchart of a method of determining whether “deep-and” acknowledgement criteria have been met.
- the present invention extends both methods and systems for selecting criteria for a successful acknowledgement message in instant messaging.
- the embodiments of the present invention may comprise a special purpose or general purpose computer including various computer hardware, as discussed in greater detail below.
- Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Such computer-readable media can be any available media which can be accessed by a general purpose or special purpose computer.
- Such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
- the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by computers in network environments.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein.
- the particular sequence of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in such steps.
- the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network.
- program modules may be located in both local and remote memory storage devices.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 120 , including a processing unit 121 , a system memory 122 , and a system bus 123 that couples various system components including the system memory 122 to the processing unit 121 .
- the system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read only memory (ROM) 124 and random access memory (RAM) 125 .
- a basic input/output system (BIOS) 126 containing the basic routines that help transfer information between elements within the computer 120 , such as during start-up, may be stored in ROM 124 .
- the computer 120 may also include a magnetic hard disk drive 127 for reading from and writing to a magnetic hard disk 139 , a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129 , and an optical disk drive 130 for reading from or writing to removable optical disk 131 such as a CD-ROM or other optical media.
- the magnetic hard disk drive 127 , magnetic disk drive 128 , and optical disk drive 130 are connected to the system bus 123 by a hard disk drive interface 132 , a magnetic disk drive-interface 133 , and an optical drive interface 134 , respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 120 .
- exemplary environment described herein employs a magnetic hard disk 139 , a removable magnetic disk 129 and a removable optical disk 131
- other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, and the like.
- Program code means comprising one or more program modules may be stored on the hard disk 139 , magnetic disk 129 , optical disk 131 , ROM 124 or RAM 125 , including an operating system 135 , one or more application programs 136 , other program modules 137 , and program data 138 .
- a user may enter commands and information into the computer 120 through keyboard 140 , pointing device 142 , or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 121 through a serial port interface 146 coupled to system bus 123 .
- the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB).
- a monitor 147 or another display device is also connected to system bus 123 via an interface, such as video adapter 148 .
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the computer 120 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 149 a and 149 b.
- Remote computers 149 a and 149 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 120 , although only memory storage devices 150 a and 150 b and their associated application programs 136 a and 136 b have been illustrated in FIG. 1 .
- the logical connections depicted in FIG. 1 include a local area network (LAN) 151 and a wide area network (WAN) 152 that are presented here by way of example and not limitation.
- LAN local area network
- WAN wide area network
- the computer 120 When used in a LAN networking environment, the computer 120 is connected to the local network 151 through a network interface or adapter 153 .
- the computer 120 may include a modem 154 , a wireless link, or other means for establishing communications over the wide area network 152 , such as the Internet.
- the modem 154 which may be internal or external, is connected to the system bus 123 via the serial port interface 146 .
- program modules depicted relative to the computer 120 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 152 may be used.
- FIG. 2 illustrates a network 200 that may be a suitable operating environment for performing instant messaging.
- the network 200 includes server computer systems 202 , 212 and 222 , each having respective dedicated connections 204 , 214 and 224 to a network infrastructure 230 that may be used to electronically communicate between the server computer systems.
- a “server computer system” is defined as a computer or group of computers that provides services to another computer system.
- a “computer” is defined as any device capable of processing data such as a personal computer, a personal digital assistant, and the like.
- a “client computer system” is defined as a computer or group of computers that use the services of another computer system. Note that a computer system may use the services of another computer system and yet still provide services to yet another computer system. Thus, a client computer system in one context may also be a server computer system in another context. Similarly, a server computer system in one context may also be a client computer system in another context.
- client computer system to describe a computer system in this description and in the claims does not imply that the computer system may not also act as a server computer system.
- server computer system does not imply that the computer system may not also act as a client computer system.
- the server computer system 202 acts as an instant messaging server for a number of client computer systems 206 including client computers systems 206 a , 206 b , 206 c , 206 d , 206 e , 206 f , 206 g and 206 h .
- Client computer systems 206 are capable of establishing a connection with the server computer system 202 .
- Client computer systems 206 a , 206 b , 206 c and 206 d are connected to the server computer system 202 as represented by the solid line connecting each of these client computer systems to the server computer system 202 .
- the client computer systems 206 e , 206 f , 206 g and 206 h are not currently connected to the server computer system 202 as indicated by the dashed lines connecting these client computer systems to the server computer system 202 . However, these computer systems 206 e , 206 f , 206 g and 206 h may later be connected to the server computer system 202 as desired.
- the server computer system 212 acts as an instant messaging server for a number of client computer systems 216 including client computer systems 216 a , 216 b , 216 c , 216 d , 216 e , 216 f , 216 g and 216 h .
- Client computer systems 216 a , 216 b , 216 c and 216 d are connected to the server computer system 212 as indicated by the solid connection line.
- Client computer systems 216 e , 216 f , 216 g and 216 h are not currently connected to the server computer system 212 as indicated by the dashed connection lines.
- the server computer system 222 acts as an instant messaging server for a number of client computer systems 226 including client computer systems 226 a , 226 b , 226 c , 226 d , 226 e , 226 f , 226 g and 226 h .
- Client computer systems 226 a , 226 b , 226 c and 226 d are connected to the server computer system 222 as indicated by the solid connection line.
- Client computer systems 226 e , 226 f , 226 g and 226 h are not currently connected to the server computer system 222 as indicated by the dashed connection lines.
- Each of the server computer system 202 , 212 and 222 and the client computer systems 206 a through 206 h , 216 a through 216 h and 226 a through 226 h may be structured as described above for the computer 120 of FIG. 1 and include some or all of the components described as being included in the computer 120 .
- many other computer devices may be used as the server computer systems and client computer systems so long as they are capable of implementing the principles of the present invention as described herein.
- client computer systems 206 a , 206 b , 206 c 206 d , 216 a , 216 b , 216 c , 216 d , 226 a , 226 b , 226 c and 226 d are connected to their respective instant messaging server computer systems, these client computer systems may engage in instant messaging.
- the server computer systems 202 , 212 and 222 keep track of which client computer systems are logged into their respective server computer systems and thus are available for communication by instant messaging. The list of logged in and available client computer systems is shared by the servers 202 , 212 and 222 so that each of the server computer systems 202 , 212 and 222 is aware of all twelve available client computer systems.
- the determination of whether a successful acknowledgement message should be returned to the user may be performed by the sending client computer system 202 itself or may be performed by the first server computer system in the chain of computer systems that are traversed by the instant message in its route to its intended recipients.
- the sending client computer system is the computer system that makes this determination, the sending client computer system first optionally determines whether an intended recipient is available. If available, the instant message is created and addressed with an intended destination address. The sending client computer system then transmits the instant message and returns a successful acknowledgement message if the user specified criteria are met.
- FIG. 3 is a flowchart illustrating a method 300 of transmitting an instant message that will be discussed with frequent reference to FIG. 2 .
- Some of the acts involved with transmitting the instant message are performed exclusively by the sending client computer system. These acts are illustrated in the left column of FIG. 3 .
- Other acts are performed exclusively by the first server computer system in contact with the instant message. These acts are illustrated in the right column of FIG. 3 .
- Yet other acts are performed cooperatively by both the client computer system and the server computer system. These acts are illustrated in the center column of FIG. 3 .
- one of the client computer systems optionally first determines with the aid of its instant messaging server computer system whether an intended recipient is available for instant messaging (act 310 ). For example, suppose that client computer system 206 b is to send an instant message to client computer system 216 c . Client computer system 206 b may confirm that client computer system 216 c is available for instant messaging by receiving information from its instant messaging server computer system 202 that the client computer system 216 c is logged on. Note that instant messaging may be performed without confirming that the intended recipient is available. However, there would be no guarantee that the recipient would receive the instant message in real time.
- FIG. 2 shows the server computer system 202 as being a separate computer system from the client computer systems 206 , at least some of the functionality of the server computer system 202 may be provided by one or more of the client computer systems 206 .
- These client computer systems would then be “advanced sending clients” having the capability to send an instant message directly to the network infrastructure 230 without using the server computer system 202 .
- the advanced sending clients are also able to determine internally whether the user specified criteria for a successful acknowledgement message have been met.
- this embodiment will be referred to as the “advanced sender” embodiment.
- the embodiment in which the sender's instant messaging server computer system 202 is used will be referred to as the “server assisted” embodiment.
- the sending computer system creates an instant message identifying an intended destination address.
- client computer system 206 b may create an instant message and identify an intended destination.
- the sending client computer system establishes a connection with the server computer system if needed (act 330 ) with the assistance of the server computer system. For example, if the client computer system 206 b was not already connected to the server computer system 202 the client computer system 206 b would perform acts needed to connect to the server computer system 202 . If the client computer system 206 b has a permanent connection to the server computer system 202 , there would, of course, be no need make a connection with the server computer system 202 . In the advanced sender embodiment, there would be no need for the sending client computer system 206 b to connect with the server computer system since the sending client computer system 206 b is capable of sending instant messages directly onto the network infrastructure.
- the sending client computer system may then transmit the instant message (act 340 ).
- the instant message will traverse a number of different server computer systems on the way to its destination. For example, in order for an instant message to be transmitted from the client computer system 206 b to the client computer system 216 c , the instant message must traverse through the instant messaging server computer system 202 (if in the server assisted embodiment), through a potential myriad of server computer systems on the network infrastructure 230 , through the destination instant messaging server computer system 212 , and finally to the destination client computer system 216 c.
- the first server computer system to receive the message after the instant message is transmitted is typically a proximate instant messaging server computer system such as the server computer system 202 (act 350 ).
- the instant messaging server computer system associated with the sending client computer system returns an acknowledgement message to the sending client computer system if certain criteria are met (act 360 ).
- the server computer system 202 may be configured to return an acknowledgement message for all instant messages sent from sending client computer system 206 b , for only those instant messages designated as higher priority, or for only those instant messages requested to have a corresponding acknowledgement message.
- the sending client computer system 206 b specifically designates as part of the creation of the instant message that an acknowledgement message is desired for the instant message.
- the server computer system 202 will return an acknowledgement message (step 360 ), regardless of the content of that acknowledgement message.
- the client computer system 206 b performs the functionality of the server computer system 202 in determining whether the user specified criteria are met and returning an appropriate acknowledgement message to the user of the client computer system 206 b.
- the user-specified criteria are identified. These criteria are set by a user and may have been entered by the user of the sending client computer system. In the server-assisted embodiment, these user specified criteria may have been previously transmitted to the server computer system for storage in a database 240 ( FIG. 2 ) accessible by the server computer system. Alternatively, the user-specified criteria may accompany the instant message itself. In the advanced sender embodiment, the user-specified criteria may be stored in a similar database accessible by the sending client computer system. Once the user-specified criteria have been identified, a determination is made as to whether or not the applicable user-specified criteria have been met.
- one set of criteria for determining whether a successful acknowledgement message should be sent is referred to as a “single hop” criteria set.
- a single hop criteria set. Using this criteria set, if the instant message is received by the first computer system in the chain of computer systems needed to transmit the instant message, a successful acknowledgement message is returned.
- the first computer system in transmitting from the client computer system 206 b to the client computer system 216 c , the first computer system would be the instant messaging server computer system 202 .
- the server computer system 202 could determine, by the very fact that the server computer system 202 received the instant message, that the criteria for a successful acknowledgement message have been met.
- the first server computer system in the network infrastructure 230 would indicate to the client that the server computer system received the instant message.
- the client computer system 206 b would then determine that the single hop criteria have been met and acknowledge this to the user.
- any destination address could potentially be a distribution list if other entities can subscribe to instant messages received by the destination address.
- the destination address may be “team_members”.
- a number of entities may have subscribed to messages received by the destination address “team_members”. For example, suppose that entities having address “first_member”, “second_member” and “subteam_members” have subscribed to the address “team_members” by indicating that any message destined for the address “team_members” should also be forwarded to the addresses “first_member”, “second_member” and “subteam_members”.
- the address “team_members” functions as a destination list having three members “first_member”, “second_member” and “subteam_members”.
- Any member of a distribution list may also be a distribution list. For example, suppose that entities having addresses “first_submember” and “second_submember” subscribed to the address “subteam_members”. Any messages destined for the address “subteam_members” would also be forwarded to addresses “first_submember” and “second_submember”. Thus, any address could potentially be a distribution list and multiple distribution lists may be layered.
- the destination address is not a distribution list (i.e., no entities have subscribed to the destination address)
- “successful” delivery under the “deep-or” criteria set means that the destination address simply received the instant message.
- the destination address is a distribution list (i.e., one or more entities have subscribed to the destination address)
- “successful” delivery under the “deep-or” criteria set means that the instant message has been successful delivered under the “deep-or” criteria to any of the entities that subscribed to that destination address.
- the destination address “team_members” is a distribution list since other entities have subscribed to the destination address. Since “first_member” is not a distribution list, and since “first_member” received the instant message, delivery of the instant message to “first_member” was successful under the deep or criteria. For this reason, delivery to “team_members” was also successful under the deep or criteria. The same result would apply for similar reasons if “second_member” receives the instant message.
- first_submember or “second_submember” successful receives the instant message. Since neither entity is a distribution list, delivery to the entity is successful under the deep-or criteria since the submember received the instant message. However, “subteam_members” is a distribution list. Therefore, delivery is considered successful to “subteam_members” only if one of its subscribing members was successfully delivered the instant message under the “deep-or” criteria. Since delivery to one of “first_submember” or “second_submember” was successful under the “deep-or” criteria set, delivery to “subteam_members” is also deemed successful under the “deep-or” criteria. Furthermore, since “subteam_members” subscribes to “team_members”, delivery to “team_members” is deemed successful under the “deep-or” criteria.
- FIG. 4 illustrates a method 400 for determining whether a “successful” acknowledgement message should be returned to the user using the “deep-or” criteria set.
- the acts of the method 400 are either performed by the sending computer system (i.e., the sender's instant messaging server in the server assisted embodiment, or the sending client computer system in the advanced sender embodiment) or by the destination server computer system(s).
- the left column of FIG. 4 illustrates those acts that are performed by the sending computer system while the right column illustrates those acts that are performed by each destination server computer system having associated client computer systems that have subscribed to the destination address.
- the method 400 will be described using an example in which the client computer system 206 b attempts to sends an instant message to the destination address “team_members” which has been subscribed to by client computer systems 216 c , 216 d , 226 d and 226 e.
- the sending computer system typically cannot yet determine whether a “successful” acknowledgement message should be sent under the “deep-or” criteria set since the sending computer system does not know whether at least one of the subscribing client computer system 216 c , 216 d , 226 d and 226 e will receive the instant message.
- One exception might be if the sending computer system has notice that all of the subscribing client computer systems are off-line or are otherwise unavailable for instant messaging. In this exception, the sending computer system may be configured to immediately return a “failed” acknowledgement message indicating that the instant message was not successfully delivered to any of the members of the distribution list. Typically, however, the sending computer system may not know whether or not a “successful” acknowledgement message should be sent without actually attempting to send the instant message to at least some of the subscribing client computer systems.
- the sending computer system will typically forward the instant message to at least some of the subscribing client computer systems (act 410 ). This will involve determining what destination server computer systems exist that serve those subscribing members. In the example of the distribution list “team_members”, both destination server computer systems 212 and 222 serve the subscribing client computer systems 216 c , 216 d , 226 d and 226 e . Thus, the instant message is forwarded to both destination server systems 212 and 222 over the network infrastructure 230 .
- Each destination server computer system 212 and 222 then ideally receives the instant message (act 420 ). Once received, the instant message is then delivered to all the subscribing members of the distribution list “team_members” that are capable of receiving the instant message (act 430 ).
- the destination server computer system 212 delivers the instant message to client computer system 216 c and 216 d since both are logged onto the server computer system 212 and are available for instant messaging.
- the destination server computer system 222 delivers the instant message to the client computer system 226 d which is logged in and available for instant messaging.
- destination server computer system 222 does not deliver the instant message to client computer system 226 e since that client computer system is not available for instant messaging.
- the destination computer systems then each return an acknowledgement message to the sending computer system (act 440 ).
- This acknowledgement message indicates at least whether delivery of the instant message to one of its associated client computer systems was successful under the “deep-or” criteria set. Assuming that the addresses corresponding to client computer systems 216 c , 216 d , 226 d and 226 e are not distribution lists, delivery to any of the client computer systems would be deemed successful under the “deep-or” criteria set by the mere delivery to the associated client computer system. However, if a given one of the addresses were subscribed to by yet other addresses, then delivery to the other subscribing address would need to be attempted before successful delivery to the given one of the addresses could be deemed successful.
- the sending computer system can determine that at least one of the members of the distribution list was successfully delivered the instant message under the “deep-or” criteria set (act 460 ).
- the sending computer system can send a “successful” acknowledgement message to the user as soon as it receives the acknowledgement message from either the server computer system 212 or the server computer system 222 .
- the “deep-and” criteria set is much more strict that the “deep-or” criteria set in that the “deep-and” criteria set requires that all of the members in a distribution list receive the instant message before delivery to the distribution list is deemed successful.
- first_member “first_member”, “second_member” and “subteam_members” subscribed to “team_members” and in which “first_submember” and “second_submember” subscribed to “subteam_members.” If “second_submember” was not successfully delivered the instant message, then delivery of the instant message to “subteam_members” is not deemed successful since one of its members “second_submember” did not receive the instant message. Likewise, delivery to “team_members” is not deemed successful since delivery to one of its members “subteam_members” was not deemed successful.
- FIG. 5 illustrates a method 500 for determining whether a “successful” acknowledgement message should be returned to the user using the “deep-and” criteria set.
- the acts of the method 500 are either performed by the sending computer system (i.e., the sender's instant messaging server in the server assisted embodiment, or the sending client computer system in the advanced sender embodiment) or by the destination server computer system.
- the left column of FIG. 5 illustrates those acts that are performed by the sending computer system while the right column illustrates those acts that are performed by each destination server computer system.
- the method 500 will also be described using the example in which the client computer system 206 b attempts to sends an instant message to the distribution list “team_members” which include client computer systems 216 c , 216 d , 226 d and 226 e.
- the sending computer system may be able to determine if any of the members of the distribution list are unavailable for instant messaging (decision block 510 ). If any are unavailable, the sending computer system may be able to determine that the “deep-and” criteria will not be satisfied even before attempting to send the instant message to members of the distribution list. In this case (yes in decision block 510 ), the sending computer system 202 may immediately return a “failed” acknowledgement message (act 580 ) to the user even before any acknowledgement messages are received back from the destination computer system.
- the sending computer system would need to confirm delivery by attempting to deliver the instant message to each member of the distribution list (act 520 ).
- the sending computer system may, of course, also attempt to deliver the instant message to as many on the distribution list as possible even though the sending computer system may have determined that some on the distribution list may not be available for delivery of the instant message.
- the forwarding of the instant message may involve identifying each destination server computer system that is associated with a client computer system in the distribution list.
- the instant message is forwarded to both destination server systems 212 and 222 over the network infrastructure 230 .
- Each destination server computer system 212 and 222 then receives the instant message (act 530 ). Once received, the instant message is then delivered to all the associated client computer systems in the distribution list that are capable of receiving the instant message (act 540 ).
- the destination server computer system 212 delivers the instant message to client computer system 216 c and 216 d since both are logged onto the server computer system 212 and are available for instant messaging.
- the destination server computer system 222 delivers the instant message to the client computer system 226 d which is logged in and available for instant messaging. However, the instant message is not received by client computer system 226 e since that client computer system is not available for instant messaging.
- the destination computer systems then each return an acknowledgement message to the sending computer system (act 550 ).
- This acknowledgement message indicates at least whether delivery of the instant message was successful to all of its associated client computer systems that are included in the distribution list.
- the sending computer system can determine that at least all of the client computer systems in the distribution list successfully received the instant message under the “deep-and” criteria set. (act 570 ).
- the sending computer system cannot send a “successful” acknowledgement message to the user since the sending computer system would not have received a successful acknowledgement message from one of the destination server computer systems 222 . This is because the destination computer system 222 could not deliver the instant message to the client computer system 226 e since that client computer system was unavailable for instant messaging.
- the user may define a time frame that delivery of the instant message must be completed by in order to be considered a successful delivery.
- the user may specify which members of the distribution list must receive the instant message in order to be considered a successful delivery.
- a user may specify that delivery to the destination server may be sufficient to constitute “successful” delivery even if that instant message is not immediately forwarded to the client computer system.
- the user may specify the criteria set that must be satisfied.
- the sending computer system or some other server computer system may determine automatically what criteria set must be satisfied in order to be considered a successful delivery of the instant message. For example, if the destination address is a distribution list and the instant message has a normal priority, a “deep-or” criteria set may be used in reporting on a successful delivery. On the other hand, if the instant message has a high priority, a “deep-and” criteria set may be used in reporting a successful delivery.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Methods and systems are described for permitting a user to specify the criteria for determining the success or failure of the transmission of an instant message. A computer system first identifies the user specified criteria. When the server computer system receives an instant message, the computer system determines whether the user specified criteria have been met. If the criteria are met, the computer system returns a successful acknowledgement message to the user. Since the user sets the criteria by which success will be determined, the meaning of a successful acknowledgement message will be clear to the user.
Description
- The present application claims the benefit of U.S. provisional application Ser. No. 60/185,827, filed 29 Feb. 2000, which provisional application is incorporated herein by reference.
- 1. The Field of the Invention
- The present invention relates to the field of electronic communication. In particular, the present invention relates to methods and systems for selecting criteria for a successful acknowledgement message criteria in instant messaging.
- 2. The Prior State of the Art
- Computer networking, and in particular the evolution of the Internet, has transformed the way people communicate and share information. One important technology used in conjunction with computer networks is called “electronic mail” or “e-mail.” E-mail allows a sending individual to compose a text message on his/her computer system and then transmit that text message over the computer network to a destination computer system, typically a server computer system, associated with a receiving individual. Once the receiving individual establishes a connection with his/her server computer system, the receiving individual can then retrieve the electronic mail message.
- An advantage of electronic mail is that individuals can communicate over very large distances in significantly less time than it would take to physically mail a letter to that location. In addition, modern electronic mail systems allow for the inclusion of “attachments” which may essentially be any file type including text files and even executable files. Thus, entire files can be conveniently transported from one location to another. Once received, the electronic mail text message and any associated attachments are in electronic form and therefore may be easily manipulated by a healthy variety of widely available software packages.
- Although electronic mail transmissions typically take less time than physically mailing a letter from one location to another, it can still be a matter of minutes, hours, or even days to transmit an electronic message. In some circumstances, it may be desirable to transmit messages even faster. One technology that enables much faster electronic communication is called “instant messaging.”
- As the name implies, “instant messaging” permits a sending individual to quickly transmit an electronic message to a receiving individual in a matter of seconds and often within a second. Thus, two individuals can essentially communicate electronically in real time. Instant messaging requires that each individual in the electronic conversation be “logged in.” In this description and in the claims, “logged in” means that they either have a dedicated connection to the network such as the Internet used to transmit the instant message, or they are connected to a computer system (typically an instant messaging server) that has a dedicated connection to the network.
- When transmitting an instant message, it is often desirable to know whether or not the instant message was successfully delivered. For this reason, acknowledgement messages are often returned back to the instant message sender indicating the success or failure of the instant message transmission.
- An acknowledgement message that indicates the successful delivery of an instant message will be referred to in this description and in the claims as a “successful” acknowledgement message. There are several circumstances in which a “successful” acknowledgement message may be returned back to the instant message sender. This ambiguity may leave the sender of the instant message somewhat confused as to the meaning of a “successful” acknowledgement message.
- Therefore, what are desired are systems and methods for acknowledging delivery of an instant message in which the meaning of a “successful” acknowledgement message is more clearly defined and understandable to the sender of the instant message.
- In contrast to the prior state of the art, embodiments of the present invention permit a user to specify the criteria for determining the success or failure of the transmission of an instant message. Since the user specifies the criteria, the user is well informed of the meaning of successful acknowledgement message received in response to the transmission of an instant message.
- First, the “sending computer system” identifies the user specified criteria. The “sending computer system” may be the client computer system associated with the sender if the client is capable of identifying the user specified criteria and determining whether the criteria are met. Alternatively, the “sending computer system” may be an instant messaging server associated with the sender if the sender's client computer system relies on the instant messaging server to identify the user specified criteria and determine whether the criteria are met. In the latter case, the user specified criteria may be included with the instant message or may have been previously transmitted to the instant messaging server. Thus, the sending computer system identifies the user specified criteria for returning a successful acknowledgement message corresponding to the instant message to the user.
- Next, the sending computer system determines whether the user specified criteria for returning a successful acknowledgement message have been met. If they are met, the sending computer system returns a successful acknowledgement message to the user.
- The process for determining whether the user specified criteria have been met depend on the user specified criteria. If the user specified criteria is a “single hop”, the instant messaging server can determine, based on the very fact that it received the instant message, that the criteria have been met. Alternatively, the sender's client computer system may determine that the criteria have been met by receiving an acknowledgement message from the first server computer system in the chain of computer systems used to transmit the instant message, that the first server computer system received the instant message.
- If the user specified criteria is a “deep-or” criteria, meaning that at least one of the members of a distribution list should receive the instant message to be considered successful, the sending computer system (whether it be the instant messaging server associated with the sender, or the client associated with the sender) may determine that the criteria is met as soon it receives acknowledgement from one of the destination server computer systems that at least one of the associated client computer systems received the instant message.
- In the context of instant messaging, a distribution list may include, for example, the set of users who have subscribed to the type of notification represented in the instant message. The distribution list may also be the set of client devices that a single user has logged in from. As long as any of the client devices that the user is using receives the instant message, the instant message might be considered successful since any of the client devices are capable of communicating the instant message to the user.
- If the user specified criteria is a “deep-and” criteria, meaning that all of the members of the distribution list should receive the instant message in order to be considered successful, the sending computer system will determine success when all destination server computer systems report that all of the members of the distribution list have received the instant message. Thus, the principles of the present invention makes clear the meaning of a successful acknowledgement message in instant messaging by allowing the user to set the criteria for returning a successful acknowledgment message.
- Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
- In order that the manner in which the above-recited and other advantages and features of the invention are obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
-
FIG. 1 illustrates an exemplary system that provides a suitable operating environment for the present invention; -
FIG. 2 is illustrates a computer network in which the present invention may operate; -
FIG. 3 is a flowchart of a method of sending an instant message using the network ofFIG. 2 ; -
FIG. 4 is a flowchart of a method of determining whether “deep-or” acknowledgement criteria have been met; and -
FIG. 5 is a flowchart of a method of determining whether “deep-and” acknowledgement criteria have been met. - The present invention extends both methods and systems for selecting criteria for a successful acknowledgement message in instant messaging. The embodiments of the present invention may comprise a special purpose or general purpose computer including various computer hardware, as discussed in greater detail below.
- Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media which can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
-
FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by computers in network environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in such steps. - Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
- With reference to
FIG. 1 , an exemplary system for implementing the invention includes a general purpose computing device in the form of aconventional computer 120, including aprocessing unit 121, asystem memory 122, and asystem bus 123 that couples various system components including thesystem memory 122 to theprocessing unit 121. Thesystem bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 124 and random access memory (RAM) 125. A basic input/output system (BIOS) 126, containing the basic routines that help transfer information between elements within thecomputer 120, such as during start-up, may be stored inROM 124. - The
computer 120 may also include a magnetichard disk drive 127 for reading from and writing to a magnetichard disk 139, amagnetic disk drive 128 for reading from or writing to a removablemagnetic disk 129, and anoptical disk drive 130 for reading from or writing to removableoptical disk 131 such as a CD-ROM or other optical media. The magnetichard disk drive 127,magnetic disk drive 128, andoptical disk drive 130 are connected to thesystem bus 123 by a harddisk drive interface 132, a magnetic disk drive-interface 133, and anoptical drive interface 134, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for thecomputer 120. Although the exemplary environment described herein employs a magnetichard disk 139, a removablemagnetic disk 129 and a removableoptical disk 131, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, and the like. - Program code means comprising one or more program modules may be stored on the
hard disk 139,magnetic disk 129,optical disk 131,ROM 124 orRAM 125, including anoperating system 135, one or more application programs 136,other program modules 137, andprogram data 138. A user may enter commands and information into thecomputer 120 throughkeyboard 140, pointing device 142, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit 121 through aserial port interface 146 coupled tosystem bus 123. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). Amonitor 147 or another display device is also connected tosystem bus 123 via an interface, such asvideo adapter 148. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. - The
computer 120 may operate in a networked environment using logical connections to one or more remote computers, such asremote computers Remote computers computer 120, although onlymemory storage devices application programs 136 a and 136 b have been illustrated inFIG. 1 . The logical connections depicted inFIG. 1 include a local area network (LAN) 151 and a wide area network (WAN) 152 that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet. - When used in a LAN networking environment, the
computer 120 is connected to thelocal network 151 through a network interface oradapter 153. When used in a WAN networking environment, thecomputer 120 may include amodem 154, a wireless link, or other means for establishing communications over thewide area network 152, such as the Internet. Themodem 154, which may be internal or external, is connected to thesystem bus 123 via theserial port interface 146. In a networked environment, program modules depicted relative to thecomputer 120, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications overwide area network 152 may be used. -
FIG. 2 illustrates anetwork 200 that may be a suitable operating environment for performing instant messaging. Thenetwork 200 includesserver computer systems dedicated connections network infrastructure 230 that may be used to electronically communicate between the server computer systems. - In this description and in the claims, a “server computer system” is defined as a computer or group of computers that provides services to another computer system. A “computer” is defined as any device capable of processing data such as a personal computer, a personal digital assistant, and the like. Also, a “client computer system” is defined as a computer or group of computers that use the services of another computer system. Note that a computer system may use the services of another computer system and yet still provide services to yet another computer system. Thus, a client computer system in one context may also be a server computer system in another context. Similarly, a server computer system in one context may also be a client computer system in another context. The use of the term “client computer system” to describe a computer system in this description and in the claims does not imply that the computer system may not also act as a server computer system. Similarly, the use of the term “server computer system” does not imply that the computer system may not also act as a client computer system.
- The
server computer system 202 acts as an instant messaging server for a number of client computer systems 206 includingclient computers systems server computer system 202.Client computer systems server computer system 202 as represented by the solid line connecting each of these client computer systems to theserver computer system 202. Theclient computer systems server computer system 202 as indicated by the dashed lines connecting these client computer systems to theserver computer system 202. However, thesecomputer systems server computer system 202 as desired. - The
server computer system 212 acts as an instant messaging server for a number of client computer systems 216 includingclient computer systems Client computer systems server computer system 212 as indicated by the solid connection line.Client computer systems server computer system 212 as indicated by the dashed connection lines. - The
server computer system 222 acts as an instant messaging server for a number of client computer systems 226 includingclient computer systems Client computer systems server computer system 222 as indicated by the solid connection line.Client computer systems server computer system 222 as indicated by the dashed connection lines. - Each of the
server computer system client computer systems 206 a through 206 h, 216 a through 216 h and 226 a through 226 h may be structured as described above for thecomputer 120 ofFIG. 1 and include some or all of the components described as being included in thecomputer 120. However, many other computer devices may be used as the server computer systems and client computer systems so long as they are capable of implementing the principles of the present invention as described herein. - Since
client computer systems server computer systems servers server computer systems - The determination of whether a successful acknowledgement message should be returned to the user may be performed by the sending
client computer system 202 itself or may be performed by the first server computer system in the chain of computer systems that are traversed by the instant message in its route to its intended recipients. - If the sending client computer system is the computer system that makes this determination, the sending client computer system first optionally determines whether an intended recipient is available. If available, the instant message is created and addressed with an intended destination address. The sending client computer system then transmits the instant message and returns a successful acknowledgement message if the user specified criteria are met.
-
FIG. 3 is a flowchart illustrating amethod 300 of transmitting an instant message that will be discussed with frequent reference toFIG. 2 . Some of the acts involved with transmitting the instant message are performed exclusively by the sending client computer system. These acts are illustrated in the left column ofFIG. 3 . Other acts are performed exclusively by the first server computer system in contact with the instant message. These acts are illustrated in the right column ofFIG. 3 . Yet other acts are performed cooperatively by both the client computer system and the server computer system. These acts are illustrated in the center column ofFIG. 3 . - In order to transmit an instant message, one of the client computer systems optionally first determines with the aid of its instant messaging server computer system whether an intended recipient is available for instant messaging (act 310). For example, suppose that
client computer system 206 b is to send an instant message toclient computer system 216 c.Client computer system 206 b may confirm thatclient computer system 216 c is available for instant messaging by receiving information from its instant messagingserver computer system 202 that theclient computer system 216 c is logged on. Note that instant messaging may be performed without confirming that the intended recipient is available. However, there would be no guarantee that the recipient would receive the instant message in real time. - Although
FIG. 2 shows theserver computer system 202 as being a separate computer system from the client computer systems 206, at least some of the functionality of theserver computer system 202 may be provided by one or more of the client computer systems 206. These client computer systems would then be “advanced sending clients” having the capability to send an instant message directly to thenetwork infrastructure 230 without using theserver computer system 202. Also, the advanced sending clients are also able to determine internally whether the user specified criteria for a successful acknowledgement message have been met. In this description, this embodiment will be referred to as the “advanced sender” embodiment. The embodiment in which the sender's instant messagingserver computer system 202 is used will be referred to as the “server assisted” embodiment. - In
act 320, the sending computer system creates an instant message identifying an intended destination address. In the example,client computer system 206 b may create an instant message and identify an intended destination. In addition, in the server-assisted embodiment, the sending client computer system establishes a connection with the server computer system if needed (act 330) with the assistance of the server computer system. For example, if theclient computer system 206 b was not already connected to theserver computer system 202 theclient computer system 206 b would perform acts needed to connect to theserver computer system 202. If theclient computer system 206 b has a permanent connection to theserver computer system 202, there would, of course, be no need make a connection with theserver computer system 202. In the advanced sender embodiment, there would be no need for the sendingclient computer system 206 b to connect with the server computer system since the sendingclient computer system 206 b is capable of sending instant messages directly onto the network infrastructure. - In the server-assisted embodiment, once the instant message is created (act 320), a destination address specified (also act 320), and a connection made with the server computer system (act 330), the sending client computer system may then transmit the instant message (act 340).
- The instant message will traverse a number of different server computer systems on the way to its destination. For example, in order for an instant message to be transmitted from the
client computer system 206 b to theclient computer system 216 c, the instant message must traverse through the instant messaging server computer system 202 (if in the server assisted embodiment), through a potential myriad of server computer systems on thenetwork infrastructure 230, through the destination instant messagingserver computer system 212, and finally to the destinationclient computer system 216 c. - However, in the server-assisted embodiment, the first server computer system to receive the message after the instant message is transmitted is typically a proximate instant messaging server computer system such as the server computer system 202 (act 350). The instant messaging server computer system associated with the sending client computer system returns an acknowledgement message to the sending client computer system if certain criteria are met (act 360). For example, the
server computer system 202 may be configured to return an acknowledgement message for all instant messages sent from sendingclient computer system 206 b, for only those instant messages designated as higher priority, or for only those instant messages requested to have a corresponding acknowledgement message. In one example, the sendingclient computer system 206 b specifically designates as part of the creation of the instant message that an acknowledgement message is desired for the instant message. In this case, theserver computer system 202 will return an acknowledgement message (step 360), regardless of the content of that acknowledgement message. In the advanced sender embodiment, theclient computer system 206 b performs the functionality of theserver computer system 202 in determining whether the user specified criteria are met and returning an appropriate acknowledgement message to the user of theclient computer system 206 b. - As part of the step of returning an acknowledgement message, a determination is made of whether or not certain user-specified criteria have been met for sending a “successful” acknowledgement message. Accordingly, embodiments within the scope of the present invention include a step or means for determining whether or not certain user-specified criteria have been met for returning a “successful” acknowledgement message.
- First, the user-specified criteria are identified. These criteria are set by a user and may have been entered by the user of the sending client computer system. In the server-assisted embodiment, these user specified criteria may have been previously transmitted to the server computer system for storage in a database 240 (
FIG. 2 ) accessible by the server computer system. Alternatively, the user-specified criteria may accompany the instant message itself. In the advanced sender embodiment, the user-specified criteria may be stored in a similar database accessible by the sending client computer system. Once the user-specified criteria have been identified, a determination is made as to whether or not the applicable user-specified criteria have been met. - As an example, one set of criteria for determining whether a successful acknowledgement message should be sent is referred to as a “single hop” criteria set. Using this criteria set, if the instant message is received by the first computer system in the chain of computer systems needed to transmit the instant message, a successful acknowledgement message is returned.
- In the server-assisted embodiment, in transmitting from the
client computer system 206 b to theclient computer system 216 c, the first computer system would be the instant messagingserver computer system 202. Thus, theserver computer system 202 could determine, by the very fact that theserver computer system 202 received the instant message, that the criteria for a successful acknowledgement message have been met. - In the advanced sender embodiment, the first server computer system in the
network infrastructure 230 would indicate to the client that the server computer system received the instant message. Theclient computer system 206 b would then determine that the single hop criteria have been met and acknowledge this to the user. - Another set of criteria for determining whether a successful acknowledgement message should be sent is referred to as a “deep-or” criteria set which will now be described. In instant messaging, any destination address could potentially be a distribution list if other entities can subscribe to instant messages received by the destination address.
- For example, the destination address may be “team_members”. A number of entities may have subscribed to messages received by the destination address “team_members”. For example, suppose that entities having address “first_member”, “second_member” and “subteam_members” have subscribed to the address “team_members” by indicating that any message destined for the address “team_members” should also be forwarded to the addresses “first_member”, “second_member” and “subteam_members”. The address “team_members” functions as a destination list having three members “first_member”, “second_member” and “subteam_members”.
- Any member of a distribution list may also be a distribution list. For example, suppose that entities having addresses “first_submember” and “second_submember” subscribed to the address “subteam_members”. Any messages destined for the address “subteam_members” would also be forwarded to addresses “first_submember” and “second_submember”. Thus, any address could potentially be a distribution list and multiple distribution lists may be layered.
- If the destination address is not a distribution list (i.e., no entities have subscribed to the destination address), then “successful” delivery under the “deep-or” criteria set means that the destination address simply received the instant message. On the other hand, if the destination address is a distribution list (i.e., one or more entities have subscribed to the destination address), then “successful” delivery under the “deep-or” criteria set means that the instant message has been successful delivered under the “deep-or” criteria to any of the entities that subscribed to that destination address.
- For example, suppose that the entity represented by “first_member” receives the instant message through its subscription to “team_members”. In this case, the destination address “team_members” is a distribution list since other entities have subscribed to the destination address. Since “first_member” is not a distribution list, and since “first_member” received the instant message, delivery of the instant message to “first_member” was successful under the deep or criteria. For this reason, delivery to “team_members” was also successful under the deep or criteria. The same result would apply for similar reasons if “second_member” receives the instant message.
- Suppose now that one of “first_submember” or “second_submember” successful receives the instant message. Since neither entity is a distribution list, delivery to the entity is successful under the deep-or criteria since the submember received the instant message. However, “subteam_members” is a distribution list. Therefore, delivery is considered successful to “subteam_members” only if one of its subscribing members was successfully delivered the instant message under the “deep-or” criteria. Since delivery to one of “first_submember” or “second_submember” was successful under the “deep-or” criteria set, delivery to “subteam_members” is also deemed successful under the “deep-or” criteria. Furthermore, since “subteam_members” subscribes to “team_members”, delivery to “team_members” is deemed successful under the “deep-or” criteria.
-
FIG. 4 illustrates amethod 400 for determining whether a “successful” acknowledgement message should be returned to the user using the “deep-or” criteria set. The acts of themethod 400 are either performed by the sending computer system (i.e., the sender's instant messaging server in the server assisted embodiment, or the sending client computer system in the advanced sender embodiment) or by the destination server computer system(s). The left column ofFIG. 4 illustrates those acts that are performed by the sending computer system while the right column illustrates those acts that are performed by each destination server computer system having associated client computer systems that have subscribed to the destination address. Themethod 400 will be described using an example in which theclient computer system 206 b attempts to sends an instant message to the destination address “team_members” which has been subscribed to byclient computer systems - Immediately after receiving the instant message for distribution to the destination address “team_members”, the sending computer system typically cannot yet determine whether a “successful” acknowledgement message should be sent under the “deep-or” criteria set since the sending computer system does not know whether at least one of the subscribing
client computer system - Thus, after receiving the instant message, the sending computer system will typically forward the instant message to at least some of the subscribing client computer systems (act 410). This will involve determining what destination server computer systems exist that serve those subscribing members. In the example of the distribution list “team_members”, both destination
server computer systems client computer systems destination server systems network infrastructure 230. - Each destination
server computer system server computer system 212 delivers the instant message toclient computer system server computer system 212 and are available for instant messaging. The destinationserver computer system 222 delivers the instant message to theclient computer system 226 d which is logged in and available for instant messaging. However, destinationserver computer system 222 does not deliver the instant message toclient computer system 226 e since that client computer system is not available for instant messaging. - The destination computer systems then each return an acknowledgement message to the sending computer system (act 440). This acknowledgement message indicates at least whether delivery of the instant message to one of its associated client computer systems was successful under the “deep-or” criteria set. Assuming that the addresses corresponding to
client computer systems - Once the sending computer system receives such an acknowledgement message from one of the destination server computer system (act 450), then the sending computer system can determine that at least one of the members of the distribution list was successfully delivered the instant message under the “deep-or” criteria set (act 460). In the example, the sending computer system can send a “successful” acknowledgement message to the user as soon as it receives the acknowledgement message from either the
server computer system 212 or theserver computer system 222. - Another set of criteria for determining whether a successful acknowledgement message should be sent is referred to as a “deep-and” criteria set. The “deep-and” criteria set is much more strict that the “deep-or” criteria set in that the “deep-and” criteria set requires that all of the members in a distribution list receive the instant message before delivery to the distribution list is deemed successful. For example, take the above example, in which “first_member”, “second_member” and “subteam_members” subscribed to “team_members” and in which “first_submember” and “second_submember” subscribed to “subteam_members.” If “second_submember” was not successfully delivered the instant message, then delivery of the instant message to “subteam_members” is not deemed successful since one of its members “second_submember” did not receive the instant message. Likewise, delivery to “team_members” is not deemed successful since delivery to one of its members “subteam_members” was not deemed successful.
-
FIG. 5 illustrates amethod 500 for determining whether a “successful” acknowledgement message should be returned to the user using the “deep-and” criteria set. The acts of themethod 500 are either performed by the sending computer system (i.e., the sender's instant messaging server in the server assisted embodiment, or the sending client computer system in the advanced sender embodiment) or by the destination server computer system. The left column ofFIG. 5 illustrates those acts that are performed by the sending computer system while the right column illustrates those acts that are performed by each destination server computer system. Themethod 500 will also be described using the example in which theclient computer system 206 b attempts to sends an instant message to the distribution list “team_members” which includeclient computer systems - Immediately after receiving the instant message for distribution to member of the distribution list “team_members”, the sending computer system may be able to determine if any of the members of the distribution list are unavailable for instant messaging (decision block 510). If any are unavailable, the sending computer system may be able to determine that the “deep-and” criteria will not be satisfied even before attempting to send the instant message to members of the distribution list. In this case (yes in decision block 510), the sending
computer system 202 may immediately return a “failed” acknowledgement message (act 580) to the user even before any acknowledgement messages are received back from the destination computer system. - If the sending computer system cannot confirm that any of the members of the distribution list are unavailable for instant messaging (no in decision block 510), then the sending computer system would need to confirm delivery by attempting to deliver the instant message to each member of the distribution list (act 520). The sending computer system may, of course, also attempt to deliver the instant message to as many on the distribution list as possible even though the sending computer system may have determined that some on the distribution list may not be available for delivery of the instant message.
- The forwarding of the instant message may involve identifying each destination server computer system that is associated with a client computer system in the distribution list. In the example, the instant message is forwarded to both
destination server systems network infrastructure 230. - Each destination
server computer system server computer system 212 delivers the instant message toclient computer system server computer system 212 and are available for instant messaging. The destinationserver computer system 222 delivers the instant message to theclient computer system 226 d which is logged in and available for instant messaging. However, the instant message is not received byclient computer system 226 e since that client computer system is not available for instant messaging. - The destination computer systems then each return an acknowledgement message to the sending computer system (act 550). This acknowledgement message indicates at least whether delivery of the instant message was successful to all of its associated client computer systems that are included in the distribution list.
- Once the sending computer system receives such an acknowledgement message from all of the destination server computer systems that have associated client computer system in the distribution list (act 560), then the sending computer system can determine that at least all of the client computer systems in the distribution list successfully received the instant message under the “deep-and” criteria set. (act 570). In the example, the sending computer system cannot send a “successful” acknowledgement message to the user since the sending computer system would not have received a successful acknowledgement message from one of the destination
server computer systems 222. This is because thedestination computer system 222 could not deliver the instant message to theclient computer system 226 e since that client computer system was unavailable for instant messaging. - While the “single hop”, “deep-or” and “deep-and” criteria sets have been specifically described, there may be any other criteria set that may be defined for a “successful” acknowledgement message. For example, the user may define a time frame that delivery of the instant message must be completed by in order to be considered a successful delivery. Also, the user may specify which members of the distribution list must receive the instant message in order to be considered a successful delivery. Also, a user may specify that delivery to the destination server may be sufficient to constitute “successful” delivery even if that instant message is not immediately forwarded to the client computer system.
- The user may specify the criteria set that must be satisfied. Alternatively, the sending computer system or some other server computer system may determine automatically what criteria set must be satisfied in order to be considered a successful delivery of the instant message. For example, if the destination address is a distribution list and the instant message has a normal priority, a “deep-or” criteria set may be used in reporting on a successful delivery. On the other hand, if the instant message has a high priority, a “deep-and” criteria set may be used in reporting a successful delivery.
- The above describes a system and method for determining and selecting criteria sets for use in acknowledgement messages in instant messaging. The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (24)
1. In a computer network that includes a plurality of networked computer systems, wherein a sending computer system sends an instant message through a chain of one or more computer systems to a destination computer system, a method of acknowledging delivery of the instant message, wherein the criteria for determining the success or failure of the delivery are user specified, the method comprising the following:
an act of the sending computer system identifying the user specified criteria for returning a successful acknowledgement message corresponding to the instant message;
an act of the sending computer system sending the instant message to the destination computer system and receiving a successful acknowledgement message;
an act of the sending computer system, upon receiving a successful acknowledgement message, determining whether the user specified criteria for returning a successful acknowledgement message are met; and
an act of the sending computer system returning a successful acknowledgement message corresponding to the instant message only if the user specified criteria have been met.
2. A method in accordance with claim 1 , wherein the sending computer system comprises a server computer system associated with a sending client computer system.
3. (canceled)
4. A method in accordance with claim 3 , wherein the act of the computer system identifying the user specified criteria for returning a successful acknowledgement message comprises the following:
an act of the sending server computer system receiving a data field representing the user specified criteria with the instant message; and
an act of the sending server computer system reading the data field to identify the user specified criteria.
5. (canceled)
6. (canceled)
7. A method in accordance with claim 1 , wherein
the user specified criteria is a “deep or” criteria, and
the act of the sending computer system determining whether the user specified criteria for returning a successful acknowledgement message are met comprises an act of determining that at least one of the intended recipients successfully received the instant message under the “deep or” criteria.
8. A method in accordance with claim 7 wherein the act of determining that at least one of the intended recipients received the instant message comprises the following:
an act of the computer system transmitting the instant message to the next computer system in the chain of computer systems along with an indication that the user specified criteria for returning a successful acknowledgement message is that at least one of the intended recipients successfully received the instant message under the “deep or” criteria;
an act of the computer system receiving an acknowledgement message from the next computer system in the chain of computer systems indicating whether or not at least one of the intended recipients successfully received the instant message under the “deep or” criteria; and
an act of the computer system determining that at least one of the intended recipients has received the instant message if the acknowledgement message from the next computer system indicates that at least one of the intended recipients successfully received the instant message under the “deep-or” criteria.
9. A method in accordance with claim 1 , wherein
the user specified criteria is a “deep and” criteria, and
the act of the sending computer system determining whether the user specified criteria for returning a successful acknowledgement message are met comprises an act of the sending computer system determining that all of the intended recipients successfully received the instant message under the “deep and” criteria.
10-15. (canceled)
16. A computer-readable medium containing instructions for controlling a sending computer system to determine whether delivery of an instant message was successful, by a method comprising:
sending via a computer network the instant message to a destination computer system;
receiving via the computer network a successful acknowledgement message for the instant message;
determining whether the successful acknowledgement message satisfies a user-specified criterion for success of delivery of the instant message; and
when it is determined that user-specified criterion is satisfied, indicating that delivery of the instant message was successful.
17. The computer-readable medium of claim 16 wherein the sending computer system receives the instant message from a client computer system that originated the instant message and provides the user-specified criterion.
18. The computer-readable medium of claim 17 wherein the indicating includes sending a successful acknowledgement message to the client computer system.
19. The computer-readable medium of claim 16 wherein the sending computer system is a client computer system that originates the instant message and the indicating includes notifying a user that the delivery of the instant message was successful.
20. The computer-readable medium of claim 16 wherein the instant message is sent to multiple destination computer systems and the user-specified criterion specifies that the delivery is successful when at least one destination computer system receives the instant message.
21. The computer-readable medium of claim 16 wherein the instant message is sent via a chain of one or more computer systems to the destination computer system and the user-specified criterion specifies that the delivery is successful when at least one of the computer systems in the chain receives the instant message.
22. The computer-readable medium of claim 21 wherein the delivery is successful when the first computer system in the chain receives the instant message.
23. A sending computer system for determining whether delivery of an instant message sent via a network was successful, comprising:
a component that sends via the network the instant message to a destination computer system;
a component that receives via the network a successful acknowledgement message for the sent instant message; and
a component that indicates delivery of the instant message was successful when the successful acknowledgement message satisfies a user-specified criterion for successful delivery of the instant message.
24. The system of claim 23 wherein the sending computer system receives the instant message from a client computer system that originated the instant message and provides the user-specified criterion.
25. The system of claim 24 wherein the component that indicates delivery of the instant message was successful sends a successful acknowledgement message to the client computer system.
26. The system of claim 23 wherein the sending computer system is a client computer system that originated the instant message and the component that indicates notifies a user that the delivery of the instant message was successful.
27. The system of claim 23 wherein the instant message is sent to multiple destination computer systems and the user-specified criterion specifies that the delivery is successful when at least one destination computer system receives the instant message.
28. The system of claim 23 wherein the instant message is sent to multiple destination computer systems and the user-specified criterion specifies that the delivery is successful when all the destination computer systems receive the instant message.
29. The system of claim 23 wherein the instant message is sent via a chain of one or more computer systems of the network to the destination computer system and the user-specified criterion specifies that the delivery is successful when at least one of the computer systems in the chain receives the instant message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/255,774 US20060101123A1 (en) | 2000-02-29 | 2005-10-21 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18582700P | 2000-02-29 | 2000-02-29 | |
US09/713,488 US6978293B1 (en) | 2000-02-29 | 2000-11-15 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
US11/255,774 US20060101123A1 (en) | 2000-02-29 | 2005-10-21 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/713,488 Continuation US6978293B1 (en) | 2000-02-29 | 2000-11-15 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060101123A1 true US20060101123A1 (en) | 2006-05-11 |
Family
ID=35465705
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/713,488 Expired - Lifetime US6978293B1 (en) | 2000-02-29 | 2000-11-15 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
US11/255,774 Abandoned US20060101123A1 (en) | 2000-02-29 | 2005-10-21 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/713,488 Expired - Lifetime US6978293B1 (en) | 2000-02-29 | 2000-11-15 | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Country Status (1)
Country | Link |
---|---|
US (2) | US6978293B1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978293B1 (en) * | 2000-02-29 | 2005-12-20 | Microsoft Corporation | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
ES2349353T3 (en) * | 2000-07-13 | 2010-12-30 | Nokia Corporation | TREATMENT OF INSTANT MESSAGES IN CASE OF NON AVAILABILITY OF THE RECEIVER. |
US7269622B2 (en) * | 2001-07-26 | 2007-09-11 | International Business Machines Corporation | Watermarking messaging sessions |
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 |
US8150922B2 (en) * | 2002-07-17 | 2012-04-03 | Research In Motion Limited | Voice and text group chat display management techniques for wireless mobile terminals |
DE102004053597B4 (en) * | 2004-11-05 | 2008-05-29 | Infineon Technologies Ag | A method for automatically generating and / or controlling a telecommunications conference with a plurality of subscribers, telecommunication conference terminal and telecommunication conference server |
US20060277229A1 (en) * | 2005-05-31 | 2006-12-07 | Michihiro Yoshida | Document management server, information terminal, document managing method, and program |
US20070143417A1 (en) * | 2005-12-15 | 2007-06-21 | Daigle Brian K | Instant messaging confirmation and receipt |
US10193838B2 (en) | 2015-03-06 | 2019-01-29 | Microsoft Technology Licensing, Llc | Conditional instant delivery of email messages |
US10425414B1 (en) * | 2015-08-31 | 2019-09-24 | United Services Automobile Association (Usaa) | Security platform |
CN108933727B (en) * | 2017-05-25 | 2022-09-27 | 中兴通讯股份有限公司 | Message receipt processing method and device |
US11481509B1 (en) | 2018-07-10 | 2022-10-25 | United Services Automobile Association (Usaa) | Device management and security through a distributed ledger system |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920697A (en) * | 1996-07-11 | 1999-07-06 | Microsoft Corporation | Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing |
US6067567A (en) * | 1997-02-20 | 2000-05-23 | International Business Machines Corporation | Message distribution capability which uses distribution nodes to collect acknowledgements for a primary node |
US6192417B1 (en) * | 1999-03-30 | 2001-02-20 | International Business Machines Corporation | Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network |
US6195687B1 (en) * | 1998-03-18 | 2001-02-27 | Netschools Corporation | Method and apparatus for master-slave control in a educational classroom communication network |
US6212548B1 (en) * | 1998-07-30 | 2001-04-03 | At & T Corp | System and method for multiple asynchronous text chat conversations |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US6310888B1 (en) * | 1997-12-30 | 2001-10-30 | Iwork Software, Llc | System and method for communicating data |
US6477243B1 (en) * | 1998-04-29 | 2002-11-05 | Openwave Systems Inc. | Method and apparatus for automated facsimile message confirmation |
US6484196B1 (en) * | 1998-03-20 | 2002-11-19 | Advanced Web Solutions | Internet messaging system and method for use in computer networks |
US6499053B1 (en) * | 1999-06-30 | 2002-12-24 | International Business Machines Corporation | Master/slave architecture for a distributed chat application in a bandwidth constrained network |
US6549937B1 (en) * | 1999-07-21 | 2003-04-15 | Microsoft Corporation | System and method for multi-protocol communication in a computer network |
US6564359B2 (en) * | 2000-11-29 | 2003-05-13 | Nec Electronics Corporation | Clock control circuit and method |
US6615241B1 (en) * | 1997-07-18 | 2003-09-02 | Net Exchange, Llc | Correspondent-centric management email system uses message-correspondent relationship data table for automatically linking a single stored message with its correspondents |
US6668169B2 (en) * | 2000-02-14 | 2003-12-23 | Motorola, Inc. | Method for communicating within a chat topic in a wireless communication system |
US6691162B1 (en) * | 1999-09-21 | 2004-02-10 | America Online, Inc. | Monitoring users of a computer network |
US6760754B1 (en) * | 2000-02-22 | 2004-07-06 | At&T Corp. | System, method and apparatus for communicating via sound messages and personal sound identifiers |
US6807562B1 (en) * | 2000-02-29 | 2004-10-19 | Microsoft Corporation | Automatic and selective assignment of channels to recipients of voice chat data |
US6912656B1 (en) * | 1999-11-30 | 2005-06-28 | Sun Microsystems, Inc. | Method and apparatus for sending encrypted electronic mail through a distribution list exploder |
US6978293B1 (en) * | 2000-02-29 | 2005-12-20 | Microsoft Corporation | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654359B1 (en) * | 1998-12-11 | 2003-11-25 | Lucent Technologies Inc. | Wireless access to packet-based networks |
US6611822B1 (en) * | 1999-05-05 | 2003-08-26 | Ac Properties B.V. | System method and article of manufacture for creating collaborative application sharing |
US6564261B1 (en) * | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
US6691159B1 (en) * | 2000-02-24 | 2004-02-10 | General Electric Company | Web-based method and system for providing assistance to computer users |
-
2000
- 2000-11-15 US US09/713,488 patent/US6978293B1/en not_active Expired - Lifetime
-
2005
- 2005-10-21 US US11/255,774 patent/US20060101123A1/en not_active Abandoned
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920697A (en) * | 1996-07-11 | 1999-07-06 | Microsoft Corporation | Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing |
US6067567A (en) * | 1997-02-20 | 2000-05-23 | International Business Machines Corporation | Message distribution capability which uses distribution nodes to collect acknowledgements for a primary node |
US6615241B1 (en) * | 1997-07-18 | 2003-09-02 | Net Exchange, Llc | Correspondent-centric management email system uses message-correspondent relationship data table for automatically linking a single stored message with its correspondents |
US6310888B1 (en) * | 1997-12-30 | 2001-10-30 | Iwork Software, Llc | System and method for communicating data |
US6195687B1 (en) * | 1998-03-18 | 2001-02-27 | Netschools Corporation | Method and apparatus for master-slave control in a educational classroom communication network |
US6484196B1 (en) * | 1998-03-20 | 2002-11-19 | Advanced Web Solutions | Internet messaging system and method for use in computer networks |
US6477243B1 (en) * | 1998-04-29 | 2002-11-05 | Openwave Systems Inc. | Method and apparatus for automated facsimile message confirmation |
US6212548B1 (en) * | 1998-07-30 | 2001-04-03 | At & T Corp | System and method for multiple asynchronous text chat conversations |
US6192417B1 (en) * | 1999-03-30 | 2001-02-20 | International Business Machines Corporation | Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network |
US6499053B1 (en) * | 1999-06-30 | 2002-12-24 | International Business Machines Corporation | Master/slave architecture for a distributed chat application in a bandwidth constrained network |
US6301609B1 (en) * | 1999-07-07 | 2001-10-09 | Lucent Technologies Inc. | Assignable associate priorities for user-definable instant messaging buddy groups |
US6549937B1 (en) * | 1999-07-21 | 2003-04-15 | Microsoft Corporation | System and method for multi-protocol communication in a computer network |
US6691162B1 (en) * | 1999-09-21 | 2004-02-10 | America Online, Inc. | Monitoring users of a computer network |
US6912656B1 (en) * | 1999-11-30 | 2005-06-28 | Sun Microsystems, Inc. | Method and apparatus for sending encrypted electronic mail through a distribution list exploder |
US6668169B2 (en) * | 2000-02-14 | 2003-12-23 | Motorola, Inc. | Method for communicating within a chat topic in a wireless communication system |
US6760754B1 (en) * | 2000-02-22 | 2004-07-06 | At&T Corp. | System, method and apparatus for communicating via sound messages and personal sound identifiers |
US6807562B1 (en) * | 2000-02-29 | 2004-10-19 | Microsoft Corporation | Automatic and selective assignment of channels to recipients of voice chat data |
US6978293B1 (en) * | 2000-02-29 | 2005-12-20 | Microsoft Corporation | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging |
US6564359B2 (en) * | 2000-11-29 | 2003-05-13 | Nec Electronics Corporation | Clock control circuit and method |
Also Published As
Publication number | Publication date |
---|---|
US6978293B1 (en) | 2005-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246332B2 (en) | Enhanced messaging platform | |
US6427164B1 (en) | Systems and methods for automatically forwarding electronic mail when the recipient is otherwise unknown | |
US7930358B2 (en) | Method and apparatus for efficiently managing “messages sent” file and resending of messages from mobile wireless communication device | |
EP1488330B1 (en) | Method for forming groups | |
US6415318B1 (en) | Inter-enterprise messaging system using bridgehead servers | |
US6654790B2 (en) | Technique for enabling wireless messaging systems to use alternative message delivery mechanisms | |
JP4574989B2 (en) | Apparatus and method for distributing electronic messages to wireless data processing equipment | |
US7844716B2 (en) | Instant messaging architecture and system for interoperability and presence management | |
KR100936189B1 (en) | Method and apparatus for instant messaging | |
CA2552057C (en) | Automatic patient record update enabled clinical messaging | |
CA2544717C (en) | Storing, sending and receiving text message threads on a wireless communication device | |
US20040019695A1 (en) | Messaging system and method using alternative message delivery paths | |
US20110295642A1 (en) | Communication device with capability for handling conditional acceptance of meeting requests | |
US6978293B1 (en) | Methods and systems for selecting criteria for a successful acknowledgement message in instant messaging | |
US20070005711A1 (en) | System and method for building instant messaging applications | |
CA2589522C (en) | Method and apparatus for efficiently managing "messages sent" file and resending of messages from mobile wireless communication device | |
US7826406B2 (en) | Storing, sending and receiving text message threads on a wireless communication device | |
WO2001001264A1 (en) | Enterprise messaging system and method | |
JP3620247B2 (en) | Mailing list delivery control apparatus and method | |
JP2002051071A (en) | Electronic mail automatic transfer system | |
EP1388985A1 (en) | Method and system for handling e-mail tasks within a HAVi system based home network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034543/0001 Effective date: 20141014 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WONG, LEON;AGGARWAL, SUDHANSHU;BEEBEE, PETER;SIGNING DATES FROM 20000728 TO 20000830;REEL/FRAME:043714/0642 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |