CN101552788B - A session management system and a control method thereof - Google Patents

A session management system and a control method thereof Download PDF

Info

Publication number
CN101552788B
CN101552788B CN2009101300572A CN200910130057A CN101552788B CN 101552788 B CN101552788 B CN 101552788B CN 2009101300572 A CN2009101300572 A CN 2009101300572A CN 200910130057 A CN200910130057 A CN 200910130057A CN 101552788 B CN101552788 B CN 101552788B
Authority
CN
China
Prior art keywords
session
server
address
communication
client
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.)
Active
Application number
CN2009101300572A
Other languages
Chinese (zh)
Other versions
CN101552788A (en
Inventor
和田雄弘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2009002433A external-priority patent/JP5178539B2/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN101552788A publication Critical patent/CN101552788A/en
Application granted granted Critical
Publication of CN101552788B publication Critical patent/CN101552788B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 machineis 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 est ablished, the application program communicates with the server by using the newly established session.

Description

Conversation management system and control method thereof
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, the IP agreement that in being connected to the information processor of network, is widely used under the IP agreement, is distributed unique IP address (mailing address) to each information processor, thereby the device of connection is discerned each other.
Usually, under traditional I P 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 stated 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 time period of cost is set at than long in UDP communication before the size of data, 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 the 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 practice thrift 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 present invention provides a kind of conversation management system and control method thereof.
In 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: confirm the unit, it is configured under the situation of application requests that is provided with said client computer and said server communication, has determined whether between said client computer and said server, to set up the session of the specified address different address of use and said application program; And control unit; It is configured to when confirming to have set up session, make said application program through using session and the said server communication of having set up, and when confirming not set up session, make said application program through newly-established session of use and said server communication.
In second aspect of the present invention; A kind of method of controlling conversation management system is provided; Said 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 said client computer and said server communication, determined whether between said client computer and said server, to have set up the session of use with the address different address of said application program appointment; When confirming to have set up session, make said application program through using session and the said server communication of having set up; And when confirming not set up session, make said application program through using newly-established session and said 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 through 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 execution mode of the present invention, and is used for explaining 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 in second execution mode, between server PC and client computer PC, carried out 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 in the 3rd execution mode, between server PC and client computer PC, carried out 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 in the 4th execution mode, carried out 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 in the 6th execution mode, carried out is handled.
Figure 23 is the figure of the example of the address list information under the situation of specifying same server through 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 in the 7th execution mode, carried out 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 execution mode of the present invention is shown.Should be noted that the present invention is not limited to first to the 7th execution mode that hereinafter is described.In addition, for the present invention, be not to be indispensable according to all combinations of the characteristic 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 and server PC 105 interconnect via network 106.In the first to the 3rd and the 7th execution mode, suppose through LAN or WAN and realize network 106, but can use and LAN and WAN networks of different type.The interface (cable) that in addition, can not pass through definition such as IEEE 1394 or 1284 standards through 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 possibly use printer or MFP (multi-function peripheral, PC MultifunctionPeripheral) realizes client computer PC 100.That is to say that the characteristic 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.
Client applications 101 and 101a use branch line (stub) object 102 and 102a to communicate respectively.In this case, carrying out practical communication by Department of Communication Force between client process 103 handles.
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.
Server application 108 moves on server PC 105.Department of Communication Force 107 communicates between server application 108 use server processes.Department of Communication Force 107 uses communication pool 104b to communicate by letter with client computer PC 100 via network 106 between server processes.One or more server application 108 can be provided.
As stated, 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 through 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 need system configuration 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 the CPU, ROM or the RAM that are arranged in the client computer PC 100 and the network equipment beyond the server PC 105 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.
Computer 2000 comprises master controller 200, keyboard 209, display device 210 and as the external memory storage 211 of ancillary equipment.Master controller 200 comprises CPU 201, RAM 202, ROM 203, KBC 205, display controller 206, disk controller 207 and network controller 208.
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.
CPU 201 is used for being rasterized into the processing in the display random access memory that is fixed on RAM 202 with for example retouching limit word (outline font), thereby via display controller 206 display string on display device 210.In addition, based on the order by appointments on display device 210 such as cursor of mouse (not shown), CPU201 opens the window that is associated in the various windows, and carries out various data processing or service provides the processing that is associated in the processing.Under the situation of using client applications 101 or 101a or server application 108, the user can open the allocation window of application program, with the various settings of configuration on window.Display device 210 can utilize any realization the in CRT display device, liquid crystal display, the plasma display panel device etc.
RAM 202 is as the main storage of CPU 201, service area etc.ROM 203 comprises font ROM203a, program ROM 203b and data ROM 203c.
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 when carrying out, will be stored in the external memory storage 211 loads among the RAM 202 separately.
KBC 205 controls are from the input data and the order of keyboard 209 and pointing device (not shown).The display operation of display controller 206 control display devices 210.Disk controller 207 controls are to the visit of external memory storage 211.
Network controller 208 is connected to network 106 via bidirectional interface 212.Network controller 208 is carried out between the client process shown in each comfortable Fig. 1 Department of Communication Force 103 or 107 and the network of communication pool 104a or 104b and being connected or disconnection of session.
Keyboard 209 is equipped with the key that is used to import various data and order.Related various information during display device 210 display documents are handled, service provides processing etc.Utilize hard disk (HD, hard disk), floppy disk (FD, flexible disk) to wait and realize external memory storage 211.File behind external memory storage 211 storage boot, various application program, character font data, user file, the editor etc.External memory storage 211 is also stored the control program as the application program that is used to carry out each processing, and hereinafter is described these processing with reference to flow chart and sequence chart shown in Fig. 6 to 9B, Figure 10 A and 11B and Figure 12 A to 13B.
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 processing in detail as response send server identifier 504.
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 and interprocess communication controller 401, identifier server obtains portion 402, session management portion 403, DB (database, database) management department 407 and session connection management portion 409 is again broken off in management department 405, session between client process.Department of Communication Force 103 comprises that also session confirms portion 404, session management information DB 406 and connect 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 obtains portion 402 and obtains 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.
Session management portion 403 generates the processing of session information, perhaps determines whether to delete a part that is stored in the management information among the session management information DB 406.Session confirms that portion 404 confirms the existing session with address, designated destination different purpose way address when asking to be connected, and whether comprises the session that relates to the same server that identifier server 504 (server identifying information) identified.In other words, session confirms that portion 404 determines whether through setting up new session or coming executive communication through the use existing session.
405 controls of DB management department are to the visit of session management information DB 406 (referring to Fig. 5).Session is broken off management department 407 and is come managing conversation to break off based on connecting reference count.Connect 408 storages of reference count storage part and connect reference count.This connection reference count is used for confirming to close the timing of session.Control is carried out in session connection management portion 409 again, to continue the current communication of in the session that garble occurs, carrying out through being connected to another address (socket) again.
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.
Request address information 502 is indicated when client applications 101 or 101a request connection by client applications 101 or address, 101a designated destination.Destination-address comprises IP address 502a and port numbers 502b.Mailing address information 503 indication confirmed based on the address, designated destination existing session can with after, select to be used for the address of connection destination (server PC 105) of the session of practical communication.This mailing address comprises IP address 503a and port numbers 503b.
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 through 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 the client applications 101 that is based on the connection request side or 101a with as a series of requests of exchange between the server application 108 that is connected the destination and response (data transmission) and the identiflication number of each session of 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 returned to client computer PC 100 as respond packet 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 confirms 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 through 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, the socket that then 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 portion 402 via identifier server and obtains the identifier server 504 (step S702) that returns from server PC 105 in response to the connection request that sends to destination-address.More particularly, under the control of interprocess communication controller 401, identifier server obtains portion 402 and uses 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 obtains portion 402 and obtains the identifier server 504 that sends from server PC 105.
Then, under the control of interprocess communication controller 401, session management portion 403 determines whether to exist the existing session (step S703) that is associated with the identifier server that in step S702, obtains 504 identical identifier servers 504.
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 confirm among the current existing session in the communication of using other address, exist and the existing session that is associated as the identifier server 504 identical identifier servers 504 that the response of the connection request made is at this moment obtained.Should confirm to handle to confirm portion 404 actual carrying out by session.
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 communication of management number 1 and 2 indications.
More particularly, for example, under the situation of the communication that begins 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 then need not broken off session based on udp protocol (disconnected type agreement) communication, if but session based on Transmission Control Protocol (connecting-type agreement) communication, then need break off session.This is applicable to the step S707 in each among Figure 10 A to 12B.
If there is not the existing session that is associated with the identifier server 504 identical identifier servers 504 that obtain at 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 is utilized in the session of selecting among step S706 or the 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.The communication process of therefore, carrying out through new session is identical with the communication process of in the RPC (remote procedure call) as traditional inter-process communication techniques, carrying out.
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 this execution mode; In the processing in step S707, select and the existing session that is associated as the identifier server 504 identical identifier servers 504 that the response of the connection request made is at this moment obtained, 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.
Through so under the situation of not creating socket again, utilizing existing session to come executive communication, 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 determine whether to have received turn-off request from 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 broken off 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 the session management information (step S711) among the session management information DB 406 based on the process result 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 the 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 is created and is received sockets between server processes, with monitor handle in the IPv4 address [10.0.0.10] and port numbers [1025] locate to carry out and receive.Likewise, Department of Communication Force 107 is also created the reception socket to 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, confirm 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, transfer of data is given the IPv4 address [10.0.0.10] and the port numbers [1025] of 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 accomplishing 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 the request of breaking off, the disconnection that Department of Communication Force 103 carries out among the step S710 between client process is handled.
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, and the guild's words of going forward side by side are broken off and being handled.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 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 sockets between server processes, with monitor handle in the IPv4 address [10.0.0.10] and port numbers [1025] locate to receive processing.Department of Communication Force 107 is also created the reception socket to 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 as 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 identifier server 504 identical identifier servers 504 that the response of connection request is obtained.In the sequence example of Fig. 9 A and 9B, confirm 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 through 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, transfer of data is given the IPv4 address [10.0.0.10] and the port numbers [1025] of 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 accomplishing the data transmission, in handling P912, Department of Communication Force 103 notifies the completion that data transmit to client applications 101 or 101a 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 among the step S604 returning the processing of identifier server 504 as response.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 identifier server 504 identical identifier servers 504 that the response of connection request is obtained.
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 to IPv6 address [2001::10] and port numbers [1025].Therefore; Department of Communication Force 103 is confirmed to exist and the existing session that is associated as the identifier server 504 identical identifier servers 504 that the response of connection request is obtained between client process, and is not directed against IPv6 address [2001::10] and port numbers [1025] and sets up session.
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 port numbers [1025] different address 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 accomplished 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 breaks off 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 that Department of Communication Force 103 carries out among the step S710 between client process is handled.
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 breaking off disconnection processing to the session of IPv4 address [10.0.0.10] and port numbers [1025].
As stated, according to first execution mode, use the existing session of setting up to 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 practice thrift the Internet resources such as socket.Second and third execution mode that hereinafter is described also can provide identical beneficial effect.
In the first embodiment, for example when client applications 101 breaks off 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 owing to the session disconnection goes wrong by client applications 101.
For this reason; Even second execution mode be configured to client applications 101 and 101a in designated destination address different address and when carrying out transfer of data in the existing session set up, the communication that prevents to carry out through existing session is by mistake broken off 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 in step S706 or S707, selecting.Close reference count corresponding to the connection reference count among reference count above-mentioned or Fig. 4, and the number of the request of breaking off 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 break off the session that is associated based on each counting.
Next, interprocess communication controller 401 is utilized in the session of selecting among step S706 or the S707, will send server application 108 (step S708) from the data of client applications 101 and 101a to.When in step S707, having selected to be directed against the existing session of setting up with the destination-address different address, will be used for the count increments of closing reference count 1 of the existing session of data transmission, and not create new session.
Then, interprocess communication controller 401 determine whether to have received turn-off request from client applications 101 or 101a, or from the disconnection request (step S709) of communication pool 104a.If do not receive turn-off request or break off 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 the request of breaking off, then interprocess communication controller 401 makes session management portion 403 queued sessions break off management department 407 to carry out to be used to cut out and cut out processing (step S1002) to the session of the address that is associated with turn-off request or the request of breaking off.In this case, session is broken off management department 407 and is made 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 confirms 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 the session management information (step S711) among the session management information DB 406 based on the process result 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 through the existing session of setting up to 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 carry out through existing session is carried out the disconnection of existing session.
In handling P1101, owing in step S706, set up new session, 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 to 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 to being different from the address of 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 " to 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 to 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 to 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 to 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 owing to 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 to 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 to breaking off processing as the IPv4 address [10.0.0.10] and the port numbers [1025] of practical communication address.In step S710 and S711, carry out to break off and handle.
Next; In handling P1106; Department of Communication Force 107 carries out following processing between server processes: in response to the open command to IPv4 address [10.0.0.10] and port numbers [1025] from Department of Communication Force between client process 103, the disconnection that Department of Communication Force 107 uses communication pool 104b to be used to break off the session that is associated between server processes is handled.
This means as follows: supposition to being different from the address of address, an application program designated destination and in the existing session set up during executive communication, is sent the open command that is used to break off existing session from the Another Application program.In this case, do not break off existing session.
In other words; According to second execution mode; Even in the existing session of setting up to being different from the address of destination-address, carry out under the situation of transfer of data, can by mistake do not broken off from the open command of Another Application program through the communication that existing session carries out.
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; Through 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 to the count increments of the reference count that provides with the existing session of same server with successively decrease; And,, also can prevent when session is broken off, to occur the problems referred to above even client applications 101 and 101a share session and if only if reference count becomes equals actual to break off session at 0 o'clock.
According to first execution mode, even when client applications 101 and 101a specify the different purpose way 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 through in step S706 or S707, selecting 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, it is said that interprocess communication controller 401 actual figures send fault processing (step S1206), 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 again connection management portion 409 be directed against another destination-address that is associated with same server identifier 504 and sets up again connection session (S1203).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 via DB management department 405 with this again connection session be registered in (step S1204) among the session management information DB 406.Then, interprocess communication controller 401 select this again connection session as data transfer sessions (step S1205).Then, this processing turns back to step S708, it is said that use this again the connection session actual figure give.
Figure 13 A and 13B are the sequence chart that the session management in the 3rd execution mode, between server PC 105 and client computer PC, carried out is handled.This sequence makes and can under the situation of using the existing session execution transfer of data of setting up to being different from the address of destination-address, carry out session connection processing again.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 to check among the step S1201 that whether data transmit successful processing.At this moment, being stored in the counting of closing reference count to 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 confirms 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 make session again connection management portion 409 carry out being used to determine whether to exist among the step S1202 processing of another destination-address that is associated with same server identifier 504.
In this sequence example, session connection management portion 409 is again confirmed to have another destination-address that is associated with same server identifier 504, and sets up again connection session (handling P1303).Session again connection management portion 409 make DB management department 405 with this again connection session be registered among the session management information DB406.
At this moment, being stored in the counting of closing reference count to 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 (the server identifying information that promptly obtains from server PC 105).
Yet, for this reason, need function that return identifier server (server identifying information) be provided 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 confirm.In other words, client computer PC 100 is configured to under the situation of server PC 105 cooperation 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, through using dns server 1401 etc., client computer PC 100 with under the situation of server PC 105 cooperations 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 in RFC (Request for Comment, Requestfor Comments) 1034, RFC 1035 etc., defines.
Descriptions such as RFC 1034, RFC 1035 meet standard and the realization of response of the A record of IPv4.In addition, description such as RFC 1886 meets standard and the realization of response of the AAAA record of IPv6.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 that interprocess communication controller 401, session management portion 403, session management information DB 406 and session confirm portion 404 between client process.
Similar with first to the 3rd execution mode, Department of Communication Force 103 also comprises session disconnection management department 407 and session connection management portion 409 again between client process.In addition, as the distinctive software of the 4th execution mode, Department of Communication Force 103 is provided with address list and obtains portion 1501 and address list storage part 1502 between client process.
Interprocess communication controller 401 is when managing conversation, to carrying out overall centralized control communicating by letter of carrying out between client applications 101 and 101a and the server application 108.Address list obtains portion 1501 and obtains one or more address with client applications 101 and 101a designated destination address from dns server 1401, and the sequence of addresses of obtaining is stored in the address list storage part 1502.Hereinafter will be described the address list information in the address list storage part 1502 that is stored in detail with reference to Figure 16 and 23.
403 management of session management portion are registered in the session management information among the session management information DB 406.Hereinafter will be described the session management information in the 4th execution mode in detail with reference to Figure 17.Session confirms that portion 404 confirms the establishment of new session and the availability of existing session based on address list and session management information.
Session breaks off management department 407, connect reference count storage part 408 and session again each in the connection management portion 409 carry out with first to the 3rd execution mode in identical processing.
Next, describe the address list information in the address list storage part 1502 that is stored 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.
Identifier server 1601 is the server identifying informations that are used to discern the server (server PC 105) that is associated with the client applications 101 or the 101a designated destination (being connected the destination) of connection request side.Identifier server 1601 can be for example host name, NetBIOS name, computer name or FQDN (FQDN, Fully Qualified Domain Name).
Yet in the 4th execution mode, when client applications 101 and 101a use different forms of services device identifying information request connection, described like hereinafter, address list obtains portion 1501 and converts different forms of services device identifying information into host name.Address list obtains portion 1501 obtains host name from dns server 1401 address list.
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, describe for ease, each identifier server 1601 in the address list information of Figure 23 is shown, although it is actually the host name form as client applications 101 or the actual specified server identifier of 101a (server identifying information).
Address acquiring method 1602 is that indication is obtained the employed agreement in address, destination (server) that is associated and the information of acquisition methods thereof from dns server 1401.Address style 1603 is the information of indication from the type of the dns server 1401 actual addresses that obtain.IP address 1604 is the indication information from the dns server 1401 actual addresses that obtain (IP address) own.
In the example of Figure 16,, obtain IPv4 address [10.0.0.10] to 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] to the communication of tabulation number 3 indications to 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] to the communication of tabulation number 6 indications to 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.
Mailing address information 503 indication selection after based on destination-address the availability of existing session having been carried out confirming is used for the address of connection destination of the session of practical communication.Mailing address information 503 comprises IP address 503a and port numbers 503b.
Identifier server 504 indication client applications 101 or 101a request dns server 1401 provide the identifier server (host name in this example) of the server that connects the destination-address tabulation.Session number 505 indications are used for the management number (session jd instance handle) of the session of practical communication.
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, with identical number of steps represent with Fig. 7 in the identical step (this is applicable to Figure 20,21,22A, 22B, 26A, 26B and 27) of step.
The interprocess communication controller 401 of Department of Communication Force 103 receives and will be connected to server PC between client process
The request (step S701) of 105 server application 108.This connection request sends from client applications 101 or 101a.
Then, interprocess communication controller 401 makes address list obtain portion 1501 and obtains the address list (step S1801) about destination-address.
In this case, address list obtains portion 1501 and 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 that obtains portion 1501 from address list, returns the address list that is associated.
Should be noted that in step S1801 address list obtains portion 1501 and except utilizing dns server 1401, also utilize the service of solving of various address problems to carry out address list and obtain processing.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 in destination-address, specifying " digital host address (Numeric host address) " as the server identifying information, address list obtains portion 1501 " digital host address " is converted into host name, 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.
Address list obtains portion 1501 and confirms in from the destination information of client applications 101 or 101a to use in host name type servers identifying information and the address style server identifying information which to come given server (step S1901).Here " address " is meant " digital host address ".
When using address style server identifying information given server, address list obtains that portion 1501 search for and the host name (step S1902) of address in dns server 1401.In this case, for example in the programming of C/C++ socket, address list obtains portion 1501 and utilizes getnameinfo () function to search for the host name that is associated with assigned address.
Then, address list obtains portion 1501 and specifies based on the address and obtain 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 obtains portion 1501 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 accomplished, address list obtained portion 1501 host name and the address list that is associated with host name is registered in (step S1904) in the address list storage part 1502, and this processing turns back to main processing the among Figure 18.
Then, under the control of interprocess communication controller 401, session confirms that portion 404 is based on the address list that obtains among the step S1801 and the information among the session management information DB 406 is confirmed (step S1802) to the availability of existing session.
In this case; Session confirms that portion 404 confirms to be registered in the existing session among the session management information DB 406 with the address in the address list that obtains, imported, can be used as the session that is associated with the main frame with same hostname (server) and uses.
More particularly; Session confirms portion 404 confirms in current use and the existing session that is obtaining the address different address executive communication that address list uses when (it possibly only comprise an address), whether have the session that is associated with the same server of having obtained address list.When existing with existing session that same server is associated, session confirms that portion's 404 definite existing sessions can use.
In this case, converted under the state of host name by unified, obtain address list at server identifying information as indicated above.Therefore, session confirms that portion 404 is based on the host name identified server.
This means in fact; Even it is different with client applications 101 and the 101a server identifying information that specified destination-address is associated when request is connected; 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 confirming, thereby can utilize Internet resources more efficiently the availability of existing session.This beneficial effect will be 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 session of management number 1 and 2 indications is the sessions that are directed against 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 stated, can confirm 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 to management number 1 and with and the existing session of the address [10.0.0.10] that is associated of address [2001::10] identical identifier server " AppServer " of identifier server of being associated, it is said that come actual figure to send.
Therefore, use existing session to make client computer PC 100 and server PC 105 can eliminate the needs of creating the new traffic socket to destination-address, this makes it possible to practice thrift 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 through 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 handled as the same server identifying information, thereby can correctly be confirmed 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; Describe for ease; Identifier server 1601 in the address list information of Figure 23 need not represent through converting the host name that host name obtains into the unification of multi-form specified server identifier information, originally is used to carry out the specified server identifying information before the conversion and representes 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 convert host name into, thereby being used as same server, handle these servers.Then, session confirms that portion 404 confirms 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 ", but do not have existing session to the IP address that is associated with this identifier server.Also there is the session to 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 is confirmed portion 404 in response to the connection request that uses identifier server " AppServer.foo.test ", confirms can use to the existing session of the IP address [2001::10] that is associated with identifier server " AppServer ".
Therefore; As stated; 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 separately the different purpose way 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 in through the communication that early carry out the address, designated destination, communication failure occurring, even can use other address to communicate, other client applications through 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 to 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, with identical step number represent with 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 S2001 in Figure 21, whether interprocess communication controller 401 confirms to use the data of the session execution of in step S708, selecting to transmit successful.If data transmit successfully, execution in step S709 to S711 then.
On the other hand; If data transmit unsuccessful; Then session is confirmed portion 404 under the control of interprocess communication controller 401, confirms in session management information DB 406, whether to exist other address (step S2002) that is associated with same server identifying information (host name etc.).If there is not other address that is associated with the same server identifying information, it is said that then interprocess communication controller 401 actual figures send fault processing (step S2006), 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 for being connected to again this another address that is associated with same server identifying information (host name).In this case, interprocess communication controller 401 is to 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 session is set up in interprocess communication controller 401 preferential addresses to client applications 101 or 101a appointment.
Next, interprocess communication controller 401 makes session management portion 403 in session management information DB 406, register the information (step S2004) about the session that is used for connecting again.Then, interprocess communication controller 401 selects this session that is used for connecting again as being used for the session (step S2005) that data transmit, and this processing turns back to step S708.
As stated, according to the 5th execution mode, even it is said that when a plurality of application programs are sent through the same session actual figure, during using an application program to communicate, break down, 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 is broken off 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 when the turn-off request that receives to session, just to cut out each session, closes each session and be based on the reference count of closing that provides to session.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, the count increments of closing reference count 1 that management department 407 makes the session of in step S706 or S707, selecting is broken off in session.At this moment, session is broken off management department 407 and will be increased 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) through the session of in step S706 or S707, selecting.Then, interprocess communication controller 401 determine whether to receive turn-off request from 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 break off request, then this processing turns back to step S701.
On the other hand, if received turn-off request or the request of breaking off, then the counting of closing reference count that management department 407 makes the session of setting up to the address that is associated with this request 1 (the step S2202) that successively decrease broken off in session.As stated; For each destination-address that is associated with session; Management department 407 is broken off in session 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 the request of breaking off.
Then, whether interprocess communication controller 401 counting of confirming 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 to the session of the address that is associated with turn-off request or the request of breaking off and corresponding socket.
As stated, according to the 6th execution mode, not when the turn-off request that receives to session, just to close each session, close each session and be based on the reference count of closing that provides to 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 in the different client application program.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 to first signal post that early begins, at the aspects such as quantity of the router of communication speed, executive communication, more superior sometimes aspect communication efficiency to the new session that the second communication that begins is after a while set up originally.
Owing to this reason,, when the new session that will set up in current communication is superior to 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, shown in figure 24, Department of Communication Force 103 is provided with line information and obtains portion 2401 between client process, is used under the control of interprocess communication controller 401, obtaining line information to confirm communication efficiency.
Appropriate section in other part 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 in the diagram of Figure 24, having omitted the session among Fig. 4 breaks off management department 407, connection reference count storage part 408 and session connection management portion 409 again.
Line information obtain portion 2401 from communication pool 104a obtain about to network 106 to the line information of the communicating route of destination-address.Then, line information obtains portion 2401 and via DB management department 405 line information is registered among the session management information DB 406 as session management information.
Line information obtain traffic classification (TrafficClass), the number of failing to be sold at auction (Flow Label) and jumping limit (Hop Limit) that line information that portion 2401 obtains comprises the IPv6 head, IPv4 head COS (ServiceType) and useful life (Time To Live), also have communication band.
Line information obtains portion 2401 and 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 obtains portion 2401 and obtains 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 obtains portion 2401 and can obtain about being installed in the band information of the network interface card among the client computer PC 100.In addition, line information obtains the band information that Network Control Protocol that portion 2401 can use in RFC 2205 definition is obtained the frequency band of controlling about client applications.
Figure 25 is the figure of the session management information that in the conversation management system according to the 7th execution mode, uses.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, to adding line information 2501 with the identical data item of data item of the session management information of Fig. 5.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.
Line information 2501 comprises for example band information 2501a, router counting 2501b and path mtu 2501c.Yet, can also use the line information beyond these information to confirm communication efficiency.
Next, with reference to the session management information of the flow chart description shown in Figure 26 A, the 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 makes line information obtain portion 2401 and obtains the line information (step S2601) about the communicating route that arrives client applications 101 or address, 101a designated destination.
In this case, line information obtains portion 2401 and can obtain the 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 obtains portion 2401 can obtain path mtu discovery from the communication pool 104a on the OS, uses path mtu discovery to obtain the path mtu 2501c about communicating route then.Line information obtains portion 2401 can also obtain TTL (useful life, Time To Live) information or the jumping limit information in the IPv6 head in the IPv4 head.
Next, interprocess communication controller 401 makes session management portion 403 determine whether to exist the existing session of having set up (step S703) that is associated with the identifier server that in step S702, obtains 504 identical identifier servers 504.
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 confirms in the existing session in the communication of other address of current use based on the session management information that obtains whether have the existing session that is associated with the identifier server that when making this connection request, obtains 504 identical identifier servers 504.Confirming by session that portion 404 is actual carries out this and confirms to handle.
When exist with and the identifier server 504 identical identifier servers 504 that in step S702, obtain be associated existing session the time, this processing enters into step S2602.
In step S2602, interprocess communication controller 401 makes session confirm that the line conditions of portion 404 through the existing session that more connected and the line conditions about the destination-address of appointment in this connection request confirm 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 address, 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 confirm 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, confirm 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 obtains detailed description the method for band information 2501a.
Can imagine the conflicting situation of definite result about the favourable degree of line conditions through 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 through the total communication overhead that adds up to definite result to obtain.
In addition, can confirm the favourable degree of line status based on take a message breath 2501a, router counting 2501b and the communication conditions beyond 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 waiting to confirm the favourable degree of line conditions through each parameter in the parameter that comprises band information 2501a, router counting 2501b and path mtu 2501c of user's appointment being carried out total communication overhead that weighting obtains.
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 in session management information DB 406, register the information (step S2604) about the new session that comprises new socket.Then, interprocess communication controller 401 is selected the new session set up to 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, it is said that the mailing address that client applications 101 actual actual figures 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 use the new session of the management number 2 that is directed against mailing address [2001::20] and port numbers 1025 to carry out the follow-up data transmission of client applications 101 and 101a.
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 identifier server 504 identical identifier servers 504 that the response of the connection request in the current circulation is obtained, 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 obtains portion 2401 and obtains band information 2501a according to client applications 101 or address, 101a designated destination.
In this case; Line information obtains portion 2401 and utilizes LinkSpeed to obtain function to obtain 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 obtains the Network Control Protocol that portion 2401 can obtain 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 obtains portion 2401 and obtains RSVP (RSVP, Resource Reservation Protocol) (RFC 2205) setting from Network Control Protocol.
Line information obtains portion 2401 inspection, and 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 confirm the favourable degree of line conditions.
Then, Department of Communication Force 103 is overall between client process confirms band information 2501a, router counting 2501b and path mtu 2501c, thereby it is said that selects the address of using when sending through the session actual figure of setting up to different address.Then, the session that Department of Communication Force 103 is selected to selected address between client process is as the session of when real data transmits, using.
When confirming 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 confirm 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 through 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 not only can read through object computer; Can also wait instruction operating part or whole practical operation through the OS (operating system, Operating System) that makes on computers operation, realize the function of above-mentioned arbitrary execution mode based on program code.
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 through 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 accompanying 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 for administration client and has the session between the server of a plurality of addresses, and this conversation management system comprises:
Confirm the unit; It is configured under the situation of application requests that is provided with said client computer and said server communication, has determined whether between said client computer and said server, to set up the session of the specified address different address of use and said application program; And
Control unit; It is configured to when confirming to have set up session, makes said application program through using session and the said server communication of having set up; And when confirming not set up session, make said application program through using newly-established session and said server communication, the address of said application program appointment is used in wherein said newly-established session.
2. conversation management system according to claim 1, wherein said definite unit are carried out based on the identifying information that is used to discern said server and are saidly confirmed.
3. conversation management system according to claim 2, this conversation management system also comprises: first acquiring unit, it is configured to obtain said identifying information from said server.
4. conversation management system according to claim 2, this conversation management system also comprises: second acquisition unit, it is configured to obtain said identifying information from external device (ED).
5. conversation management system according to claim 4, wherein, said 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 said application program is asked and the value of renewal,
Wherein said control unit breaks off the session of between said client computer and said server, setting up based on the value of being managed.
7. conversation management system according to claim 1; Even wherein the session of address of confirming to have set up session but being to use said application program appointment than the higher situation of the said session efficient of having set up under, said control unit makes said application program through using newly-established session and said server communication.
8. method of controlling conversation management system, said conversation management system are used for administration client and have the session between the server of a plurality of addresses, and this method comprises:
Under the situation of application requests that is provided with said client computer and said server communication, determined whether between said client computer and said server, to have set up the session of use with the address different address of said application program appointment;
When confirming to have set up session, make said application program through using session and the said server communication of having set up; And
When confirming not set up session, make said application program through using newly-established session and said server communication, the address of said application program appointment is used in wherein said newly-established session.
CN2009101300572A 2008-04-04 2009-04-03 A session management system and a control method thereof Active CN101552788B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2008098363 2008-04-04
JP2008098363 2008-04-04
JP2008-098363 2008-04-04
JP2009-002433 2009-01-08
JP2009002433A JP5178539B2 (en) 2008-04-04 2009-01-08 Information processing apparatus, information processing apparatus control method, session management system, and program
JP2009002433 2009-01-08

