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 PDF

Info

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
Application number
CN201110099772.1A
Other languages
Chinese (zh)
Other versions
CN102176727A (en
Inventor
W·R·威廉姆斯
S·J·陈
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 US11/291,062 external-priority patent/US8117340B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102176727A publication Critical patent/CN102176727A/en
Application granted granted Critical
Publication of CN102176727B publication Critical patent/CN102176727B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Use the trans-network roaming and parsing carried out for the web services of equipment
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.
CN201110099772.1A 2005-04-25 2006-04-24 Use the trans-network roaming and parsing carried out for the web services of equipment Active CN102176727B (en)

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)

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

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