Patent ID: 8307058

Claim:
An information processing apparatus that receives information from an external client device including an HTTP client, processes the information, and sends a processing result to the client device, the information processing apparatus comprising: a plurality of virtual machines each running an HTTP server, the HTTP server running in one of the virtual machines functioning as a master HTTP server that performs communication with the HTTP client and the HTTP server running in each of remaining virtual machines functioning as a worker HTTP server, the master HTTP server including a port number setting unit that receives input settings including a port number to be used in communication with the HTTP client; and a port managing unit that manages port management information in a port managing table in which the port number received by the port number setting unit is registered in association with identification information of the master HTTP server and a port number for each of the worker HTTP servers is registered in association with identification information of corresponding worker HTTP server, and the worker HTTP server including a port determining unit that, by referring to port numbers registered in the port managing table, determines a port number not allocated to any of remaining HTTP servers as an internal port of corresponding worker HTTP server and instructs the port managing unit to register the determined port number in association with identification information of the corresponding worker HTTP server, wherein the port managing unit determines whether a port number determined by the port determining unit overlaps with any of the port numbers registered in the port managing table, and (i) in a case that none of the port numbers registered in the port managing table matches the port number determined by the port determining unit, the port managing unit registers the port number determined by the port determining unit in association with identification information of the corresponding worker HTTP server in the port managing table, and (ii) in a case that one of the port numbers registered in the port managing table matches the port number determined by the port determining unit, the port managing unit notifies the port determining unit of port overlapping, and upon receiving the notification of port overlapping, the port determining unit re-determines a new port number.