Title of Invention

A METHOD OF MANAGING COMMUNICATION BETWEEN PROVIDER AND REQUESTER

Abstract Abstract STEMS AND METHODS FOR MANAGING A PROVIDER'S ONLINE STATUS IN A DISTRIBUTED NETWORK A system manages communications between a provider and a requestor in a buted network. A requestor is implemented on a computing device and des a stay online binding. The stay online binding identifies a binding that is ed by the requestor. A provider is implemented on a computing device and des a binding. The provider receives the stay online binding from the estor and continues providing the binding because the provider became aware stay online binding.
Full Text DESCRIPTION
SYSTEMS AND METHODS FOR MANAGING A PROVIDER'S ONLINE STATUS IN A DISTRIBUTED NETWORK
TECHNICAL FIELD
The present invention relates generally to computers and computer-related techmology. More spcifically, the present invention relates to systems and methods for managing a provider's online status in a distributed network.
BACKGROUND ART
Computer andl communication technologies continue to advance at a rapid pace. Indeed, computer and communication technologies are involved in many aspects of aperson's day. For exanple, many devices bdng used today by consumers have a small computer inside of the device. These small computer come in varying sizes and degrees of sophistication. These small computers include everyting from one microcntroller to a fiully-functional complete computer system. For example, these small computer may be a one-chip computer, such as a micirocontroIler, a one-board type of computer, such as a controlIer, a typical desktop ccmputer, such as an IBM-PC compatible etc.
Computers typically have one or more processors at the heart of the computet The processor(s) usually are intenxmnected to different external inputs and outputs, and function to manage the particular computer or- device. For example, a processor in a thernostat may be connected to buttons used to select the temperature setting, to tbe furnace or air conditioner to change the termperature, and to temperature sensors to read and display the current temperature on a display.
Many appliances, devices, etc., include OIK or more small computers. For example, thermostats, fumaces, air conditioning systems, refrigezatois, telepbones, typewriters, autcmobiles, vending machines, and many different types of industrial equipment now typically have small computen, or processors, inside of them. Computer software runs the processras of these computers and instnrcts the processors how to carry out certain tasks. For example, the

computer soflware running on a thermostat may cause an air conditioner to stop running when a particular temperature is reached or may cause a beater to tum on whjen needed.
These types of small computer that are a part of a device, appliance, tool, etc, arc often referred to as embedded systems. The term "embedded system" usually refers to computer hardware and software that is part of a larger systan. Embedded systems may not have typical input and outpit devices such as a keyboard, mouse, and/or monitor. Usually, at the heart of each embedded system is one or more pnscessor(s).
A lighting system may incorporate an embedded system. the embedded system may be used to monitor and control the effects of the ligting system. For example, the embedded system may provide controls to dim the brightness of the lightss within the lighting system. Alternatively, the embedded system may provide controls to increse the brightness of the lights. The embedded system may provide controls to initiate a specific limiting pattern among the individual lights within the lighting system. Embedded systems may be complcd to individual switches within the lighting system. These embedded systems may instruct the switches to power up or power down individual lights or the entire lighting system. Similarly, embedded systems may be coupled to individual lights within the lighting system. THE brightness or power state of each irdividual ligh may be controlled by the embedded system.
A security system may also incorporate an embedded system. The embedded system may be used to control the individual security sensors that comprise the security system. For example, the embedded system may provide controls to power up each of the security sensors automatically Embedded systems may be compled to each of the individual security sensors. For example, an embedded system may be coupled to a motion sensor. The embedded system may power up the individual motion sensor automatically and provide ctxitrols to activate the motion sensor if motion is detected Activating a motion sensor may include providing instructions to power up an LED located within the motion sensor, output an alarm from the output ports of the motion sensor, and the like. Embedded systems may also be coupled to sensors monitoring a door. The embedded system may provide instructions to the sensor monitoring the door to activate when the door is opened or closed. Similarly, embedded systems may be coupled to sensors monitoring a window. The embedded system may provide instructions to activate the sensor monitoring the window if the window is opened or closed.

Some embedded systems may also be used to control wireless products such as cell phoness. The embedded system may provide instructions to power up the LED display of the cell pbone. The embedded system may also activate the audio speakers within the cell phone to provide the user with an audio notification relating to the cell phone.
Home appliances may also incorporate an embedded system Home appliances may include appliances typically used in a conventionl kitchen, eg., stove, refrigctator, microwave, etc. Home appliances may also include appliances that relate to the health and well-being of the user. For example, a massage rccliner' may incorpnate an embedded system. 71K embedded system may provide instructions to autotnatically recline the bade portion of the chair according to the preferences of the user, the embedded system may also provide instructions to initiate the oscillating components within the chair that cause vibrations widun the lediner acctrding to the preferences of the user.
Addrtional products typically found in homes may also incorporate embedded systems. For example, an embedded systein may be used within a toilet to control the levd of water used to refill the container tank. Embedded systems may be used widiin a jetted bathtub to control the outflow of air.
As stated, embedded systems rmy be used to monitor or" control many different systems, resources, products, etc With the growdi of the internet and the World Wide Web, embedded systems are increasingly connected to the internet so that they can be remotely monitored and/or controlled. Other anbedded systems may be connected to compter networks including local area networks, wide area networks, etc.
Some embedded systems may provide data and/or services to other computing devices using a computer netwok. Altemativdy, there may be typical conqniters or cnnputing devices that provide data and/or services to odur computing devices using a computer network. Sometimes it is beneficial for a provider to know whether the services that it provides are dethed by a requestor. Lack, of this knowledge can cause additional traffic on the network. These situatioos, as well as others, may cause ineffidendes in commnunication across the network. Benefits may be realized if systems and methods were provided to manage a provider's online status in a distributed network.

DISCLOSURE OF INVENTION
Embodiments disclosed herein relate generally to a system for managing communications between a provider and a requestor in a distributed nawork. In accordance with an embodiment, a requestor is implemeoted on a computing device. "the requests provides a stay online binding- the stay online binding identifies at least one binding that is desired by the requestor. The requestor provides the stay online binding. Also in accordance with an anbodiment, a provider is implemented on a computing device.the provider provides at least one binding. The provider receives the stay online binding from the requestor and continues providing the bindingCs) because the provider became aware of the stay online binding.
bi some embodiments, thesystem includes an intevening access node netwodc The communications between the requestor and the provider in the system are sent via the intervening access node network
In other embodiments, the provider computing device includes a processor in electronic communicatioa with the memory. Instructions are stored in the memory that implement a method. the provider computing device monitors communications from an intavaiing access node network for any stay online bindings that concern the provider. The provider computing device also discontinues the providing of the binding when it is detomined that no stay online landings concerning the provider are bdng communicated ova the intervening access node network.
In alternative embodiments, the provider computing devici; queries for any stay online bindings diat concern the provido'. The provider also provides the binding again. In another embodiment, the provider computing device quaies for any stay online bindings diat concem the provido* using a connectionless protocol
. In still other embodiments, the requestor craiqiutijig device includes a processor in electronic ccanmunication widi the memory. Instructions are stored in the memory that implement a mediod. the requestor computing device detnmines whether at least one binding concerning the requestor exists. The requestor computirthe device may also use the bindirthe to receive data or services from the provider.
A method for managing communications between a provider and a requestor in a

