WO2001041398A1 - Accessing ad hoc bluetooth devices from a java application - Google Patents

Accessing ad hoc bluetooth devices from a java application Download PDF

Info

Publication number
WO2001041398A1
WO2001041398A1 PCT/SE2000/002266 SE0002266W WO0141398A1 WO 2001041398 A1 WO2001041398 A1 WO 2001041398A1 SE 0002266 W SE0002266 W SE 0002266W WO 0141398 A1 WO0141398 A1 WO 0141398A1
Authority
WO
WIPO (PCT)
Prior art keywords
bluetooth
data
java
radio link
sdp
Prior art date
Application number
PCT/SE2000/002266
Other languages
French (fr)
Inventor
Jan Gabrielsson
Peter Jaric
Henrik Gustafsson
Leif Jonsson
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to AU17484/01A priority Critical patent/AU1748401A/en
Publication of WO2001041398A1 publication Critical patent/WO2001041398A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the invention relates generally to communication between Java applications and portable communication devices and, more particularly, to accessing ad hoc Bluetooth devices from a Java application.
  • Bluetooth technology is a specification for wireless communication of data and voice. It is based on a low-cost short-range radio link (nominal range is 10 centimeters to 10 meters, extendable with increased transmission power), built into a microchip, facilitating protected ad hoc connections for stationary and mobile communication environments (see Specification of the Bluetooth System. Version 1.0 Draft, June 21 , 1999, incorporated herein by reference). Bluetooth technology provides a universal short-range radio link that can be substituted for proprietary cables in connecting one device to another. For example, Bluetooth radio technology built into both a cellular telephone and a laptop computer replaces a cable as a connection between the laptop computer and the cellular telephone. Printers, PDA's, desktop computers, facsimile machines, keyboards, joy sticks and virtually any other digital device can be part of a
  • Bluetooth radio technology provides: a universal bridge to existing data networks; a peripheral interface; and a mechanism to form small, private ad hoc groupings of connected devices apart from fixed network infrastructures.
  • the Bluetooth radio link is designed to operate in a noisy radio frequency environment, and accordingly uses a fast acknowledgment and frequency hopping scheme to make the link robust.
  • Bluetooth technology as described generally above is well known to workers in the art. This technology is rapidly developing, and the goal is to enable fast, efficient and seamless communication, mainly between portable communication devices such as mobile telephones, PDA2s, laptop computers and other similar devices.
  • portable communication device is intended herein to refer to virtually any apparatus that can be in any way relocated from one location to another and is equipped with a radio interface. As an example, although a washing machine is not conveniently carried by an individual from place to place, it is certainly relocatable, for example by a moving van, and can be equipped with a radio interface.
  • Java is a well-known object oriented programming language, which has gained wide acceptance for its portability and cleanness, and its capability of good integration with the Internet. Java is byte compiled, and is run on a Java virtual machine.
  • the present invention combines Bluetooth technology and Java technology to form a powerful programming environment that provides for writing portable code that is easy to deploy and use.
  • This programming environment provides for easy creation of dynamic services which run on Java and can also access Bluetooth devices, and which dynamic services may also be leveraged with Internet access.
  • data that is transformable into a runnable Java object is provided in a portable Bluetooth device. This data can be pushed over to an access point which then transforms the data into the desired runnable Java object for use by a Java application.
  • the relatively large processing power of the access point can advantageously be utilized, while virtually no additional processing power is required in the portable Bluetooth device, thereby making the portable device more useful, without substantially increasing its cost, size, energy efficiency, etc.
  • FIGURE 1 diagrammatically illustrates an exemplary communication system according to the present invention.
  • FIGURE 2 diagrammatically illustrates pertinent portions of further exemplary communication systems according to the invention.
  • FIGURE 3 is a signaling diagram which illustrates, for each communication shown in FIGURE 1, the applications between which the communication occurs.
  • FIGURE 1 diagrammatically illustrates an exemplary communication system according to the present invention.
  • An access point (or service provider) 11 for example a desktop or laptop computer, is coupled for wireless communication with a portable communication device 13, for example a personal digital assistant, a laptop computer, a mobile telephone or any relocatable apparatus.
  • the radio link 10 between the access point 11 and the portable device 13 is a conventional Bluetooth link and the portable device 13 is a Bluetooth device.
  • a Bluetooth Manager application 15 provided in the access point 11 cooperates with a given portable device 13, using conventional Bluetooth techniques, to discover when the portable device 13 has moved within Bluetooth communication range of access point 11 , as indicated generally at 27 in FIGURE 1.
  • an application in the Bluetooth Manager 15 queries the Bluetooth device 13 as to whether the device 13 includes an interface for use with, for example, a Java application running on a Java virtual machine (JVM) provided in the access point 1 1.
  • This query designated at 12 in FIGURE 1, is performed using conventional Bluetooth Service Discovery Protocol (SDP), and the application that performs the query is correspondingly designated as SDP Client in FIGURE 1.
  • SDP Bluetooth Service Discovery Protocol
  • the Bluetooth SDP is provided in the conventional Bluetooth stack, which Bluetooth stack is provided in both the access point 11 (not explicitly shown) and the portable device
  • This Bluetooth stack includes the layers HCI, Link Manager, L2CAP, RFComm, TCP/IP, and SDP, as illustrated in the portable device 13 of FIGURE 1.
  • the SDP Client of the access point 11 is coupled to a conventional Bluetooth driver/receiver apparatus at 17, which interfaces between the Bluetooth Manager 15 and the Bluetooth radio link 10.
  • This apparatus 17 outputs the SDP Query 12 to the portable device 13 using well-known Bluetooth radio communication techniques.
  • the SDP Query is received as an input at the portable device 13 by a conventional Bluetooth receiver apparatus included (but not explicitly shown) in the Bluetooth hardware at 24.
  • the received SDP Query is forwarded to a conventional SDP server application 19 running on the portable device 13.
  • the SDP server application 19 maintains a registry of services available in the portable device 13, thereby permitting another device (such as the access point 1 1) to search for a service via attributes provided in the SDP Query.
  • the SDP Query includes the attribute, Javalnterface. From this attribute, the SDP server application identifies a corresponding application running on the portable device 13, and outputs a radio communication to the access point 1 1 via a Bluetooth driver apparatus included (but not explicitly shown) in the Bluetooth radio interface hardware at 24.
  • This radio communication utilizes SDP, and includes an SDP Reply, designated at 14 in FIGURE 1.
  • the SDP Reply includes information indicative of the communication protocol and port that should be used to access the desired application, i.e. the application corresponding to the SDP Query 12.
  • the required communication protocol is the Object Exchange (OBEX) protocol of the Infrared Data Association (IrDA), as described in IrDA Object Exchange Protocol. Version 1.2, March 18, 1999, which is incorporated herein by reference.
  • OBEX Object Exchange
  • IrDA Infrared Data Association
  • the port is defined as channel 2 (designated as COM2 in FIGURE 1) in the RFComm layer of the Bluetooth stack, as illustrated at 14 in
  • FIGURE 1 A first figure.
  • the SDP Reply 14 is received as an input at the access point 11 by a Bluetooth receiver apparatus at 17, and the protocol and port information is forwarded to the SDP client application in the Bluetooth Manager 15.
  • the Bluetooth Manager 15 uses an OBEX loader application to access the desired application in the portable device 13.
  • the OBEX loader connects to the desired application (or service) in the portable device 13, in this example a proxy pusher application 29.
  • the connection between the OBEX loader and the proxy pusher application 29 is made using the OBEX protocol over the Bluetooth communication link, and using channel 2 of the RFComm layer of the Bluetooth stack.
  • the proxy pusher application 29 retrieves from a data storage portion 28 Java proxy data associated with the portable device 13, and then downloads the Java proxy data to the OBEX loader at 18, again using channel 2 of the RFComm layer of the Bluetooth stack.
  • a serial connection is used to download the Java proxy.
  • a TCP/IP connection could also be used in conjunction with the TCP/IP layer of the Bluetooth stack.
  • the Java proxy data (also referred to herein as the Java proxy) can include, for example, binary data that is transformable using standard Java language features into a runnable Java object which represents the portable device 13 and can be used by a
  • This runnable Java object could be, for example, a conventional Enterprise JavaBean, or another similar conventional Java technology.
  • the OBEX loader receives the Java proxy data into memory, and then transforms this data into a runnable Java object using standard conventional Java language features.
  • the OBEX loader then uses conventionally known operations to initialize the Java object with information needed to communicate with the portable device 13, for example information identifying the portable device as a Bluetooth device that uses the RFComm layer for Bluetooth radio link communications.
  • the thusly initialized Java object is then forwarded to the JVM via a conventional Java interface 20.
  • the receiving Java application 23 is then free to use the Java object as desired.
  • the above-described operations performed on the proxy data by the OBEX loader are indicated diagrammatically in FIGURE 1 by the broken line path 50.
  • the Java object could be an object that permits the Java application to print text on the portable device 13, so the Java application could use the Java object in combination with the Bluetooth communication link to display textual information on the portable device 13. This type of operation is well known in the art.
  • the access point 11 might use the
  • Java object to display the restaurant's menu on the display 22 of the portable device (a graphical user interface GUI in the FIGURE 1 example), or if the portable device 13 comes within Bluetooth range of an access point 11 located in a merchant's store, the Java application might use the Java object to display store prices on the display 22 of the portable device 13.
  • the applications, services, Java virtual machine and Bluetooth stacks described above relative to the access point 11 and the portable device 13 can be implemented by suitably programmed data processors provided at 25 in the portable device 13 and at 26 in the access point 11.
  • the services provided by the access point 11 may also be leveraged with Internet access as shown in FIGURE 1.
  • FIGURE 2 diagrammatically illustrates pertinent portions of further exemplary communication systems according to the invention.
  • an access point 41 includes a conventional Jini Lookup Server 32, for example, a Java application running on a Java virtual machine of access point 41.
  • the access point 41 of FIGURE 2 can communicate with a portable Bluetooth device in generally the same manner described above with respect to communication between the access point 1 1 and the portable Bluetooth device 13 of FIGURE 1.
  • a Jini Client 31 a Java application running on the Java virtual machine which has registered with the Jini Lookup Server
  • the OBEX loader can transform the Java proxy into a runnable Java object, including, for example, adding information about the mobile telephone, for example its location, its owner, etc.
  • the runnable Java object is then forwarded from the OBEX loader to the Jini Lookup Server.
  • the Jini client receives the runnable Java object from the Jini Lookup Server, and can use the Java object as desired.
  • the Jini Lookup Server communicates in a conventional manner with a remotely located
  • the Bluetooth Manager 15A can, for example, wrap the Java object representing the portable device in another object which supplies a means for communicating remotely to the portable device.
  • the Bluetooth Manager could wrap the Java object in a Java RMI interface.
  • FIGURE 3 illustrates, for each of communications
  • FIGURE 1 it can be seen that the SDP Query 12 is made by the SDP Client of the access point 11 to the SDP server of the portable device 13. Similarly, the SDP Reply 14 is made from the SDP server of portable device 13 to the SDP Client of the access point 11.
  • the OBEX loader of the access point 1 1 communicates to the proxy pusher ofthe portable device 13, and the proxy pusher communicates to the OBEX loader at 18.
  • the present invention permits the use of a Java application to easily create dynamic services that utilize ad hoc mobile Bluetooth devices that come within range of an access point.
  • the invention permits communication ofthe expressional power of Java to virtually any portable Bluetooth device.
  • the invention liberates the portable Bluetooth device from the necessity of running a Java virtual machine itself, which might be too process heavy for the device. Rather, the computational power of the access point (service provider) can advantageously be utilized.
  • the proxy pusher application 29 provided in the portable Bluetooth device can be a rather small service which can be implemented very economically with respect to both the data storage and data processing resources ofthe portable device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Java technology is combined with Bluetooth technology by enabling an access point (11) associated with a Java application (15) to use Bluetooth technology to access data which is stored in a portable Bluetooth communication device (13) and from which a Java object can be produced. The Java application (15) receives a Java object produced from the data, and can then perform a desired function using the Java object.

