The present invention concerns to an instant-messaging system, which includes
In addition, the invention also concerns to a corresponding method, messaging device, and program product for implementing the instant messaging according to the invention.
Various instant-messaging applications i.e. ‘chats’ are known from wireless messaging devices. Starting and using instant-messaging, i.e. IM services require users to have received, in their messaging device, the settings demanded by the service. Settings are required for being in contact with the particular IM server arranged in the data-transmission network and, through it, for communicating with other messaging users. These settings are, for example, the access point of the service, i.e. the address of the server (IP address), as well as the user ID and possible password.
However, there are several practical problems associated with the prior art, relating to the implementation of IM services. One such problem is the strong server-centeredness of the implementations. According to the prior art, it is necessary to login to the instant message server. This means that it may not necessarily be possible to guarantee any longer the privacy of the parties. In addition, transmission of messaging from one device to another takes place through the server/as organized by the server. In addition, for the server to be able to serve all those messaging parties, it will require a great processing capability. Such servers and their maintenance are highly cost-intensive. In general, server-centeredness limits the implementability of instant-messaging systems in various situations.
A second practical problem is the diversity of the equipment. This is emphasized particularly in the case of portable devices. This is because many modern devices are namely equipped with various messaging capabilities, of which can even be many in a device. The messaging capabilities of devices can differ from each other, which will cause problems in messaging. A message that is sent in a specific format by one device may namely not necessarily appear correctly, or even at all in another device, if that device does not support the messaging format. It is difficult to determine the capabilities of the devices of other users, which may even change along with a change of device, which may lead to messaging not having the rich content that it has at the best of times.
An intention of the present invention is to create a new type of instant-messaging system. Owing to the invention the instant-messaging system can be implemented substantially more easily and simply, compared to known solutions. Owing to the invention the number of those contactable by instant messaging will also be increased. Further, the invention is also intended to create a corresponding method, by means of which an instant-messaging service can be implemented in a simple manner, between practically all parties capable of using instant messaging in a data-transmission network system.
The instant-messaging system according to one embodiment comprises one or more messaging devices equipped with individuating addresses, said messaging device including at least a client functionality and a transceiver or data-reception-transmission means for performing instant messaging between the messaging devices and messaging capabilities, which messaging capabilities differ at least partly between the messaging devices; and a server functionality arranged to maintain information on the messaging capabilities of the messaging devices belonging to the instant-messaging system.
The method according to one embodiment comprises performing instant messaging using one or more messaging devices equipped with individuating addresses and with messaging capabilities, which differ at least partly from each other; and using a server functionality to maintain information on the messaging capabilities of the messaging devices participating in the instant messaging.
The messaging device according to one embodiment comprises a client functionality and data-transmission device or means, and an address, individuating the messaging device in an instant-messaging system, and messaging capabilities, which differ at least partly from the messaging capabilities of other messaging devices belonging to the instant-messaging system, wherein the messaging device is arranged to maintain information on the messaging capabilities of the other messaging devices belonging to the instant-messaging system.
The program product according to one embodiment comprises a computer readable memory medium and program code written on the memory medium configured, when run on a messaging device, to perform instant messaging with other messaging devices belonging to an instant-messaging system, wherein the program code comprises instructions that maintain information on the messaging capabilities of the other messaging devices belonging to the instant-messaging system.
In the invention, information is maintained concerning the messaging capability of each device. Owing to that smooth instant-messaging can be performed, even between devices with messaging capabilities differing greatly from each other. By recognizing the messaging capabilities of the other party and the capabilities of the device itself, messaging can be performed in a manner that includes the richest content possible.
According to one embodiment, information on the messaging capabilities of the devices is maintained using a server functionality. According to one embodiment, the server functionality is, surprisingly, in the messaging devices themselves. This means that the network system requires no special instant-messaging server, through which messaging must be performed.
Owing to the invention, the advertising of capabilities to other devices also takes place efficiently and simply. In addition, user interaction has been minimized, for example, when joining instant messaging. This is important, as the end user cannot be assumed to possess advanced configuration abilities, in order to join instant messaging.
The invention also permits instant messaging even without an actual physical network system. In that case, the messaging devices themselves take care of generating and managing the addresses. The other characteristic features of the invention will become apparent from the accompanying Claims while additional advantages achieved are itemized in the description portion.
The invention, which is not restricted to the embodiments disclosed in the following, is examined in greater detail with reference to the accompanying figures, in which
In the invention, the data-transmission network 10, in which the instant messaging is performed, essentially consists of a single block. The network 10 can be of a type that is, as such, already known, or still being developed. One first example of a data-transmission network is a wireless and/or wired local area network. The wireless network can be, for example, of a Bluetooth or WLAN (Wireless Local Area Network) type. The wired network can be, for example, Ethernet or IP network formed by PC computers. The network system 10 can also consist of several network systems, which are connected to each other, but which nevertheless essentially form a single unified and logical segment. In such a system, the possible Multicast relaying of a network element 22 (see
According to one embodiment, the data-transmission network 10 can be a packet-data network, such as, for example IP-based (Internet Protocol), in which case instant the messaging performed in the network 10 takes place in packet form.
The data-transmission network 10 can include network components 22 that are, as such, known, for permitting instant messaging and transmitting between the messaging devices 11.1-11.4 instant messaging in it. More generally, it is possible to refer to the basic infrastructure 22 of the data-transmission network 10. In this connection these components 22 will not be itemized in greater detail, as in terms of the invention they can even be, as such, of types known to one versed in the art, for transmitting/permitting traffic between the devices 11.1-11.4, the arrangement of which can in practice be taken care of in several different ways.
Thus, in the network 10 there can be a numerous group of messaging devices 11.1-11.4 sending instant messages between themselves.
The messaging devices 11.1-11.4 are equipped with messaging capabilities 13.1-13.4 (see
the art will understand that in addition to these basic capabilities 13.1-13.4, the devices 11.1-11.4 can have still other messaging capabilities, for example, capabilities for combinations formed from the basic capabilities 13.1-13.4, such as, for example, the device 11.4 of the user Jill can have multimedia messaging (MMS) 13.5.
Each of the devices 11.1-11.4 can be equipped with individuating addresses IP1-IP4 (see
In addition to the client functionality IMC2, the device 11.2 may, in this case, also include a server functionality IMS2 (program code or code means 31.8), which in that is performed by the CPU. The server functionality IMS2 arranged in the device 11.2 is used to achieve a surprising zero-configuration feature and also networking ‘invisibility’. Owing to that, it is no longer necessary to maintain in the same sub-network (segment) 10 a separate server, arranged specifically for instant messaging, as is done in implementations according to the prior art. The server functionality IMS2 in the device 11.2 can have several other tasks. In any event, it can also be used to maintain information on other messaging devices 11.1-11.4 connected to the instant-messaging system IM.
More particularly, the server functionality can comprise, as modules, a Messaging Framework Control Point module 14, a Messaging Framework Device module 15, a Messaging Framework Engine module 16, and a Messaging Framework Application module 17. The Messaging Framework Application module 17 controls the Messaging Framework Engine 16 and a Multimedia Framework module 18. The Messaging Framework Engine 16 provides interfaces (API) with applications. The Multimedia Framework module 18 is the server's IMS2 link to the operating-system level. The Messaging Framework Control Point module 14 and the Messaging Framework Device module 15 are connected, for example, to a UPnP protocol stack 20, which is, in turn, linked to the transceiver or data reception-transmission means 12 (which may include a separate transmitter and receiver in different structures). The following is a more detailed description of the tasks of these modules in the device 11.2 and in the method.
Connection to the system IM can be performed in several different ways. However, the connection to the system IM and its operation are characterized by being dynamical and an address being obtained for the device 11.2 without user interaction.
According to a first embodiment, the basic infrastructure 22 of the data-transmission network 10 can include a functionality 22′, such as a DHCP server (Dynamic Host Configuration Protocol), for automatically generating and distributing identifiers, such as, for example addresses IP1-IP4, individuating the messaging devices 11.1-11.4 in the network 10. In practice, this functionality 22′ can be, for example, in the WLAN base station 22. When advertising its existence/desire to connect to the network 10, and more particularly to perform instant messaging in it, the device 11.2 can express this to the network 10 in a manner that is as such known, as a result of the activation of the device's 11.2 instant-messaging application IMC2, IMS2 (stage 300). In order to take care of this, the device 11.2 can be equipped with, for example, a DHCP client functionality, which then, as stage 301, sends the network 10 a ‘GET IP’ message. As a result, the device 11.2 receives spontaneously from the functionality 221 in the network 10, as stage 302 ‘SEND IP’, an address IP2, which is linked to the device 11.2, and which it should in the future use in the network 10 when messaging with the other devices 11.1, 11.3, 11.4.
According to a second embodiment, when connecting for the first time to the data-transmission network 10, the messaging device 11.2 can also itself search for the functionality 22′ belonging to the basic infrastructure 22 of the data-transmission network 10, in order to obtain the address IP2 to the device 11.2 individuating the messaging device 11.2. If the search does not appear to produce the set result, i.e. the DHCP server is not available or does not even exist at all, i.e. a ‘Send IP’ response is not obtained, the server functionality in the messaging device 11.2 itself can perform for itself a generating process that is, as such, known in order to form an address IP2 individuating itself unambiguously in the instant-messaging system IM. In this case, it is possible to apply, for example, automatic IP addressing (Auto IP, a defined property of the IETF standard). The device 11.2 can generate, for example, with its DHCP client functionality, an address candidate for itself, for example, from the IP address space 169.254.0.0/16. Generally too the address can be generated, for example, from an unrouted, fixed, and well known, for example, from the address space reserved for the local network use (‘reserved link-local block’).
After generating the address, which can be implemented, for example, as random generation, the ARP (Address Resolution Protocol) protocol request concerning the address can be sent to the other devices 11.1, 11.3, 11.4 already belonging to the system for checking. If the address in question is not held by any of the devices 11.1, 11.3, 11.4 already in the system, the device 11.2 can take it for itself. If it transpires that the address in question is already reserved, new generating and checking is performed as often as necessary, until a free address is found. If the system IM is an Auto IP of this kind, the devices 11.1-11.4 can also from time to time check whether the network has possibly acquired a DHCP server functionality 22′. For this operation totality, there can be program code or a code means 31.5 in the device 11.2, by means of which matters relating to addressing can be handled.
Once the device 11.2 has, for example, as a result of stages 301 and 302, obtained its address IP2 for messaging in the instant-messaging system IM, it can next, as stage 303, inform the other devices 11.1, 11.3, 11.4 that are already in the system of its connection to the system IM, and can also search for other devices 11.1, 11.3, 11.4 that are already in the network 10. Of course, the advertising can also be performed after connecting, for example, at regular intervals.
According to one embodiment, the discovery protocol SSDP (Simple Service Discovery Protocol), for example, can be applied when the device 11.2 is advertising its own capabilities and searching for new devices. Notification of the existence of the device 11.2 is shown by the ‘SEND MULTICAST MESSAGE’ message in the event diagram of
As a result of publishing its presence, in stage 303 the messaging device 11.2 spontaneously publishes its own messaging capabilities 13.1-13.3 to all of the other messaging devices 11.1, 11.3, 11.4 already connected to the instant messaging system IM and, in addition, also the name/nickname ‘Jim’ of its user, as well as its IP address IP2. At a module level, the publication is handled by the device's 11.2 Messaging Framework Service module 15 (program code or code means 31.2, 31.3). It permits the device 11.2 to publish a device description/resources/services concerning itself, or at least their source (description document URL) to the other devices 11.1, 11.3, 11.4 of the network 10, and even more particularly to their Control Points 14. This can be handled, for example, as an XML document (eXtensible Markup Language).
In addition to the server functionality IMS of the messaging device 11.2 publishing its messaging capabilities concerning itself to the other messaging devices 11.1, 11.3, 11.4, it, and of course in that case the other devices 11.1, 11.3, 11.4 that already belong to the system IM, also maintain information on the messaging capabilities 13.1-13.4 of the other messaging devices 11.1, 11.3, 11.4. For this purpose, the devices 11.1-11.4 are equipped with a Messaging Framework Control Point module 14. As a result of a Multicast message, each device 11.1-11.4 updates its own database 21, in which information is maintained concerning the devices 11.1-11.4 that have connected to, i.e. are present in the system IM, and particularly of the services that they have advertised (i.e. now their messaging capabilities 13.1-13.4). In particular, information is maintained in the database 21 on these devices which have at least partly the same messaging properties/profiles as the device in question itself. This can be handled by program code or code means 31.1.
The messaging devices 11.1-11.4 can also spontaneously map other messaging devices 11.1-11.4 that are connected to the instant-messaging system IM, in order to maintain information concerning their messaging capabilities 13.1-13.4. This mapping can be performed routinely by the device 11.2, for example, at regular intervals, or at in connection with connecting to the system IM. For this purpose there can be program code or code means 31.4 in the devices 11.1-11.4. At a module level, this can also be handled by the Messaging Framework Control Point module 14, using the SSDP protocol. In the event diagram of
If a new, as yet unknown device is found, the device 11.2 sending the query can, as stage 306, send by the Messaging Framework Control Point module 14 an HTTP request concerning the device description of the device 11.1 (‘REQUEST DEVICE DESCRIPTION’). Correspondingly, the device 11.1 replying to the request responds, as stage 307, to the request by using the module 14 to return its device description, for example, in XML format, to the device 11.2 that requested it, which correspondingly updates its own device database 21 on the basis of the information it has received. In the discovery stage (303, 304, 305) the discovery message exchanged can contain only a few essential definitions of the device and its services. Some examples of these are device type, identifier, and an indicator (DescriptionURL) to more detailed information (device/service description document). The actual description document (device/service description document), which is received after the discovery stage, describes the device 11.1 and all the devices (for example, camera) integrated in it, the services supported by the device 11.1 (messaging capabilities 13.1-13.2), manufacturer information, device version, the device's 11.1 website, serial number, etc. At the same time, a list is obtained of the functions of the services 13.1-13.2 and their possible variables. The description document is a fuller information package than, for example, the information provided in the discovery stage. Each device updates its database 21 on the basis of the information provided by the description document and parsed from it by the XML parser 27. This stage too can be handled without user interaction, thus making instant messaging easy and user-friendly.
Next, in the event diagram actual instant messaging between the devices 11.1-11.4 is performed. A suitable communications protocol and media format are selected in the user interface UI of the instant-messaging client application, taking into account the messaging capabilities of the receiving party. Stated generally, on the basis of the information concerning the messaging capabilities of the other devices 11.1, 11.3, 11.4 and the device's 11.2 own messaging capabilities, the messaging device 11.2 can select/propose one or more compatible communications protocols and media formats (=way of performing messaging), using which it then performs messaging with one or more other messaging devices 11.1, 11.3, 11.4. In addition to the invention permitting one-to-one messaging, it is also suitable for broadcast type messaging and group messaging (one-to-many). The MDCP can be configured in such a way that, once the user has selected the recipient(s), the device 11.1 automatically presents the possible forms of messaging, which are supported by the device/devices of the desired recipient/recipients. Through this property, the most effective and content-rich messaging possible is permitted, even between devices with messaging capabilities that differ greatly from each other. The device 11.2 can contain program code or code means 31.1, 31.2 for this purpose.
Before stage 308, the message M1 intended for transmission is formed by the user (Jim), using the device 11.2. The user can write the message M1 using the instant-messaging application's MDCP own editor, select an image or video file (image gallery/clip) to be sent as the message, record the message M1 by dictation, or in some other way, depending on the device's 11.2 own capabilities and the known capabilities of the device 11.1 set to be the recipient. In the device 11.2, this is handled by the Messaging Framework Application module 17, which takes into account the capabilities 13.1, 13.2 of the device 11.1 set to be the recipient. Instead of recorded dictation, instant messaging can also take place as a realtime discussion, in which half-duplex or duplex traffic (Poc) can be applied.
Once a message M1 that takes into account the capabilities of the device 11.1 of the recipient Jane has been created, the device 11.2 sends, as stage 308, the network 10 a ‘MESSAGE ACTION REQUEST’ control message. In this case, it is possible to apply, for example, the SOAP (Simple Object Access Protocol) protocol defined in the W3C standard, which also uses XML for expressing the content of the message and the HTTP protocol (over TCP) for transporting the message. The device 11.2 then, in a manner that is as such known, invokes the device 11.1 receiving the instant message M1. The basic infrastructure 22 of the network 10 relays the request to the devices 11.1, 11.3, 11.4 connected to the network 10, of which devices 11.1, 11.3, 11.4 the device 11.1 equipped with the recipient's address IP1 and more specifically its ControlURL picks it up. As stage 309, the device 11.1 defined as the recipient downloads the message M1 from the device 11.2 that has sent it, using the set protocol, for example HTTP. In the same connection, the results or error messages are returned to the Control Point module 14 of the device 11.2 that has initiated the messaging. For the operations in question, there can be program code or code means 31.6 in the devices 11.1-11.4, while it may have been possible to harness the Messaging Framework Control Point module 14 to handle the matter.
Once the message M1 has been downloaded, the device 11.1 that has received the message M1 can send, as stage 310, a state-variable message ‘MESSAGE RECEIVED NOTIFY=True’ expressing in the present value (=True) the success of the reception of the message M1. This can be handled, for example, according to the GENA (General Event Notification Architecture) procedure defined by the IETF. In other words, the Messaging Framework Control Point 14 of the device 11.1 that has received the instant message M1 in the instant messaging acknowledges the state concerning the downloaded instant message M1 to the Messaging Framework Control Point 14 (subscriber) of the device 11.2 sending the instant message M1. There can be program code or code means 31.7 for this purpose in the devices 11.1-11.4.
The program code 31 can comprise several code modules or code means 32.1-32.8 to be executed by the CPU or processor means, the operation of which is described in the event description presented above. The codes can form a group of consecutively performed processor commands, by means of which the functionalities desired in terms of the invention are achieved.
The invention can be applied in numerous different situations, to which the invention is in no way intended to be restricted. Owing to the invention, it is possible to implement new value-added services on top of already existing architectures. One example can be offices equipped with a wireless local area network, in the intranet of which the instant-messaging system operates. For example, the addressing and connection to the system IM, which take place in such embodiments without user interaction, achieve great advantages, because several connections to and disconnections from the system IM can take place daily, in which case no operations are required to be performed by the user in connection with each connection. Because the users can also be grouped, a message can also be sent to all the members of the group. In a dwelling equipped with a wireless local area network, instant messaging can be performed between the rooms in the same way as using a radio telephone. In cafes and in public places various chat services, for example, a dating service, which enrich social life become possible. Because the user cannot always know where services according to the invention are available, spontaneous configuration that takes place without human intervention and, in addition, the determining and maintenance of the messaging capabilities concerning other devices will bring obvious advantages to instant messaging.
One example of a profile, by means of which the invention can be implemented and in the light of which it has been above described, is UPnP (Universal Plug and Play). It permits devices in the same network context to be found and managed effectively and serverless and uses standard Internet protocols, permitting seamless connection to existing networks. Owing to this, the server block IMS2 of the instant-messaging application can reuse the HTTP and XML codes of the UPnP stack, which in turn reduces the size of the application IMS2.
The invention is, of course, not intended to be restricted to only the UPnP profile. Other possible profiles could be, for example, Sun's Jini, the IETF's SLP (Service Location Protocol), and Apple's Rendezvous. The essential feature of the invention is the maintenance of consciousness of the messaging capabilities of the devices 11.1-11.4 and all the protocols/standards/implementations, which this permits, will of course come into question in order to implement the instant-messaging system IM according to the invention.
It must be understood that the above description and the related figures are only intended to illustrate the present invention. The invention is thus in no way restricted to only the embodiments disclosed or stated in the Claims, but many different variations and adaptations of the invention, which are possible within the scope on the inventive idea defined in the accompanying Claims, will be evident to anyone of skill in the art.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI2005/050481 | 12/22/2005 | WO | 00 | 6/19/2008 |