A METHOD OF COMMUNICATION BETWEEN A FIRST COMPUTER DEVICE
AND A SECOND COMPUTER DEVICE; VIA A THIRD DEVICE
Field of invention
The present invention relates to a method, to computer program products, and to a computer readable medium for achieving communication between a first computer unit and a second computer unit via a network, said communication taking place via a third computer unit. A firewall is established between the second computer unit and the third computer unit, and all communication between the second computer unit and the third computer unit takes place through the firewall.
Description of the background art
It has long been known that when a server is connected to the Internet, several different server ports are used to communicate with the Internet user.
These ports are designated for the use of a given communications protocol. The ports are numbered, wherewith port 80 is normally used for HTTP, port 25 is normally used for SMTP and port 143 is normally used for IMAP, for example.
Security is normally achieved, for instance with respect to a company, by establishing a firewall between the company server and the surrounding world.
Thus, communication takes place between a user, with a first computer unit, and the server, which may be a second computer unit, often via a third computer unit consisting of an intermediate computer unit on the Internet, wherewith communication between the second and the third computer units, i.e. between the company server and the intermediate computer unit, often takes place through a firewall. Because the company often needs to communicate via a number of different protocols with different users, where each protocol has its own port, a plurality of openings are necessary in the firewall, one for each port.
Each opening in the firewall constitutes a security risk, and it is therefore desirable to minimise the number of openings in the firewall. The following publications can be considered to describe part of the earlier standpoint of techniques in this particular technical field.
Mobile Logic, wireless strategies for the enterprise, accessible on URL http://www.wiretel.com/mlphone.asp. This document describes the possibility of allowing a plurality of WAP units to connect with a gateway server where they
occur under a common IP address and where communication takes place via a common TCP port.
EP-A1-0 909 074 describes how a firewall is able to manage different security levels for different users, by applying different sets of availability rules. The firewall may also re-route certain sessions to another server for processing.
JP-A-10135982 describes how two different IP addresses can share a common MAC address.
Summary of the present invention Technical problems
When considering the present state of the art as described above with a starting point from the aforesaid technical field, it will be seen that a technical problem resides in minimising the number of openings in the firewall used.
Another technical problem resides in enabling communication to be effected with a plurality of different users that use a number of different protocols with only one single opening in the firewall.
Another technical problem resides in allowing a plurality of different second computer units to communicate mutually with a plurality of different first computer units in accordance with different protocols via a common third computer unit, where all second computer units require only one single opening through their respective firewalls.
Solution
With the intention of providing a solution to one or more of the aforesaid problems, the present invention takes as its starting point a method, computer program products, and a computer readable medium to achieve communication between a first computer unit and a second computer unit via a network, wherein said communication takes place via a third computer unit. A firewall is established between the second computer unit and the third computer unit, and all communication between the second computer unit and the third computer unit takes place through said firewall.
With the intention of minimising the number of openings in a firewall, it is proposed in accordance with the invention that all communication between the
second computer unit and the third computer unit takes place via ports that have been initiated or opened by said second computer unit.
With the intention of minimising the number of ports used, it is proposed in accordance with the present invention that said second computer unit opens only one port for communication with the third computer unit, and that all communication via this single port takes place in accordance with a specific protocol. According to this embodiment, the third computer unit, in the communication with the first computer unit, shall translate between the protocol according to which the first computer unit communicates with the third computer unit and the specific protocol according to which the third computer unit communicates with the second computer unit.
When a plurality of different first computer units communicate with the second computer unit via the third computer unit, and where these first computer units communicate in accordance with the same or with mutually different and mutually independent protocols, the third computer unit forwards the communication from said plurality of different first computer units to the second computer unit via said single port and in accordance with said specific protocol.
A plurality of second computer units may also be permitted to communicate with their respective one or more first computer units, via the third computer unit. With the intention of allowing a plurality of different second computer units to communicate with their respective first computer units, it is proposed in accordance with the present invention that respective second computer unit is allocated one or more addresses or ports of the third computer unit for receiving communication from their respective one or more first computer units, and, upon contact from a first computer unit with the third computer unit, said third computer unit identifies the correct second computer unit for the contacting first computer unit through the medium of the address or the port used by the first computer unit in respect of said contact.
According to the present invention, there is nothing to prevent encryption of the communication between the first and the second computer units.
According to one preferred embodiment of the present invention, the specific protocol is the TCP protocol.
The third computer unit can thus translate between the specific protocol and a plurality of other protocols, such as UDP and WAP.
The present invention can be applied with particular advantage when the network concerned is the global network Internet.
The present invention also relates to two computer program products where a first computer program product includes a computer program code which, when executed by a computer unit, performs the functions of a third computer unit in accordance with the inventive method, and where a second computer program product includes a computer program code which, when executed by a computer unit, performs the functions of a second computer unit in accordance with the inventive method. The present invention also relates to a computer readable medium in which there is stored a computer program code according to the first or the second computer program product.
Advantages Those advantages primarily afforded by a method, computer program products, or a computer readable medium in accordance with the present invention reside in the ability to provide a third computer unit, or a Web server, which enables a second computer unit, or company-internal server, to communicate with a plurality of different first computer units, or users, in accordance with a plurality of different protocols, in the absence of any true opening through the used firewall.
Brief description of the drawings
A method, computer program products, and a computer readable medium having features characteristic of the present invention will now be described in more detail by way of example with reference to the accompanying drawings, in which
Figure 1 is a highly simplified schematic illustration of communication via a network in accordance with known techniques; Figure 2 is a highly simplified schematic illustration showing how a second computer unit communicates with a plurality of different first computer units in accordance with the basic principle of the present invention;
Figure 3 is a highly simplified schematic illustration of how a second computer unit communicates with a plurality of different first computer units in accordance with one embodiment of the present invention; and Figure 4 is a highly simplified schematic illustration of how a plurality of second computer units communicate with a plurality of different first computer units in accordance with the present invention.
Description of embodiments at present preferred As before mentioned, Figure 1 illustrates known technology for communication between a first and a second computer unit 1 1 , 12 via a network A, where communication takes place via a third computer unit 3.
Security is achieved for the second computer unit 2 by means of a firewall 21 established between the second computer unit 2 and the third computer unit 3, where all communication between these computer units 2, 3 takes place through the firewall 21.
This is usual when, for instance, the second computer unit 2 is a company- internal server and when it is desired to protect against intrusion in the company server and in the internal network. The second computer unit has a number of connections to the third computer unit 3, since different first computer units 11 , 12, 13, 14 possibly communicate in accordance with mutually different protocols A-i, A2, A3, A , meaning that they require access to the second computer unit via mutually different ports 41 , 42, 43, 44. Consequently, the firewall 21 of the second computer unit will include a plurality of openings, one for each port 41 , 42, 43, 44.
Figure 2 illustrates an inventive embodiment in which all communication between the second computer unit 2 and the third computer unit 3 takes place via ports 41 ', 42', 43', 44' that have been initiated or opened by the second computer unit 2, as shown schematically by directional arrows 51 , 52, 53, 54 on the connections between the second computer unit 2 and the third computer unit 3.
The condition whereby the second computer unit 2 shall initiate or open these connections and which forbids all other connections means that the second computer unit has complete control over these connections. Such a connection can be said, in principle, to pass through the firewall in the absence of an opening
therein. No first computer unit 1 1 , 12, 13, 14 is permitted to establish contact with the second computer unit 2 except via a connection which the second computer unit 2 has itself initiated or opened, meaning that all communication through the firewall 21 takes place in the absence of openings in the firewall. Figure 3 is intended to show that the second computer unit 2 solely opens 5 one port 4 for communication with the third computer unit 3 in accordance with the present invention, and that all communication between the second computer unit 2 and the third computer unit 3 takes place via this single port 4 in accordance with a specific protocol As. In this embodiment, the third computer unit 3, in its communication with the first computer unit 1 1 , shall translate between the protocol A-i according to which the first computer unit 1 communicates with the third computer unit 3, and the specific protocol As according to which the third computer unit 3 communicates with the second computer unit 2. As shown in Figure 3, a plurality of different first computer units 11 , 12, 13,
14 can communicate with the second computer unit 2 via the third computer unit 3, wherein said several first computer units 1 1 , 12, 13, 14 communicate in accordance with one and the same or with mutually different and mutually independent protocols A-i, A2, A3, A4. In this case, the third computer unit 3 forwards the communication from said plurality of different first computer units 1 1 , 12, 13, 14 to the second computer unit via the single port 4 in accordance with the specific protocol As.
Figure 4 illustrates an embodiment in which a plurality of second computer units 2a, 2b, 2c communicate with their respective one or more first computer units 1 1 a, 12a, 13a, 11 b, 12b, 13b, 11 c, 12c, 13c via the third computer unit 3.
Each second computer unit 2a, 2b, 2c has itself opened 5a, 5b, 5c the port 4a, 4b, 4c used in the communication with the third computer unit 3.
According to a preferred embodiment, respective second computer units 2a, 2b, 2c are allocated one or more addresses or ports 31a, 31 b, 31c, 32a, 32b, 32c, 33a, 33b, 33c of the third computer unit 3, for receiving communication from one or more first computer units 11a, 12a, 13a, 1 1 b, 12b, 13b, 1 1 c, 12c, 13c.
When contact is made with the third computer 3 from a first computer unit 12b, this enables the third computer unit 3 to identify the correct second computer
unit 2b of the contacting first computer unit 12b, through the address or port 32b used by the first computer unit 12b in making the contact.
According to the present invention, there is nothing to prevent communication between a second computer unit 2 and one or more of said first computer units 11 , 12, 13 being encrypted.
According to one preferred embodiment of the present invention, the specific protocol As consists of the IPSEC TCP protocol. It is also possible to use some other protocol, such as ordinary TCP.
The third computer unit 3 can translate between the specific protocol As and a number of other protocols, such as UDP and WAP.
The present invention is well suited for communication within the global network Internet, since the Internet includes many different communications protocols.
The present invention also relates to a first computer program product 61 , as illustrated highly schematically in the accompanying drawings. This first computer program product 61 includes a computer program code which, when executed by a computer unit, performs the functions of a third computer unit 3 in accordance with the inventive method.
The present invention also relates to a second computer program product 62 which includes a computer program code that, when executed by a computer unit, performs the functions of a second computer unit 2 in accordance with the inventive method.
Figure 3 also shows schematically that the present invention also relates to a computer readable medium 7 on which a computer program code according to one of the first or second computer program products is stored.
It will be understood that the invention is not restricted to the aforedescribed and illustrated exemplifying embodiments thereof and that modifications can be made within the scope of the inventive concept as illustrated in the accompanying Claims.