CN101552788A - A session management system and a control method thereof - Google Patents
A session management system and a control method thereof Download PDFInfo
- Publication number
- CN101552788A CN101552788A CNA2009101300572A CN200910130057A CN101552788A CN 101552788 A CN101552788 A CN 101552788A CN A2009101300572 A CNA2009101300572 A CN A2009101300572A CN 200910130057 A CN200910130057 A CN 200910130057A CN 101552788 A CN101552788 A CN 101552788A
- Authority
- CN
- China
- Prior art keywords
- session
- server
- address
- communication
- department
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 147
- 230000006854 communication Effects 0.000 claims description 338
- 238000004891 communication Methods 0.000 claims description 336
- 238000012545 processing Methods 0.000 description 108
- 238000003860 storage Methods 0.000 description 35
- 230000004044 response Effects 0.000 description 34
- 230000005540 biological transmission Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 14
- 230000002349 favourable effect Effects 0.000 description 13
- 230000005055 memory storage Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 240000001439 Opuntia Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
The invention provides a session management system and a control method thereof. When the invention allocates mailing addresses to network interfaces, the session management system can use or save network resources effectively. The system manages sessions between the server and client machines with a plurality of addresses. When the application program of the client machine has the request of communicating with the server, the invention determines whether the session using the address different from the address nominated for the application program between the client machine and server machine is established. When the session is determined to have been established, the application program is caused to communicate with the server by using the established session. When the session is not established, the application program communicates with the server by using the newly established session.
Description
Technical field
The present invention relates to a kind of technology that is used for managing the session of the communication indication logic connecting relation between application program.
Background technology
Traditionally, known PC (the personal computer that comprises, Personal Computer), printer and MFP (multi-function peripheral, Multi-Function Peripheral) various information processors are gone up at network (such as Intranet or the Internet of LAN (local area network (LAN), Local Area Network)) as communicator and are used.
Nowadays, in being connected to the information processor of network, be extensive use of the IP agreement, under the IP agreement, each information processor distributed unique IP address (mailing address), thereby the device of connection is discerned mutually.
Usually, under traditional IP agreement (IPv4 (IP version 4, IP Version 4)), distribute single ip address as being used for from the IP address of an information processor of out of Memory processing unit identification to single network interface.
On the other hand, under nearest widely used IPv6 (IP version 6, IP Version 6), terminal installation is when being connected to router and router communication, to obtain the IP address automatically.In addition, also can not communicate when having router in order to make, except the IP address, interface also Network Based comes distributing IP v6 address.
In addition, there is DHCP (DHCP, Dynamic Host ConfigurationProtocol) server sometimes.In the environment that uses IPv6, as mentioned above single network interface is distributed a plurality of IPv6 address.Thereby, in the information processor of supporting IPv6, to single network interface distributing IP v4 address and a plurality of IPv6 address.
Under the situation that information processor intercoms mutually, create the web socket (socket) of transmission transmit leg and transmission destination, promptly IP address and port numbers are right.Create memory space and the CPU processing time thereof of the processing consumption of web socket as the Internet resources of each information processor.
Owing to this reason, the server that is connected to a plurality of information processors that are used to communicate by letter consume its on amount with the corresponding Internet resources of linking number.On the other hand, the amount of information processor available network resources such as printer, MFP is littler than the amount of server available network resources, and the number of communicator that therefore can be connected to information processor simultaneously is also less.
In addition, in TCP communication, no matter the size of data, the time period of cost is set at than long in UDP communication before the open network socket, and the number that connects when can set up of time per unit is restricted to than in the medium and small value of UDP communication, thereby, cause connection error in the server from a succession of request of client computer.
In order to address this problem, a kind of technology has been proposed, the a plurality of application programs that provide in its client computer in client server system are set up a plurality of sessions with under the situation about communicating with it with the server that is assigned identical address, can conserve network resources (referring to Japanese kokai publication hei 10-177548 communique).
Yet, when giving single network interface,, can not save the Internet resources that connect with a plurality of server address and consume even disclosed technology is with same server communication the time in Japanese kokai publication hei 10-177548 communique with a plurality of IPv6 address assignment.
Summary of the invention
The invention provides a kind of conversation management system and control method thereof.
In a first aspect of the present invention, a kind of conversation management system is provided, it is used to manage server with a plurality of addresses and the session between the client computer, this conversation management system comprises: determining unit, it is configured under the situation of application requests that is provided with described client computer and described server communication, determines whether to have set up between described client computer and described server the session of using the address different with the specified address of described application program; And control unit, it is configured to when determining to have set up session, make described application program by using session and the described server communication of having set up, and when determining not set up session, make described application program by newly-established session of use and described server communication.
In a second aspect of the present invention, a kind of method of controlling conversation management system is provided, described conversation management system is used to manage server with a plurality of addresses and the session between the client computer, this method comprises: under the situation of application requests that is provided with described client computer and described server communication, determine whether to have set up the session of using the address different with the address of described application program appointment between described client computer and described server; When determining to have set up session, make described application program by using session and the described server communication of having set up; And when determining not set up session, make described application program by using newly-established session and described server communication.
According to the present invention, when single network interface is distributed a plurality of mailing address, can utilize efficiently or conserve network resources.
To the detailed description of illustrative embodiments, it is more obvious that further feature of the present invention will become by with reference to the accompanying drawings.
Description of drawings
The accompanying drawing that is included in the specification and constitutes the part of specification illustrates embodiments of the present invention, and is used for illustrating principle of the present invention with specification.
Fig. 1 is according to of the present invention first to the 3rd and the figure of the software arrangements of the client server system of the application session management system of the 7th execution mode.
Fig. 2 is the block diagram (first to the 3rd execution mode) that the hardware configuration of client computer PC shown in Figure 1 or server PC is shown.
Fig. 3 is the block diagram (first to the 3rd execution mode) that is shown specifically the software arrangements of Department of Communication Force between the server processes of server PC.
Fig. 4 is the block diagram (first to the 3rd execution mode) that is shown specifically the software arrangements of Department of Communication Force between the client process of client computer PC.
Fig. 5 is the figure (first to the 7th (the 6th) execution mode) of the example of session management information.
Fig. 6 is the flow chart that Department of Communication Force is carried out between the server processes of the server PC in first execution mode session management is handled.
Fig. 7 is the flow chart that Department of Communication Force is carried out between the client process of the client computer PC in first execution mode session management is handled.
Fig. 8 A and 8B are the sequence chart (under the situation that does not have existing session) of the example of the processing in Fig. 6 and 7.
Fig. 9 A and 9B are the sequence chart (existing under the situation of existing session) of the example of the processing in Fig. 6 and 7.
Figure 10 A and 10B are the flow charts that Department of Communication Force is carried out between the client process of the client computer PC in second execution mode of the present invention session management is handled.
Figure 11 A and 11B are the sequence chart that the session management carried out between server PC and client computer PC in second execution mode is handled.
Figure 12 A and 12B are the flow charts that Department of Communication Force is carried out between the client process of the client computer PC in the 3rd execution mode of the present invention session management is handled.
Figure 13 A and 13B are the sequence chart that the session management carried out between server PC and client computer PC in the 3rd execution mode is handled.
Figure 14 is the figure according to the software arrangements of the client server system of the application session management system of the 4th to the 6th execution mode of the present invention.
Figure 15 is the block diagram that is shown specifically according to the software arrangements of Department of Communication Force between the client process of the client computer PC of the 4th execution mode.
Figure 16 is the figure of the address list information in the 4th execution mode.
Figure 17 is the figure of the example of the session management information in the 4th execution mode.
Figure 18 is the flow chart that the session management carried out in the 4th execution mode is handled.
Figure 19 is that the address list of carrying out among the step S1801 that is illustrated in detail among Figure 18 obtains the flow chart of processing.
Figure 20 is the flow chart that the address list in the 5th execution mode obtains the session management processing of carrying out in the processing.
Figure 21 is the continuation of the flow chart among Figure 20.
Figure 22 A and 22B are the flow charts that the session management carried out in the 6th execution mode is handled.
Figure 23 is the figure of the example of the address list information under the situation of specifying same server by different identifying informations.
Figure 24 is the block diagram that is shown specifically according to the software arrangements of Department of Communication Force between the client process of the client computer PC of the 7th execution mode.
Figure 25 is the figure of the example of the session management information in the 7th execution mode.
Figure 26 A and 26B are the flow charts that the session management carried out in the 7th execution mode is handled.
Figure 27 is the continuation of the flow chart among Figure 26 A.
Embodiment
Now, describe the present invention in detail with reference to the accompanying drawing that embodiments of the present invention are shown.Should be noted that the present invention is not limited to first to the 7th execution mode described below.In addition, for the present invention, be not to be indispensable according to all combinations of the feature of first to the 7th execution mode.
Fig. 1 is according to of the present invention first to the 3rd and the figure of the software arrangements of the client server system of the application session management system of the 7th execution mode.
As shown in Figure 1, client computer PC (client terminal) 100 interconnects via network 106 with server PC 105.In the first to the 3rd and the 7th execution mode, suppose by LAN or WAN and realize network 106, but can use and LAN and WAN networks of different type.In addition, the interface (cable) that can not pass through definition such as IEEE 1394 or 1284 standards by network 106 connects client computer PC 100 and server PC 105.
In first to the 7th execution mode, suppose utilize universal PC (personal computer, PersonalComputer) rather than may use printer or MFP (multi-function peripheral, PC MultifunctionPeripheral) realizes client computer PC 100.That is to say that the feature of first to the 7th execution mode can be applied to the various devices that are equipped with network communicating function, for example portable data assistance, scanner and facsimile machine.
Client computer PC 100 comprises client applications 101 and 101a.First execution mode can also be applied to the situation (this also is applicable to second to the 7th execution mode) that client computer PC 100 only comprises one or more client applications.
Department of Communication Force 103 uses the communication pool 104a and the server PC 105 of operating system to communicate between client process.The communication of using communication pool 104a to carry out not only comprises socket (IP address+port numbers) communication, and comprise RPC (remote procedure call, Remote Procedure Call), the communication carried out such as LPC (LPC, Local Procedure Call) and Web service.
As mentioned above, the practical communication that Department of Communication Force 107 is carried out between client applications 101 or 101a and the server application 108 between Department of Communication Force 103 and server processes between client process is handled.This practical communication is handled and is comprised the session management processing that relates to a series of requests and response.In other words, the distinctive session management processing of Department of Communication Force 107 execution the present invention between Department of Communication Force 103 and server processes between client process.
Though in the client server system in Fig. 1, client computer and server realize by PC (personal computer) separately, but first to the 3rd execution mode can be applied to comprise other network equipment, be equipped with the client server system of the information processor, peripheral unit etc. of communication function.In this case, only system configuration need be carried out the procedure operation of being undertaken by client computer PC in the client server system among Fig. 1 100 or server PC 105 for using CPU, the ROM or the RAM that are arranged in the client computer PC 100 and server PC 105 network equipment in addition etc.
Utilization has the computer 2000 of configure hardware as shown in Figure 2 and realizes client computer PC 100 and server PC 105 respectively.
The equipment that 201 couples of CPU are connected to system bus 204 carries out centralized control.CPU 201 comprises that based on the program ROM 203b or the application program in the external memory storage (HD) 211 (document process program, service the provide program etc.) execution that are stored among the ROM 203 document process and service provide the various processing of processing.
Provide the document process program to be used to carry out handling the document process of the document that comprises figure, image, text and form (comprising electronic spreadsheet) with hybrid mode.In addition, external memory storage 211 not only can be stored the application program that is used for document process, and can store and be used to obtain and handle such as about the image information of rest image or moving image and the application program of various information that comprises the video information etc. of music information, acoustic information.
211 storages of font ROM 203a and external memory storage are used for the character font data etc. that document process and service provide processing.211 storages of program ROM 203b and external memory storage are as the operating system of the control program of CPU 201 and similar other program.211 storages of data ROM 203c and external memory storage are used for the various data (comprising program) that document process and service provide processing.The program that will be stored in the external memory storage 211 when carrying out loads among the RAM 202 separately.
Fig. 3 is the block diagram that is shown specifically the software arrangements of Department of Communication Force 107 between the server processes of server PC 105.
Department of Communication Force 107 comprises communication controler 301 and identifier server sending part 302 between server processes between server processes, and response is from the communication request of client computer PC 100.More particularly, in response to the request from client computer PC 100, communication controler 301 makes identifier server sending part 302 that identifier server 504 (referring to Fig. 5) or the response data that server application 108 generates sent it back client computer PC 100 between server processes.Hereinafter will describe the processing of send server identifier 504 in response in detail.
Fig. 4 is the block diagram that is shown specifically the software arrangements of Department of Communication Force 103 between the client process of client computer PC 100.In Fig. 4, the branch line object 102 and the 102a (this is equally applicable to Figure 15 and 24) that describe with reference to Fig. 1 have been omitted.As shown in Figure 4, Department of Communication Force 103 comprises that (database, database) management department 405, session disconnection management department 407 and session reconnect management department 409 for interprocess communication controller 401, identifier server acquisition unit 402, session management portion 403, DB between client process.Department of Communication Force 103 also comprises session determination portion 404, session management information DB 406 and connects reference count storage part 408 between client process.
Department of Communication Force 103 is carried out session management between client process under the control of interprocess communication controller 401, thereby is controlled at the traffic operation of carrying out between client applications 101 and 101a and the server application 108.Identifier server acquisition unit 402 is obtained the identifier server 504 that returns from the identifier server sending part 302 of server PC 105.Identifier server 504 is used for selecting the session that will use.
405 controls of DB management department are to the visit of session management information DB 406 (referring to Fig. 5).Session disconnects management department 407 and comes managing conversation to disconnect based on connecting reference count.Connect 408 storages of reference count storage part and connect reference count.This connection reference count is used for determining to close the timing of session.Session reconnects management department 409 and carries out control, to continue the current communication of carrying out by reconnecting to another address (socket) in the session that garble occurs.
Fig. 5 is the figure of the example of the session management information of registration among the session management information DB 406.Application program identification 501 is to be used to discern the client applications 101 that sent connection request or the identifier (instance handle) of 101a.
Except IP address 503a and port numbers 503b, mailing address information 503 can also comprise as the end points of the alternative information of port numbers 503b or as the channel information of the alternative information of IP address 503a and port numbers 503b.
By the client applications 101 of connection request side or 101a by obtaining identifier server 504 (instance handle) based on destination-address (IP address, port numbers etc.) request server PC 105.Session number 505 be distribute to based on the client applications 101 of connection request side or 101a with as the server application 108 that is connected the destination between the identiflication number of each session of a series of requests of exchange and response (data transmission) and foundation.
Next, the session management of carrying out with reference to Department of Communication Force between the server processes of the flow chart description server PC 105 among Fig. 6 107 is handled.
When the connection request that receives from client computer PC 100, between server processes between the server processes of Department of Communication Force 107 communication controler 301 make identifier server sending part 302 generate identifier servers 504 (step S601).The UUID (universal unique identifier, Universally UniqueIdentifier) etc. that realizes unique identification is as identifier server 504.From this time, Department of Communication Force 107 returns same server identifier 504 between the server processes of server PC 105, and no matter receive the IP address and the port numbers of the socket of packet.
Next, communication controler 301 receives packet (step S602) from client computer PC 100 via communication pool 104b between server processes.Then, the request (step S603) that whether communication controler 301 definite packets that receive from client computer PC 100 are used to obtain identifier server 504 between server processes.
If packet is used to obtain the request of identifier server 504, then communication controler 301 returns the identifier server 504 that identifier server sending part 302 generates in step S601 to the client computer PC of request server identifier 504 between server processes.This processing is carried out in step S604.In this case, use communication pool 104b identifier server 504 to be wrapped in response and return to client computer PC 100 via network 106.
Then, communication controler 301 determines whether to receive end of service instruction (step S608) between server processes.If do not receive end of service instruction as yet, then this processing turns back to step S602, continues to provide service.
On the other hand, if the packet that receives is not the request that is used to obtain identifier server 504, then communication controler 301 determines whether the packet that receives is the request (step S605) of transmission new data between server processes.
If the packet request that receives transmission new data, then communication controler 301 generates the socket (step S606) that is used for transmitting to client computer PC 100 data between server processes.Based on as the Transmission Control Protocol of communication protocol by accepting processing, use communication pool 104b to carry out this socket and generate and handle.
After execution in step S606, this processing enters into step S607.On the other hand, if the packet that receives does not ask to transmit new data, then the socket that should handle among the skips steps S606 generates processing, enters into step S607.
In step S607, the packet that communication controler 301 receives 108 pairs of server applications between server processes in step S602 is carried out service processing.More particularly, the data that communication controler 301 will be received from client computer PC 100 between server processes send server application 108 to, and server application 108 generates response data according to the request from client computer PC 100.In addition, server application 108 sends the response data that generates between server processes communication controler 301.Communication controler 301 uses communication pool 104b via network 106 response data to be returned to client computer PC 100 between server processes.Then, communication controler 301 execution in step S608 between server processes.
Next, the session management of carrying out with reference to Department of Communication Force between the client process of the flow chart description client computer PC 100 among Fig. 7 103 is handled.Actual or directly carry out the processing (this is equally applicable to Figure 10 A, 10B, 12A, 12B, 18,20,21,26A and 26B) of this flow chart by interprocess communication controller 401.
The connection request (step S701) that interprocess communication controller 401 acceptance of Department of Communication Force 103 are made to the server application 108 of server PC 105 between client process.This connection request is made from client applications 101 or 101a.
Then, interprocess communication controller 401 obtains the identifier server 504 (step S702) that returns from server PC 105 in response to the connection request that sends to destination-address via identifier server acquisition unit 402.More particularly, under the control of interprocess communication controller 401, identifier server acquisition unit 402 is used communication pool 104a, and the solicited message of obtaining that will be used to obtain identifier server 504 sends to server PC 105 via network 106.In addition, under the control of interprocess communication controller 401, identifier server acquisition unit 402 is obtained the identifier server 504 that sends from server PC 105.
Then, under the control of interprocess communication controller 401, the existing session (step S703) that session management portion 403 determines whether to exist the identifier server 504 identical with the identifier server that obtains in step S702 504 to be associated.
In this case, session management portion 403 makes DB management department 405 obtain session management information from session management information DB 406.Then, whether session management portion 403 dialogue-based management information determine among the current existing session in the communication of using other address, exist and the existing session that is associated as the identical identifier server 504 of identifier server that the response of the connection request made is at this moment obtained 504.Should determine to handle by session determination portion 404 actual carrying out.
With reference to the example of the session management information among the figure 5, in the communication of management number 1 and 2 indications, make the connection request that is connected to different addresses from client applications 101 or 101a.Though the address is different, utilize same server PC 105 to carry out these communications.In this case, create a plurality of sessions and same server PC 105 communication efficiencies are not high, therefore use individual session to carry out the communications of management number 1 and 2 indications.
More particularly, for example, under the situation of the communication of beginning management number 2 indications under the state of the communication that at first begins management number 1 indication, interprocess communication controller 401 is not created new session.On the contrary, interprocess communication controller 401 is selected the data transfer sessions (step S707) of the existing session of management number 1 indication as the communication that is used for management number 2 indications.Then, this processing enters into the step S708 that describes hereinafter.
When having selected existing session, if session does not then need to disconnect session based on udp protocol (disconnected type agreement) communication, if but session based on Transmission Control Protocol (connecting-type agreement) communication, then need to disconnect session.This is applicable to the step S707 among Figure 10 A to 12B each.
The if there is no existing session that is associated with the identical identifier server 504 of the identifier server that obtains 504 this moment, then new socket is created by session management portion 403, to set up new session (step S704).In this case, session management portion 403 uses communication pool 104a based on client applications 101 or the new socket of 101a designated destination address creation.
Next, session management portion 403 information about new session (step S705) that DB management department 405 registered comprise new socket in session management information DB 406.Then, interprocess communication controller 401 is used for current data transfer sessions (step S706) based on client applications 101 or 101a designated destination address choice new session.
Next, interprocess communication controller 401 utilizes the session of selecting in step S706 or S707, will send server application 108 (step S708) from the data of client applications 101 or 101a to.
Should be noted that the mailing address of client applications 101 or address, 101a designated destination and practical communication is mutually the same in step S704 to S708 when selecting new session as data transfer sessions.Therefore, the communication process of being undertaken by new session is identical with the communication process of carrying out in the RPC (remote procedure call) as traditional inter-process communication techniques.
On the other hand, when selecting existing session, the mailing address of client applications 101 or address, 101a designated destination and practical communication is different.Yet, as to this moment the connection request made the identifier server 504 that in step S702, obtains of response identical with identifier server 504 in the existing session.Therefore, Department of Communication Force 103 can be communicated by letter with Department of Communication Force 107 between the server processes of same server PC105 between the client process of client computer PC 100.
Owing to this reason, in the present embodiment, in the processing in step S707, select and the existing session that is associated as the identical identifier server 504 of identifier server that the response of the connection request made is at this moment obtained 504, be used for current data communication session.In this case, be not that socket (session) is created in data communication again based on client applications 101 or address, 101a designated destination.
By so utilizing existing session to come executive communication under the situation of not creating socket again, client computer PC 100 and server PC 105 can realize the minimizing of communication socket number, and this helps the saving of Internet resources.
Next, interprocess communication controller 401 determines whether to have received from the turn-off request of client applications 101 or 101a or from the disconnection request (step S709) of communication pool 104a.If both do not received turn-off request, do not receive the request of disconnection yet, then this processing turns back to step S701, continues execution in step S701 to S709.
On the other hand, if received turn-off request or disconnected request, then session management portion 403 carries out communication pool 104a and closes processing, to close session or the socket (step S710) that uses the address that is associated with (disconnection) request of closing.Then, session management portion 403 makes DB management department 405 upgrade session management information (step S711) among the session management information DB 406 based on the result of the processing among the step S710.
Next, the example of the processing shown in Fig. 6 and 7 is described with reference to the sequence chart shown in Fig. 8 A to Fig. 9 B.Fig. 8 A and 8B illustrate the processing sequence under the situation that does not have above-mentioned existing session.
Among the processing P801 in Fig. 8 A, when server application 108 began to serve, Department of Communication Force 107 began to be used for receiving from client computer PC 100 monitoring (Listen) processing of packet between server processes.In addition, Department of Communication Force 107 is used for creating processing as the UUID of the identifier server 504 of step S601 between server processes.
In addition, in handling P801, Department of Communication Force 107 establishments receive socket between server processes, to locate to carry out reception at IPv4 address [10.0.0.10] and port numbers [1025] in monitoring processing.Similarly, Department of Communication Force 107 is also created the reception socket at IPv6 address [2001::10] and port numbers [1025] between server processes.
In handling P802, client applications 101 or 101a Department of Communication Force 103 between client process is made request, to be connected to IPv4 address [10.0.0.10] and port numbers [1025].In handling P803, Department of Communication Force 103 receives connection requests between client process, and carries out the processing that is used to obtain identifier server 504 among the step S702.In handling P804, Department of Communication Force 107 carries out being used to return among the step S604 processing of identifier server 504 between server processes.
The negotiation of handling among P803 and the P804 is carried out in the preferred UDP of use communication, and UDP communication is poorer slightly than TCP communication aspect reliability, but can carry out high-speed communication.Yet, can use TCP communication to hold consultation.This also is applicable to the negotiation among Fig. 9 A, 9B, 11A, 11B, 13A and the 13B.
In handling P805, the processing that Department of Communication Force 103 carries out among the step S703 between client process, promptly dialogue-based management information determines whether to exist the processing of the existing session that is associated with same server identifier 504.In the sequence example of Fig. 8 A and 8B, in this processing, determine not exist existing session.Therefore, in handling P806, the processing among the execution in step S704 to S706 is to create new session.
In handling P807, Department of Communication Force 107 carries out the acceptance processing based on TCP between server processes, thereby is new session establishment socket.In handling P808, the result of the connection processing that Department of Communication Force 103 will be carried out in response to handling the connection request among the P802 between client process returns to client applications 101 or 101a.
In handling P809, carry out the processing among the step S708.More particularly, Department of Communication Force 103 carries out data transmission and processing between client process, with IPv4 address [10.0.0.10] and the port numbers [1025] that transfers data to client applications 101 or 101a appointment.
After this transmission process, in handling P810-1 to P810-n, Department of Communication Force 103 transmits data according to the data volume from client applications 101 or 101a to server PC 105 between client process.
In handling P811, the data that Department of Communication Force 107 receives from client applications 101 or 101a between server processes, and send data to server application 108.When finishing the data transmission, in handling P812, Department of Communication Force 103 is given client applications 101 or 101a with the result notification that data transmit between client process.
The preferred TCP of use communicates by letter and carries out the actual data communication of handling among the P809 to P810-n, and TCP communication is communicated by letter with UDP and compared relatively poor aspect the communication speed, but better aspect reliability.Yet, can use UDP communication to carry out actual data communication.This is applicable to the negotiation among Fig. 9 A, 9B, 11A, 11B, 13A and the 13B.
In handling P813, client applications 101 or 101a Department of Communication Force 103 between client process sends the disconnection that is connected (closing) request of closing with IPv4 address [10.0.0.10] and port numbers [1025].In response to disconnecting request, the disconnection process that Department of Communication Force 103 carries out among the step S710 between client process.
In handling P814, Department of Communication Force 107 receives the instruction that is connected of closing with IPv4 address [10.0.0.10] and port numbers [1025] from Department of Communication Force between client process 103 between server processes, the guild's words disconnection process of going forward side by side.In handling P815, the processing that Department of Communication Force 103 carries out among the step S711 between client process, and the disconnection of session is notified to client applications 101 or 101a.
There is the processing sequence of carrying out under the situation of existing session in the conversation management system that Fig. 9 A and 9B illustrate according to first execution mode.Among the processing P901 in Fig. 9 A, when server application 108 began to serve, Department of Communication Force 107 began to monitor processing between server processes, and the identifier server among the foundation step S601 (UUID) 504, to receive the packet from client computer.
In addition, in handling P901, Department of Communication Force 107 is created and is received socket between server processes, to locate to receive processing at IPv4 address [10.0.0.10] and port numbers [1025] in monitoring processing.Department of Communication Force 107 is also created the reception socket at IPv6 address [2001::10] and port numbers [1025] between server processes.
In handling P902, client applications 101 or 101a Department of Communication Force 103 between client process sends the request that is connected to IPv4 address [10.0.0.10] and port numbers [1025].In handling P903, Department of Communication Force 103 receives connection requests between client process, and carries out the processing that is used to obtain identifier server 504 among the step S702.In handling P904, Department of Communication Force 107 carries out being used for returning in response among the step S604 processing of identifier server 504 between server processes.
In handling P905, the processing that Department of Communication Force 103 carries out among the step S703 between client process, promptly dialogue-based management information determine whether to exist the processing with the existing session that is associated as the identical identifier server 504 of identifier server that the response of connection request is obtained 504.In the sequence example of Fig. 9 A and 9B, determine not exist existing session in the definite processing in handling P905.Therefore, in handling P906, new session is created in the processing among the execution in step S704 to S706.
In handling P907, to handle based on the acceptance of TCP be that new session is created socket to Department of Communication Force 107 by carrying out between server processes.In handling P908, the result of the connection processing that Department of Communication Force 103 will be carried out in response to handling the connection request among the P802 between client process returns to client applications 101 or 101a.
In handling P909, carry out the processing among the step S708.More particularly, Department of Communication Force 103 carries out data transmission and processing between client process, with IPv4 address [10.0.0.10] and the port numbers [1025] that transfers data to client applications 101 or 101a appointment.After this transmission process, in handling P910-1 to P910-n, Department of Communication Force 103 transmits data according to the data volume from client applications 101 or 101a to server PC 105 between client process.
In handling P911, Department of Communication Force 107 will send server application 108 to from the data that client applications 101 or 101a receive between server processes.When finishing the data transmission, in handling P912, Department of Communication Force 103 is notified to client applications 101 or 101a with finishing of data transmission between client process.
In handling P913, client applications 101 or 101a Department of Communication Force 103 between client process sends the connection request that is connected to IPv6 address [2001::10] and port numbers [1025].In handling P914, the connection request that Department of Communication Force 107 receives from Department of Communication Force between client process 103 between server processes, and carry out returning in response among the step S604 processing of identifier server 504.In this case, client applications 101 or 101a obtain the identifier server 504 that is associated with IPv6 address [2001::10] and port numbers [1025].
In handling P915, the processing that Department of Communication Force 103 carries out among the step S703 between client process, promptly dialogue-based management information determine whether to exist the processing with the existing session that is associated as the identical identifier server 504 of identifier server that the response of connection request is obtained 504.
In the sequence example of Fig. 9 A and 9B, from the IPv4 address [10.0.0.10] of setting up session with it and port numbers [1025] return and identifier server " 10 " identical identifier of obtaining at IPv6 address [2001::10] and port numbers [1025].Therefore, Department of Communication Force 103 determines to exist the existing session that the identifier server 504 identical identifier servers 504 that the response of connection request obtained with conduct are associated between client process, and does not set up session at IPv6 address [2001::10] and port numbers [1025].
From this time, the data that Department of Communication Force 103 will be associated with IPv6 address [2001::10] and port numbers [1025] originally between client process send IPv4 address [10.0.0.10] and port numbers [1025] to.
More particularly, in handling P916, client applications 101 or 101a requesting clients interprocess communication portion 103 send data to IPv6 address [2001::10] and port numbers [1025].
In response to this data transmission requests, in handling P917, the data that Department of Communication Force 103 will be associated with this request between client process send IPv4 address [10.0.0.10] and port numbers [1025] to, and this IPv4 address [10.0.0.10] and port numbers [1025] are to specify with client applications 101 or 101a to be used for IPv6 address [2001::10] and the different address of port numbers [1025] that data transmit.
In handling P918, Department of Communication Force 103 uses existing session repeatedly to carry out required transmission and handles, till the data transmission is finished according to the data volume from client applications 101 or 101a between client process.
In handling P919, Department of Communication Force 107 will send server application 108 to from the data that client applications 101 or 101a receive between server processes.In handling P920, Department of Communication Force 103 disconnects being connected of (closing) and IPv4 address [10.0.0.10] and port numbers [1025] between client applications 101 or 101a indication client process.Respond this open command, the disconnection process that Department of Communication Force 103 carries out among the step S710 between client process.
In handling P921, the open command that Department of Communication Force 107 receives from Department of Communication Force between client process 103 between server processes, and be used for the disconnection process of disconnection at the session of IPv4 address [10.0.0.10] and port numbers [1025].
As mentioned above, according to first execution mode, use the existing session of setting up at address different with client applications 101 or address, 101a designated destination, that still be associated, as the session that is used for data communication with same server identifier 504.
This makes it possible to use efficiently or saves Internet resources such as socket.Second and third execution mode described below also can provide identical beneficial effect.
In the first embodiment, for example when client applications 101 disconnects first session, use first session can not carry out data communication again as the client applications 101a of existing session.
Yet, if Department of Communication Force 103 is configured in response to from the connection request of client applications 101 or 101a or turn-off request and only make the reference count increasing or decreasing of session between client process, and equal actual disconnection session in 0 o'clock in reference count, even then when sharing session with 101a, also can prevent to go wrong owing to session disconnects by client applications 101.
For this reason, even when second execution mode is configured in the existing session of setting up at the address different with the address, a designated destination among client applications 101 and the 101a to carry out transfer of data, prevent that the communication undertaken by existing session from by mistake being disconnected from another the open command among client applications 101 and the 101a.
Figure 10 A and 10B are the flow charts of handling according to the session management that Department of Communication Force between the client process of the conversation management system of second execution mode 103 is carried out.Identical with the configuration according to the conversation management system of first execution mode according to the configuration of the conversation management system of second execution mode, therefore the descriptions thereof are omitted (this is applicable to the 3rd execution mode).In addition, the processing among the step S701 to S711 in the processing among the step S701 to S711 among Figure 10 B and the flow chart of Fig. 7 is identical, thereby only provides its description on demand.
With reference to Figure 10 B, in step S1001, interprocess communication controller 401 makes the count increments of cutting out reference count 1 of the session of selecting in step S706 or S707.Close reference count corresponding to the connection reference count among reference count above-mentioned or Fig. 4, and the number that disconnects request is counted.The session disconnection management department 407 of client computer PC 100 is stored in the counting of closing reference count of each session in the connection reference count storage part 408, and determines whether to disconnect the session that is associated based on each counting.
Next, interprocess communication controller 401 utilizes the session of selecting in step S706 or S707, will send server application 108 (step S708) from the data of client applications 101 and 101a to.When in step S707, having selected the existing session of setting up at the address different, will be used for the count increments of closing reference count 1 of the existing session of data transmission, and not create new session with destination-address.
Then, interprocess communication controller 401 determines whether to have received from the turn-off request of client applications 101 or 101a or from the disconnection request (step S709) of communication pool 104a.If do not receive turn-off request or disconnect request, then this processing turns back to step S701, continues execution in step S701 to S709.
On the other hand, if received turn-off request or disconnected request, then interprocess communication controller 401 makes session management portion 403 queued sessions disconnect management department 407 to carry out to be used to cut out and cut out processing (step S1002) at the session of the address that is associated with the turn-off request or the request that disconnects.In this case, session disconnects management department 407 and makes the counting of closing reference count that connects the session in the reference count storage part 408 1 (the step S1002) that successively decrease.
Next, interprocess communication controller 401 determines the counting of closing reference count is successively decreasing whether equal 0 (step S1003) after 1.If counting is not equal to 0, then this processing turns back to step S701.
On the other hand, equal 0 if close the counting of reference count, then interprocess communication controller 401 session that makes session management portion 403 and communication pool 104a be used to close to be associated with (disconnection) request of closing or socket closes processing (step S710).Then, session management portion 403 makes DB management department 405 upgrade session management information (step S711) among the session management information DB 406 based on the result of the processing among the step S710.
Next, with reference to the sequence chart shown in Figure 11 A and the 11B example that the session management among Figure 10 A and the 10B is handled is described.The sequence that should be noted that Figure 11 A and 11B illustrates the situation of carrying out transfer of data by the existing session of setting up at the address that is different from destination-address.In the sequence that is described below, the suitable mode of by mistake being forbidden with the communication that prevents to be undertaken by existing session is carried out the disconnection of existing session.
In handling P1101, owing to set up new session in step S706, so Department of Communication Force 103 carries out being used to make among the step S1001 processing of the count increments 1 of closing reference count between client process.This is closed reference count and serves as counter, is used for counting at the connection request of each destination-address of making connection request to it and the number of disconnection request.
In handling P1102, utilize the existing session of setting up at the address that is different from the destination-address among the step S707.Therefore, Department of Communication Force 103 is not created new session between client process, but carries out being used to make among the step S1001 processing of the count increments 1 of closing reference count.
At this moment, be stored in the counting of closing reference count that connects in the reference count storage part 408 and equal " 2 " at the server PC 105 that is assigned identifier server 504 " 10 ".The practical communication address is set to IPv4 address [10.0.0.10] and port numbers [1025].
Except IPv4 address [10.0.0.10] and port numbers [1025], also have IPv6 address [2001::10] and port numbers [1025] as destination-address, and these addresses are in connection status separately.
In handling P1103, Department of Communication Force 103 is closed processing at IPv4 address [10.0.0.10] and port numbers [1025] between client process.At this moment, the processing among the execution in step S1002, thus make the counting of closing reference count that is associated with this session that is stored in the connection reference count storage part 408 successively decrease 1.
Close when handling when carrying out this, be stored in the counting of closing reference count that connects in the reference count storage part 408 and become and equal 1 at the server PC 105 that is assigned identifier server " 10 ".In addition, the practical communication address remains IPv4 address [10.0.0.10] and port numbers [1025].In addition, have IPv6 address [2001::10] and port numbers [1025] as destination-address, and this address is in connection status.
In handling P1104, Department of Communication Force 103 is closed processing at IPv6 address [2001::10] and port numbers [1025] between client process.At this moment, the processing among the execution in step S1002, thus make the counting of closing reference count that is stored in the connection reference count storage part 408 successively decrease 1.
Close when handling when carrying out this, be stored in and connect the counting of closing reference count that the server PC 105 with being assigned identifier server " 10 " in the reference count storage part 408 is associated and become and equal 0.Equal 0 because the counting of closing reference count has become, so processing is closed in the session that Department of Communication Force 103 is handled among the step S710 among the P1105 between client process.In this example, client applications 101 or 101a Department of Communication Force 103 between client process provides the open command at IPv6 address [2001::10] and port numbers [1025].
Yet, receive from Department of Communication Force 103 between the client process of the open command of client applications 101 or 101a and carry out disconnection process at IPv4 address [10.0.0.10] and port numbers [1025] as the practical communication address.In step S710 and S711, carry out this disconnection process.
Next, in handling P1106, Department of Communication Force 107 carries out following processing between server processes: in response to the open command at IPv4 address [10.0.0.10] and port numbers [1025] from Department of Communication Force between client process 103, Department of Communication Force 107 uses communication pool 104b to be used to disconnect the disconnection process of the session that is associated between server processes.
This means as follows: during executive communication, send the open command that is used to disconnect existing session from the Another Application program in the existing session set up of supposition at the address that is different from address, an application program designated destination.In this case, do not disconnect existing session.
In other words, according to second execution mode, even carry out in the existing session of setting up at the address that is different from destination-address under the situation of transfer of data, the communication of being undertaken by existing session can by mistake not disconnected by the open command from the Another Application program.
For example, suppose that client applications 101a can not carry out data communication again when client applications 101 disconnection client applications 101a are just using the session of the existing session that acts on data communication.
Yet, by for example being configured to Department of Communication Force 103 between client process in response to from each connection request of client applications 101 or 101a and respectively close (disconnections) and ask, only make the reference count that provides at existing session with same server count increments and successively decrease, and and if only if reference count becomes equals actual to disconnect session at 0 o'clock, even client applications 101 and 101a share session, also can prevent from when session disconnects, to occur the problems referred to above.
According to first execution mode, even when client applications 101 and 101a specify different destination-address respectively, also can use identical session.In this case, the mailing address that is actually used in communication is set to create employed first destination-address of session.
Yet, if in utilizing the communication of creating employed first destination-address of session communication failure takes place, even then when second destination-address can be used for communicating by letter, originally client applications, an executive communication again of second destination-address and current executive communication in the session identical had been specified with another client applications.
According to the 3rd execution mode, even session runs into such communication failure, as long as there is the destination-address that can be used for communicating by letter, just can executive communication in session.
Figure 12 A and 12B are the flow charts of handling according to the session management that Department of Communication Force between the client process of the client computer PC100 of the conversation management system of the 3rd execution mode of the present invention 103 is carried out.Should be noted that the step S701 to S711 in the flow chart of step S701 to S711 and Fig. 7 among Figure 12 A and the 12B is identical, therefore do not describe institute in steps, and only describe the distinctive step of the 3rd execution mode.
With reference to Figure 12 B, the session of interprocess communication controller 401 by selecting in step S706 or S707 will send server application 108 (step S708) from the data of client applications 101 or 101a to.
Next, interprocess communication controller 401 specified datas transmit whether success (step S1201).If data transmit successfully, then interprocess communication controller 401 determines whether to receive from the turn-off request of client applications 101 or 101a or from the disconnection request (step S709) of communication pool 104a.
On the other hand, unsuccessful if data transmit, interprocess communication controller 401 another destination-address (step S1202) of making session management portion 403 determine whether to exist to be associated then with same server identifier 504.
When not having other destination-address that is associated with same server identifier 504, interprocess communication controller 401 actual figures reportedly send fault processing (step S1206), and this processing enters into step S709.
On the other hand, when existing with another destination-address that same server identifier 504 is associated, interprocess communication controller 401 makes and reconnects management department 409 and reconnect session (S1203) at another destination-address foundation that is associated with same server identifier 504.In this case, use the address that is different from the mailing address that stands communication failure to create new socket.
Next, interprocess communication controller 401 reconnects session via DB management department 405 with this and is registered in (step S1204) among the session management information DB 406.Then, interprocess communication controller 401 selects this to reconnect session as data transfer sessions (step S1205).Then, this processing turns back to step S708, uses this to reconnect the session actual figure and reportedly send.
Figure 13 A and 13B are the sequence chart that the session management carried out between server PC 105 and client computer PC in the 3rd execution mode is handled.This sequence makes that can carry out session under the situation of using the existing session execution transfer of data of setting up at the address that is different from destination-address reconnects processing.Omission among Figure 13 A and the 13B with the processing sequence of Fig. 9 A and 9B in the description of identical processing.
In handling P1301, interprocess communication controller 401 carries out being used among the step S1201 checking that whether successful data transmit processing.At this moment, being stored in the counting of closing reference count at the server PC 105 that is assigned identifier server 504 " 10 " that connects in the reference count storage part 408 becomes and equals 2.The practical communication address is set to IPv4 address [10.0.0.10] and port numbers [1025].
In addition, at this moment, there are two the destination-address IPv4 addresses [10.0.0.10] and the port numbers [1025] and IPv6 address [2001::10] and port numbers [1025] that are in connection status separately.
In this sequence example, interprocess communication controller 401 determines to use IPv4 address [10.0.0.10] and port numbers [1025] to transmit unsuccessful as the performed data in practical communication address in handling P1301.
In handling P1302, interprocess communication controller 401 makes session reconnect the processing that management department 409 carries out being used to determine whether to exist among the step S1202 another destination-address that is associated with same server identifier 504.
In this sequence example, session reconnects management department 409 and determines to exist another destination-address that is associated with same server identifier 504, and foundation reconnects session (handling P1303).Session reconnects management department 409 and makes DB management department 405 that this is reconnected session to be registered among the session management information DB406.
At this moment, being stored in the counting of closing reference count at the server PC 105 that is assigned identifier server " 10 " that connects in the reference count storage part 408 becomes and equals 2.
The practical communication address is set to IPv6 address [2001::10] and port numbers [1025].In addition, exist the IPv4 address [10.0.0.10] be in connection status separately and port numbers [1025] and IPv6 address [2001::10] and port numbers [1025] as destination-address.
In handling P1304, interprocess communication controller 401 uses IPv6 address [2001::10] and port numbers [1025] to transmit client applications 101 or 101a data designated.
Therefore, comprising under one or more situation that can be connected destination-address that client applications 101 and 101a can not know to continue communication under the situation of communication failure with session that the same server identifier is associated.
In first to the 3rd execution mode, client computer PC 100 determines whether to exist existing session based on identifier server (i.e. the server identifying information that obtains from server PC 105).
Yet, for this reason, need provide the function of returning identifier server (server identifying information) to server PC 105, promptly under the control of communication controler between server processes 301, return the identifier server sending part 302 of identifier server.This not only makes the processing load to applying with a large amount of client computer PC server in communication PC 105 increase, and also hinders effective use of Internet resources.
In order to address this problem, according to the 4th execution mode, whether client computer PC 100 is configured to not based on the identifier server that obtains from server PC 105 existing existing session to determine.In other words, client computer PC 100 is configured to under the situation that server PC 105 cooperates do not determining whether to exist existing session.
Figure 14 is the figure of application according to the software arrangements of the client server system of each conversation management system of the 4th to the 6th execution mode of the present invention.
Client server system shown in Figure 14 is with the difference of application according to the client server system of Fig. 1 of each conversation management system of first to the 3rd execution mode, DNS (domain name system, DomainName System) server 1401 is connected to network 106.
In the 4th execution mode, by using dns server 1401 etc., client computer PC 100 with under the situation that server PC 105 cooperates is not determining whether to exist existing session.The DNS of operation service is based on IETF (the Internet engineering duty group, Internet Engineering Task Force) technical specification on dns server 1401.Specifically, dns server 1401 provides address problem to solve service according to the standard that for example defines in RFC (Request for Comment, Requestfor Comments) 1034, RFC 1035 etc.
Descriptions such as RFC 1034, RFC 1035 meet the standard of A record of IPv4 and the realization of response.In addition, description such as RFC 1886 meets the standard of AAAA record of IPv6 and the realization of response.These RFC can consult on http://www.ietf.org/rfc.html.
Figure 15 is shown specifically the block diagram of application according to the software arrangements of Department of Communication Force 103 between the client process of the client computer PC 100 of the client server system of the conversation management system of the 4th execution mode.
In response to the request from client applications 101 or 101a, Department of Communication Force 103 and communication pool 104a communicate by letter with server PC 105 via branch line object (not shown) between client computer PC 100 use client processes.
As in first to the 3rd execution mode, Department of Communication Force 103 comprises interprocess communication controller 401, session management portion 403, session management information DB 406 and session determination portion 404 between client process.
Similar with first to the 3rd execution mode, Department of Communication Force 103 comprises that also session disconnects management department 407 and session reconnects management department 409 between client process.In addition, as the distinctive software of the 4th execution mode, Department of Communication Force 103 is provided with address list acquisition unit 1501 and address list storage part 1502 between client process.
403 management of session management portion are registered in the session management information among the session management information DB 406.Hereinafter describe session management information in the 4th execution mode in detail with reference to Figure 17.Session determination portion 404 is determined the establishment of new session and the availability of existing session based on address list and session management information.
Session disconnects management department 407, connect reference count storage part 408 and session reconnect in the management department 409 each carry out with first to the 3rd execution mode in identical processing.
Next, describe the address list information that is stored in the address list storage part 1502 in detail with reference to Figure 16.From dns server 1401 obtain about the address list information of destination (server) by sequential storage address list storage part 1502, and form database.
Yet in the 4th execution mode, when client applications 101 and 101a use different forms of services device identifying information request connection, as hereinafter described, address list acquisition unit 1501 is converted to host name with different forms of services device identifying information.Address list acquisition unit 1501 is obtained the address list of host name from dns server 1401.
Therefore, in fact represent each identifier server 1601 in the address list information of Figure 16 with host name.By the same token, in fact also represent each identifier server 504 in the session management information of Figure 17 with host name.Yet, for convenience of description, each identifier server 1601 in the address list information of Figure 23 is shown, as client applications 101 or the actual specified server identifier of 101a (server identifying information) although it is actually the host name form.
In the example of Figure 16,, obtain IPv4 address [10.0.0.10] at the communication of tabulation number 1 and 4 indications for the server of identifier server 1601 with usefulness " AppServer: host name " expression.In addition,, obtain IPv6 address [2001::10], obtain IPv6 address [fe80::10] at the communication of tabulation number 3 indications at the communication of tabulation number 2 indications for the server of identifier server 1601 with usefulness " AppServer: host name " expression.
In addition,, obtain IPv4 address [10.0.0.20], obtain IPv6 address [2001::20] at the communication of tabulation number 6 indications at the communication of tabulation number 5 indications for the server of identifier server 1601 with usefulness " AppServer 2: host name " expression.
Figure 17 is the figure of the example of session management information.Application program identification 501 is to be used to discern the client applications 101 of connection request side or the identifier (instance handle) of 101a.Request address information 502 indication client applications 101 or 101a are appointed as the destination-address that connects the destination when request connects.This destination-address (request address information 502) comprises server identifying information (host name, FQDN etc.), such as the IP address 502a and the port numbers 502b of IPv4 address or IPv6 address.
Next, the session management of carrying out with reference to the interprocess communication controller 401 of Department of Communication Force 103 between flow chart description client process shown in Figure 180 according to the 4th execution mode is handled.Should be noted that in Figure 18, represent and the identical step (this is applicable to Figure 20,21,22A, 22B, 26A, 26B and 27) of step among Fig. 7 with identical number of steps.
The interprocess communication controller 401 of Department of Communication Force 103 receives the request (step S701) of the server application 108 that will be connected to server PC105 between client process.This connection request sends from client applications 101 or 101a.
Then, interprocess communication controller 401 makes address list acquisition unit 1501 obtain address list (step S1801) about destination-address.
In this case, address list acquisition unit 1501 uses communication pool 104a to send the request of obtaining via network 106 to dns server 1401, so that obtain A record on the address list, AAAA record etc.Dns server 1401 obtains request in response to the address list from address list acquisition unit 1501, returns the address list that is associated.
Should be noted that in step S1801 address list acquisition unit 1501 is also utilized the service of solving of various address problems to carry out address list and obtained processing except utilizing dns server 1401.Address problem solves the broadcast search that the example of serving comprises LLMNR (the local multicast name resolving of link, Link Local Multicast NameResolution) and NetBIOS.
When specifying " digital host address (Numeric host address) " as the server identifying information in destination-address, address list acquisition unit 1501 is converted to host name with " digital host address ", and executive address is tabulated and obtained processing then.
Be described in detail in the address list of carrying out among the step S1801 with reference to flow chart shown in Figure 19 and obtain processing.
In host name type servers identifying information and the address style server identifying information which be address list acquisition unit 1501 determine in from the destination information of client applications 101 or 101a to use come given server (step S1901).Here " address " is meant " digital host address ".
When using address style server identifying information given server, address list acquisition unit 1501 is searched for the host name (step S1902) that is associated with the address in dns server 1401.In this case, for example in the programming of C/C++ socket, address list acquisition unit 1501 utilizes getnameinfo () function to search for the host name that is associated with assigned address.
Then, address list acquisition unit 1501 is specified based on the address and is obtained function and the host name that finds, thereby obtains the address list (step S1903) of the server that is associated with host name from dns server 1401.In this case, for example in C/C++ socket programming, address list acquisition unit 1501 is with the ai_family value of being set at AF_UNSPEC of getaddrinfo () function and call this function, thereby obtains the address list that is associated with host name.
On the other hand, when using host name type servers identifying information given server, skips steps S1902 enters into step S1903.After step S1903 finished, address list acquisition unit 1501 was registered in (step S1904) in the address list storage part 1502 with host name and the address list that is associated with host name, and this processing turns back to main processing the among Figure 18.
Then, under the control of interprocess communication controller 401, session determination portion 404 is determined (step S1802) based on the information among address list that obtains and the session management information DB 406 to the availability of existing session in step S1801.
In this case, session determination portion 404 determines to be registered in the existing session among the session management information DB 406 that is associated with the address of importing in the address list that obtains, can be used as the session that is associated with the main frame with same hostname (server) and use.
More particularly, session determination portion 404 determines whether there is the session that is associated with the same server of having obtained address list in the existing session of the current use address executive communication different with obtaining address that the address list that obtained uses when (it may only comprise an address).When existing with existing session that same server is associated, session determination portion 404 definite existing sessions can be used.
In this case, be converted under the state of host name by unified, obtain address list at server identifying information as indicated above.Therefore, session determination portion 404 is based on the host name identified server.
This means in fact, even it is different with the server identifying information that client applications 101 and 101a specified destination-address when request is connected is associated, as long as the server identifying information is associated with same server, just the server identifying information is handled as same identification information.
Therefore, even when passing through different server identifying information given servers, also can carry out correct determining, thereby can utilize Internet resources more efficiently the availability of existing session.This beneficial effect is described in detail with reference to Figure 23.
Then, but when the existing session time spent, the session (step S1803) that is used for the data transmission that interprocess communication controller 401 selects the existing session conduct to be used for will carrying out at this moment.
For example, in the example of session management information shown in Figure 17, the sessions of management number 1 and 2 indications are at the session from each various objectives way address of client applications (1) appointment.Yet, under the situation of management number 2, have the existing session of having set up that is associated with same server identifier " AppServer " (being associated) with the session number 1 of management number 1 and distribution.In this case, interprocess communication controller 401 selects this existing session conduct to be used to transmit the session of data, and does not create new session.
In the example of the address list in Figure 16, because IP address [10.0.0.10] and [2001::10] are associated with same server identifier " AppServer ", therefore as mentioned above, can determine to exist the existing session that is associated with this same server identifier.
In the example shown in Figure 16 and 17, for about being connected to and tabulating/communication of the request of the address [2001::10] that management number 2 is associated, use comes actual figure reportedly to send at the existing session of the address [10.0.0.10] that is associated with management number 1 and with the identifier server " AppServer " identical with address [2001::10] identifier server of being associated.
Therefore, use existing session to make client computer PC 100 and server PC 105 can eliminate the needs of creating the new traffic socket at destination-address, this makes it possible to save the Internet resources such as communication socket.
The step that identical number of steps is represented among step S704 among Figure 18, S705 and S708 to S711 and Fig. 7 is identical, and therefore the descriptions thereof are omitted.
Next, first and second client applications situation by different server identifying information (host name, FQDN etc.) given server is respectively described.
As indicated above, in the 4th execution mode, even when being used for the server identifying information of named place of destination when different, as long as the server identifying information is used to discern same server, just the server identifying information is handled as the same server identifying information, thereby can correctly be determined the availability of existing session.
Figure 23 is illustrated in the example of the address list information of obtaining in this case.Item of information in item of information in the address list information of Figure 23 and the address list information among Figure 16 is identical, and therefore the descriptions thereof are omitted, and wherein identical Reference numeral is represented identical item of information respectively.Yet, for convenience of description, identifier server 1601 in the address list information of Figure 23 need not represent by being converted to the host name that host name obtains with the unification of multi-form specified server identifier information, originally is used to carry out the specified server identifying information before the conversion and represents and be used in.
In the example of Figure 23, by the server of identifier server " AppServer.foo.test " sign and by the server of identifier server " AppServer " sign be associated with identical ip addresses " fe80::10 " (referring to tabulating numbers 2 and 3).
In this case, as indicated above, identifier server " AppServer.foo.test " is reached " AppServer " unification be converted to host name, thereby being used as same server, handle these servers.Then, session determination portion 404 determines based on the address list information that comprises these two identifier servers that are actually whether existing session is available.
For example, suppose and when request connects, in destination information, specified identifier server " AppServer.foo.test ", still do not have existing session at the IP address that is associated with this identifier server.Also there is session at IP address [2001::10] in this case in supposition, the existing session that is associated as the identifier server " AppServer " of the identical server of the server that is identified with sign and identifier server " AppServer.foo.test ".
In this case, session determination portion 404 is determined can use at the existing session of the IP address [2001::10] that is associated with identifier server " AppServer " in response to the connection request that uses identifier server " AppServer.foo.test ".
Therefore, as mentioned above, identifier server different but that be associated with same server is handled as the same server identifier, therefore, even when passing through different identifier server given servers, also can utilize the existing session with server, thereby can use Internet resources more efficiently such as socket.
In first to fourth execution mode, even when client applications 101 and 101a specify different separately destination-address, two client applications also use identical session sometimes.In this case, one of destination-address that Department of Communication Force 103 uses have early been set up session (identical session) between client process is carried out practical communication.
Yet when communication failure occurring in by the communication that early carry out the address, designated destination, even can use other address to communicate, other client applications by identical session executive communication also becomes can not executive communication.
In order to address this problem, even the 5th execution mode is configured to occur communication failure,, just set up session at this another address that can connect as long as there is another address that can connect, thus executive communication.
Next, with reference to the flow chart shown in Figure 20 and 21, the session management that description is carried out according to the interprocess communication controller 401 of the client computer PC 100 of the conversation management system of the 5th execution mode is handled.The part of the flow chart shown in Figure 20 and 21 is identical with flow chart among Figure 18.Therefore, in Figure 20 and 21, represent and the identical step of step among Figure 18 with identical step number, and the descriptions thereof are omitted.Below, the difference with the 4th execution mode is only described.
Among the step S2001 in Figure 21, whether interprocess communication controller 401 determines to use the data of the session execution of selecting in step S708 to transmit successful.If data transmit successfully, execution in step S709 to S711 then.
On the other hand, if data transmit unsuccessful, then session determination portion 404 determines whether to exist other address (step S2002) that is associated with same server identifying information (host name etc.) in session management information DB 406 under the control of interprocess communication controller 401.If there is no other address that is associated with the same server identifying information, then interprocess communication controller 401 actual figures reportedly send fault processing (step S2006), and this processing enters into step S709.
On the other hand, if there is another address that is associated with the same server identifying information, then interprocess communication controller 401 is set up the session (step S2003) that is used to reconnect to this another address that is associated with same server identifying information (host name).In this case, interprocess communication controller 401 is at the new socket of address creation that is associated with same server identifying information (host name).
If there are a plurality of other addresses that are associated with same server identifying information (host name), then interprocess communication controller 401 is preferentially set up session at the address of client applications 101 or 101a appointment.
Next, interprocess communication controller 401 makes session management portion 403 register information (step S2004) about the session that is used to reconnect in session management information DB 406.Then, interprocess communication controller 401 selects this session that is used to reconnect as being used for the session (step S2005) that data transmit, and this processing turns back to step S708.
As mentioned above, according to the 5th execution mode, even break down during using an application program to communicate when a plurality of application programs are reportedly sent by the same session actual figure, other application program also can continue communication.Therefore, the 5th execution mode makes it possible to make up and can resist communication failure and the high communication system of reliability aspect the data transmission.
In the 4th and the 5th execution mode, for example when application program 101 disconnects first session, also using the application program 101a of first session to become can not executive communication.
The 6th execution mode of the present invention provides solution to this problem as follows: interprocess communication controller 401 is not just to cut out each session when the turn-off request that receives at session, closes each session and the reference count of closing that provides at session is provided.In the 6th execution mode, will close reference count and be stored in the connection reference count storage part 408.
Handle with reference to the session management in flow chart description the 6th execution mode shown in Figure 22 A and the 22B.The part of Figure 22 A and the flow chart shown in the 22B is identical with the flow chart among Figure 18.Therefore, in Figure 22 A and 22B, with identical step number represent with Fig. 7 and Figure 18 in the identical step of step, and the descriptions thereof are omitted.Below, the difference with the 4th execution mode is only described.
Among the step S2201 in Figure 22 B, under the control of interprocess communication controller 401, session disconnects management department 407 makes the session of selecting in step S706 or S707 the count increments of closing reference count 1.At this moment, session disconnects management department 407 and will increase progressively 1 the counting of closing reference count and be stored in and connect in the reference count storage part 408.
Next, interprocess communication controller 401 carries out data transmission (step S708) by the session of selecting in step S706 or S707.Then, interprocess communication controller 401 determines whether to receive from the turn-off request of client applications 101 or 101a or from the disconnection request (step S709) of communication pool 104a.If do not receive turn-off request as yet or disconnect request, then this processing turns back to step S701.
On the other hand, if received turn-off request or disconnected request, then session disconnects management department 407 and makes the counting of closing reference count of the session of setting up at the address that is associated with this request 1 (the step S2202) that successively decrease.As mentioned above, for each destination-address that is associated with session, session disconnects management department 407 makes the count increments of closing reference count 1 that is associated in response to the connection request that is connected to destination-address, and makes the counting of closing reference count that is associated successively decrease 1 in response to disconnecting request.
Then, whether interprocess communication controller 401 counting of determining to close reference count 1 becomes and equals 0 (step S2203) owing to the counting of closing reference count successively decreases.Be not equal to 0 if close the counting of reference count, then this processing turns back to step S701.
On the other hand, equal 0 if close the counting of reference count, then this processing enters into step S710, and wherein interprocess communication controller 401 is used to cut out the processing of cutting out at the session of the address that is associated with the turn-off request or the request that disconnects and corresponding socket.
As mentioned above, according to the 6th execution mode, not when the turn-off request that receives at session, just to close each session, and being provided, the reference count of closing that provides at session closes each session.
Therefore, use same session to carry out under the situation that data transmit, can prevent the data misfeed that the open command from one of client applications is carried out other client applications at different client applications.This makes it possible to use more efficiently the Internet resources such as socket.
In first to the 6th execution mode, but, always be to use this existing session executive communication when the existing session time spent.Yet, compare with the existing session of setting up at first signal post that early begins, at the aspects such as quantity of the router of communication speed, executive communication, the new session that will set up at the second communication that begins after a while is more superior sometimes aspect the communication efficiency originally.
Owing to this reason,, when the new session that will set up in current communication is better than existing session aspect communication efficiency, also sets up new session and continue communication even the 7th execution mode of the present invention is configured to exist under the situation of available sessions.
In the 7th execution mode, as shown in figure 24, Department of Communication Force 103 is provided with line information acquisition unit 2401 between client process, is used for obtaining line information to determine communication efficiency under the control of interprocess communication controller 401.
Appropriate section in the other parts of the software arrangements of client computer PC 100 and first execution mode shown in Figure 4 is basic identical, therefore only difference is provided description below.Should be noted that having omitted session disconnection management department 407, connection reference count storage part 408 and the session among Fig. 4 in the diagram of Figure 24 reconnects management department 409.
Line information acquisition unit 2401 from communication pool 104a obtain about to network 106 to the line information of the communicating route of destination-address.Then, line information acquisition unit 2401 is registered in line information among the session management information DB 406 as session management information via DB management department 405.
The line information that line information acquisition unit 2401 is obtained comprises that traffic classification (TrafficClass), the number of failing to be sold at auction (Flow Label) and the jumping figure of IPv6 head limit the COS (ServiceType) and the useful life (Time To Live) of (Hop Limit), IPv4 head, also have communication band.
Line information acquisition unit 2401 can use the path mtu discovery (Path MTUDiscovery) of IP agreement to detect path mtu (Path MTU (MTU, Maximum TransmissionUnit)).Path mtu discovery detects the maximum that a secondary data transmits the datagram that can transmit automatically.By RFC (Request for Comment) definition path mtu discovery.
Line information acquisition unit 2401 is obtained among RFC 1981 path mtu discovery of the IP the 6th edition of definition, the path mtu discovery of definition in RFC 1191 etc. from communication pool 104a.
About communication band, line information acquisition unit 2401 can be obtained about being installed in the band information of the network interface card among the client computer PC 100.In addition, line information acquisition unit 2401 can use the Network Control Protocol of definition in RFC 2205 to obtain the band information of the frequency band of controlling about client applications.
Figure 25 is the figure of the session management information that uses in the conversation management system according to the 7th execution mode.This session management information as database storage in session management information DB 406.
The difference part of the session management information of Fig. 5 that the session management information of the Figure 25 that uses according to the conversation management system of the 7th execution mode and the conversation management system according to first execution mode use is, the data item identical with the data item of the session management information of Fig. 5 added line information 2501.This line information 2501 is indicated to that client applications 101 or 101a are appointed as the destination-address of destination when request connects and the line conditions of the communicating route of the port numbers that is associated.
Next, with reference to the session management information of the flow chart description shown in Figure 26 A, 26B and 27 according to the conversation management system of the 7th execution mode.This flow chart comprise with first execution mode in identical some treatment steps of treatment step in the flow chart of Fig. 7.Number represent these steps with corresponding same steps as, and the descriptions thereof are omitted.
In step S702, interprocess communication controller 401 obtains identifier server according to client applications 101 or address, 101a designated destination from server PC 105.In addition, interprocess communication controller 401 obtains about the line information (step S2601) to the communicating route of client applications 101 or address, 101a designated destination line information acquisition unit 2401.
In this case, line information acquisition unit 2401 can be obtained information about communicating route from the socket character library on the OS of client computer PC 100 based on the getsockopt function.In addition, line information acquisition unit 2401 can be obtained path mtu discovery from the communication pool 104a on the OS, uses path mtu discovery to obtain path mtu 2501c about communicating route then.Line information acquisition unit 2401 can also be obtained TTL (useful life, Time To Live) information in the IPv4 head or the jumping figure restricted information in the IPv6 head.
Next, interprocess communication controller 401 makes the existing session of having set up (step S703) that session management portion 403 determines whether to exist the identifier server 504 identical with the identifier server that obtains 504 to be associated in step S702.
In this case, session management portion 403 obtains session management information via DB management department 405 from session management information DB 406.Then, session management portion 403 determines in the existing session in the communication of other address of current use based on the session management information that obtains, the existing session that whether exists the identifier server 504 identical with the identifier server that obtains when making this connection request 504 to be associated.Undertaken this and determine to handle by session determination portion 404 is actual.
When having the existing session that is associated with the identifier server 504 identical with the identifier server that obtains 504 in step S702, this processing enters into step S2602.
In step S2602, interprocess communication controller 401 makes the line conditions of session determination portion 404 by the existing session that more connected and the line conditions about the destination-address of appointment in this connection request determine whether the latter is more favourable.
In the example of the session management information in Figure 25, the communication that is assigned each management number 1 and 2 based on from client applications to different addresses, but belong to the connection request that send the address of the server with same server identifier.When comparing these two communications with regard to path mtu 2501c, the path mtu 2501c of management number 1 is 1500, and the path mtu 2501c of management number 2 is 9000.Thus, the line conditions of management number 2 of (littler communication overhead) is more favourable to determine to have bigger path mtu.
In addition, when comparing two communications with regard to router counting 2501b, the router counting of management number 1 is 3, and the router of management number 2 counting is 1.Thus, determine that the line conditions of management number 2 of router number littler (being that communication overhead is littler) of executive communication is more favourable.Hereinafter detailed description is obtained the method for band information 2501a.
Can imagine the conflicting situation of definite result about the favourable degree of line conditions by carrying out based on each method of band information 2501a, router counting 2501b and path mtu 2501c, but in these cases, can be based on carrying out definite by the total communication overhead that adds up to definite result to obtain.
In addition, can determine the favourable degree of line status based on take a message communication conditions beyond breath 2501a, router counting 2501b and the path mtu 2501c of frequency elimination.For example, can use communication conditions such as the continuous variation of the flow of communicating route.In addition, can be based on being weighted the favourable degree that the total communication overhead that obtains waits to determine line conditions by each parameter that band information 2501a, router are counted in the parameter of 2501b and path mtu 2501c that comprises to user's appointment.
When about the line conditions of the destination-address of appointment in this connection request than about the line conditions of the existing session that connected when more favourable, interprocess communication controller 401 makes session management portion 403 set up new session (step S2603).In this case, session management portion 403 uses communication pool 104a based on client applications 101 or the new socket of 101a designated destination address creation.
Next, session management portion 403 makes DB management department 405 register information (step S2604) about the new session that comprises new socket in session management information DB 406.Then, interprocess communication controller 401 is selected the new session set up at client applications 101 or address, 101a designated destination, as being used for the session (step S2605) that notebook data transmits.
Next, interprocess communication controller 401 will with carried out communication and changed into new session (step S2606) with the existing session that the same server of carrying out data and transmitting is associated.Then, interprocess communication controller 401 is deleted existing session (step S2607) from session management information DB 406.
In the example of the session management information in Figure 25, for management number 3 and 2 communication separately, the communication of management number 2 is in more favourable line conditions.Suppose that under this line conditions, client applications 101 sends connection request with the order of management number 3 and 2.
In this case, at first, the session of creative management number 3 indications again.In this session, the mailing address that client applications 101 actual actual figures reportedly send is [2001::20] and port numbers 1025.
Then, if client applications 101a sends the connection request of management number 2, then because the line conditions of management number 2 is more favourable than the line conditions of management number 3, the therefore session of creative management numbers 2 again.
Then, execution in step S2605 to S2607, thus the follow-up data transmission of client applications 101 and 101a is carried out in use at the new session of the management number 2 of mailing address [2001::20] and port numbers 1025.
When the line conditions of the existing session that has connected than about the line conditions of the destination-address of reassigning when more favourable, this processing enters into step S707.In step S707, interprocess communication controller 401 select with the existing session that has been connected that is associated as the identical identifier server 504 of identifier server that the response of the connection request in the current circulation is obtained 504, as the session that is used for the current data transmission.
Next, the method for obtaining the band information 2501a that is included in the line information 2501 is described.Among the step S2601 in Figure 26 A, line information acquisition unit 2401 is obtained band information 2501a according to client applications 101 or address, 101a designated destination.
In this case, line information acquisition unit 2401 is utilized LinkSpeed to obtain function and is obtained the LinkSpeed of the network adapter of client computer PC 100 from the socket character library on the OS of client computer PC 100, the speed of this link of LinkSpeed indication from the sender address to the destination-address.
Should be noted that line information acquisition unit 2401 can obtain the Network Control Protocol of the QoS (service quality, Quality of Service) that is used to realize the network equipment from the socket character library on the OS, thus identification band information 2501a.In this case, line information acquisition unit 2401 is obtained RSVP (RSVP, Resource Reservation Protocol) (RFC 2205) setting from Network Control Protocol.
Line information acquisition unit 2401 checks that these are provided with, and obtain client computer PC 100 network adapter LinkSpeed and about the information of the utilized bandwidth of the network equipment on the communication path, thereby determine the favourable degree of line conditions.
Then, the Department of Communication Force 103 overall band information 2501a of determining, router are counted 2501b and path mtu 2501c between client process, thus the address that selection was used when reportedly sending by the session actual figure of setting up at different address.Then, the session that Department of Communication Force 103 is selected at selected address between client process is as the session of using when real data transmits.
When determining the favourable degree of line conditions, do not need service band information 2501a, router counting 2501b and path mtu 2501c three whole.Can use desirable two combination among among the three one or the three to determine the favourable degree of line conditions.
The present invention can be applied to comprise the system of multiple arrangement or the unit that is formed by single assembly.In addition, though in above-mentioned each execution mode, suppose main use IPv6, also can be applied to use the situation that to distribute any other communication protocol of a plurality of addresses etc. to individual node according to the technical thought of execution mode as communication protocol.
Should be appreciated that the storage medium of program code that can also be by system or device being provided the software that stores the function that realizes above-mentioned arbitrary execution mode and make system or the computer of device (or CPU or MPU) is read and carried out the program code that is stored in the storage medium and realizes the present invention.
In this case, the program code itself that reads from storage medium is realized the function of above-mentioned arbitrary execution mode, so the storage medium of the program code and the code that has program stored therein constitutes the present invention.
Be used to provide the example of the storage medium of program code to comprise soft (floopy, registered trade mark) dish, hard disk, magneto optical disk, CD, tape, Nonvolatile memory card and ROM such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW or DVD+RW.As selection, can be via the network download program.
In addition, be to be understood that, the program code that can read by object computer not only, can also be by making the OS (operating system of operation on computers, Operating System) etc. based on instruction operating part or all practical operations of program code, realize the function of above-mentioned arbitrary execution mode.
In addition, be to be understood that, can be arranged on the memory on the expansion board of inserting computer or be arranged on memory the expanding element that is connected to computer, make the CPU that is arranged in expansion board or the expanding element etc. based on the instruction operating part of program code or whole practical operations then by writing, realize the function of above-mentioned arbitrary execution mode from the program code that storage medium is read.
Though invention has been described with reference to illustrative embodiments, should be appreciated that the present invention is not limited to disclosed illustrative embodiments.The scope of claims meets the wideest explanation, to cover all distortion, equivalent structure and function.
The application requires the priority of the Japanese patent application of submitting on April 4th, 2008 2008-098363 number and the Japanese patent application of submitting on January 8th, 2009 2009-002433 number, and its full content is contained in this by reference.
Claims (8)
1. conversation management system, it is used to manage server with a plurality of addresses and the session between the client computer, and this conversation management system comprises:
Determining unit, it is configured under the situation of application requests that is provided with described client computer and described server communication, determines whether to have set up between described client computer and described server the session of using the address different with the specified address of described application program; And
Control unit, it is configured to when determining to have set up session, make described application program by using session and the described server communication of having set up, and when determining not set up session, make described application program by newly-established session of use and described server communication.
2. conversation management system according to claim 1, wherein said determining unit are carried out based on the identifying information that is used to discern described server and are describedly determined.
3. conversation management system according to claim 2, this conversation management system also comprises: first acquiring unit, it is configured to obtain described identifying information from described server.
4. conversation management system according to claim 2, this conversation management system also comprises: second acquisition unit, it is configured to obtain described identifying information from external device (ED).
5. conversation management system according to claim 4, wherein, described external device (ED) is a domain name system server.
6. conversation management system according to claim 1, this conversation management system also comprises: administrative unit, its connection request and disconnection that is configured to manage based on from described application program is asked and the value of renewal,
Wherein said control unit disconnects the session of setting up between described client computer and described server based on the value of being managed.
7. conversation management system according to claim 1, even wherein the session of address of determining to have set up session but being to use described application program appointment than the higher situation of the described session efficient of having set up under, described control unit makes described application program by using newly-established session and described server communication.
8. method of controlling conversation management system, described conversation management system are used to manage server with a plurality of addresses and the session between the client computer, and this method comprises:
Under the situation of application requests that is provided with described client computer and described server communication, determine whether between described client computer and described server, to have set up the session of using the address different with the address of described application program appointment;
When determining to have set up session, make described application program by using session and the described server communication of having set up; And
When determining not set up session, make described application program by using newly-established session and described server communication.
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008098363 | 2008-04-04 | ||
| JP2008-098363 | 2008-04-04 | ||
| JP2008098363 | 2008-04-04 | ||
| JP2009002433A JP5178539B2 (en) | 2008-04-04 | 2009-01-08 | Information processing apparatus, information processing apparatus control method, session management system, and program |
| JP2009-002433 | 2009-01-08 | ||
| JP2009002433 | 2009-01-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101552788A true CN101552788A (en) | 2009-10-07 |
| CN101552788B CN101552788B (en) | 2012-08-22 |
Family
ID=41156777
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2009101300572A Active CN101552788B (en) | 2008-04-04 | 2009-04-03 | A session management system and a control method thereof |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP5425320B2 (en) |
| CN (1) | CN101552788B (en) |
| ES (1) | ES2371378T3 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103312683A (en) * | 2012-03-16 | 2013-09-18 | 中兴通讯股份有限公司 | TDF (Traffic Detection Function) processing method and PCRF (Policy and Charging Rules Function) |
| CN106776063A (en) * | 2016-11-29 | 2017-05-31 | 北京元心科技有限公司 | Mobile terminal, container telephonic communication function realizing method and across container communication means |
| CN108632265A (en) * | 2018-04-26 | 2018-10-09 | 广州视源电子科技股份有限公司 | Communication connection method, device and system of client and storage medium |
| CN113301097A (en) * | 2020-12-30 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Data transmission method and device |
| US12348588B2 (en) | 2020-08-12 | 2025-07-01 | Toyota Jidosha Kabushiki Kaisha | Communication device and communication method |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6403976B2 (en) * | 2014-04-09 | 2018-10-10 | アルパイン株式会社 | Computer program, information processing apparatus, and process execution method |
| JP6179492B2 (en) * | 2014-09-11 | 2017-08-16 | コニカミノルタ株式会社 | Communication relay device, program, and communication relay method |
| JP6531497B2 (en) | 2015-06-02 | 2019-06-19 | 富士通株式会社 | Wireless communication system, transmission cycle adjustment device and mobile station |
| JP6920442B2 (en) * | 2019-02-01 | 2021-08-18 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | Methods and devices for establishing communication between nodes in a blockchain system |
| JP7439717B2 (en) * | 2020-09-30 | 2024-02-28 | 株式会社デンソー | Communication method in vehicle system and communication management method for in-vehicle network |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10177548A (en) * | 1996-12-18 | 1998-06-30 | Casio Comput Co Ltd | Session management system |
| JP3855595B2 (en) * | 2000-04-25 | 2006-12-13 | 株式会社日立製作所 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION DEVICE |
| JP2002199004A (en) * | 2000-12-26 | 2002-07-12 | Matsushita Electric Ind Co Ltd | Mobile communication method via IP network |
| US20020087722A1 (en) * | 2000-12-29 | 2002-07-04 | Ragula Systems D/B/A/ Fatpipe Networks | Domain name resolution making IP address selections in response to connection status when multiple connections are present |
| US7117266B2 (en) * | 2001-07-17 | 2006-10-03 | Bea Systems, Inc. | Method for providing user-apparent consistency in a wireless device |
| JP4270888B2 (en) * | 2003-01-14 | 2009-06-03 | パナソニック株式会社 | Service and address management method in WLAN interconnection |
| JP4263915B2 (en) * | 2003-01-21 | 2009-05-13 | 株式会社テレマン・コミュニケーションズ | Data communication system |
| US7577151B2 (en) * | 2005-04-01 | 2009-08-18 | International Business Machines Corporation | Method and apparatus for providing a network connection table |
| US8166175B2 (en) * | 2005-09-12 | 2012-04-24 | Microsoft Corporation | Sharing a port with multiple processes |
| JP2007174106A (en) * | 2005-12-20 | 2007-07-05 | Ricoh Co Ltd | Image processing device |
| JP4333723B2 (en) * | 2006-09-29 | 2009-09-16 | 株式会社日立製作所 | Communication log management system |
-
2009
- 2009-03-31 ES ES09156871T patent/ES2371378T3/en active Active
- 2009-04-03 CN CN2009101300572A patent/CN101552788B/en active Active
-
2013
- 2013-01-08 JP JP2013001022A patent/JP5425320B2/en active Active
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103312683A (en) * | 2012-03-16 | 2013-09-18 | 中兴通讯股份有限公司 | TDF (Traffic Detection Function) processing method and PCRF (Policy and Charging Rules Function) |
| CN103312683B (en) * | 2012-03-16 | 2018-12-21 | 中兴通讯股份有限公司 | The processing method and PCRF of TDF session |
| CN106776063A (en) * | 2016-11-29 | 2017-05-31 | 北京元心科技有限公司 | Mobile terminal, container telephonic communication function realizing method and across container communication means |
| CN108632265A (en) * | 2018-04-26 | 2018-10-09 | 广州视源电子科技股份有限公司 | Communication connection method, device and system of client and storage medium |
| US12348588B2 (en) | 2020-08-12 | 2025-07-01 | Toyota Jidosha Kabushiki Kaisha | Communication device and communication method |
| CN113301097A (en) * | 2020-12-30 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Data transmission method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101552788B (en) | 2012-08-22 |
| ES2371378T3 (en) | 2011-12-30 |
| JP2013118663A (en) | 2013-06-13 |
| JP5425320B2 (en) | 2014-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101552788B (en) | A session management system and a control method thereof | |
| EP2107762B1 (en) | Session management system and method of controlling the same | |
| Bettstetter et al. | A comparison of service discovery protocols and implementation of the service location protocol | |
| US7568048B2 (en) | Method, apparatus, and system for assigning an IP address on a network | |
| US7228141B2 (en) | Providing location-specific services to a mobile node | |
| US7385981B2 (en) | Apparatus for converting internet protocol address and home network system using the same | |
| US20100091684A1 (en) | System and Method for Discovery of Dynamically Assigned Information Handling System IP Addresses | |
| US20090193133A1 (en) | Network device management apparatus, control method therefor, network system, and storage medium | |
| CN112840601B (en) | Method, device and computer-readable medium for configuring a device to be named | |
| CN100576852C (en) | Method and device for obtaining internet protocol address | |
| EP1583323A1 (en) | Communications apparatus, name resolution method and program | |
| EP2656591B1 (en) | DNS proxy service for multi-core platforms | |
| JP2000181849A (en) | How to find a server for peripheral devices on a network | |
| US20020198972A1 (en) | Pre-boot multicast address management protocol for a computer network | |
| CN101904138A (en) | Information processing device, device, control method of information processing device, and storage medium | |
| CN1889572B (en) | Internet protocol address distributing method and dynamic main machine configuration protocol relay | |
| US20080301273A1 (en) | Centrally assigning branch specific network addresses | |
| CN101938527B (en) | Communication apparatus and method of controlling the same | |
| CN107343058B (en) | IP address distribution system and working method thereof | |
| KR101160382B1 (en) | Session management system and method of controlling the same | |
| US7711801B2 (en) | DHCP client/server device and method of providing DHCP server services on a network | |
| CN114629898A (en) | Multi-client cooperation method and electronic equipment | |
| KR100487296B1 (en) | a system for supporting movement of host computer and method therefor | |
| CN119854296B (en) | A private cloud construction method and private cloud system | |
| JP4910274B2 (en) | Program and server device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |