CN102176727B - Use the trans-network roaming and parsing carried out for the web services of equipment - Google Patents
Use the trans-network roaming and parsing carried out for the web services of equipment Download PDFInfo
- Publication number
- CN102176727B CN102176727B CN201110099772.1A CN201110099772A CN102176727B CN 102176727 B CN102176727 B CN 102176727B CN 201110099772 A CN201110099772 A CN 201110099772A CN 102176727 B CN102176727 B CN 102176727B
- Authority
- CN
- China
- Prior art keywords
- address
- nat
- port
- client computer
- destination service
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 21
- 239000000523 sample Substances 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 13
- 101700031697 NAT1 Proteins 0.000 claims description 11
- 101700029630 NAT2 Proteins 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 14
- 230000001808 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 108020002816 IGD1 Proteins 0.000 description 4
- 238000007639 printing Methods 0.000 description 4
- 235000010384 tocopherol Nutrition 0.000 description 4
- 235000019731 tricalcium phosphate Nutrition 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- XCCTYIAWTASOJW-XVFCMESISA-N Uridine-5'-Diphosphate Chemical compound O[C@@H]1[C@H](O)[C@@H](COP(O)(=O)OP(O)(O)=O)O[C@H]1N1C(=O)NC(=O)C=C1 XCCTYIAWTASOJW-XVFCMESISA-N 0.000 description 3
- GVGHZEYNQYAORP-UHFFFAOYSA-N natride Chemical compound [Na-] GVGHZEYNQYAORP-UHFFFAOYSA-N 0.000 description 3
- 239000000344 soap Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000875 corresponding Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 230000003068 static Effects 0.000 description 2
- 230000001360 synchronised Effects 0.000 description 2
- KTEARTXATWOYDB-UHFFFAOYSA-N 1-chloro-4-[1-(4-chlorophenyl)ethyl]benzene Chemical compound C=1C=C(Cl)C=CC=1C(C)C1=CC=C(Cl)C=C1 KTEARTXATWOYDB-UHFFFAOYSA-N 0.000 description 1
- 101700077427 GID1 Proteins 0.000 description 1
- 101700022235 VID30 Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000023298 conjugation with cellular fusion Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000001568 sexual Effects 0.000 description 1
- 235000010956 sodium stearoyl-2-lactylate Nutrition 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
- 230000021037 unidirectional conjugation Effects 0.000 description 1
Abstract
The present invention relates to trans-network roaming and the parsing using the web services for equipment to carry out.Provide and be easy to carry out, between roaming peer device, the system and method that automated network address determines and communicates.On the one hand, it is provided that a kind of network communicating system.This system includes for updating parsing supply and for the method determining roaming service address and port information with current transmission address.Other process includes being opened and mapped port by NAT and fire wall, and the NAT combining cascade opens/mapped port.
Description
The application is filing date No. 200680010303.5 invention name of Application No. on April 24th, 2006
It is referred to as the Chinese patent application of " trans-network roaming using the web services for equipment to carry out and parsing "
Divisional application.
Background
NAT (NAT) is the Internet protocol (IP) that can translate packet when transmitting bag
Address and the equipment of TCP/UDP port numbers.Such as, there is multiple stage and be connected to computer small-sized of the Internet
Enterprise network can use NAT for this connection.Such enterprise generally has to take from the Internet
Business supply (ISP) obtains the public ip address on this network for each computer.But, using should
NAT, this small enterprise can use special addressing, and make this NAT its specific address is mapped to single or
The multiple public ip address of person.NAT is the One common solution of the combination to following demand: make full use of to because of
The use of the single connection of special net rather than multiple stage computer is connected to the Internet;Use specific address;With
And the access to internet resource is provided in the case of need not using proxy server.Meanwhile, these translations
Device provides a type of firewall protection by hiding implicit IP address, and due to impossible and company
Specific field outside address conflict it is thus possible to make company use more Internet IP address.
A major obstacle in NAT technology is to there are the multiple differences that can be used for translating network service
Agreement.Such as, many users or domestic system all use Cone (pyramid type), Full Cone (round
Tapered) or Restricted Cone (restriction pyramid type) NAT technology, thus certain router possibly for
TCP communication being run as Symmetric NAT as Cone NAT operation of UDP communication.In company
In situation, more likely it is used together Symmetric NAT with hardware or software firewall.At present, in order in inhomogeneity
Communicate in the agreement of type, need to force manual configuration to properly configure NAT so that above-mentioned
Communicate in a kind of agreement in agreement.But, in order to communicate between remote application, many nets
Network situation may need to use more than one agreement.
At main frame from a Network Mobility to another network, it may appear that other problem, wherein main frame may
Rely on local network and distribute its network address.The complete routable address that this address is probably on the Internet,
Or it is also likely to be Network address translators (NAT) system not routable address behind.These main frames have
It is commonly called dynamic IP addressing or NAT ' ed (through NAT's) IP address.There is NAT ' ed IP ground
The TCP that the equipment of location typically can not accept to introduce is connected to service, can note someway unless they have
Volume one is the port that this particular host service is remapped by NAT system.Another main frame one on the Internet
As conventional address discovery means such as such as domain name system (DNS) or service etc. can not be utilized to be found to be this service
The address distributed or the port mapped.Although some services solve the problem (dynamic-dns) of dynamic IP,
But they are typically inoperative to caching DNS server, and they typically can not resolve dynamic end slogan.
General introduction
In order to provide the basic comprehension in terms of described herein some, shown below is the general introduction simplified.This
General introduction is not total description of broad sense, be not intended to mark key/conclusive element or describe herein
The scope of described various aspects.Its sole purpose is to provide some concepts in simplified form, as below
The preamble of the explanation more refined be given.
Provide for automatically determine and configure roaming or mobile network appliance between communication capacity be
System and method.By creating the roaming service that main frame may be used for finding to be associated together with additional service information
Internet protocol (IP) address and the analysis service of port numbers, alleviate legacy system must manual configuration and
The problem of pre-registration large server system.Such as, IP address and has been obtained at equipment or assembly
After have mapped port by NAT (NAT), this equipment can contact respective parsing
Service, and it is right to register its corresponding IP/Port (port) the most in an automatic fashion.This parsing can also be utilized
Service or another kind of analysis service automatically/dynamically position other networking component interested.If it is required,
This analysis service may reside in static ip address and known port numbers, but can also include such as leading to
Cross known or predetermined port-mark and use the dynamic assembly of DYN-DNS (dynamic domain name service).
(such as, PNRP can be used for finding out this to resolve analysis service itself can also to use other analytic method
Analysis service).
Standard DNS or dynamic-dns can be used to resolve analysis service, and this analysis service is permissible
Resolve optionally with peer-to-peer network analysis protocol.The main frame of the service having a mind on contact roaming host is usual
Can be with contact resolution supply or service to determine up-to-date known IP address and the port of peripatetic device.This
Then a little mobile hosts can directly contact that IP/ port to upper service.This scheme is better than other may
One of scheme is advantageous in that: it is not usually required to central server or internet basic arrangement amendment.Solved
One concrete example of problem certainly includes when two or more portable computers are travelled around the world, wherein web clothes
Business main frame is when on a portable computer, web services client computer is on another portable computer.This
A little portable computers are such as at " public " networks such as a concrete example Zhong Wei hotel and focuses (hotsport)
On roaming guest.Therefore, a portable computer has raw material pricing information, and another then uses
Raw material is that salesman is dynamically generated selling price guidance.As can be understood, for example, it is possible to prop up
Hold the prospect of various application such as antique or wine.The other side of this system include NAT ride through system and
Method, thus in one example, the NAT assembly of cascade can be passed through to support various automatizatioies address
Determine and configure.
In order to realize aforementioned and relevant purpose, describe some here in connection with following description and drawings schematic
Aspect.The instruction of these aspects can in the various modes of practice, and be intended to cover all these mode herein.
When being considered in conjunction with the accompanying detailed description below, further advantage and novel feature are apparent from.
Accompanying drawing is sketched
Fig. 1 shows the schematic block diagram of netsurfing and resolution system.
Fig. 2 shows the flow chart resolving supplier's process.
Fig. 3 shows the flow chart of NAT resolving.
Fig. 4-7 shows the example system determined for automatization's address resolution.
Fig. 8 is the exemplary discovery system for client machine system and service.
Fig. 9 shows the schematic block diagram of suitable operating environment.
Figure 10 is the schematic block diagram of sample-computing environment.
Illustrate
Provide for roaming peer device between carry out automated network address determine with system communicate with
Method.On the one hand, it is provided that a kind of network communicating system.This system includes for current host address more
New parsing supply and the method being used for determining roaming host service address and port information.Other process bag
Include by NAT open port and combine cascade NAT open port.
As used in this application, term " assembly ", " translater ", " system ", " object " etc. are intended to
Represent computer related entity, hardware, the combination of hardware and software, software, or perform during soft
Part.Such as, assembly it may be that but be not limited to, on processor run process, processor, object,
Executable file, performs thread, program, and/or computer.As example, the application that server runs
Can be assembly with server.One or more assemblies may reside within process and/or perform in thread, and
And assembly may be located on a computer and/or is distributed between two or more computer.Further, these
Assembly can store from it in the various computer-readable mediums of various data structure and perform.Such as according to
There is one or more packet (such as from by another in signal and local system, distributed system
The data of the assembly that assembly and/or the network across such as the Internet etc. interact with other system)
Signal, this assembly can be communicated by locally and/or remotely process.
Referring initially to Fig. 1, it is shown that automatization's roaming and resolution system 100.System 100 includes network 110
(such as, the Internet), wherein one or more peripatetic device 120 can set up communication across this network.System
System 100 includes for determining the parsing supply 130 for the network address of equipment 120 and contributing to automatically
Change the discovery assembly 140 that address determines.Event component 150 can be provided for when equipment 120 is from a position
Put when moving to another position the change of the route according to them update parsing supply 130 or find assembly
140.Pass through assembly 160 can be provided for isolating equipment 120 with network 110, or route from
The address of network 110, or fire wall support is provided.Pass through assembly 160 can include according to multiple NAT
Agreement carries out the one or more NATs (NAT) operated.These agreements make it possible at one
Or communicate between multiple terminal use application.
On the one hand, system 100 provides and is wherein being not usually required to central server or internet basic arrangement
The system of the position of the equipment 120 being associated can be resolved in the case of change.Resolve supply 130 permissible
The such as friendly implementor name of storage, GUID, public IP/ port are to, NAT tunnel time expiration and route to
The port of equipment.Equipment is resolved supply and can such as can be arrived either statically or dynamically by DNS query
Run in well-known port on IP.If it is required, equipment 120 can resolve supply to one or more equipment
Its current location registered by device.Resolve supply 130 and generally can utilize the friend from domain name service (DNS)
Good name conducts interviews.The request resolving the supply 130 address to transmitting friendly implementor name or GUID is made
Response.Resolve supply 130 and can also have access control list (ACL) for inquiry, and can
With by such as using client-server certificate, sharing secret or other type of security mechanism
The condoms such as SSL/TLS fetch certification location updating.
System 100 allows automatically determine between roaming or mobile network appliance 120 and construct communication performance.
By creating the Internet protocol of the roaming service that main frame may be used for finding together with additional service information being associated
(IP) address and the analysis service of port numbers, alleviates the necessary manual configuration of legacy system and pre-registration is large-scale
The problem of server system.Such as, obtained IP address at equipment 120 or assembly and passed through
After NAT (NAT) assembly 160 have mapped port, this equipment can contact respective solution
Analysis service 130, and it is right to register its corresponding IP/Port (port) the most in an automatic fashion.Equally, it is also possible to
Contact identical or another analysis service 130, in order to automatically/dynamically position other networking component interested.
If it is required, this analysis service may reside on the IP address of static state and in known port numbers, but
(DDNS takes can also to include such as using DYN-DNS by known or predetermined port-mark
Business) dynamic assembly.It can also directly utilize PNPR (Peer Name Resolution Protocol) and be positioned to DNS
Gateway PNPR or be positioned to address resolution service by another title.
Analysis service or supply 130 can use the internal database of its transfer address to resolve address.Have a mind to
The main frame of the service on contact roaming host generally can be with contact resolution supply 130 or service, in order to determine
The up-to-date IP address learnt of peripatetic device 120 and port.Then, these mobile hosts can directly contact
That IP/ port is to upper service.This scheme is better than other and may be in place of scheme, and it is not usually required to
Central server or internet basic arrangement amendment.One concrete example of the problem that system 100 is solved is,
Two or more portable computers move across different positions, and wherein web services is on a portable computer
And web services client computer is on other portable computer.As can be understood, for example, it is possible to support each
Plant communications applications.Other side includes NAT ride through system and method, thus can pass through level in one example
The NAT assembly 160 of connection is to support that the automatization address for this equipment 120 determines port mapping.
Fig. 2 and 3 shows the automatization's address dissection process for peripatetic device.For explaining succinct mesh
, although illustrate and describe overall procedure according to series or number of action, it should be appreciated that and understanding
To, due to some actions can in a different order and/or be different from shown here and describe
Other action is carried out simultaneously, so this subject methods is not limited by this sequence of movement.Such as, this area
Skilled artisan will appreciate that, method can be alternately by a series of states that are mutually related in such as state diagram
Or event represents.Additionally, also the action shown in not all is required for for realizing method as described here.
Referring now to Fig. 2, it is shown that a kind of supply that schematically resolves processes 200.At this on the one hand, exist
210 show the method updating parsing supply with current hosts transmission address.This is included in 220 transmission message
Resolve supply to update, and send parameter 230 to this parsing supply.Such as, at position event
During change, roaming host service uses such as WS-Eventing message that soap message is sent to this parsing confession
Answer device.230, this event includes, such as, the friendly name of this service, GUID, routable are public
IP/ port to, special IP/ port to, IP address lease time and NAT tunnel lease time.
240, it is provided that determine address of service and the method for IP port of roaming host.This is included in 250
By orientation WS-find resolve host address, and 260 with transmission address coupling respond this discovery ask
Ask.In this example, in order to resolve address of service and the port of main frame, Client Host employs the overall situation only
One identifier (GUID), and utilize the orientation discovery to resolving supply to realize resolving.260, this solution
Analysis the supply address of the address of service comprising main frame and the parsing coupling of port information respond.
Fig. 3 shows the exemplary process 300 for based traversal network address translater.Method 300 is used for
Current host address updates and resolves supply and for opening the NAT (NAT) of cascade.Place
Reason 300 is included in 310 and automatically finds NAT or fire wall parameter, and asks the network address 320.
Accordingly, it is that peripatetic device selects address from equipment pond 330.340, resolve supply to having outside
The equipment of address responds to communicate, and 350, the NAT of multiple cascades is automatically switched on.For
Process 300 is shown, can apply the examples below.
It is hidden in NAT or first fire wall main frame below should find that they are protected with the Internet isolation
Protect, and the connection of outside initiation can not be received.The main frame going for outside access should use, example
As, WS-finds to search for NAT or the fire wall that WSD enables.Then, this main frame will open from WSD
NAT/ fire wall request outside ip address and port pair.This main frame can be presented to this NAT/ fire wall
Security credence, in order to prove to be authorized to receive the outside connection initiated.This NAT/ fire wall can set from it
Standby IP pond selects Internet protocol (IP) address and selects the port for this IP address from pond, and then
This port and IP are mapped to the inside IP/ port pair of main frame.This NAT/ fire wall is the most permissible, such as, exist
This main process equipment is responded with the outside IP address mapped and port numbers during lease time.350, it is provided that
For opening the process of the NAT of cascade.Such as, after main frame is positioned at two or more NAT of cascade
Time, the NAT of relatively bottom is responsible for performing such as WS-for upstream NAT/FW and finds and ask this master
The port of machine and IP address are mapped to one in its outside port.In turn, upstream NAT/FW can reflect
Penetrate routable IP/ port pair, and return that value to this relatively low NAT.This main frame can be used to set
Standby or compared with bottom NAT voucher carrys out certification and opens each NAT of port.
Fig. 4 shows the example system 400 for address resolution.In this example, it is provided that be used for
The digital camera client computer 410 of the WS storage device in internal network.This camera 410 will according to following sequence
Image is stored directly on personal computer 420: storage service (WSSS) uses such as sing on web clothes
The Internet gateway device (IGD) WSDL of business asks external IP/port pair.Then,
Register update is sent to its analysis service being likely located in this IGD by WSSS.This IGD storage is used for
External IP/the port of WSSS and internal IP/ port pair, and IGD finds that the parsing of WSSS is intercepted in service
Request.The discovery service that camera 410 is connected on the external address of IGD, and IGD detection be derived from by this
The parsing message of the equipment that ground maps.IGD resolves the implicit IP address to storage service and port numbers, and
Camera 410 is directly connected to the storage service of portable computer 420.Camera 410 (or arbitrary network equipment)
This can also be copied to printer service 430 or other service any later.
Then Fig. 5 is seen, it is shown that external network location resolution system 500.In this example, exemplary system
System 500 can operate as follows: camera 510 (or other peripatetic device) is connected on the external address of IGD
Discovery service, and update its transport addresses information.Storage service 520 moves to new network, and
Update the transport addresses information on this IGD.Camera 510 communicates, thus to this with storage service 520
IGD sends analysis request.IGD resolves the public IP to the storage service across such as the Internet and port pair.
Then camera 510 is directly connected to the storage service of portable computer by its public address and reverse NAT.
This storage service may need to resolve camera, and can realize by sending parsing message to IGD.
Then Fig. 6 is seen, it is shown that interchangeable external network location resolution system 600.In this example, show
Example sexual system 600 operates as follows: camera 610 (or other peripatetic device) is connected to the external address of IGD
On discovery service.This IGD is resolved to public IP and the port pair of storage service.Camera 610 is by public
Address and reversely NAT are directly connected to the storage service of portable computer 620.Camera 610 repeats printing
The inquiry of the Web service of machine 630 (or miscellaneous equipment), and by the public address of IGD and reversely
NAT is connected to printer or miscellaneous equipment.
See Fig. 7, it is shown that exemplary NAT ride through system 700.In this example, should
System is that WSD equipment provides the Internet routable ip address and port, and for be likely located at one or
After multiple NAT, this WSD equipment provides that and can route IP/ port to upper TCP tunnel.Such as,
It can include the IGD2 (710) as WSD client-server and GID1 (720), wherein IGD0
(730) it is WSD server and discovery agency.Portable computer 740 is from local IGD (IGD2) 710
Request external IP and port pair.IGD2 maps Single port, and outside from upstream IGD1 (720) request
Port is to mapping.IGD1 maps Single port, and from upstream IGD0 (730) request outside port to mapping.
IGD0 maps Single port, and with outside ip address and port to and lease time respond IGD1
(720).IGD1 is by external IP/port transmission to IGD2 (710), and IGD2 (710) is again by this IP/ port
To being transferred to portable computer 740 (or other calculates equipment).Now, this portable computer 740 can make
Its position is registered to resolving supply with external IP/port.
Fig. 8 is the exemplary discovery system 800 for client machine system and service.This system 800 includes seeking
Ask by finding one or more client computer that agreement 830 communicates with one or more destination service 820
810.As shown, one or more detections 840 can be determined between client computer 810 and service 830
To set up and connecting, wherein can be directed from these services in response to each message of this detection.
Generally, multicast finds that agreement can be provided for positioning service 820.The Main Patterns found
It is that client computer 810 searches for one or more destination service 820.For the type according to destination service, target
Servicing resident scope or both find destination service 820, probe message 840 is sent to many by client computer
Point transmission group;The destination service mating this detection directly sends response to this client computer 810.In order to according to name
The transmission address of weighed position destination service, analysis request message is sent to same multicast by client computer 810
Group, and, the destination service 820 of coupling directly sends response to this client computer again.In order to make poll
Needs are preferably minimized, and when destination service adds this network, it sends notice message to same multicast group.
By intercepting this multicast group, client computer 810 just can detect the most available target clothes without repeating detection
Business.
In order to upgrade to substantial amounts of end points, if discovery agency can be used on that network, then can provide
Multicast suppression behavior.Especially, when finding that agency detects the detection or solution sent by multicast
During analysis request, this discovery agency sends the notice to itself.Noticing by intercepting these, client computer detects
Find agency, and be converted to use discovery to act on behalf of specialized protocol.But, if it find that agency does not answer,
Then client computer returns to use agreement described herein.
In order to support that there is the clear and definite network management services such as similar DHCP, DNS, domain controller, catalogue
Network, it is different from defined herein that client computer and/or destination service can be configured to behavior.Such as,
Another specification can specify that the known dhcp logging comprising the address finding agency, and follows this specification meeting
Require that end points sends message to this discovery agency rather than multicast group.Although can be at various various process
The special means of middle this configuration of offer, but it is desirable to any this configuration can allow client computer and/or target
Service and carry out smooth migration between the network of management and self-organizing with caution.Multiple discovery generation can also be used
Reason.Such as, cell phone can update the transmission address that work finds that agency and domestic discovery are acted on behalf of.Solve
The client computer analysing the location on this cell phone can also use agency to resolve it.
XML example for example probe message be illustrated below:
(01)<s:Envelope
(02) xmlns:a=" http://schemas.xmlsoap.org/ws/2004/08/addressing "
(03) xmlns:d=" http://schemas.xmlsoap.org/ws/2004/10/discovery "
(04) xmlns:i=" http://printer.example.org/2003/imaging "
(05) xmlns:s=" http://www.w3.org/2003/05/soap-envelope " >
(06)<s:Header>(07)<a:Action>
(08)http://schemas.xmlsoap.Org/ws/2004/1O/discovery/Probe
(09)</a:Action>
(10)<a:MessageID>(H)uuid:0a6dc791-2be6-4991-9afl-454778al917a
(12)</a:MessageID>
(13)<a:To>urn:schemas-xmlsoap-org:ws:2004:10:discovery</a:To>
(14)</s:Header>
(15)<s:Body>
(16)<d:Probe>
(17)<d:Types>i:PrintBasic</d:Types>(18)<d:Scopes
(19) MatchBy=" http://schemas.xmlsoap.org/ws/2004/1O/discovery/ldap " >
(20) ldap: ///ou=engineering, o=examplecom, c=us (21)</d:Scopes>
(22)</d:Probe>
(23)</s:Body>
(24)</s:Envelope>
Row (07-09) in previous example represents that this message is detection, and row (13) represents that it is just sent out
Give known address [RFC 2141].Because there is no clear and definite ReplyTo SOAP header block [WS-addressing],
So any response detecting this all will be coated the source IP address being sent to probe transmission header as UDP
And port.Row (17-21) defines two constraintss about this detection: row (17) retrains realization
The response of the basic destination service printing type;Row (18-21) constraint, such as in the range of engineering department
The response of destination service.Generally, the destination service the most simultaneously meeting the two constraints just can be made
Response.Although this example includes two constraintss, but it is not required for detection and includes its any one.
It is exemplary that following XML example shows in response to the probe message described in above example
Detection coupling.
(01)<s:Envelope
(02) xmlns:a=" http://schemas.xmlsoap.org/ws/2004/08/addressing "
(03) xmlns:d=" http://schemas.xmlsoap.org/ws/2004/10/discovery "
(04) xmlns:i=" http://printer.example.org/2003/imaging "
(05) xmlns:s=" http://www.w3.org/2003/05/soap-envelope " >
(06)<s:Header>
(07)<a:Action>
(08)http://schemas.xmlsoap.Org/ws/2004/1O/discovery/ProbeMatches
(09)</a:Action>
(10)<a:MessageID>
(11)Uuid:e32e6863-ea5e-4ee4-997e-69539dlff2cc
(12)</a:MessageID>
(13)<a:RelatesTo>
(14)uuid:0a6dc791-2be6-4991-9afl-454778al917a
(15)</a:RelatesTo>
(16)<a:To>
(17)http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
(18)</a:To>
(19)</s:Header>
(20)<s:Body>
(21)<d:ProbeMatches>
(22)<d:ProbeMatch>
(23)<a:EndpointReference>
(24)<a:Address>
(25)uuid:98190dc2-0890-4ef8-ac9a-5940995e6119
(26)</a:Address>
(27)</a:EndpointReference>
(28)<d:Types>i:PrintBasic i:PrintAdvanced</d:Types>
(29)<d:Scopes>
(30) ldap: ///ou=engineering, o=examplecom, c=us
(31) Idap: ///ou=floor2, ou=b42, ou=anytown, o=examplecom, c=us
(32)</d:Scopes>
(33)<d:XAddrs>http://pm-example/PRN42/b42-1668-a</d:XAddrs>
(34)<d:MetadataVersion>75965</d:MetadataVersion>
(35)</d:ProbeMatch>
(36)</d:ProbeMatches>
(37)</s:Body>
(38)</s:Envelope>
Row (07-09) in probe response message above indicates this message to be a detection coupling, row (13-15)
Indicating it is the response to the probe message before this example response.Owing to this detection does not have clear and definite
ReplyTo SOAP header block, so row (16-18) indicates this response to be sent to the transmission header of this detection
Source IP address and port.Row (22-35) describes single target service.Row (23-27) comprise for
The stable unique identifier that the across a network interface of this destination service, transmission address and Ipv4/v6 are invariable.
In this case, this value is UUID scheme URI, if but it meets stability and uniqueness requirement,
Can also be then transmission URI (URI in similar 33 row).Row (28) lists this destination service and realizes
Type (see, e.g. [WSDL 1.1]), in this example, for the basic printing mated with this detection
Type and senior printing type.
Row (29-32) lists two range of managements, and one is to mate this detection, and another is exclusively used in
Specific physical location.Row (33) represents the transfer address that this destination service can arrive;In this case
For single HTTP transfer address.Row (34) comprises the version of the metadata for this destination service;This version
This is incremented by (including row 28-33) when changing for the metadata of destination service.
In order to provide the environment of the various aspects for disclosed theme, Fig. 9 and 10 and discussion below
Aim to provide the brief, general of suitable environment to the various aspects that can realize disclosed theme wherein
Property explanation.Although above in the calculating of the computer program run on a computer and/or multiple computer
The general environment of machine executable instruction describes this theme, it will be recognized to those skilled in the art that
The present invention can also be realized in conjunction with other program module.Generally, program module include perform particular task and/
Or realize the routine of particular abstract data type, program, assembly, data structure etc..Additionally, this area skill
Art personnel it will be appreciated that can use other computer system configurations to implement the method, these computer systems
Configuration includes uniprocessor or multiprocessor computer system, Small computing devices, mainframe computer and individual
People's computer, handheld computing device (such as personal digital assistant (PDA), phone, table ...), based on
Microprocessor or programmable-consumer or industrial electronics etc..Shown each side can also wherein by
Performed by the remote processing devices of communication network links the distributed computing environment of task is implemented.But,
Even if not every aspect, some aspect can also be implemented in stand-alone computer.At Distributed Calculation ring
In border, program module may be located in local and remote memory access device.
See Fig. 9, include computer 912 for realizing the exemplary environments 910 of various aspects.Computer
912 include processing unit 914, system storage 916 and system bus 918.System bus 918 will bag
Include but be not limited to the system component of system storage 916 and be couple to processing unit 914.Processing unit 914
Can be any one in various available processors.Dual micro processor and other multiple processor structure can also
It is used as processing unit 914.
System bus 918 can be to include memory bus or Memory Controller, peripheral bus or outside total
Line and/or use the local bus of various available bus structure in interior polytype bus structures (multiple)
In any one, any of the above available bus structure includes, but is not limited to, 11 BITBUS network, industry mark
Quasi-structure (ISA), MCA (MSA), extension ISA (EISA), Intelligent Drive Electronics (IDE),
VESA local bus (VLB), periphery component interconnection (PCI), USB (universal serial bus) (USB), senior
Graphic interface (AGP), personal computer memory card international federation's bus (PCMCIA), plug-in unit are total
Line, bluetooth, live wire 1394 and small computer system interface (SCSI).
System storage 916 includes volatile memory 920 and nonvolatile memory 922.Comprise such as
In computer 912, the basic input/output system of the basic routine of information between each key element, is transmitted during starting
System (BIOS) is stored in nonvolatile memory 922.Non-limiting as example, non-volatile deposit
Reservoir 922 can include read only memory (ROM), programming ROM (PROM), electronic programmable
ROM (EPROM), Electrical Erasable ROM (EEPROM) or flash memory.Volatile memory 920
Including the random access memory (RAM) as external cache.It is non-limiting as example,
RAM can such as synchronous random access memory (SRAM), dynamic ram (DRAM), synchronous dram
(SDRAM), double data rate SDRAM (DDR SDRAM), enhancement mode SDRAM
(ESDRAM), synchronization links DRAM (SLDRAM) and the direct RAM of memory bus
Etc. (RDRAM) various ways obtains.
Computer 912 also includes that Computer Storage removable/nonremovable, volatile, nonvolatile is situated between
Matter.Fig. 9 shows, such as, and disk memory 924.Disk memory 924 includes, but is not limited to,
It is similar to disc driver, floppy disk, tape drive, Jaz driver, Zip drive, LS-100
The equipment of driver, flash card or memory stick etc..Additionally, disk memory 924 includes being situated between with other storage
Matter is separated or the storage medium of combination, includes, but are not limited to, such as compact disk ROM device
(CD-ROM), the recordable driver of CD (CD-R drive), (CD-RW drives the rewritable equipment of CD
Dynamic device) or count the CD drives such as versatile disk ROM drive (DVD-ROM).For the ease of by disk
Memory devices 924 is connected to system bus 918, generally uses such as interface 926 grade may move and maybe can not move
Mobile interface.
Will be appreciated that Fig. 9 describes as the basic meter described in user and suitable operating environment 910
The software of the medium between calculation machine resource.This software includes operating system 928.Disk storage can be stored in
Operating system 928 on 924 is for controlling and distribute the resource of computer system 912.System application 930
By being stored in the program module 932 in system storage 916 or in disk storage 924 and routine data
934 utilize the operating system 928 management to resource.
Order or information are input in computer 912 by user by (all) input equipments 936.Input sets
Standby 936 include, but is not limited to, the pointing device such as such as mouse, tracking ball, instruction pen, touch pad,
Keyboard, mike, stick, game mat, satellite dish, scanner, TV tuner card, number
Camera, digital video camera, web camera etc..These and other input equipment passes through system bus 918
It is connected to processing unit 914 via (all) interface ports 938.(all) interface ports 938 include, such as,
Serial port, parallel port, game port and USB (universal serial bus) (USB).(all) outut devices 940
Use the port of some and (all) input equipments 936 same type.It is therefoie, for example, USB port is permissible
It is used to provide for the input of computer 912, and exports information from computer 912 to outut device 940.
O adapter 942 is provided to illustrate in outut device 940 and is similar to monitor, speaker and beats
Some outut devices 940 such as print machine need private adapter.As example rather than limit, o adapter 942
Video card and sound card including the attachment means provided between outut device 940 and system bus 918.Should
Note, the such as system of (all) remote computers 944 miscellaneous equipment such as grade and/or equipment also provide input and
Fan-out capability.
, computer 912 can use such as (all) remote computers 944 etc. one or more remotely
Locally-attached networked environment of computer operates.(all) remote computers 944 can be individual calculus
Machine, server, router, network PC, work station, electrical equipment based on microprocessor, peer device or its
Its common network node etc., and generally include about the some or all key elements described by computer 912.
For purposes of brevity, remote computer (multiple) 944 illustrate only memory storage device 946.(all)
Remote computer 944 is logically connected to computer 912 by network interface 948, and then by logical
Letter connects 950 and is physically attached.Network interface 948 includes such as LAN (LAN) and wide area network
(WAN) communication network such as.Lan technology includes that Fiber Distributed Data Interface (FDDI), copper cash are distributed
Formula data-interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 etc..WAN technology bag
Include, but be not limited to, point-to-point link, such as circuit Internets such as ISDNs (ISDN) and
Its variant, packet switching network, digital subscriber line (DSL), 802.11G, 802.11A/B, 802.11N,
Zigbee, ultra broadband, bluetooth, IRDA and IP/USB.
(all) communication connections 950 relate to being used for network interface 948 is connected to bus 918 hardware/
Software.Although within being shown in computer 912 for clarity and by communication connection 950, but
It can also be positioned at the outside of computer 912.Merely for exemplary purpose, it is connected to network interface 948 institute
The hardware/software needed includes, such as includes regular telephone grade modem, cable modem and DSL
Modem is in inside and outside technology such as interior modem, ISDN adapter and Ethernet cards.
Figure 10 is the schematic block diagram of sample-computing environment 1000.System 1000 includes one or more client
Machine 1010.(all) client computer 1010 can be that (such as, thread, process, calculating set for hardware and/or software
Standby).System 1000 also includes one or more server 1030.(all) servers 1030 can also be hard
Part and/or software (such as, thread, process, calculating equipment).Such as, server 1030 can accommodate and holds
The thread of line translation.A kind of possible communication between client computer 1010 and server 1030 can be taked to fit
In the form of the packet of transmission between two or more computer procedures.System 1000 includes can be used for just
The communications framework 1050 of the communication between (all) client computer 1010 and (all) servers 1030.(all)
Client computer 1010 is operably connected to the information that can be used for storing (all) client computer 1010 this locality
One or more client data store 1060.Similarly, server (multiple) 1030 is by operatively
It is connected to the one or more server data storages that can be used for storing server 1030 local information
1040。
Content already described above includes various illustrative aspects.It is, of course, not possible in order to describe these sides
The purpose in face and describe it is contemplated that assembly or the combination of each of method, but ordinary skill people
Member can be appreciated that and there may be many further combinations and displacement.Therefore, these aspect purports described herein
Comprising to fall all this changes, modifications and variations in the spirit and scope of the appended claims.Additionally,
For illustrating or for degree that term used in claim " includes (includes) ", should
Term is solved when being intended to " to include (comprising) " use as transition word in the claims with term
The similar mode released represents the meaning of inclusive.
Claims (2)
1. a network discovery system, including:
For processing simple object access protocol message to store the equipment of the address information of at least one network equipment, described address information include the friendly name of service, GUID, routable public address and port that described simple object access protocol message is provided to or tunnel time expiration in one or more;
For the device of communication between client computer and at least one destination service;
For finding to act on behalf of from described client computer transmission probe message to the device of at least one destination service described via centre, wherein said probe message includes that at least one response relevant with at least one destination service described limits;
For receiving the device of probe response message from least one destination service described, described probe response message includes instruction at least one destination service described and meets the information that at least one response described limits;
For determining the device of the network address and port information at least one destination service described based on communicating between described client computer and at least one destination service described;And
For opening the device of NATs (NAT) of two or more cascades at least through following steps: if the described client computer of security credence processing the described NAT of accesss of described client computer is authorized, return the external address for communicating with described NAT and port information and the outside ip address of described client computer and port information are mapped to the outside port of described NAT.
2. the network discovery method realized by the equipment of calculating, including:
Process simple object access protocol message to store the equipment of the address information of at least one network equipment, described address information include the friendly name of service, GUID, routable public address and port that described simple object access protocol message provided to or tunnel time expiration in one or more;
Communicate between client computer and at least one destination service;
Finding to act on behalf of from described client computer transmission probe message at least one destination service described via centre, wherein said probe message includes that at least one response relevant with at least one destination service described limits;
Receiving probe response message from least one destination service described, described probe response message includes instruction at least one destination service described and meets the information that at least one response described limits;
It is that at least one destination service described determines the network address and port information based on the communication between described client computer and at least one destination service described;And
Open the NAT (NAT) of two or more cascades at least through following steps: if the described client computer of security credence processing the described NAT of accesss of described client computer is authorized, return the external address for communicating with described NAT and port information and the outside ip address of described client computer and port information are mapped to the outside port of described NAT.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67461905P | 2005-04-25 | 2005-04-25 | |
US60/674,619 | 2005-04-25 | ||
US11/291,062 | 2005-11-30 | ||
US11/291,062 US8117340B2 (en) | 2005-04-25 | 2005-11-30 | Trans-network roaming and resolution with web services for devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800103035A Division CN101501665B (en) | 2005-04-25 | 2006-04-24 | Trans-network roaming and resolution with web services for devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102176727A CN102176727A (en) | 2011-09-07 |
CN102176727B true CN102176727B (en) | 2016-12-14 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1537374A (en) * | 2000-09-08 | 2004-10-13 | ��ʮ�����Ӽ����ѽ�˹��˹��˹���� | Providing position independent information bag routing select and secure network access for short-range wireless network environment |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1537374A (en) * | 2000-09-08 | 2004-10-13 | ��ʮ�����Ӽ����ѽ�˹��˹��˹���� | Providing position independent information bag routing select and secure network access for short-range wireless network environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101501665B (en) | Trans-network roaming and resolution with web services for devices | |
JP4730118B2 (en) | Domain name system | |
US8457014B2 (en) | Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system | |
US7450585B2 (en) | Method and system in an IP network for using a network address translation (NAT) with any type of application | |
AU2009304186B2 (en) | NAT traversal method and apparatus | |
US8954603B2 (en) | Communication device and communication method of the same | |
JP2008539672A5 (en) | ||
US20110055322A1 (en) | Method and system for providing connectivity between clients connected to the internet | |
US20020138596A1 (en) | Method to proxy IP services | |
Ishaq et al. | Facilitating sensor deployment, discovery and resource access using embedded web services | |
CN101809951A (en) | Cooperative nat behavior discovery | |
Lee et al. | z2z: Discovering zeroconf services beyond local link | |
US7440466B2 (en) | Method, apparatus and system for accessing multiple nodes on a private network | |
JP2005101890A (en) | Device and program for name registration mediation, and for name solution mediation name solution system, and name solution method | |
Novo | Making constrained things reachable: A secure IP-agnostic NAT traversal approach for IoT | |
KR101710033B1 (en) | Method for maintaining connectivity among dynamic ip devices and the apparatus therefor | |
Yu et al. | Traffic identification and overlay measurement of Skype | |
CN102176727B (en) | Use the trans-network roaming and parsing carried out for the web services of equipment | |
US9531560B2 (en) | Method and apparatus for using rendezvous server to make connections to fire alarm panels | |
Zhang | A retrospective view of network address translation | |
WO2008069504A1 (en) | Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system | |
JP2006135704A (en) | Router and control method thereof | |
Eddy et al. | Location management in a transport layer mobility architecture | |
Haase et al. | STUNT Enhanced Java RMI | |
Murtadha | Design and Implementation of Internet Protocol Based Geolocation System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150723 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant |