EP1556966A2 - Device detection and service discovery system and method for a mobile ad hoc communications network - Google Patents
Device detection and service discovery system and method for a mobile ad hoc communications networkInfo
- Publication number
- EP1556966A2 EP1556966A2 EP03769723A EP03769723A EP1556966A2 EP 1556966 A2 EP1556966 A2 EP 1556966A2 EP 03769723 A EP03769723 A EP 03769723A EP 03769723 A EP03769723 A EP 03769723A EP 1556966 A2 EP1556966 A2 EP 1556966A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- nearby device
- middleware layer
- inquiry
- application
- service discovery
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- the disclosed invention relates, in general, to communication between devices connected to a wireless communications network.
- the disclosed invention is a system and method for performing device detection and service discovery in a mobile ad hoc communications network.
- Short-range wireless systems have a range of less than one hundred meters, but may connect to the Internet to provide communication over longer distances.
- Short-range wireless systems include, but are not limited to, a wireless personal area network (PAN) and a wireless local area network (LAN).
- PAN personal area network
- LAN wireless local area network
- a wireless PAN uses low-cost, low-power wireless devices that have a typical range of ten meters.
- An example of a wireless PAN technology is the Bluetooth Standard.
- the Bluetooth Standard operates in the 2.4 GHz Industrial, Scientific, and Medical (ISM) band and provides a peak air-link speed of one Mbps and a power consumption low enough for use in personal, portable electronics such as a personal digital assistance or mobile phone.
- ISM Industrial, Scientific, and Medical
- a description of the Bluetooth communication protocol and device operation principles is in Bluetooth Special Interest Group.
- a wireless LAN is more costly than a wireless PAN, but has a longer range.
- An example of a wireless LAN technology is the IEEE 802.11 Wireless LAN Standard and the HIPERLAN Standard.
- the HIPERLAN Standard operates in the 5 GHz Unlicensed-National Information Infrastructure (U-NII) band and provides a peak air-link speed between ten and one hundred Mbps.
- U-NII Unlicensed-National Information Infrastructure
- An ad hoc network is a short-range wireless system comprising an arbitrary collection of wireless devices that are physically close enough to exchange information.
- An ad hoc network is constructed quickly with wireless devices joining and leaving the network as they enter and leave the proximity of the remaining wireless devices.
- An ad hoc network also may include one or more access points, that is, stationary wireless devices operating as a stand-alone server or as gateway connections to other networks.
- the Bluetooth Standard will likely support the interconnection of multiple piconets to form a multi-hop ad hoc network, or scatternet.
- a connecting device forwards traffic between different piconets.
- the connecting device may serve as a master device in one piconet, but as a slave device or a master device in another piconet.
- the connecting devices join the piconets that comprise a scatternet by adapting the timing and hop sequence to the respective piconet and possibly changing the roles that they serve from a master device to a slave device.
- a Bluetooth device includes, but is not limited to, a mobile telephone, personal or laptop computer, radio-frequency identification tag, and personal electronic device such as a personal digital assistant (PDA), pager, or portable-computing device.
- PDA personal digital assistant
- Each Bluetooth device includes application and operating system programs designed to find other Bluetooth devices as they enter and leave the communication range of the network.
- the requesting Bluetooth device in a client role and the responding Bluetooth device in a server role establish a link between the two devices.
- the requesting and responding Bluetooth device use the link and a service discovery protocol to discover the services offered by the other Bluetooth device and how to connect to those services.
- Prior art systems follow similar patterns of behavior for service discovery protocols.
- a service description created using a description language and an appropriate vocabulary, is advertised or made available for query matching.
- Some prior art systems advertise the service description by pushing the description to a directory and requiring the advertisers to discover the directory.
- Other prior art systems advertise the service description by making the descriptions available for peer-to-peer discovery.
- a client device that needs to discover the service description composes a query using a query language and a matching vocabulary and uses either a query protocol or a decentralized query-processing server to deliver the query.
- Service discovery protocols in the prior art systems require sending and replying to inquiry messages. If no other device is present, the inquiry messages are sent in vain.
- the prior art systems typically require a human user to manually initiate device detection when another device of interest is present. For example, a human user manually initiates device detection when connecting a cellular telephone to a laptop computer to handle data communications or when connecting a wireless headset to a laptop computer to deliver digital audio.
- a human user manually initiates device detection when connecting a cellular telephone to a laptop computer to handle data communications or when connecting a wireless headset to a laptop computer to deliver digital audio.
- a device detection and service discovery protocol that will avoid excessive power consumption and allow an application resident in one device to automatically find a counterpart application or some other resource resident in any of the remaining devices within the ad hoc communications network.
- the protocol does not require a human user to manually initiate device detection to find the counterpart application or other resource.
- the protocol will accommodate a network environment in which the presence of a particular service is not guaranteed and in which the composition of the network is dynamic because devices frequently enter and leave the network. The disclosed invention addresses this need.
- a computer system, method, and computer program product for performing device detection and service discovery in a mobile ad hoc communications network comprises conducting an inquiry of the mobile ad hoc communications network to discover nearby devices. If the inquiry indicates that the nearby devices may include a middleware layer, the method further comprises creating a connection to each of the nearby devices and confirming whether each of the nearby devices include the middleware layer. For each of the nearby devices that include the middleware layer, the method further comprises executing the middleware layer to perform application and service discovery, and to launch applications and services.
- the mobile ad hoc communications network is a
- Conducting the inquiry includes sending a Bluetooth inquiry command and receiving a Bluetooth inquiry result command that includes an indication that the device may include the middleware layer.
- Creating the connection to a device that may include the middleware layer includes sending a Bluetooth paging request message to the device and receiving a Bluetooth paging accept message.
- Confirming that the device includes the middleware layer includes sending a recognition request message to the device and receiving a recognition response message.
- Executing the middleware layer to perform application and service discovery includes receiving a notification message from a device with a copy of a local application directory, storing an update to a combined application directory based on a comparison of the local and combined application directory, and sending the update to the combined application directory to each device in the Bluetooth network.
- executing the middleware layer includes launching a local application based on a reference in the combined application directory, and connecting the local application to a counterpart application executing on the device.
- Figure 1 is a network diagram that illustrates the interaction of the devices that comprise a mobile ad hoc communications network, in accordance with one embodiment of the present invention.
- FIG 2A is a block diagram that illustrates the hardware and software components comprising server 110 shown in Figure 1, in accordance with one embodiment of the present invention.
- FIG 2B is a block diagram that illustrates the hardware and software components comprising terminal 120 shown in Figure 1, in accordance with one embodiment of the present invention.
- Figure 3 A is a flow diagram of an embodiment of server 110 performing device detection and service discovery for a mobile ad hoc communications network.
- Figure 3B is a flow diagram of an embodiment of terminal 120 performing device detection and service discovery for a mobile ad hoc communications network.
- Figure 4A is an exemplary block diagram of the data flow before a terminal enters a mobile ad hoc communications network.
- Figure 4B shows the exemplary block diagram of Figure 4A after the terminal enters the mobile ad hoc communications network.
- Figure 5 is a flow diagram of an embodiment of a process that illustrates the message flow during establishment of a communication session between terminal X and terminal Y in a mobile ad hoc communications network.
- FIG. 1 is a network diagram that illustrates the interaction of the devices that comprise a mobile ad hoc communications network, in accordance with one embodiment of the present invention.
- the mobile ad hoc communications network is a Bluetooth piconet that includes one master device and up to seven active slave devices.
- piconet 100 includes server 110 and five instances of terminal 120.
- Server 110 maintains the network clock and is the communication manager for each instance of terminal 120.
- Server 110 typically initiates an exchange of data with an instance of terminal 120.
- Two instances of terminal 120 typically communicate through the server 110 however, if two instances of terminal 120 communicate directly, one instance will assume the role of server, or master, and the other instance will assume the role of client, or slave.
- Each device in the mobile ad hoc communications network will either assume the role of a terminal device or a server device.
- a terminal device is a consumer of services that a single user operates.
- a terminal device includes devices such as a mobile phone or PDA.
- a server is typically a stationary device and only produces services.
- a server device creates a hotspot around them for using their services. "Hotspot" refers to the radio coverage area provided by the server device for detecting devices and discovering services offered by the applications hosted in the server. If the server device is not stationary, one of the terminal devices in the network will assume the role of application directory server and perform device detection and service discovery functions for the remaining terminal devices in the network.
- the disclosed invention introduces two roles among such terminal devices, application directory servers and terminals, where application directory servers serve terminals in device detection and service discovery. If stationary servers with hotspots exist, servers typically act as application directory servers however, device detection and service discovery is possible without such a stationary server because one of the terminals will assume the application directory server duties.
- the disclosed invention categorizes an application as a server-based application, terminal-to-terminal application, foreground application, background application, or generic application component.
- a server-based application requires a server to produce a service.
- a terminal-to-terminal application requires at least two terminal devices to implement a service without the presence of a server device.
- a foreground application is an application resident in a terminal device that a user accesses via the user interface of the terminal device.
- a background application is an application resident in a terminal device that may start without any intervention by the user.
- a generic application component can be used either as a standalone application or as a component of another application.
- An application may be further categorized as either active, passive, new, or rejected.
- An active application is a foreground or background application that is resident in (i.e., stored in memory) the terminal.
- a passive application is resident in the terminal, but has not yet been started. In another embodiment, the passive application is started, but is not actively looking for other instances of the same application.
- a new application is not yet resident in the terminal, but might be in the future.
- a rejected application is not resident in the terminal and has been marked by the user as an application that should never be resident in the terminal. In another embodiment, the rejected application was once resident in the terminal, but was subsequently deleted and marked as rejected. In yet another embodiment, the rejected application never resided in the terminal, but is of a type of application that the user has marked as rejected.
- Service discovery in a mobile ad hoc communications network differentiates between a resident application and an unloaded application.
- a resident application is stored in the terminal memory and loaded as either a foreground application or a background application.
- An unloaded application is not yet stored or loaded in the terminal, but has been accepted by the user.
- the application is considered unloaded.
- starting an unloaded application may require first downloading the application.
- Service discovery from the perspective of the terminal device requires categorizing the status of an application as either an active resident application, active unloaded application, passive resident application, passive unloaded application, rejected application, or new application.
- An active resident application is loaded in the terminal and looking for peers, servers, or clients.
- An active unloaded application is not loaded in the terminal, but is still looking for such counterpart applications that could be automatically downloaded if found interesting.
- a passive resident application is loaded in the terminal, but is not looking for counterpart applications.
- a passive unloaded application is not loaded in the terminal, but was once accepted by the user.
- a rejected application is an application that a user has requested to exclude from the terminal device.
- a new application is not loaded in the terminal device, but the user might have seen an application in an earlier server for instance.
- FIG. 2 A is a block diagram that illustrates the hardware and software components comprising server 110 shown in Figure 1, in accordance with one embodiment of the present invention.
- Server 110 is a general-purpose wireless device.
- t Bus 200 is a communication medium that connects keypad 201, display 202, central processing unit (CPU) 203, and radio frequency (RF) adapter 204 to memory 210.
- RF adapter 204 connects via a wireless link to terminal 120 and is the mechanism that facilitates network traffic between server 110 and terminal 120.
- CPU 203 performs the methods of the disclosed invention by executing the sequences of operational instructions that comprise each computer program resident in, or operative on, memory 210.
- Memory 210 includes operating system software 211, application programs 212, and middleware software 220.
- Operating system software 211 controls keypad 201, display 202, RF adapter 204, and the management of memory 210.
- Application programs 212 control the interactions between a user and server 110.
- Middleware software 220 includes an application program interface (API) 221 that help an application program running on server 110 find and communicate with a counterpart application running on terminal 120. To quickly locate each application, middleware software 220 also includes application directory 230 to track the role assumed by each application that is resident in each device in piconet 100.
- API application program interface
- FIG. 2B is a block diagram that illustrates the hardware and software components comprising terminal 120 shown in Figure 1, in accordance with one embodiment of the present invention.
- Terminal 120 is a general-purpose wireless device.
- Bus 250 is a communication medium that connects keypad 251, display 252, CPU 253, and RF adapter 254 to memory 260.
- RF adapter 254 connects via a wireless link to server 110 or another terminal 120 and is the mechanism that facilitates network traffic between server 110 and terminal 120.
- CPU 253 performs the methods of the disclosed invention by executing the sequences of operational instructions that comprise each computer program resident in, or operative on, memory 260.
- Memory 260 includes operating system software 261, application programs 262, and middleware software 270.
- Operating system software 261 controls keypad 251, display 252, RF adapter 254, and the management of memory 260.
- Application programs 262 control the interactions between a user and terminal 120.
- Middleware software 270 includes an API 271 that help an application program running on terminal 120 find and communicate with a counterpart application running on server 110 or another terminal 120. To quickly locate each application, middleware software 270 also includes application directory 280 to track the role assumed by each application that is resident in each device in piconet 100.
- the configuration of memory 210 and memory 260 is identical. In another embodiment, the configuration of memory 210 and memory 260 only includes the software necessary to perform the essential tasks of server 110 and terminal 120, respectively. For example, if terminal 120 needs to receive a general inquiry access code, but does not need to send a general inquiry access code message, only the software that receives this message will reside in memory 260.
- An application executing on a terminal is constantly searching for a counterpart application, that is, another instance of the same application that can communicate with the application.
- Each instance of an application assumes a particular role. Communication between an application and a counterpart application is only meaningful if the roles are complementary. For example, an application that assumes the role of "client” can communicate with a counterpart application that assumes the role of "server”.
- Middleware software is a software layer with an API that negotiates the communication between two applications to help an application find a counterpart application with the correct role. Thus, an application installed in a terminal and activated, will query the API for a continuous stream of new counterpart applications that are of interest.
- a new application is installed by "installer” applications that use middleware for finding counterparts and installing the new application into the local storage of a terminal.
- the actual finding and selection of new applications takes place in the application level.
- the installer application will be a dedicated "browser- supplier” (i.e., client-server) application that accesses counterpart applications in servers, browses their available application databases, allows a user to pick the applications to install, and downloads and installs the new applications.
- the corresponding functionality may be added to a wireless access protocol (WAP) and hypertext markup language (HTML) browsers.
- WAP wireless access protocol
- HTML hypertext markup language
- Service discovery is viewed as a three-step process. First, new potential applications are found and will be considered for installation. Second, active installed applications begin to search for counterpart application. Third, active installed applications begin searching for common resources such as printers (i.e., resource discovery). The disclosed invention relies upon the applications to perform resource discovery. Typically, a terminal application communicates with its counterpart application and use local (i.e., server) resources. If an application uses a private resource, the associated service discovery is implemented by the application in a standard (e.g., Bluetooth or Bluetooth/Java) way not supported by the terminal middleware software.
- a standard e.g., Bluetooth or Bluetooth/Java
- Figure 3 A is a flow diagram of an embodiment of server 110 performing device detection and service discovery for a mobile ad hoc communications network.
- server 110 sends a general inquiry access code message to terminal 120 (step 300).
- Terminal 120 receives the message and sends an acknowledgment response message to server 110 (step 302).
- Server 110 accesses middleware software 220 to request a socket connection with terminal 120 (step 304).
- server 110 receives a message from terminal 120 that includes a local application directory listing all of the applications that are locally resident on terminal 110 (step 306).
- Server 110 compares the list of applications resident on terminal 120 to a combined application directory resident on server 110.
- Server 110 updates the combined application directory by adding to the combined application directory each entry in the local application directory that does not appear in the combined application directory (step 308).
- Server 110 sends a portion of the updated combined application directory to each terminal 120 in piconet 100 (step 310).
- the portion may vary for each terminal 120 and includes each entry in the combined application directory that is a counterpart application to an application resident in terminal 120.
- server 110 sends the entire combined application directory to each terminal 120 in piconet 100 and relies upon terminal 120 to retain the pertinent entries.
- Instances of middleware software in terminal 120 and server 110 begin to schedule the newly found counterpart application pairs for execution (step 312). h one embodiment, the scheduled applications make use of any other Bluetooth profile and protocol.
- an application that is an installer application may suggest to the user other applications that the user should download. Once server 110 downloads and starts a new application, counterpart matching repeats and the new application becomes a part of the middleware scheduling.
- FIG. 3B is a flow diagram of an embodiment of terminal 120 performing device detection and service discovery for a mobile ad hoc coimmmications network.
- the process begins when terminal 120 receives a general inquiry access code message from server 110 (step 320).
- Terminal 120 generates and sends an acknowledgment response message to server 110 (step 322).
- Terminal 120 sends a message to server 110 that includes a local application directory that includes all of the applications that are locally resident on terminal 110 (step 324).
- Server 110 compares the list of applications resident on terminal 120 to a combined application directory resident on server 110.
- Server 110 updates the combined application directory by adding to the combined application directory each entry in the local application directory that does not appear in the combined application directory.
- Terminal 120 receives from server 110 a portion of the updated combined application directory (step 326).
- Server 110 customizes the portion for terminal 120 to include each entry in the combined application directory that is a counterpart application to an application resident in terminal 120.
- server 110 sends the entire combined application directory to terminal 120 and relies on terminal 120 to retain the pertinent entries. Instances of middleware software in terminal 120 and server 110 begin scheduling these newly found counterpart application pairs for execution (step 328).
- Figures 4 A and 4B are exemplary block diagrams showing the content of the application directory before and after terminal X and terminal Y enter a mobile ad hoc. communications network served by server S.
- Figure 4 A shows the configuration of application directory 404, application directory 415, and application directory 425 before terminal X and terminal Y enter a communication network managed by server S, a master device.
- Application C 401 resides in server S memory 400 and accesses middleware software 403 via API 402.
- Middleware software 403 registers application C 401 with application directory 404 by adding a table entry to indicate that application C resides in the local device (i.e., server S) and assumes the role of server.
- Application A 411 and application B 412 reside in terminal X memory 410 and access middleware software 414 via API 413.
- Middleware software 414 registers application A 411 and application B 412 with application directory 415 by adding a table entry to indicate that application A resides in the local device (i.e., terminal X) and assumes the role of client and that application B resides in the local device (i.e., terminal X) and assumes the role of peer.
- Application B 421 and application C 422 reside in terminal Y memory 420 and access middleware software 424 via API 423.
- Middleware software 424 registers application B 421 and application C 422 with application directory 425 by adding a table entry to indicate that application B resides in the local device (i.e., terminal Y) and assumes the role of peer and that application C resides in the local device (i.e., terminal Y) and assumes the role of client.
- FIG. 4B shows the configuration of application directory 404, application directory 415, and application directory 425 after terminal X and terminal Y enter the communication network managed by server S, a master device.
- Server S assumes the role of an application directory server (ADS) and mediates the registration of the applications residing in each device in piconet 100.
- ADS application directory server
- Server S adds a table entry to application directory 404 for each application residing in a device on piconet 100.
- server S adds an entry for application A residing in terminal X in a client role, application B residing in terminal X in a peer role, application B residing in terminal Y in a peer role, and application C residing in terminal Y in a client role.
- Server S also updates application directory 415 in terminal X and application directory 425 in terminal Y with application registrations that may be interesting to those terminal devices.
- terminal X and terminal Y both host application B in a peer role. Since, a peer-to-peer communication session between application B on terminal X and application B on terminal Y is likely, server S adds an entry to application directory 415 for application B residing in terminal Y in a peer role and an entry to application directory 425 for application B residing in terminal X in a peer role. Also, since a client-server communication session between application C on terminal Y and application C on server S is likely, server S adds an entry to application directory 425 for application C residing in server S in a server role. Finally, there is no counterpart in piconet 100 for application A on terminal X.
- the disclosed data items for each entry in the middleware software application directory server include a device identifier (e.g., "local”, an address, or other unique identifier), an application identifier (e.g., application name or other unique identifier), and a role for the application (e.g., "client", "server”, “peer”, etc.).
- the fields for the local applications include:
- Name An identifier for the application (e.g., supplier name and data to compare different versions and hardware variants); • My_role - The role that the application takes in the local device;
- Timeout - Sets a time limit that the middleware software uses to detect, for example, when the application is in an unproductive software loop.
- the fields for the remote applications include: • Device - An address for establishing communications with the terminal or server storing the application instance;
- the client-server roles of the applications are independent of the roles of the devices as a terminal device and an application directory server.
- the device acting as an application directory server hosts applications acting in a server role and the terminal devices act in the client role for the same application.
- two terminal devices each send a general inquiry access code message and listen for a reply.
- the terminal device that receives a response first will assume the server role and proceed according to the procedure in Figure 3A.
- Another terminal device that receives the inquiry message will assume the terminal role, and proceed according to Figure 3B.
- the disclosed invention supports terminal-to-terminal scenarios (e.g., one of identical handheld devices automatically becoming an ADS) and does not require predetermined application directory servers.
- FIG. 5 is a flow diagram of an embodiment of a process that illustrates the message flow during establishment of a communication session between terminal X and terminal Y in a mobile ad hoc communications network.
- terminal X and terminal Y are mobile devices such as terminal 120 shown in Figure 1 and Figure 2B.
- terminal X is a mobile device such as terminal 120 shown in Figure 1 and Figure 2B and terminal Y is a mobile device such as server 110 shown in Figure 1 and Figure 2A.
- terminal X initiates the communication by sending an inquiry request message to the mobile ad hoc communications network. Since terminal Y is a nearby device, terminal Y receives the inquiry request message and sends an inquiry response message to terminal X.
- the inquiry request message is a Bluetooth inquiry command and the inquiry response message is a Bluetooth inquiry result command.
- the inquiry request message is a Bluetooth inquiry command and the inquiry response message is a Bluetooth inquiry result command modified to indicate that the terminal sending the Bluetooth inquiry result command includes a middleware layer.
- the middleware layer includes dedicated middleware software providing advanced application and service discovery and execution.
- the modification to the Bluetooth inquiry result command is to the Class of Device (CoD) parameters. For example, if the terminal sending the Bluetooth inquiry result command includes the middleware layer, the terminal will set at least the "ad hoc networking aware" bit (bit 16) to on (1).
- the terminal sending the Bluetooth inquiry result command includes the middleware layer
- the terminal will set the "ad hoc networking aware” bit (bit 16) to on (1), and the “location info” bit (bit 17) to off (0).
- the terminal sending the Bluetooth inquiry result command includes the middleware layer
- the terminal will set the "ad hoc networking aware” bit (bit 16) to on (1), and the “telephony capable” bit (bit 22) to on (1).
- the terminal sending the Bluetooth inquiry result command includes the middleware layer
- the terminal will set the "ad hoc networking aware” bit (bit 16) to on (1), the “location info” bit (bit 17) to off (0), and the “telephony capable” bit (bit 22) to on (1).
- the modification to the Bluetooth inquiry result command is not necessary, if a dedicated indication parameter to indicate the presence of the middleware software is introduced to the Bluetooth inquiry result command specifications.
- terminal X may create a connection to each nearby device indicating possible possession of the middleware layer by the inquiry response message, such as terminal Y, by sending a paging request message. If terminal Y does not indicate possible possession of the middleware layer (e.g., by setting the "ad-hoc networking aware" bit (bit 16) to off (0)), no paging request message is transmitted and the communication session is disconnected.
- terminal X sends the paging message request, as discussed above.
- Terminal Y receives the paging request message and optionally sends a paging accept message to accept the connection request.
- the paging request message is a Bluetooth create comiection command and the paging accept message is a Bluetooth accept connection request command.
- terminal X sends a recognition request message to confirm whether a nearby device such as terminal Y definitely includes the middleware layer.
- Terminal Y receives the recognition request message and sends a recognition response message to terminal X.
- the receipt of the recognition response message is confirmation that terminal Y includes the middleware layer.
- the content of the recognition response message will indicate whether terminal Y includes the middleware layer.
- the recognition request message and the recognition response message utilize the Bluetooth Service Discovery Protocol (SDP). If terminal Y does not include the middleware layer, the communication session may be disconnected.
- SDP Bluetooth Service Discovery Protocol
- terminal X and terminal Y use the middleware layer to discover and launch applications and services.
- terminal X and terminal Y use the methods disclosed in the flow diagrams shown in Figure 3A and Figure 3B to discover and launch applications and services.
Abstract
Description
Claims
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US284135 | 2002-10-31 | ||
US10/284,135 US6909721B2 (en) | 2002-10-31 | 2002-10-31 | Device detection and service discovery system and method for a mobile ad hoc communications network |
US10/662,407 US7590097B2 (en) | 2002-10-31 | 2003-09-16 | Device detection and service discovery system and method for a mobile ad hoc communications network |
US662407 | 2003-09-16 | ||
PCT/IB2003/004843 WO2004040918A2 (en) | 2002-10-31 | 2003-10-30 | Device detection and service discovery for mobile networks |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1556966A2 true EP1556966A2 (en) | 2005-07-27 |
EP1556966A4 EP1556966A4 (en) | 2009-01-21 |
Family
ID=32233093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP03769723A Withdrawn EP1556966A4 (en) | 2002-10-31 | 2003-10-30 | Device detection and service discovery system and method for a mobile ad hoc communications network |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1556966A4 (en) |
JP (2) | JP4050297B2 (en) |
KR (1) | KR100712047B1 (en) |
AU (1) | AU2003278417B2 (en) |
BR (1) | BR0315766A (en) |
CA (1) | CA2501566C (en) |
WO (1) | WO2004040918A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493373B2 (en) | 2004-12-27 | 2009-02-17 | Nokia Corporation | Providing service distribution between distributed applications |
US8559350B2 (en) * | 2005-12-20 | 2013-10-15 | Microsoft Corporation | Mechanism to convey discovery information in a wireless network |
KR100829248B1 (en) * | 2006-07-14 | 2008-05-14 | 엘지전자 주식회사 | Method of updating a software package in a mobile communication terminal using an ad-hoc communication, the mobile communication terminal thereof, method of setting up a serving terminal in an ad-hoc network, and method of updating a software package of a client terminal using a serving terminal in the ad-hoc network |
US8616976B2 (en) | 2006-11-07 | 2013-12-31 | Core Wireless Licensing S.A.R.L. | Gaming via peer-to-peer networks |
US7734717B2 (en) | 2006-12-05 | 2010-06-08 | Nokia Corporation | Software distribution via peer-to-peer networks |
US7970350B2 (en) * | 2007-10-31 | 2011-06-28 | Motorola Mobility, Inc. | Devices and methods for content sharing |
US9043478B2 (en) | 2009-12-15 | 2015-05-26 | Qualcomm Innovation Center, Inc. | Methods and apparatus for using a distributed message bus for ad hoc peer-to-peer connectivity |
US10123187B2 (en) | 2012-04-17 | 2018-11-06 | Qualcomm Incorporated | Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems |
US20140214940A1 (en) * | 2013-01-31 | 2014-07-31 | Sony Corporation | Networked devices matching capabilities with tasks |
US10003659B2 (en) * | 2014-10-31 | 2018-06-19 | Qualcomm Incorporated | Efficient group communications leveraging LTE-D discovery for application layer contextual communication |
CN114553730B (en) * | 2022-04-27 | 2022-07-15 | 远江盛邦(北京)网络安全科技股份有限公司 | Application identification method and device, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120750A1 (en) * | 2001-02-16 | 2002-08-29 | Michael Nidd | Method, network device and computer program product for performing service discovery in a pervasive network |
DE10112409A1 (en) * | 2001-03-13 | 2002-09-19 | Creations Gmbh M | Data management method and system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4398042B2 (en) * | 2000-01-28 | 2010-01-13 | パナソニック株式会社 | Transmission device, reception device, transmission / reception device, transmission method, and reception method |
JP2001344163A (en) * | 2000-05-31 | 2001-12-14 | Matsushita Electric Ind Co Ltd | Signal processing device, medium, and information assembly |
JP2002099473A (en) * | 2000-09-25 | 2002-04-05 | Casio Comput Co Ltd | Method and device for collecting service information of network, and record medium storing service information collection program of network |
US20020178216A1 (en) * | 2001-03-13 | 2002-11-28 | Stefan Walther | Method and system for data management |
JP2002281546A (en) * | 2001-03-15 | 2002-09-27 | Sharp Corp | Radio communication system |
US7089298B2 (en) * | 2001-08-20 | 2006-08-08 | Nokia Corporation | Naming distribution method for ad hoc networks |
KR100400823B1 (en) * | 2001-11-01 | 2003-10-08 | 주식회사 유한정밀 | Dart feeding manipulator |
-
2003
- 2003-10-30 EP EP03769723A patent/EP1556966A4/en not_active Withdrawn
- 2003-10-30 JP JP2005501839A patent/JP4050297B2/en not_active Expired - Fee Related
- 2003-10-30 AU AU2003278417A patent/AU2003278417B2/en not_active Ceased
- 2003-10-30 CA CA2501566A patent/CA2501566C/en not_active Expired - Fee Related
- 2003-10-30 KR KR1020057007627A patent/KR100712047B1/en not_active IP Right Cessation
- 2003-10-30 BR BR0315766-0A patent/BR0315766A/en not_active IP Right Cessation
- 2003-10-30 WO PCT/IB2003/004843 patent/WO2004040918A2/en active IP Right Grant
-
2007
- 2007-07-11 JP JP2007181700A patent/JP4563425B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120750A1 (en) * | 2001-02-16 | 2002-08-29 | Michael Nidd | Method, network device and computer program product for performing service discovery in a pervasive network |
DE10112409A1 (en) * | 2001-03-13 | 2002-09-19 | Creations Gmbh M | Data management method and system |
Non-Patent Citations (2)
Title |
---|
KANTER T G: "HOTTOWN, ENABLING CONTEXT-AWARE AND EXTENSIBLE MOBILE INTERACTIVE SPACES" IEEE WIRELESS COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 9, no. 5, 1 October 2002 (2002-10-01), pages 18-27, XP001132253 ISSN: 1536-1284 * |
See also references of WO2004040918A2 * |
Also Published As
Publication number | Publication date |
---|---|
CA2501566C (en) | 2012-07-10 |
AU2003278417A1 (en) | 2004-05-25 |
BR0315766A (en) | 2005-09-06 |
JP4050297B2 (en) | 2008-02-20 |
WO2004040918A2 (en) | 2004-05-13 |
JP2006510124A (en) | 2006-03-23 |
JP4563425B2 (en) | 2010-10-13 |
JP2008017495A (en) | 2008-01-24 |
KR20050063798A (en) | 2005-06-28 |
CA2501566A1 (en) | 2004-05-13 |
EP1556966A4 (en) | 2009-01-21 |
AU2003278417B2 (en) | 2007-05-31 |
KR100712047B1 (en) | 2007-04-27 |
WO2004040918A3 (en) | 2005-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590097B2 (en) | Device detection and service discovery system and method for a mobile ad hoc communications network | |
JP4563425B2 (en) | Device detection and service discovery system and method for mobile ad hoc communication networks | |
EP1517488A2 (en) | Mechanism for improving connection control in peer-to-peer ad-hoc networks | |
US7313120B2 (en) | Application control in peer-to-peer ad-hoc communication networks | |
EP1440588B1 (en) | Customized messaging between wireless access point and services | |
US8060590B2 (en) | Distance-aware service discovery mechanism for determining the availability of remote services in wireless personal area networks | |
US8442549B2 (en) | Automatic discovery and connectivity protocol for bluetooth scatternet formation | |
JP5534623B2 (en) | Terminal remote management method and apparatus | |
JP2008518555A (en) | Apparatus and method for service search in ad hoc network using beacon signal | |
WO2002052793A1 (en) | Device roles and piconet connections | |
US9301078B2 (en) | Network-intelligent scanner | |
JP2007215235A (en) | Demand-based provisioning for mobile communication device | |
JP3771850B2 (en) | Method for performing service discovery, network device, and computer program element | |
WO2008024099A2 (en) | Peer-to-peer network and user information discovery and sharing for mobile users and devices | |
KR20090044152A (en) | Discovery engine for resource sharing using wireless sensor network, the discovery metohd and the registration method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20050427 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20081223 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 29/08 20060101ALN20081217BHEP Ipc: H04L 12/56 20060101AFI20081217BHEP |
|
17Q | First examination report despatched |
Effective date: 20090323 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NOKIA CORPORATION |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20140502 |