Publications (2)

Publication Number Publication Date
CN101552788A CN101552788A (en) 2009-10-07
CN101552788B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312683B (en) * 2012-03-16 2018-12-21 中兴通讯股份有限公司 The processing method and PCRF of TDF session
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
CN106776063B (en) * 2016-11-29 2020-12-01 北京元心科技有限公司 Mobile terminal, container telephone communication function implementation method and cross-container communication method
CN108632265B (en) * 2018-04-26 2021-06-29 广州视源电子科技股份有限公司 Communication connection method, device and system of client and storage medium
CN110731073B (en) 2019-02-01 2022-05-24 蚂蚁双链科技(上海)有限公司 Method and apparatus 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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117266B2 (en) * 2001-07-17 2006-10-03 Bea Systems, Inc. Method for providing user-apparent consistency in a wireless device
CN1842042A (en) * 2005-04-01 2006-10-04 国际商业机器公司 Method and apparatus for searching a network connection
CN101155074A (en) * 2006-09-29 2008-04-02 株式会社日立制作所 Inter-client communication log management system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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 through 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
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
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 processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117266B2 (en) * 2001-07-17 2006-10-03 Bea Systems, Inc. Method for providing user-apparent consistency in a wireless device
CN1842042A (en) * 2005-04-01 2006-10-04 国际商业机器公司 Method and apparatus for searching a network connection
CN101155074A (en) * 2006-09-29 2008-04-02 株式会社日立制作所 Inter-client communication log management system

