A method performed by a server data processor to which dialysis machines can connect through a network, the method comprising: receiving requests for IP addresses of the server data processor so that connections via the network can be established between the dialysis machines and the server data processor, the requests received by the server data processor from the dialysis machines; establishing the connections via the network with the dialysis machines and, on establishing the respective connection with each of the dialysis machines, creating a respective proxy therefor, wherein the server uses different ports as proxies for each dialysis machine; receiving, from a client device, a request to access a first of the dialysis machines; authorizing the client device to access the first of the dialysis machines; providing a virtual controller to the client device, wherein the virtual controller provides an interface for the first of the dialysis machines; receiving, from the first of the dialysis machines, information pertaining to an operation of the first of the dialysis machines; and providing, to the client device, the received information, wherein the virtual controller can display the received information; receiving, from a second client device, a request to access a second of the dialysis machines; authorizing the second client device to access the second of the dialysis machines; providing a second virtual controller to the second client device, wherein the second virtual controller provides an interface for the second of the dialysis machines; receiving, from the second of the dialysis machines, information pertaining to an operation of the second of the dialysis machines; and providing, to the second client device, the received information, wherein the second virtual controller can display the received information. receiving requests for IP addresses of the server data processor so that connections via the network can be established between the dialysis machines and the server data processor, the requests received by the server data processor from the dialysis machines; establishing the connections via the network with the dialysis machines and, on establishing the respective connection with each of the dialysis machines, creating a respective proxy therefor, wherein the server uses different ports as proxies for each dialysis machine; receiving, from a client device, a request to access a first of the dialysis machines; authorizing the client device to access the first of the dialysis machines; providing a virtual controller to the client device, wherein the virtual controller provides an interface for the first of the dialysis machines; receiving, from the first of the dialysis machines, information pertaining to an operation of the first of the dialysis machines; and providing, to the client device, the received information, wherein the virtual controller can display the received information; receiving, from a second client device, a request to access a second of the dialysis machines; authorizing the second client device to access the second of the dialysis machines; providing a second virtual controller to the second client device, wherein the second virtual controller provides an interface for the second of the dialysis machines; receiving, from the second of the dialysis machines, information pertaining to an operation of the second of the dialysis machines; and providing, to the second client device, the received information, wherein the second virtual controller can display the received information.