distributed network is also disclosed. The method provides the stay online binding from the requestor to the provider. The method provides at least one binding by the provider because the provider became aware of the stay online binding. The method determines whetheier any stay online bindings exist that concern the provider In sooie onbodiments, the communications . between the requestor and the povider are sent via an intervening access node networit, the method monitors communications from an intervening access node network for any stay online bindings that concern the provido; The method may also use a oinnecdonless protocol for monitoring the presence of the stay online Inodings that concern the provider.
In an alternative embodiment, the method discoitinues the providing of the binding(s) to the lequestor when it is determined that no stay online bindings concerning the provider are being cranmunicated over the intervening access node netwoik. Tbe mediod, in some embodiments, discontinues the providing of the biDding(s) to dw requester wiioi it is drtcnnined that no stay online bindings concerning the provider are being cmnmunicated over the intervening access node network by disctmnecting from the network.the mediod disclosed may wait a pcedetemiined period of time athe discondinuing the isoviding of the binding(s) to the requestor before querying for a stay online bindin that concerns the provider Where at least one stay online binding exists that concerns the provider, according to the method, the provider continues again to ixovide the binding(s). the mediod also uses the bindithes) to lecdve data or services from the [XDvider.
A compting device diat is configured to implement a mediod for managing communications of a provider in a distributed networoak is also disclosed. The computing device includes a processor in dectronic communication widi the memory. Instmctions are stored in the memory that implement a method. The mediod provides at least ore binding. The mediod also receives the stay online binding fitxn the requestor. The mediod continues to provide the binding(s) because the provider became aware of the stay online binding.
In a distributed network where clients and devices may connect and disccmnect frequently, there may be issues concerning when to establish coimection and for bow long the ccnnections should be established. In some systems, the thent may actively request a connection, and then may "own" the connection until it releases it This thepe of system may work well for direct connections, but is difficult in a distributtd environment in a distributed

environment, the actual connection that the client "owns" may be to an intervening node, and not to the device. Problems in this case may include how the connection between the device and the intervening node is established and when it can be closed.
A solution to these problems may be to keep a "connection count", and release the connections when the "connection counf is ZERO. This may prcsait difficulties because the distributed nature of the system may make it hard to decide who keeps the count Any OTDIS in the count often result in peisistent connections and additional load cm the distributed netwoik.
As metheoned above, a related issue is detetmining who establithehes the connection on the device side. In the "direct connect from client" situaticm discussed above, the device may I never open the comecdon. In the distributed case, it may be hard to detennine whether a device should cupea the coimectian.
Once the client and devices are connected, there may be further problems rdaled to
the multiple SCTvices that a device may provide. For example, the connected clients may not
require all the services that can be provided, but lade a direct method of identifying which
• services are of intwest All of the problems associated with knowirthe whether the connections
should exist also relate to the problems of which services diould be [wovided.
There may be baiefits to having the device start the coimectioa One baiefit may include the system correctly "cleaning iqi" if a cliart disconnects without properiy cloang the CQnnecdoa A further benefit may include dial this solution may woric in a distributed 1 environment widi no centralized knowledge of which connections diould exist
BRIEF DESCRIPTION OFTHE DRAWINGS
Exemplary embodiments of the invention will become more fiilly itheparent fiom the
fijllovnng description and apthejended claims, taken in conjunctitm widi the accontheianying ) drawings. Understanding that these drawings dq>ict only exemplary embodiments and are,
tberefcffe, not to be considered limiting of the inventirai's scope, the exemplary embodiments of
the invention will be descrthed witfi additional specificity and detail throuthe use of the
accompanying drawings in whidi:
Figure I is a network blodc diagram ilhistrating two intavening ju:cess nodes in a ) computer netwoik;

Figure 2 is a network block diagram illustrating several intervening access nodes in a computer network;
Figure 3 is a block diag-am of one embodiment of an intervening access node neiwoik with a requestor and a provider,
Figure 4 is a timing diagram illustrating a method for establishing communication between a provider and a requestor in a networiq
Figure 5 is a blodc diagram of an embodiment of an intervening access node;
Figure 6 is a block diagram of an intervening access node network that indudes one or more inten'ening access nodes and two provideithe
Figure 7 is a block diagram of a requestor sendiithe out two request signals and two stay online bindings;
Figure 8 is a block diatheam of a provida-sending out two bindings and two stay online request signals;
Figure 9 is a block digram of a provider and two requestors, that may be connected to an intervetiing access node network;
Figure 10 is a flow diagram of an embodiment of a mediod of a provider communicating wilth a network;
Figure 11 is a flow diagram of an embodiment of a mediod of a requestor establitheiing communication with a provider in a network;
Figure 12 is a block diagram of hardware components that may be used in an onbodiment of an embedded dence which may be used as either an embedded provider or as an embedded requestor;
Figure 13 illustrates me embodiment of a system uiierein the present systens and methods may be inthelemented;
. Figure 14 is an additional embodiment of a system wbodn the present systems and mediods of the present invention may be implemented; and
Figure IS is ablock diagram illustrating one embodiment of a home system.
BEST MODE FOR CARRYING OUT THE INVENTION
Various embodimmts of the invention arc now descrthed with reference to the Figures,

whae like reference numbers indicate identical or fimctionally similar elements. The embodiments of the fwesent inventiori, as generally dthecrthed and iDustrated in the Figures herein, could be arranged and designed in a wide variety of different craifiguratioiis. Thus, the following more detailed description of sevaal exemplary embodiments of tbe present inventi(m, as represented in the Figures, is not inteiKied to limit the stxjpc of the invention, as claimed, but is merely represaitative of the embodiments of the invention.
The word "exemplary" is used exclusively herein to mean "serving as an example, instance, or illustraticm." Any embodimait descrthed herein as "exenplary" is not necessarily to be construed as prefetred or advantageous over odm* enthewdimaits. While the various aspects of the embodiments are ptheesoited in drawiithe, the drawing are tKit necessarily drawn to scale unless specifically indicated
Many features of the embodiments disclosed herein may be inthelemeided as ccntheter software, electronic hardware, or combinations of both. To deariy illustrate this interchangeability of hardware and software, various components will be descrthed generally in toms of their funcdonality. Whether such functionalithe is trnplaneoted as hardware or software depends upon the particular application and design constraints imposed on tbe overall system. Skilled artisans may implement the descrthed functionality in varying ways for each particular aplication, but such intheilonentation decisions should not be interpreted as causing a departure fiom the Scophe of the present invention.
Where the desothed functicniality is impleniented as csntheiuter software, such software may include any type of computer instruction or conputer executable code located within a memory device and/or transmitted as electrcmic signals over a system bus or networkthe Software that implonents the fimctionaliy associated with components (kscrthed herein mthe comprise a single instiudicni, or many instructions, and may be distribttheed over several different code segjnents, among different programs, and across several memory devices.
Figure 1 is a netwcnk blod: diagram illustrating two intervoiing access nodes in the network 100. Aprovider 102 is in electronic communication with thenetwort: 100. The nrtwork embodiment 100 of Figure 1 includes two requestors 104 in electronic communication witfi the network 100. The intervaung access nodes 106 are also on the network 100. lliere may be more nodes on the nawork 1OO.

An intervening access node 106 is a netwoiic node that provides features and services to the nawork 100. An intervening access node 106 may be used in a varidy of ways. For example, an intovening access node 106 may be present cm a netwoik 100 to (Hovide services to c(»nputeis, thetheiications attd/or objects on the netwok 100. An interveniithe access node 106 may also be used to provide a [Hotoco) converter. An intervening access node 106 may be embedded or it 106 nuthe be large enoiithe to handle entopcise trafBc
One feature that an intervening access node 106 may include idates to object refinement CAyeCt refinement refers to the sitiiaticm where an intervening access rtode 106 places itsedf in place of an object and provides different implementations of the same inta&ces. This allows, among otita things, fx problems in the implementation of an inter&ce to be fixed without changing the actual end provider of (he inter&ce.
An additioial feature of an intervening access node 106 is tiiat of object augmentation. For object augmentation, (he intervening access node 106 adds new interfaces to an ttheect diat the cod [KDvider does not sutheqxHt
In current design, the intervening access node 106 does not difierentiate between clients and devices, so any service added is available to any (autlKsized) connected entity or node.
The network 100 as thelown in Figure 1 may inherit many features of wda services. Wd> sovices are accessed using weit protocols, usually KITP and SOAP. The ardiitecture is based on tiw peer-totheeo* paradigm of networidng.
Multiple intervening access nodes 106 in communication witii one another fcam an intervening access node netwoik 110. To requestors 104 andtheor providers 102, the one or more intervening access nodes 106 of the interveniijg access node netwoik 110 sppear as a single intervening access node 106. The size or number included in the intervening access node netwnk 110 is tranthetaicnt to providers 102 aad/cx requestors 104.
A provido-102 is a node on the nctwok 100 that is the source of a service 108. A requestor 104 is a node cm the netwc«k 100 dial is the user of the service 108. Arequestor 104 is a software entity implemented on a node tiiat may diiecfly discover a service 108 to control or intaact widi it
The service 108 may be any kind of service diat mthe be provided by a craithejuting

device. Some possible examples of services 108 include piovidiiig temperature data from a locaiion, pnjviding surveillance data, providing weatho' infontiation, providing an aidio stream, providing a video stream, etc. Many diffaent kinds of services and/o- data may be provided over a compute" network 100 fiom a provjda-102.
The service 108 is accessed through one or more bindings 112. A binding 112 includes an object identifiCT 114 and an interface identifier 116. Typically, the object 114 and the interiace 116 arc in pairs. A provider 102 can provide a plurality of bindings 112. It is posthele that multiple providers 102 can be providing the same service 108, Wnding 112, object 114 or inter&cell6.
The im)vidK' 102 may be an embedded providCT. An embedded (wovider is a jHt)vidCT 102 being implemented on an embedded device. An embedded device is a type of computing device that does not inchide all the same components associated with a thecal desktop computer. For example, some embedded devices do tut inchide monitors, othexxs do not include a keyboard or a mouse, and some embedded devices do not include either a moniU)r or a keyboard/mouse. Many embedded devices are mJaDcontroUo'-based devices, i.e., the coitial processor for the anbedded device is a microcontrollCT.
The roles of Tequestor and provider may be taken on by devices and softwmc nodes connected to intervening access nodes 106. In addition, an intervening access node 106 may be a requestor and/or a provider. For examthedc, the intervening access node 106 may be a
) rcquestoi/provida- when setting up AK commtmication between intervening access nodes 106. An intervening access node 106 serves as a requestor when it 106 requests information about providers when it 106 connects to anotho- intervamg accxss node 106. An intervening acxxs node 106 serves as provider wboi it is providing infbimation about olhcr providothe to other intHvening access nodes 106.
5 . The term "netwoA" as used herein refers to a system in whidi a series of tKxles are
intaconnected by a communications path. A iKxie is a physical aMn[Hiting device that communicates with other nodes. The spwcific behavior of a node is deteraiined by the applications or software it executes. Applications nmning on nodes of a network communicate with each other through sofhvare modules that implement protocols, fcMmalized rules for how
) data is sent over a networic Some protocols deal with the timing, sequencing, and error

checking of data transmission. Othas deal more wilh how the data is fixmatted and Ae commands and responses that the nodes exdianthe. A set of protocols that wtxk together is called a protocol Sack, wifli each protocol acting as a layo- in the stack tbat is buflt on tep of another layer. The top la>Q' of a protocol stack is used tthe an apphcatioa, the middle layers deal with transfiming groups (padcets and ftames) of data between nodes, and the bottom layer deals directly with the networking hardware dtheat transfers data.
Physical nrtworis consist of nodes that are connected by some SKt of jtheysical medium (e.g., electrical wire, qjtical fther, air). Hiis physical connecticMi may sometimes be referred to as a link. A jdiysical network limited to two nodes may be refcrtod to as point-totheint, while a lAiyacal netwoik that may siqjport more than two nodes may be refcned to as multiple-access. Eadi node on a multiple-access network has a [diysica] address diat is used to distinguish it ficxn the otiur nodes on the netwfuk.
Logk:al networks mthe be siqtarimposed mto phythecal networks to the)ecify a unique groiq) of nodes. Each node in a bgjcal nstwcA has a logical address diat is mqjped by a protocol to the node*s physical address. A sub-network, or subnet, is a itheysically or logically independent portico of a network, distinguished by a subnet number.
Most protocols deal with logical networks because most itheysical network issues already have many well-defined implementations and defining new physical layers is not required. Logical networks also have the benefit of bdng insulated fiom the physical network, and are therefore more geiKzaDy ustheiL For exanthele, TCP/IP is defined on top of a logical network (IP). IP can run on many itheiysical networks (Ethernet, seria!, wireless, etc.)- Tias makes TCP/IP a more generic sohiticm than had it been defined only in ternis of some specific physical networic
Any number of intervening access TKxies 106 may be used in a nctwwk 100. Figure 2 illustrates a network 20O that incliides a number of inttivening access nodes 206 as thelown. Three requestors 204,205 are in electronic communication with the intervening access nodes 206. In the network embodiment 200 shown in Figure 2, the tiiree requestcss 204, 205 all request the services 208, 228, 248 being provided by the provider 202, 205, 206e. The data ftom the services 208,228,248 is sent tiuouthe the intervoiing access rKde netwok 210.
The intervening access node network 210 of Figure 2 tpeiates similarly to flw

intervening access node network 110 of Figure 1. In typical operation, the requestors 104, 204, 205 and the providHS 102,202,205,206e would not distinguish between the intefveniag access node network 110 of Figure 1 and the intervoiing access node network 210 of Figure 2. Figure 2 also illustrates that a node may serve as both a requestor and a provider, as thewn by the illuarated requesWr/provider 205. Tias requesKw/provider 205 provides a service 228 and binding 232. Figure 2 also illustrates that a SKvice'binding may be provided by an intavening access node 206e.
As shown above, there may be many services and many bindings that are available on a network. It wotild be benefidai to allow these services to be "signaled" to provide a binding rathH- than always jHOviding it. Additionally, vAien the connection used between the provider 102 and the intervcniithe access node nttwortc 110 is traasitoiy it may be beneficial to provide a medKKl of signaling the provider 102 whether an established ccoiection is no longer needed, or wbea a connection that is not estaUished is desired. Throuthe the systems and mediods disclosed herein, requests are allowed to propagate dm)uthe the netwodc in an efficient manner, allowing for both loqjs in the connections, and also allowing THEH* a hithe number of disinterested provides {meaning providos that may not be connected or may not be currently jmmding a binding 112).
The intervening access nodes 106,206 may be connected in an arbitrary way, whidi includes loops, to Figures 1 and 2, requestors 104,204, 205 and provider 102,202,205,206e were illustrated. Requestors and providers may be sqiamte nodes or may coexist on an intervening access noda The methods used by the intovening access node networic UO allow for requestors 104,204,205 to sense the addition and removal of bindirthe 112 by providers 102, 202,205,206e. They also allow the quethe' for availability of bindings 112 on the network 100. Additional details abaat intetvening access node netwcKks are descrthed in the following copendijig patent jqthelications: U.S. Patent Application Serial No. 11/302306, tided "Systems and Meflwds for Handling Failover in a Distributed Routing Envirraimeiit," filed Decthenbex 13, 2005, with inventors Bryant Easttara and TOTI Milligan; and U.S. Patent Application Swial No. 11/292,944, titled "Systems and Methods for Efficient Electronic Communication in a Distributed Routing EnvironmCTt," filed December 2,2005, with invKitors Biyant Eastham arwi Tom Milligan. These copending U.S. patent thethelicalions, which are assigned to the assignee of

the present invaition, are herday incorporated by referwice in their aitirrty.
The quay by a node reganKng a binding 112 may be done either using a oonneclion-oriaited protocol such as TCP/IP or over a connectionless protocol such as UDP/IP. The benefits of using a cx>nnectionless probxx)] incdude lower ovethead on the intervening access nodes 106,206 as fewer connections are required.
Figure 3 is a Mode diagram of one embodinunt of an intervening access node network 310 with a requestor 304 and a provider 302. As discussed above, a requestor 304 may act as bodi a iHovider and a roquestix. In the present embodimad, the requestor 304 acts as both a provider and a requestor by providing a binding 320 and by using the senice 108 of a provider 3 02 over the intervening access node network 310.
The bincfing that is iHovided by the requestor 304 is a stay online binding 320. A stay online binding 320 may serve the purpose of rKMifying all [novideis 102 diat provide the desired service 108 tiiat a requestor 304 is connected to the network 310 diat desires the services 108 that the fHOviders 102 are [xovidtng. In this case, the object ID 3I4b of the stay online binding 320 is equal to at least one of objects 114 [Hovided by the services 108.
A stay online binding 320 is similar to a regular binding 112 because it typically includes an object ID 314b and aa inter&ce ID 322a. A stay online binding 320 may be treated like any other binding 112, because it may inchide the same or similar information that may be induded in any other binding 112 sent over the intenroiing access node network 110.
The provider 302 may also act as both a provider and a requestor, as discussed above. In the {Kcsent emboi£ment, the [Hoviiter 302 acts as bodi a theHovider and a requester by providing a binding 312 and watching for the stay online binding 320 that may be transmitted ova* the intervening access node netwtsk 310 fiom a requesta* 304.
The binding 312 provided by the provider 302 may include an object ID 314a and an intetthece ID 316a. Unlike the stay online binding 320, the Innding 312 of the [thesent embodiment, may identify inter&ces used to intoact widi the desired service 108.
Figure 4 is a timing diagram 400 illustrating a me&od for establishing communication between a fsiovider 402 and a requestor 404 in a network. "The dme axis 401 is shown. A requestor 404 may be searching for a service 108 on the network 100. At some point after connecting to the network 100, at time tl, the requestor 404 may provide 410 a stay online

binding 320. The stay online binding 320 is a way that the requestor 404 asks any providas of a compatible binding 312 to establish a connection, provide its bindings 112, and stay online. Compatible binding 312 are bindings 312 where the object ID 314b of the stay online binding 320 is equal to the object 314a of the binding 312 provided by the service 108 ttirouthe the provider 402. in the present embodiment, at some pjoint after connecting to the nrtwoik 100, at time t2, a provide 402 may provide 420 a binding 312. In an aJtemadve embodiment, the pnDvider 402 may provide 420 a binding 312 before the requestor 404 [WDvides 410 its stay online binding 320.
A provider 402 has a binding 312 added into the network 100. At time t3, some point
I after sending 420 a binding 312, the requestor 404 may ronove 430 the stay ooline binding 320. This removal 430 may reach the provider 402. After the provida-402 senses the ranoval 430, at time t4, the iwovider 402 may remove 440 the binding 312.
Fithejre S is a blod: diagram of an onbodiment of an intervening access node 506. The intervening access node 506 may include the information necessary to enable it to doemiine whether a stay online binding 320 should be forwarded cm, for example, to a provider 102. Likewise, the intervening access node 506 may also include the infomiation necessary to enable it to detennine whether a binding 112 should be forwarded on, fiir exan:q)le, to a requestor 104.
The intervening access node 506 may include a database of bindings 526 that may include all of the bindings 112onthenetwoik 110ofwhidiitisawaraThcsebindings526may
I include bindings 512 and stay online biiKlings 520, eadi of whidi may also inchule an object ID IHandinterfecelD 116. Each node in the networi: may know whether a particular binding 112, 320 exists, although it may not know the total count of providers 102 for that binding 112. If there are multiple providers 102 that provide a particular binding 112, then the binding 112 may not cease to oast, fiora the pertheiective of a rwde, imtil all providers 102 disccmnect finm the
> netwcMthec. 110 or remove their bindiithe 112. The database of bindings 526 maybe queried by providers 102 botii over a connection-oriented jMDtocol like TCP/IP or a connectionless protocol like UDP/IP. The query may be for any binding 112,320 that is present The database may also be monitored by a provider 102 so that changes in the contents are detcmuned.
Figure 6 is a block diagram 800 of an iiiervening access node network 810 that
I includes one or more intervening access nodes and two povidas S02a, 802b that are providing

the same biivding 812. Binding U 2 are corisid»ed the same if tidr objea IDs 114 are flthe and their interfeces 116 are the same. As providers 802 conned and disconnect, the network 810 may detemiine wttch provider 802 to use. Provids' A 802a may include a first binding 812a. Provider B 802b may include a first binding 812b. Thus, both provideis 802 may provide the same binding, the fiist binding 812. The network 810 and the providas 802a, 802b may negotiate and determine Vk4iidi provider 802 may fsovide the binding 112 and vthechcne will be held in reserve to provide the binding 112 at a latthe time, if necessary. This situation typically occurs when two or more providers 102 coimea to a network 810 at thejproximately the same time such that each of the {HDvidcrs 102 may not become aware ofthe other provider 102 until after they have already advertised their bindings 112. In the tmsent embodiment, theiplying tiiis logic &) the azy online binding 320 may ensure diat the binding 320 will exist in the netwoik S10 until dw last provider 802 disconnects or lonovesthebindiithe 812.
Referring now to Figure 7, when particular bindings 112 are desired by a requestor 904, the requesKn- 904 mthe provide its stay online birKhngs 920a, 920b by adding a first stay online binding A 920a and adding a SCCOIKI stay online binding B 920b to the intervening access node netwMk HO. The first stay online binding A 920a may notify whoever receives the binding 920a thai bindings 112 witfi object IDs 914a are desired. Tlffi stay online binding A 920a, of the iresem embodiment, may include an object ID A 914a and the interfece ED stay online 922. The &sy online identifier may notify a provider 102 with a matching object ID 114 dial the {iffovider 102 should provide its tending 112 and remain mline. The secraid stay online binding B 92(h msy notify \K4ioever receives the banding diat bindings 112 widi object IDs 9t4b are desired.
Figure 8 is a block dijtheam of a iHovider 1002 providing two bindings 1012a, 1012b. When the prouder 1002 connects ID an intervening access rxide network 110, it may dtheerniine the presence of stay online binding A 920a and stay online binding B 920b. In an alternative anbodiment, the provider 1002 qucdes the network 110 widiout connecting to detennine the presence of an theiplicable stay online binding 520, and only establishes a connection whoi an applicable stay online binding 520 is detected.
Upon sensing stay online binding 920 and after estabUtheiing a connection, the provider 1002 may add its bindings 1012a, 1012b by adding a first binding A 1012a and a

second binding B 1012b. Adding the first binding 1012a notifies whoever receives it that the first binding A 1012a is available. Adding the second binding B 1012b notifies whoever receives it ttiat the second binding B 1012b is available. With this infoimation requestors 104 can use the bindings 1012a, 1012b from the provido-1002.
Figure9 is a block digram of a provider 102 and two requestors 104a, 104b that may be connected to an inlavening access node nrtworic 110. Requestor A 104a mthe provide stay online bindirthe A 1120a. Requestor B 104b may provide stay online binding B 1120b. the provider 102 may receive stay online binding A 1120a and/or stay online binding B 1120b. If theprovidw 102 continues to receive eithff stay online biKling 1120a, 1120b, theiwovida-102 may provide its available bindings 1112, binding A 1112a and binding B l]12b. After the provider 102 adds its available bindmgs 1112, the requestors 104a, 104b may use their desired bindings 1112a, 1112b respectively. theprovider 102 may then continued) pnmde the bindings 1112 to the requestors 104a, 104b. Specifically,the provider 102 may provide binding A 1112a to requestorA 104a and binding B 1112b to requestors 104b.
i If only one of the requestors 104 retnoves its stay online binding 1120, the provider
102 may remain connected to the intervening access node network 110 and may continue to jHovide its avatheable bindirthe U12. For acample, if requestor A I04a were to remove its slay online binding A1120a, the provide 102 may then stop providing landing A1112a to requester A 104a. However, because requestor B 104b is still adding its stay online binding B 1120b, the
I inovider 102 may continue to provide its available bindings 1112 and may continue providing binding B 1112b to requestor B 104b. If both requestor A 104a and requestor B 104b were to stcthe rranove their stay online bindings 1120a, 1120b such that no requestor 104 connected to the intervening access node network 110 was providing a stay online binding 1120 that concerned the provider 102, fcff racample, then the provider 102 may disconnect fiom the 110 netwoik for a
) time. This may eliminate the challenges involved with cleaning iq) a disconnected device, because the ability to make this daermination may allow a pmwider to disconnect fitheom the network when its savices are not required. ■
Figure 10 is a flow diagram of an embodimait of a meJhod 1200 of a provider 102 communicating with an intervening access node netwoik 110. The provider 102 may connect
) 1202 to the intervening accKS node network 110. After the fWDvider 102 is connected 1202 to

ine miervening access noae netwoiK liu, me (MDVICIM 1U2 may detennine 1206 whaher any stay online bindings 320 exist on tbe intevaiing access iKde network 110 thai identify any bindings 112 Aat the provider 102 may provide 1210. If the provider 102 detemiines 1206 that thebm are stay online bindings 320 that identify at least one binding 112 pFo\theded tthe the i»t)vider 102, then the provider 102 may provide 1210 its landings lI2tonetWOTk 110. If tbe provider 102 detennines 1206 that there are not any stay (mfine bindings 320 that identify at least one binding 112 [xovided 1210 by the provider 102, then the provider 102 may disconnect 1214 from the intervening access node netwoilc 110. In an alternate embodiment, the determinaticHi 1206 may utilize a coimectioiiless protocol and [xrcetfe tbe connection to the network 1202.
AftertheprovidcT 102 has provided 1210 its bindings 112, the jwovider 102 may wait 1212 for a penod of time before determiniithe 1206 whcther the stay online binding 320 is still present AdditionaUy, the provider 102, after disconnecting 1214 from the network 100, may wait 1216 for a period of time before reconnecting 1202 to the network 100 and detennining 1206 thetheiwther theiplicable stay online bindings 320 are itheeseiU. These periods of time may be the same period of time or may diSs* in length.
Figure 11 is aflowdiagramof an embodiment of a method 1300 of a requestor 104 establishing OHnmunication widi a provider 102 in a lutwoik 100. The requestca* 104 may connect 1302 tothenetwtxk 100. The requestor 104 may drtemiine 1304 which bindings 112 are needed. For example, the requestor 104 may determine 1304 that it needs data from a service 108. The requestor 104 may then determine 1304 uthedi bindings 112 are needed to obtain the data.
The requestor 104 may package 1306 new stay online bindings 320. Packaging 1306 new stay online bindings 320 may include packaging 1306 the thejpropriate ottheect ID 114 widi an inteifece ID 322 tiat is the stay online idaitifict Packatheg 1306 new stay online landings 320 may also inchide not padkaging 1306 previously packaged cr no longer required stay online bindings 320 as discussed below.
The requestor 104 nuthe provide 1308 the stay online tnndings 320. Providing 1308 the stay onliiK bindings 320 may include sending a stay online binding 320 over the netwoik 100. Therecjuestor 104 may receive 1312 tendings 112 from a provider 102. The requestor 104 may detennine 1314 whether to lemove at least cme stay online bindiithe 320. If the reqiwstor 104

detamines 1314 that it should not remove at least one stay online binding 320, the requestor 104 may wait 1322 for a period of time before again detennining which bindings 112 are needed. If the requestor 104 determines 1314 that it should remove at least one stay online binding 320, the requestor 104 may remove 1316 the stay online binding 320. In the present embodiment, the requestor 104 only mnoves 1316 the stsy online buidings 320 tbat are no longer needed. For example, after the requestor 104 has recdved the desired services 108, the requestor 104 may no longer need the bindings 112 and may therefore renwve 1316 the stay online tnnding 320 fca that service lOS.
The requestor 104 may detemiine 1318 whether any remaining bindings 112 are needed. If the requestfx* 104 detetmines 1318 diat there are remaining bindings 112 that are neected, the requestcH* 104 may again detemiine 1304 vthech landiithe 112 are needed. If the requestor 104 detennines 1304 tfiat tbeie are not any remaining bindings 112 that are needed, the requestor 104 may wait 1320 for a period of time and again detanune 1304 which bindings 112 are needed.
Figure 12 is a block diagram of hardware conqxnents diat may be used in an embodimoit of a computing (kvice or an onbedded device. A computing device and/or an embedded device may be used as a {xovider, a requestor and/or an intervaiing access node. A CPU 1410 or processor may be provided to control the cthenration of the device 1402, including the other conyxments thereot \rfiich are coupled to the CPU 1410 via a bus 1412. The CPU 1410 may be anbothed as a miotthejrocessor, microctnitiDlIer, digital signal pHX>cessor or other device known in the art The CPU 1410 performs logical and aridimetic opoations based on program code stored widiin the memory 1414. In certain embodiments, the monory 1414 may be on-board memory included widi the CPU 1410. FOT etanthee, microcontrolleis often include a certain amount of on-board memory.
The computing or embedded device 1402 may also include a network interfece 1416. The network intrafece 1416 fecilitates caranunication between the device 1402 and odia-devices connected to dw network 100. the nrtwoik 100 may be a pager network, a cellular network, a global communications network, the Internet, a compiler network, a tdqithewne nthework, etc. The netwo± interface 1416 operates according to standard protocols for the thejplicable network 100.

The device 1402 may also incliaie monory 1414. The memory 1414 may include a random access memory (RAM) fcir smring temporary data. Alteinativdy, or in addition, the manory I4I4 may include a read-only memwy (ROM) for storing moe pcnnaneni data, sudi as fixed code and ccnfiguration data. The monoiy 1414 may also be embothed as a magnetic storage devicfc, such as a hard didc drive. The mcmoiy 1414 may be any type of electronic device curable of stcxing electronic infinmation.
The device 1402 may also inchide communicatiai ports 1418, which &cilitate communicatictt with other devices. The device 1402 may also bclude inpiu/ouiput devices 1420, such as a ktheboard, a mouse, a joystidc, a tcmchscreen, a monitor, the)eakeirs, a {xintthe, etc.
The [resent systems and methods may be used in several contexts. Figure 13 illustrates me embodiment of a system niierein fhe prcseot systems and methods may be inthelemented. Figure 13 is a block diagram diat illustrates one enibodimeot of a tinning system 1200 that incbdes a limiting controller system 1508. The litheitiithe system 1500 of Figure 13 may be incorporated in various TDoms in a home. As illustrated, the system 1500 includes a room A1502, aiDomB 1504, and a room C 1506. Alihouithe three rooms are ftown in Figure 13, the system 1500 may be inthelcmented in any number and variety of ronns witiiin a home, dwelling, or other envircRHnenL
The limiting controller system 1508 may monitor and control additional embedded systems and components within the system 1500. In oae embodiment, the room A1502 and the roomBlS04eachincludeaswitdiconponent 1514,1518. TbeswitdicontheionenislSU, 1518 mthe also inchide a secondary embedded system 1516,1520. The secondary embedded systems 1516, 1520 may receive instructions from the limiting ccntroUer system 1508. The secondary embedded systems 1516, 1520 may then execute these instractioDS. The instructions may include powering on or powering ofif various lithet conthewnents 1510,1512, 1522, 1524. The instructions may also include dimming the briefness or inoeaang its brigjitness of the various lithet components 1510, 1512,1522, 1524. the instructions may fiirtfaer include arranging the tmtheitness of the lithet conponoits 1510,1512,1522, 1524 in various pattems. The sectmdary embedded systems 1516, 1520 fadlitate the limiting controller system 1508 to monitor and control each light conponent 1510,1512,1522,1524 located in theroc«n A1502 mtd the room B1504.

The lifting controller system 1508 might also provide instructions directly to a light component 1526 that includes a secondary embedded sjthetem 1528 inthe depicted room C 1506. The lifting controUer system 1508 may instruct the secondary embedded system 1528 to powo" down or power up the individual light conthewnent 1526. Similariy, the instructions received from the hating controlla- system 1508 may include dimming the brightness cff increasing the brightness of the individual light ccropoittDt ]526.
The lighting controlla- system 1508 may also monitor and provide instructions directly to individual lithet components 1530 1532 within the system 1500. These instructions may include similar instiuctioas as descrthed [ncviously.
In the embodiment of Figure 13, tiw light components 1510,1512,1522,1524, 1526, 1530, 1532 may be treated as a provider. These components may provide data regarding their status, for example wiiether a light ccaithexment is on or off or the current or past wattage passing through the lithetcomponmt. Similariy, secfflidary embedded systems 1516,1520,1528mayact as bodi a provider and a requestor. For example, the secondary embedded systems 1516, 1520, 1528 may request data or services from the light componaits 1510, 1512, 1522, 1524, 1526, 1530, 1532. The secondary embedded systans 1516, 1520, 1528 may also jHovide data received from the light components 1510, 1512, 1522, 1524,1526, 1530,1532 to the lifting ctHitroller system 1508, whidi may act as a requestor.
Figure 14 is an additional embodiment of a system \\4ieTein the [resent systems and methods of the present invention may be implemented. Figure 14 is a blodc diagram illustrating a security system 1600. The security system 1600 in the depicted embodiment is implemented in a rocan A1602, a room B 1504, and a room C1606. These rooms may be in the craifines of a home or other enclosed envircHiment The system 1600 may also be iii:q>lemented in an open aivironmoit where the rooTTB A,,B andC, 1602,1604,1606 respectively represent territories or boundaries.
the system 1600 includes a security controller system 1608. Tht security controlla
sjtheton 1608 monitors and receives information from the various components within the system
1600. For example, a motion sensor 1614, 1618 may include a secondary embedded system
1616, 1620, The motion sensors 1614, 1618 may monitor an immediate space for motion and
I alert the security controlla- system 1608 v/ben motion is detected via the secondary embedded

system 1616, 1620.the security controIlCT system 1608 may also povide instructions to the various omiponKils wilhin the system 1600. For example, the security controller system 1608 may provide instructions to flic secondary embedded systems 1616,1620 to power up or power down a window sensor 1610, 1622 and a door sensor 1612, 1624. In me embodiment, the secondary embedded systrans 1616,1620 notiiy the security controller system 1608 whai the window sensors 1610,1622 detect movemoit of a window. Similariy, the secondaiy onbedded systons 1616, 1620 notify the security contrcdler system 1608 when the door sensors 1612, 1624 detect movonent of a door Tht secondary embedded systems 1616, 1620 may instruct the motion sensois 1614, 1618 to activate the LED (not shown) located widnn the moticxi soisors 1614,1618.
The security controlla' system 1608 may also monitor and provide instructicHis direcdy to individual compaieols widiin the sytheem 1600. For exanple, the securithe controller system 1608 may mraiitor and provick instructicnis to power ithe or power down to a motion sensor 1630 OTa window sensor 1632. The security controller system 1608 may also instruct the motion sensor 1630 and the window sensor 1632 to activate the LED (not shown) or aoidio alert ncAificationswiflunthe sensois 1630,1632.
Eadi individual coitqxHicntconqiritheg the system 1600 may also inchide a secondaiy embedded systhen. For exanthele, IHgure 14 illutheiates a dotn* sensor 1626 including a secondaiy embedded system 1628. The security controller system 1608 may monitor and provide instructions to the secondary embedded system 1628 in a similar manner as previously descrthed.
In the embodiment of Figure 14, the sensois 1610, 1612, 1622, 1624, 1626, 1630, 1632 maybe treated as ixoviders. These sensois 1610,1612,1622,1624,1626,1630,1632 may provide data regarding their status. POT example, the window sensois 1610, 1622, 1632 may [xovide.data regarding whether they are open or closed Similariy, secondaiy embedded systems 1616, 1620, 1628 may act as both a ixovider and a requestor. Fes' example, the seccxidaiy embedded systans 1616,1620,1628 may requethe data or services from the soisois 1610,1612, 1622, 1624, 1626, 1630, 1632. The secondaiy embedded systems 1616, 1620, 1628 may also provide data received fiom the sensois 1610,1612,1622,1624,1626,1630,1632 to the security amtroUer system 1608, whidi may act as a requester.

higure liisablockaiagramiuustratmg one embodiment ofahomesystan 1700. The home system 1700 includes a home controlla- 1708 that facilitates the monitoring of various systems such as the lighting system 1500, the security system 1600, and the like. The home system 1700 allows a user to aMitroI various coiithex>nents and systems througji one or more embedded systems. Li one embodimrat, the home controller syst«n 1708 monitors and provides infiwrnation in 1iie same mannCT as previously descrthed in rdation to Figures 13 and 14. In the depicted anbodiment, the home controller 1708 provides instructions to a heating component 1724 via a secondary embedded system 1720. The healing conponent 1724 may include a fiimace or other heating device typically found in resideiit locations or ofBces. The home controllo' system 1708 may jHovide instmctions to power up or p>ower down the heating component 1724 via the secondary embedded system 1720.
Similarly, the home controller 1708 may monitor and provide instmctions directly to a component within the home system 1700 sudi as a cooling component 1730. The cooling component 1730 may include an air conditioaer or other cooling device typically found in resident locations or offices. The central home amtroUer 1708 may instruct the cooling component 1730 to power up or power down depending on the temperature reading collected by the central embedded syston 1708. The home system 1700 functions in a themilar manner as prerviously descrthed in relation to Figures 13 and 14.
In the embodiment of Figure IS, the window sensor 1710, door soisor 1712, beating
I component 1724, cooling component 1730, and lifting componoits 1722, 1726,1732 may be trcai«i as providers. These elements I7I0, 1712, 1722, 1724, 1726, 1730, 1732 may provide data regarding their status. For example, the heating and cooling components 1724, 1730 may provide data regarding the present temperature in their respective rocsns 1704, 1706. The heating and cooling conponents 1724, 1730 may pHOvide data regarding the status of the
i compwivnt, whethCT it is on or off, its recent power usage, any system errors, etc. Similarly, secondary embedded systems 1716,1720,1728 may act as both a provider and a requestor. For example, the secondary embedded systems T 716,1720,1728 may request data or services fiom these elements 1710, 1712, 1722, 1724, 1726, 1730, 1732. The secOTidary embedded systems 1716, 1720, 1728 may also provide data recdved fium the elements 1710, 1712, 1722, 1724,
1 1726,1730,1732 to the home controller system 1708, which may act as a requestor

There are many types of embedded devices and many reasons for creating device networks. Several examples of device networking aftheIications will be set forth. It will be appreciated by those skilled in the art diat the examples discussed are not exhaustive.
One example of a device networking thejplicatiixi is remote mcnitcffing. Many lithefiil device networks involve remote monitoring, the one-way transfer of inforaiaticm frwn one node to another. In these applications, providers typically act as small savers that report certain infomiation in retheKsise to a requester: Piovideis can also be set iqi to publish dicir state information to subscrthers. A requestor may ask for periodic iqx)it5 CM* fonq)dates whenever the state dunges, periithe with some means of limitlDg how often iqxlates are to be sent Providers can be set ithe to notify requestor when scxne event or excq>tional ccmdition occurs.
Anodur exanthele of a device netwoik Egiplication is remote ccnrirol, w4iere requestors are aUe to send commands to provideis to invdce some theKcific action. In most cases, remote control involves some sott of feedback.
A still fiDtlra' exanthele of a device networidng qthelication is distributed cootiol systems. The fimdicxis and data associated with individual psovideis can be combined and coordinated throuthe a netwoik to create a distributed system that provides additional vathe. Scxnetimes these distributed control systems can be established more or less autranatically. In many cases, a more scthehisticated device joins a peer-to-peer netwoik to perfom ccmfiguiaticHi, mcHiitoring or diagnostic duties. Such systems may be created 1the objects &at communicate as peers or throuthe a master-slave ocmfiguiation, in whidi each oltheect in the system communicates ' with a single, central node that contains all of the control logic
Mdi each cattheory of networidng theithelicaticm, there area variety of ways in udiidi requestors may connect fo ptovidos. When a relatively snail number of providers are involved, a requestor may u% a web browser, pager or even a WAP-enabled cell [dime to communicate v/idi a provider in a more or less interactive manner. As the number of pnmdeis grows, however, these methods may become unworkable and requestors may eotheIcy mae geoaal data management techniques sudi as a spreadsheet or database theiplication.
As a variety of networics are intheemented over time and witii different technologies, the situation can arise in which muhqile networks might sit in the same borne or fociltty, each using their own protocols and unable to communicate with the others. In diis case the various

networics and protocols can be bridged to create a single, largo* naworic. This can allow a single application to access each provider, simplifying the interaction with all of the jHOvidere.
Information and signals may be rqwesCTted using any of a variety of different technologies aod techniques. For exanthee, data, instmctions, commands, infomiation, sitheials, bits, symbols, and chips That may be referenced ihn>ugbout the above descrtheon may be represented by voltages, currents, electromagnetic waves, magnetic fields OT particles, cthecal 5elds or particles, or any combination thereof
The various illustrative logical blocks, modules, circuits, and algorithm stq>s descrthed in connection widi the embodiments disclosed herein may be inplemented as electronic hardware, conqnitcr software, or combinations of both. To cleariy illustrate this iritochaitheeability of hardware and software, various illustrative components, blodcs, modules, circuits, and stqis have been descrthed above goieralty in terms of their fiuictionality. Whether such fimctionality is implemaited as hardware or software depends upon the particular theiplication and design constraints imposed on HK overall system. SkiUed artisaris may implement the descrthed fimctionality in varying ways for each particular theifdicatioQ, but such implementation decisions thelould not be intopreited as causing a departure from the scope of the jresent inventioL
The various illustrative logical blocks, modules, and circuits desothed in connection wiA the embodiments disclosed h$nm may be implonentod or performed widi a general ) purpose {Mxtcessor, a digital signal processor (DSP), an theipHcation specific inttherated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmaWe logic device, discrete gate or transistor logic, discrete hardware components, or any comlnnation thereof designed to perform the fimctions descrthed herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, i controUo', microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a ccmbination of a DSP and a microprocessor, a plurality of mJcroprocessors, one or more mJciiD]m>cessois in conjunction with a DSP core, or any olita such configuration.
The steps of a method or algorithm descrthed in connection wifli the embodiments ) disclosed herein may be embothed directly in hardware, in a software module executed by a

processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM menory, registers, hard disk, a removEble disk, a CD-ROM, or any other form of storage medin known in the art. An exemplary storage medium is coupled to the processor such that the processor can read infomiadon from, and write infcvmation to, the storage medium In the ahemative, the storage medium mthe be integral to the processor. the processor and the storage medium may reside in an ASIC. The ASIC may reside in a user tenninal. In the alteniative, the processor and the sbirage medium may reside as discrete conq>oiKnts in a user tominal.
The methods disclosed herein ccaapiisc one or more steps or actions for actheving the descrthed method The mediod steps and/or actions may be inteidianged with one another wthout departing from the scope of the presoit invention. In other words, unless a specific order of stqjs or actions is required for proper operation of the cmbodimeDt, the order and/or use of specific steps and/or actions may be modified without departing fiom the scope of the present invention
While the)ecific embodiments and the:thelications of the present invention have been illusdated and desothed, it is to be undeistood that the invendon is not limited to the thencise configuration and components disclosed herein various modifications, dianges, and variations which will be the apparent to those skilled in the art may be made in the anangemoit, operadm, and details of the mediods and systems of the present inventicm disclosed herein widiout departing form the spirit and scope of the invention.
INDUSTRIAL APPUC ABILITY
The present invention is applicable to an embedded system.


CLAIMS
1. A system for managing communications between a provider and a requestor in a
distributed network, the system comprising:
a requestor that is implemented on a computing device, wherein the requestor provides a stay online binding, and further wherein the stay online binding identifies at least one binding that is desired by the requestor, and
a provider that is implemented on a computing device, wherein the provider provides the at least one binding, wherein the provider receives the stay online binding from the requestor and continues providing the at least one binding because the provider became aware of the stay online binding.
2. The system as defined in claim 1, further comprising an intervening access node network.
3. The system as defined in claim 2, wherein communications between the requestor and the provider are sent via the intervening access node network.
4. The system as defined in claim 1, wherein the provider computing device comprises a processor, memory in electronic communication with the processor, and instructions stored in the memory, the instructions being executable to implement a method comprising:
monitoring communications from an intervening access node network for any stay online bindings that concern the provider.
5. . The system as defined in claim 4, wherein the method implemented by the instructions
stored in the memory of the provider further comprises:
discontinuing the providing of the binding when it is determined that no stay online bindings concerning the provider are being communicated over the intervening access node network.

6. The system as defined in claim 5, wherein the method implemented by the instructions
stored in the memory of the provider further comprises:
querying for any stay online bindings that concern the provider, and providing the binding again.
7. The system as defined in claim 6, wherein the step of querying for any stay online bindings that concern the provider further comprises using a connectionless protocol.
8. The system as defined in claim 1, wherein the requestor computing device comprises a processor, memory in electronic communication with the processor, and instructions stored in the memory, the instructions being executable to implement a method comprising:
Determining whether at least one binding concerning the requestor exists.
9. The system as defined in claim 8, wherein the method implemented by the instructions
stored in the memory of the requestor further comprises:
Using the binding to receive data or services from the providet.
10. A method for managing communications between a provider and a requestor in a
distributed network, the method comprising:
providing a stay online binding from the requestor to me provider, and providing at least one binding by the provider because me provider became aware of the stay online binding.
11. The method as defined in claim 10, further comprising determining whether any stay online bindings exist mat concern the provider.
12. The method as defined in claim 10, wherein communications between the requestor and die provider are sent via an intervening access node network.
13. The method as defined in claim 10, further comprising monitoring communications

from an intervening access node network for any stay online bindings that concern the provider.
14. The method as defined in claim 13, wherein the monitoring communications step uses a connectionless protocol.
15. The method as defined in claim 13, further comprising discontinuing the providing of the binding to the requestor when it is determined that no stay online bindings concerning the provider are being communicated over the intervening access node network.
| 16. The method as defined in claim 15, wherein discontinuing the providing of the
binding to the requestor when it is determined that no stay online bindings concerning the provider are being communicated over the intervening access node network further comprises disconnecting from the network.
17. The method as defined in claim 14, further comprising:
waiting a predetermined period of time after discontinuing the providing of the binding to the requestor; and
querying for a stay online binding that concerns the provider.
18. The method as defined in claim 17, further comprising if at least one stay online
binding exists that concerns the provider, the provider continues to provide the binding.
19. The method as defined in claim 9, further comprising using the binding to receive data or services from the provider.
20. A computing device that is configured to implement a method for managing communications of a provider in a distributed network, the computing device comprising:
a processor,
memory in electronic communication with the processor,
instructions stored in the memory, me instructions being executable to implement a

method comprising:
providing at least one binding;
receiving a stay online binding from the requestor; and
continuing to provide the at least one binding because the provider became aware of the stay online binding.

Documents:

3168-CHENP-2008 AMENDED PAGES OF SPECIFICATION 23-08-2013.pdf

3168-CHENP-2008 AMENDED CLAIMS 23-08-2013.pdf

3168-CHENP-2008 ASSIGNMENT 25-09-2013.pdf

3168-CHENP-2008 CORRESPONDENCE OTHERS 25-09-2013.pdf

3168-CHENP-2008 CORRESPONDENCE OTHERS 18-04-2013.pdf

3168-CHENP-2008 EXAMINATION REPORT REPLY RECEIVED 23-08-2013.pdf

3168-CHENP-2008 FORM-1 23-08-2013.pdf

3168-CHENP-2008 FORM-13 25-09-2013.pdf

3168-CHENP-2008 FORM-13 30-01-2009.pdf

3168-CHENP-2008 FORM-3 23-08-2013.pdf

3168-CHENP-2008 CORRESPONDENCE OTHERS 07-05-2012.pdf

3168-CHENP-2008 ENGLISH TRANSLATION 07-05-2012.pdf

3168-CHENP-2008 FORM-6 07-05-2012.pdf

3168-CHENP-2008 OTHER PATENT DOCUMENT 23-08-2013.pdf

3168-CHENP-2008 POWER OF ATTORNEY 07-05-2012.pdf

3168-CHENP-2008 POWER OF ATTORNEY 23-08-2013.pdf

3168-CHENP-2008 PRIORITY DOCUMENT 23-08-2013.pdf

3168-chenp-2008 abstract.pdf

3168-chenp-2008 claims.pdf

3168-chenp-2008 correspondence-others.pdf

3168-chenp-2008 description(complete).pdf

3168-chenp-2008 drawings.pdf

3168-chenp-2008 form-1.pdf

3168-chenp-2008 form-18.pdf

3168-chenp-2008 form-3.pdf

3168-chenp-2008 form-5.pdf

3168-chenp-2008 pct.pdf


Patent Number 257959
Indian Patent Application Number 3168/CHENP/2008
PG Journal Number 48/2013
Publication Date 29-Nov-2013
Grant Date 22-Nov-2013
Date of Filing 23-Jun-2008
Name of Patentee PANASONIC CORPORATION
Applicant Address 1048, OAZA-KADOMA, KADOMA-SHI, OSAKA
Inventors:
# Inventor's Name Inventor's Address
1 EASTHAM, BRYANT C/O MATSUSHITA ELECTRIC WORKS, LTD INTELLECTUAL PROPERTY DEPARTMENT, 1048, OAZA-KADOMA, KADOMA-SHI, OSAKA
PCT International Classification Number G06F9/46
PCT International Application Number PCT/JP06/303506
PCT International Filing date 2006-02-20
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 11/324,025 2005-12-29 U.S.A.