Also Published As

Publication number Publication date
JP5425320B2 (en) 2014-02-26
JP2013118663A (en) 2013-06-13
ES2371378T3 (en) 2011-12-30
CN101552788A (en) 2009-10-07

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
CN100477619C (en) Method and system for establishing bidirectional tunnel
US7568048B2 (en) Method, apparatus, and system for assigning an IP address on a network
Bettstetter et al. A comparison of service discovery protocols and implementation of the service location protocol
US7228141B2 (en) Providing location-specific services to a mobile node
US20070112911A1 (en) Method and System for Communicating Between Clients In A Computer Network
CN101321111A (en) Communication method and device, server, and computer readable recording medium
JP2000244488A (en) Multi-cast session management device
US8478869B2 (en) Information processing device and program
CN101188514A (en) Method, device and system for automatically discovering network element device
JP2000181849A (en) Method for finding server for peripheral equipment on network
EP2656591B1 (en) DNS proxy service for multi-core platforms
CN101159611A (en) Batch system disposing method and device
US7711801B2 (en) DHCP client/server device and method of providing DHCP server services on a network
US20020198972A1 (en) Pre-boot multicast address management protocol for a computer network
CN102025797A (en) Address prefix processing method, device, system and network equipment
US20080301273A1 (en) Centrally assigning branch specific network addresses
CN101938527A (en) Communication apparatus and method of controlling the same
KR101160382B1 (en) Session management system and method of controlling the same
JP4527523B2 (en) Server selection method, server selection method, server, and client terminal
US8886701B1 (en) Network based software agent to allow dynamic resource access
CN114629898A (en) Multi-client cooperation method and electronic equipment
CN114745353A (en) Traffic scheduling method for IPv4 end to access IPv4/IPv6 network
KR19990050416A (en) IP address translation method providing full access between non-Internet service network and Internet service network

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