Proxy-bridge connecting remote users to a limited connectivity network
Abstract
The invention makes possible remote control of devices in a piconet by remote users communicating over the Internet and the like by providing a proxy-bridge device. The proxy-bridge device is a bridge for sending packets to and from between an external device and a device in the piconet. Moreover, the proxy-bridge device also serves as a proxy for the external device to devices in the piconet and as a proxy for devices in the piconet accessing an external device. The proxy-bridge wireless device's protocol stack allows communications with the piconet devices within the piconet. In addition, the protocol stack allows an application to communicate with a remote device e.g., via the Internet Protocol. Thus, the proxy-bridge device, using two protocols, enables remote users discover the presence of a service offered by a device in a piconet as a logical embedded device within the proxy-bridge device and vice-versa.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A proxy-bridge device for extending access to a device in a piconet by an external device residing outside the piconet, the proxy-bridge device comprising:
a piconet protocol compliant stack for handling communications between proxy-bridge device and the device in the piconet; an external device compatible stack for handling communications between th proxy-bridge device and the external device; and a database associating an identifier of the piconet device with an external device compatible identifier employable by the external device for addressing the piconet device.
2 . The proxy-bridge device of claim 1 further having a universal plug and play component associated with the piconet protocol compliant stack and the external device compatible stack.
3 . The proxy-bridge device of claim 2 wherein the universal plug and play component includes functionality for sending a service discovery request from the piconet device to the external device and sending a response to the service discovery request from the external device with a description of at least one service available in the piconet.
4 . The proxy-bridge device of claim 1 wherein the proxy-bridge device is a master device in the piconet and the piconet device is a slave in the piconet.
5 . The proxy-bridge device of claim 1 wherein the piconet protocol compliant stack conforms to BT specifications thereby enabling the proxy-bridge device to inter-operate with other BT devices.
6 . A method for discovering a desired service, at an external device utilizing a communication protocol different from a piconet communication protocol in the piconet, by a device in a piconet via a proxy-bridge device, the method comprising the steps of:
polling the proxy-bridge device by the device in the piconet to discover if the desired service is available; sending by the proxy-bridge device, a discovery request for services to an external device from in response to ascertaining that the desired service is not registered at the proxy-bridge device; receiving an affirmative response from the external device to the discovery request for services; and sending, by the proxy-bridge device, a message to the device in the piconet indicating that the service is available via the proxy-bridge device.
7 . The method of claim 6 further including the step of associating, by the proxy-bridge device, an IP address to the device in the piconet.
8 . A method for discovering via a proxy-bridge device a desired service in a piconet by an external device, the external device utilizing a communication protocol different from a piconet communication protocol in the piconet, the method comprising the steps of:
receiving, by the proxy-bridge device, a discovery request for services from the external device; sending, from the proxy-bridge device, a service discovery request to a plurality of devices in the piconet; and sending, from the proxy-bridge device, a message to the external device indicating that the service is available via the proxy-bridge device.
9 . The method of claim 8 further including the step of associating, by the proxy-bridge device, an IP address to the device in the piconet wherein the device in the piconet is represented to the external device as an embedded device with the IP address.
10 . The method of claim 9 wherein the proxy-bridge device maintains a table to map IP addresses of embedded devices to the respective identifiers of devices in the piconet.
11 . A method for responding to a request, by an external device, for a desired service from a proxy-bridge device in a piconet, the external device utilizing a communication protocol different from that in the piconet, the method comprising the steps of:
determining, by the proxy-bridge device, that the request is addressed to an IP address; handling the request by the external device, via a TCP/IP protocol stack in the proxy-bridge device; identifying, by the proxy-bridge device, to a BT device corresponding to the IP address; forwarding, by proxy-bridge device, the request for the desired service to the BT device corresponding to the IP address via at least one UPnP component over the TCP/IP protocol stack in the proxy-bridge device; receiving data, at the proxy-bridge device, in response to the request for the desired service from the BT device corresponding to the IP address; and forwarding, by the proxy-bridge device, the data received from the BT device corresponding to the IP address to the external device thereby enabling the data to appear to the external device as being from an embedded device in the proxy-bridge device wherein the embedded device has the IP address.
12 . The method of claim 11 further including the step of handling, by the proxy-bridge device, the request via a BT protocol stack in the proxy-bridge device in response to determining that the request is not addressed to the IP address.
13 . A method for responding to a request for a desired service from a proxy-bridge device in a piconet, the piconet formed by a plurality of devices within a defined distance of each other, wherein the piconet has a access to an external device via the proxy-bridge device, the external device utilizing a communication protocol different from that in the piconet, the method comprising the steps of:
determining, by the proxy-bridge device, that the request is not addressed to an IP address; handling, by the proxy-bridge device, the request via a BT protocol stack in the proxy-bridge device; forwarding, by the proxy-bridge device, the request for desired service to the external device such that the request for desired service appears to be from an embedded device; receiving data from the external device, the data addressed to the IP address of the embedded device; and forwarding the data to the BT device corresponding to the IP address.
14 . A method for modifying a BLUETOOTH compliant device in a piconet for providing extended service discovery by devices within and outside the piconet, the method comprising the steps of: implementing a universal plug and play functionality on a BLUETOOTH protocol stack without providing support for IP; providing support for HTTP and XML in the BLUETOOTH stack; implementing simple service discovery protocol as part of the universal plug and play functionality, by transmitting service discovery requests and service presence announcements over the BLUETOOTH protocol stack to devices in the piconet; and transmitting service discovery requests and service presence announcements from a proxy-bridge device in the piconet to devices outside the piconet wherein the proxy-bridge device provides a protocol stack that is BLUETOOTH compliant and supports IP.
15 . A computer-readable medium having computer executable instructions for performing the steps of a method for discovering a desired service, at an external device utilizing a communication protocol different from a piconet communication protocol in the piconet, by a device in a piconet via a proxy-bridge device, the method comprising the steps of:
polling the proxy-bridge device by the device in the piconet to discover if the desired service is available; sending by the proxy-bridge device, a discovery request for services to an external device from in response to ascertaining that the desired service is not registered at the proxy-bridge device; receiving an affirmative response from the external device to the discovery request for services; and sending, by the proxy-bridge device, a message to the device in the piconet indicating that the service is available via the proxy-bridge device.
16 . The computer readable medium of claim 15 further including computer executable instructions for carrying out the step of associating, by the proxy-bridge device, an IP address to the device in the piconet.
17 . A computer-readable medium having computer executable instructions for performing the steps of a method for discovering via a proxy-bridge device a desired service in a piconet by an external device, the external device utilizing a communication protocol different from a piconet communication protocol in the piconet, the method comprising the steps of:
receiving, by the proxy-bridge device, a discovery request for services from the external device; sending, from the proxy-bridge device, a service discovery request to a plurality of devices in the piconet; and sending, from the proxy-bridge device, a message to the external device indicating that the service is available via the proxy-bridge device.
18 . The computer readable medium of claim 17 further including computer executable instructions for carrying out the step of associating, by the proxy-bridge device, an IP address to the device in the piconet wherein the device in the piconet is represented to the external device as an embedded device with the IP address.
19 . The computer readable medium of claim 18 having computer executable instructions wherein the proxy-bridge device maintains a table to map IP addresses of embedded devices to the respective identifiers of devices in the piconet.
20 . A computer-readable medium having computer executable instructions for performing the steps of a method for responding to a request, by an external device, for a desired service from a proxy-bridge device in a piconet, the external device utilizing a communication protocol different from that in the piconet, the method comprising the steps of:
determining, by the proxy-bridge device, that the request is addressed to an IP address; handling the request by the external device, via a TCP/IP protocol stack in the proxy-bridge device; identifying, by the proxy-bridge device, to a BT device corresponding to the IP address; forwarding, by proxy-bridge device, the request for the desired service to the BT device corresponding to the IP address via at least one UPnP component over the TCP/IP protocol stack in the proxy-bridge device; receiving data, at the proxy-bridge device, in response to the request for the desired service from the BT device corresponding to the IP address; and forwarding, by the proxy-bridge device, the data received from the BT device corresponding to the IP address to the external device thereby enabling the data to appear to the external device as being from an embedded device in the proxy-bridge device wherein the embedded device has the IP address.
21 . The computer readable medium of claim 24 further including computer executable instructions for carrying out the step of handling, by the proxy-bridge device, the request via a BT protocol stack in the proxy-bridge device in response to determining that the request is not addressed to the IP address.
22 . A computer-readable medium having computer executable instructions for performing the steps of a method for responding to a request for a desired service from a proxy-bridge device in a piconet, the piconet formed by a plurality of devices within a defined distance of each other, wherein the piconet has a access to an external device via the proxy-bridge device, the external device utilizing a communication protocol different from that in the piconet, the method comprising the steps of:
determining, by the proxy-bridge device, that the request is not addressed to an IP address; handling, by the proxy-bridge device, the request via a BT protocol stack in the proxy-bridge device; forwarding, by the proxy-bridge device, the request for desired service to the external device such that the request for desired service appears to be from an embedded device; receiving data from the external device, the data addressed to the IP address of the embedded device; and forwarding the data to the BT device corresponding to the IP address.
23 . A computer-readable medium having computer executable instructions for performing the steps of a method for modifying a BLUETOOTH compliant device in a piconet for providing extended service discovery by devices within and outside the piconet, the method comprising the steps of: implementing a universal plug and play functionality on a BLUETOOTH protocol stack without providing support for IP; providing support for HTTP and XML in the BLUETOOTH stack; implementing simple service discovery protocol as part of the universal plug and play functionality, by transmitting service discovery requests and service presence announcements over the BLUETOOTH protocol stack to devices in the piconet; and transmitting service discovery requests and service presence announcements from a proxy-bridge device in the piconet to devices outside the piconet wherein the proxy-bridge device provides a protocol stack that is BLUETOOTH compliant and supports IP.
24 . A packet structure employed by a wireless protocol stack to send and receive data and control information while ensuring that the receipt of the packet is acknowledged with reduced bandwidth requirements, the packet comprising:
a request number field that is incremented upon sending the packet and wherein a current value in the request number field acknowledges proper receipt of additional packets having request number fields with values lower than the current value; and an indicator field specifying whether the packet is an information packet or a control packet.
25 . The packet structure of claim 24 further having a payload field.
26 . The packet structure of claim 25 wherein the payload field is eight bits.
27 . The packet structure of claim 24 wherein the wireless protocol stack conforms to the BLUETOOTH protocol, the wireless protocol stack having a connection management layer and a L2CAP layer.
28 . A method for managing packet transmission, the method comprising the steps of:
acknowledging receipt of packets with values lower than the current value by placing a current value in a request number field; indicating whether a packet is a control packet or an information packet; and maintaining a window size to limit the number of outstanding packets in a piconet.
29 . The method of claim 28 further having the step of limiting the window size for control packets to one packet.
30 . The method of claim 29 further having the step of repeating transmission of a timed-out packet starting with a value of a sequence number of the timed-out packet.
31 . A computer-readable medium having computer executable instructions for performing the steps of a method for managing packet transmission, the method comprising the steps of:
acknowledging receipt of packets with values lower than the current value by placing a current value in a request number field; indicating whether a packet is a control packet or an information packet; and maintaining a window size to limit the number of outstanding packets in a piconet.
32 . The computer readable medium of claim 31 having computer executable instructions for carrying out the step of limiting the window size for control packets to one packet.
33 . The computer readable medium of claim 32 having computer executable instructions for carrying out the step of repeating transmission of a timed-out packet starting with a value of a sequence number of the timed-out packet.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.