Description

ACCESSING AD HOC BLUETOOTH DEVICES FROM A JAVA APPLICATION
FIELD OF THE INVENTION The invention relates generally to communication between Java applications and portable communication devices and, more particularly, to accessing ad hoc Bluetooth devices from a Java application.
BACKGROUND OF THE INVENTION Bluetooth technology is a specification for wireless communication of data and voice. It is based on a low-cost short-range radio link (nominal range is 10 centimeters to 10 meters, extendable with increased transmission power), built into a microchip, facilitating protected ad hoc connections for stationary and mobile communication environments (see Specification of the Bluetooth System. Version 1.0 Draft, June 21 , 1999, incorporated herein by reference). Bluetooth technology provides a universal short-range radio link that can be substituted for proprietary cables in connecting one device to another. For example, Bluetooth radio technology built into both a cellular telephone and a laptop computer replaces a cable as a connection between the laptop computer and the cellular telephone. Printers, PDA's, desktop computers, facsimile machines, keyboards, joy sticks and virtually any other digital device can be part of a
Bluetooth system.
In addition to untethering devices by replacing the connecting cables, Bluetooth radio technology provides: a universal bridge to existing data networks; a peripheral interface; and a mechanism to form small, private ad hoc groupings of connected devices apart from fixed network infrastructures. The Bluetooth radio link is designed to operate in a noisy radio frequency environment, and accordingly uses a fast acknowledgment and frequency hopping scheme to make the link robust.
Bluetooth technology as described generally above is well known to workers in the art. This technology is rapidly developing, and the goal is to enable fast, efficient and seamless communication, mainly between portable communication devices such as mobile telephones, PDA2s, laptop computers and other similar devices. Furthermore, the term portable communication device is intended herein to refer to virtually any apparatus that can be in any way relocated from one location to another and is equipped with a radio interface. As an example, although a washing machine is not conveniently carried by an individual from place to place, it is certainly relocatable, for example by a moving van, and can be equipped with a radio interface.
Java is a well-known object oriented programming language, which has gained wide acceptance for its portability and cleanness, and its capability of good integration with the Internet. Java is byte compiled, and is run on a Java virtual machine.
The current state of the art does not provide for access of Bluetooth devices directly from Java. However, the present invention recognizes that such access would be desirable in view of the wide acceptance of both Bluetooth and Java.
The present invention combines Bluetooth technology and Java technology to form a powerful programming environment that provides for writing portable code that is easy to deploy and use. This programming environment provides for easy creation of dynamic services which run on Java and can also access Bluetooth devices, and which dynamic services may also be leveraged with Internet access. According to the invention, data that is transformable into a runnable Java object is provided in a portable Bluetooth device. This data can be pushed over to an access point which then transforms the data into the desired runnable Java object for use by a Java application. Thus, the relatively large processing power of the access point can advantageously be utilized, while virtually no additional processing power is required in the portable Bluetooth device, thereby making the portable device more useful, without substantially increasing its cost, size, energy efficiency, etc.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 diagrammatically illustrates an exemplary communication system according to the present invention.
FIGURE 2 diagrammatically illustrates pertinent portions of further exemplary communication systems according to the invention. FIGURE 3 is a signaling diagram which illustrates, for each communication shown in FIGURE 1, the applications between which the communication occurs. DETAILED DESCRIPTION
FIGURE 1 diagrammatically illustrates an exemplary communication system according to the present invention. An access point (or service provider) 11, for example a desktop or laptop computer, is coupled for wireless communication with a portable communication device 13, for example a personal digital assistant, a laptop computer, a mobile telephone or any relocatable apparatus. In the example of FIGURE 1, the radio link 10 between the access point 11 and the portable device 13 is a conventional Bluetooth link and the portable device 13 is a Bluetooth device.
A Bluetooth Manager application 15 provided in the access point 11 cooperates with a given portable device 13, using conventional Bluetooth techniques, to discover when the portable device 13 has moved within Bluetooth communication range of access point 11 , as indicated generally at 27 in FIGURE 1. Upon discovery of the in- range Bluetooth device 13, an application in the Bluetooth Manager 15 queries the Bluetooth device 13 as to whether the device 13 includes an interface for use with, for example, a Java application running on a Java virtual machine (JVM) provided in the access point 1 1. This query, designated at 12 in FIGURE 1, is performed using conventional Bluetooth Service Discovery Protocol (SDP), and the application that performs the query is correspondingly designated as SDP Client in FIGURE 1. The Bluetooth SDP is provided in the conventional Bluetooth stack, which Bluetooth stack is provided in both the access point 11 (not explicitly shown) and the portable device
13. This Bluetooth stack includes the layers HCI, Link Manager, L2CAP, RFComm, TCP/IP, and SDP, as illustrated in the portable device 13 of FIGURE 1.
The SDP Client of the access point 11 is coupled to a conventional Bluetooth driver/receiver apparatus at 17, which interfaces between the Bluetooth Manager 15 and the Bluetooth radio link 10. This apparatus 17 outputs the SDP Query 12 to the portable device 13 using well-known Bluetooth radio communication techniques. The SDP Query is received as an input at the portable device 13 by a conventional Bluetooth receiver apparatus included (but not explicitly shown) in the Bluetooth hardware at 24. The received SDP Query is forwarded to a conventional SDP server application 19 running on the portable device 13. The SDP server application 19 maintains a registry of services available in the portable device 13, thereby permitting another device (such as the access point 1 1) to search for a service via attributes provided in the SDP Query.
In the FIGURE 1 example, the SDP Query includes the attribute, Javalnterface. From this attribute, the SDP server application identifies a corresponding application running on the portable device 13, and outputs a radio communication to the access point 1 1 via a Bluetooth driver apparatus included (but not explicitly shown) in the Bluetooth radio interface hardware at 24. This radio communication utilizes SDP, and includes an SDP Reply, designated at 14 in FIGURE 1. The SDP Reply includes information indicative of the communication protocol and port that should be used to access the desired application, i.e. the application corresponding to the SDP Query 12.
In the example of FIGURE 1, the required communication protocol is the Object Exchange (OBEX) protocol of the Infrared Data Association (IrDA), as described in IrDA Object Exchange Protocol. Version 1.2, March 18, 1999, which is incorporated herein by reference. The port is defined as channel 2 (designated as COM2 in FIGURE 1) in the RFComm layer of the Bluetooth stack, as illustrated at 14 in
FIGURE 1.
The SDP Reply 14 is received as an input at the access point 11 by a Bluetooth receiver apparatus at 17, and the protocol and port information is forwarded to the SDP client application in the Bluetooth Manager 15. In the example of FIGURE 1, the Bluetooth Manager 15 uses an OBEX loader application to access the desired application in the portable device 13. The OBEX loader connects to the desired application (or service) in the portable device 13, in this example a proxy pusher application 29. The connection between the OBEX loader and the proxy pusher application 29 is made using the OBEX protocol over the Bluetooth communication link, and using channel 2 of the RFComm layer of the Bluetooth stack.
In reply to a request at 16 from the OBEX loader, the proxy pusher application 29 retrieves from a data storage portion 28 Java proxy data associated with the portable device 13, and then downloads the Java proxy data to the OBEX loader at 18, again using channel 2 of the RFComm layer of the Bluetooth stack. In this example, a serial connection is used to download the Java proxy. However, a TCP/IP connection could also be used in conjunction with the TCP/IP layer of the Bluetooth stack.
The Java proxy data (also referred to herein as the Java proxy) can include, for example, binary data that is transformable using standard Java language features into a runnable Java object which represents the portable device 13 and can be used by a
Java application running on the Java virtual machine JVM of the access point 11. This runnable Java object could be, for example, a conventional Enterprise JavaBean, or another similar conventional Java technology.
The OBEX loader receives the Java proxy data into memory, and then transforms this data into a runnable Java object using standard conventional Java language features. The OBEX loader then uses conventionally known operations to initialize the Java object with information needed to communicate with the portable device 13, for example information identifying the portable device as a Bluetooth device that uses the RFComm layer for Bluetooth radio link communications. The thusly initialized Java object is then forwarded to the JVM via a conventional Java interface 20. The receiving Java application 23 is then free to use the Java object as desired. The above-described operations performed on the proxy data by the OBEX loader are indicated diagrammatically in FIGURE 1 by the broken line path 50.
For example, the Java object could be an object that permits the Java application to print text on the portable device 13, so the Java application could use the Java object in combination with the Bluetooth communication link to display textual information on the portable device 13. This type of operation is well known in the art.
As specific examples, if the portable device 13 passes within Bluetooth range of an access point 11 located in a restaurant, then the access point 11 might use the
Java object to display the restaurant's menu on the display 22 of the portable device (a graphical user interface GUI in the FIGURE 1 example), or if the portable device 13 comes within Bluetooth range of an access point 11 located in a merchant's store, the Java application might use the Java object to display store prices on the display 22 of the portable device 13. It will be evident to workers in the art that the applications, services, Java virtual machine and Bluetooth stacks described above relative to the access point 11 and the portable device 13 can be implemented by suitably programmed data processors provided at 25 in the portable device 13 and at 26 in the access point 11. The services provided by the access point 11 may also be leveraged with Internet access as shown in FIGURE 1.
FIGURE 2 diagrammatically illustrates pertinent portions of further exemplary communication systems according to the invention. In one exemplary embodiment illustrated in FIGURE 2, an access point 41 includes a conventional Jini Lookup Server 32, for example, a Java application running on a Java virtual machine of access point 41. The access point 41 of FIGURE 2 can communicate with a portable Bluetooth device in generally the same manner described above with respect to communication between the access point 1 1 and the portable Bluetooth device 13 of FIGURE 1. Also provided in the access point 41 is a Jini Client 31 (a Java application running on the Java virtual machine) which has registered with the Jini Lookup Server
32 to be notified when, for example, a Bluetooth mobile telephone is discovered. When such a mobile telephone is discovered, and the OBEX loader receives the Java proxy from the mobile telephone, the OBEX loader can transform the Java proxy into a runnable Java object, including, for example, adding information about the mobile telephone, for example its location, its owner, etc. The runnable Java object is then forwarded from the OBEX loader to the Jini Lookup Server. By virtue of having registered with the Jini Lookup Server, the Jini client receives the runnable Java object from the Jini Lookup Server, and can use the Java object as desired.
In another embodiment, illustrated by broken line in FIGURE 2, the Jini Lookup Server communicates in a conventional manner with a remotely located
(relative to both the access point 41 and the portable device) Jini community including one or more Jini Clients, to permit those clients to have remote access to the portable device via Jini. In order to export the Java object representing the portable device to the Jini community, the Bluetooth Manager 15A can, for example, wrap the Java object representing the portable device in another object which supplies a means for communicating remotely to the portable device. For example, the Bluetooth Manager could wrap the Java object in a Java RMI interface.
The above-described applications and services of access point 41 can be implemented by a suitably programmed data processor 45. The signaling diagram of FIGURE 3 illustrates, for each of communications
12, 14, 16 and 18 in FIGURE 1, the applications between which the particular communication occurs. Considering also FIGURE 1, it can be seen that the SDP Query 12 is made by the SDP Client of the access point 11 to the SDP server of the portable device 13. Similarly, the SDP Reply 14 is made from the SDP server of portable device 13 to the SDP Client of the access point 11. At 16, the OBEX loader of the access point 1 1 communicates to the proxy pusher ofthe portable device 13, and the proxy pusher communicates to the OBEX loader at 18.
As described above, the present invention permits the use of a Java application to easily create dynamic services that utilize ad hoc mobile Bluetooth devices that come within range of an access point. The invention permits communication ofthe expressional power of Java to virtually any portable Bluetooth device. Moreover, the invention liberates the portable Bluetooth device from the necessity of running a Java virtual machine itself, which might be too process heavy for the device. Rather, the computational power of the access point (service provider) can advantageously be utilized. It should also be clear that the proxy pusher application 29 provided in the portable Bluetooth device can be a rather small service which can be implemented very economically with respect to both the data storage and data processing resources ofthe portable device.
Although exemplary embodiments of the present invention have been described above in detail, this does not limit the scope ofthe invention, which can be practiced in a variety of embodiments.

Claims

WHAT IS CLAIMED IS:
1. A method for permitting a Java application to access a portable communication device, comprising: discovering that a portable communication device has come within range of a short-range radio link used by an access point associated with the Java application; via the radio link, communicating from the portable communication device to the access point data which is provided in the portable communication device and from which a Java object corresponding to the portable communication device can be produced; and the Java application using a Java object produced from said data to perform a desired function.
2. The method of Claim 1, wherein said using step includes the Java application using the Java object and the radio link to access the portable communication device.
3. The method of Claim 1, wherein the portable communication device is a Bluetooth device and said communicating step includes using a Bluetooth radio link to send to the Bluetooth device a query to determine availability ofthe data.
4. The method of Claim 3, wherein the query is a Bluetooth Service Discovery Protocol (SDP) Query, and wherein said communicating step includes, in response to the SDP Query, receiving from the Bluetooth device an SDP Reply including information indicative of a communication protocol and a communication path to be used to access the data over the Bluetooth radio link.
5. The method of Claim 3, wherein the query is a Bluetooth Service Discovery Protocol (SDP) Query, and wherein said communicating step includes, in response to the SDP Query, an SDP server in the Bluetooth device searching a registry maintained by the SDP server to locate the data and determine a communication protocol and a communication path to be used to access the data over the Bluetooth radio link.
6. The method of Claim 5, wherein said communicating step includes the SDP server sending an SDP Reply including information indicative of the communication protocol and the communication path.
7. The method of Claim 4, wherein the communication protocol is Object Exchange Protocol.
8. The method of Claim 4, wherein the communication path includes therein an RFComm layer of a Bluetooth stack provided in the Bluetooth device.
9. The method of Claim 4, wherein said communicating step includes using the communication protocol, the communication path and the Bluetooth radio link to retrieve the data and provide it to the access point.
10. The method of Claim 1 , including forwarding the Java object to a Jini Lookup Server associated with the access point, and forwarding the Java object from the Jini Lookup Server to a Jini Client.
11. The method of Claim 10, including providing the Jini Client at a location remote from the Jini Lookup Server.
12. The method of Claim 1, wherein the portable communication device is a Bluetooth device and said communicating step includes using a service running on the Bluetooth device to retrieve the data and forward the data to the access point via the Bluetooth radio link.
13. The method of Claim 1, including wrapping around the Java object another object that permits remote communication from the Java application to the portable communication device.
14. The method of Claim 13, wherein the another object is a Java RMI interface.
15. The method of Claim 1, wherein the Java object is an Enterprise JavaBean.
16. The method of Claim 1, wherein said using step includes displaying a textual message on a display ofthe portable communication device.
17. The method of Claim 1 , including receiving the data at the access point, transforming the received data into the Java object, and providing the Java object to the Java application.
18. A portable communication device, comprising: a storage portion for storing data from which a Java object corresponding to said portable communication device can be produced; an interface to a short-range radio link; and an apparatus coupled to said storage portion and said interface, and responsive to a communication received via said interface for retrieving the data from said storage portion and forwarding the data to said interface for transmission over the radio link to an access point associated with a Java application that is operable to perform a desired function using a Java object produced from said data.
19. The device of Claim 18, wherein said desired function includes using the Java object and the radio link to access said portable communication device.
20. The device of Claim 19, including a visual display apparatus coupled to said interface, said desired function including displaying a textual message on the visual display apparatus.
21. The device of Claim 18, provided as a Bluetooth communication device, and wherein the radio link is a Bluetooth radio link, further including a further apparatus coupled to said interface, said further apparatus for, responsive to a Bluetooth Service Discovery Protocol (SDP) Query that requests the data and is received via said interface, locating the data in the Bluetooth communication device and determining a communication protocol and a communication path to be used to access the data.
22. The device of Claim 21 , wherein said communication is effected using said communication path and pursuant to said communication protocol.
23. The device of Claim 18, provided as one of a personal digital assistant, a laptop computer and a telephone.
PCT/SE2000/002266 1999-11-30 2000-11-17 Accessing ad hoc bluetooth devices from a java application WO2001041398A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU17484/01A AU1748401A (en) 1999-11-30 2000-11-17 Accessing ad hoc bluetooth devices from a java application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45132299A 1999-11-30 1999-11-30
US09/451,322 1999-11-30

Publications (1)

Publication Number Publication Date
WO2001041398A1 true WO2001041398A1 (en) 2001-06-07

Family

ID=23791757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2000/002266 WO2001041398A1 (en) 1999-11-30 2000-11-17 Accessing ad hoc bluetooth devices from a java application

Country Status (2)

Country Link
AU (1) AU1748401A (en)
WO (1) WO2001041398A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1164756A1 (en) * 2000-06-16 2001-12-19 Schneider Automation System of access to automation equipment via a proximity wireless network
WO2003051012A1 (en) * 2001-12-13 2003-06-19 Nokia Corporation System for transferring information in a wireless data communication network
WO2003053076A1 (en) * 2001-12-14 2003-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Mobile internet solution using java application combined with local wireless interface
WO2003063440A1 (en) * 2002-01-26 2003-07-31 Netac Technology Co., Ltd. Method and system for wireless data communication in data processing system
WO2003071366A1 (en) * 2002-02-18 2003-08-28 Infineon Technologies Ag Control system and method for operating a transceiver
EP1432180A1 (en) * 2002-12-20 2004-06-23 Nokia Corporation Client software download in bluetooth device bonding
EP1665576A2 (en) * 2003-09-22 2006-06-07 Nokia Inc. Method and system for wirelessly managing the operation of a network appliance over a limited distance
US7187919B2 (en) 2000-12-08 2007-03-06 Nec Corporation Backup method of applications of portable cellular phone
EP1284455A3 (en) * 2001-08-03 2007-04-04 Siemens Aktiengesellschaft Hardware module for realization of terminals in ad-hoc network devices
US8073439B2 (en) 2002-02-18 2011-12-06 Infineon Technologies Ag Control system and method for operating a transceiver

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999003286A2 (en) * 1997-07-11 1999-01-21 Northern Telecom Limited Cellular system employing an object request broker

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999003286A2 (en) * 1997-07-11 1999-01-21 Northern Telecom Limited Cellular system employing an object request broker

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALBRECHT M, FRANK M, MARTINI P, SCHETELIG , VILAVAARA A, WENZEL A: "IP Services over Bluetooth: leading the way to a new mobility", PROCEEDINGS 24TH CONFERENCE ON LOCAL COMPUTER NETWORKS, October 1999 (1999-10-01), USA, pages 2 - 11, XP002130784 *
SERBEDZIJA N B: "Web computing framework", JOURNAL OF SYSTEMS ARCHITECTURE,NL,ELSEVIER SCIENCE PUBLISHERS BV., AMSTERDAM, vol. 45, no. 15, September 1999 (1999-09-01), pages 1293 - 1306, XP004177724, ISSN: 1383-7621 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1164756A1 (en) * 2000-06-16 2001-12-19 Schneider Automation System of access to automation equipment via a proximity wireless network
US7187919B2 (en) 2000-12-08 2007-03-06 Nec Corporation Backup method of applications of portable cellular phone
EP1284455A3 (en) * 2001-08-03 2007-04-04 Siemens Aktiengesellschaft Hardware module for realization of terminals in ad-hoc network devices
WO2003051012A1 (en) * 2001-12-13 2003-06-19 Nokia Corporation System for transferring information in a wireless data communication network
WO2003053076A1 (en) * 2001-12-14 2003-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Mobile internet solution using java application combined with local wireless interface
WO2003063440A1 (en) * 2002-01-26 2003-07-31 Netac Technology Co., Ltd. Method and system for wireless data communication in data processing system
KR100955127B1 (en) * 2002-01-26 2010-04-28 네탁 테크놀로지 컴퍼니 리미티드 Method and system for wireless data communication in data processing system
WO2003071366A1 (en) * 2002-02-18 2003-08-28 Infineon Technologies Ag Control system and method for operating a transceiver
US8073439B2 (en) 2002-02-18 2011-12-06 Infineon Technologies Ag Control system and method for operating a transceiver
EP1432180A1 (en) * 2002-12-20 2004-06-23 Nokia Corporation Client software download in bluetooth device bonding
EP1665576A2 (en) * 2003-09-22 2006-06-07 Nokia Inc. Method and system for wirelessly managing the operation of a network appliance over a limited distance
EP1665576A4 (en) * 2003-09-22 2011-05-04 Nokia Inc Method and system for wirelessly managing the operation of a network appliance over a limited distance

Also Published As

Publication number Publication date
AU1748401A (en) 2001-06-12

Similar Documents

Publication Publication Date Title
US7296042B2 (en) System and method for enabling communication among arbitrary components
US8005952B2 (en) Method for intelligently selecting wireless access point
US7139569B2 (en) Service searching system
Kortuem et al. Context-aware, adaptive wearable computers as remote interfaces to'intelligent'environments
US7526482B2 (en) System and method for enabling components on arbitrary networks to communicate
US7194238B2 (en) Identification of terminal
US7668903B2 (en) Method and apparatus for dynamically delivering service profiles to clients
US7809332B1 (en) Efficient service registration for legacy applications in a bluetooth environment
KR100731151B1 (en) Radio handset
US20030051009A1 (en) Discovery and control of devices on an area network from the internet
US9438718B2 (en) Method for selecting and configuring wireless connections in an electronic device
CN105474669A (en) Method and apparatus for providing persistent USB service for wireless USB devices
WO2005125164A2 (en) Audio session management system and method for a mobile communication device
WO2001041398A1 (en) Accessing ad hoc bluetooth devices from a java application
KR100579369B1 (en) Wearable Data Device for Use in a Wearable Data Network
EP2008425B1 (en) Deleting mechanism in sip multimedia services
US20080195769A1 (en) Method of identifying devices in mobile and desktop environments
CN101808160B (en) File processing method applied on mobile terminal and mobile terminal
EP1309152B1 (en) System and method for facilitating the selection of electronic services using infrared and a network address identification
KR100369899B1 (en) Method and System for Automatical Identification of Bluetooth-Embedded Devices
US20070286164A1 (en) Deleting mechanism in sip multimedia services
EP1309154B1 (en) System and method for the selection of electronic services using infrared communication
JP2003198672A (en) Portable communication terminal and its control method
US20060095574A1 (en) Software architecture for out-of-band discovery in UPnP
KR20010016695A (en) Remote saving method of the search information on the internet

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase