WO2010029386A1 - Accessing resources via adaptive connection creation - Google Patents
Accessing resources via adaptive connection creation Download PDFInfo
- Publication number
- WO2010029386A1 WO2010029386A1 PCT/IB2008/053642 IB2008053642W WO2010029386A1 WO 2010029386 A1 WO2010029386 A1 WO 2010029386A1 IB 2008053642 W IB2008053642 W IB 2008053642W WO 2010029386 A1 WO2010029386 A1 WO 2010029386A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- apparatuses
- information
- services
- memory space
- stored data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- 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
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/10—Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Definitions
- the present invention relates to accessing resources that reside on separate apparatuses, and more specifically, to systems that simplify and streamline the gathering of identification and resource information for apparatuses within communication range.
- software programs may include executable instruction sets that are organized in a manner to cause a processing device to receive input (e.g., data) for a calculation or determination that may then result in an output.
- input e.g., data
- software technology has evolved to transform these individual instruction sets into modules that may in turn be integrated together to form the more complex programs we know today.
- Today's more-sophisticated software programs may receive various forms of input such as raw data, for example as stored in magnetic or optical storage, user input through various known types of user interfaces, measured or monitored information converted to electronic information from electronic and/or electromechanical sensors, etc.
- programs may be configured to produce data usable by other software applications.
- problems may arise when conveying information from one program to another. If an information exchange scenario is known before the programs are created, then a specific strategy may be devised to convert one program's output into another program's input. Traditionally this strategy has led to functional but extremely rigid software application configurations, requiring frequent and possibly substantial revisions due to changes in functionality, platform, architecture, etc.
- the aforementioned inflexibility also contributes to complication in configuring software and/or apparatus interaction. For example, in establishing wireless communication between applications residing on different apparatuses, a user must not only understand how applications interact, but also the wireless transport configuration that will be needed to support the desired interaction. In existing architectures users must initially be aware of the resources that reside on each apparatus and the wireless transports supported by each apparatus, and then must understand which of the supported transports can be utilized for the desired transaction and how to establish the wireless connection.
- the above basic configuration task does not even take into account various other considerations that may exist, such as not only which transports can be utilized, but which transports should be utilized in a particular situation to optimize speed, quality, security, etc.
- a transport may be better suited for a particular environment despite the fact that it may be slower than other available transports.
- Additional features may also be available to enhance the security of a particular connection, enable/disable error-checking, allow communication to continue despite the failure of a communication transport (e.g., rolling over to another transport), etc. Configuring these more advanced features may require extensive application, device and/or transport knowledge outside of the comprehension of casual users, nullifying any benefits provided by these features.
- Various example embodiments of the present invention may include a method, apparatus, computer program product and system configured to facilitate the interoperation of apparatuses.
- At least one of the apparatuses may desire to access resources residing on another apparatus.
- Resources may include, for example, services offered by another device, information stored on another apparatus etc.
- the apparatuses may utilize a shared information space to exchange information concerning device identification, available resources, connectivity information, etc. This information may be shared between apparatuses via the shared memory space without the necessity of user interaction, and use of the information (e.g., for display, for service access, etc.) may be further facilitated by mapping each resource to the identity of the source apparatus.
- apparatuses within communication range of each other may automatically create, access and/or establish service information entries in a shared memory space representing the resources that are available on each apparatus.
- the shared memory space may reside in the memories of the apparatuses interacting with the shared memory space.
- the shared memory space may operate in accordance with a network on terminal architecture (NoTA). Apparatuses may become aware of resources, and how to access these resources, via the shared memory space.
- NoTA network on terminal architecture
- apparatuses may further include beacons configured to transmit signals comprising identification information.
- An apparatus operating in a scanning mode may receive beacon signals, determine identities for source apparatuses, and may further determine the location of the source apparatuses based on the received signal. For instance, multiple antennas in a user apparatus may be utilized to derive a relative direction towards a source apparatus, for example utilizing direction of arrival (DoA) estimation process.
- DoA direction of arrival
- the location of a source apparatus may be utilized along with corresponding identification information and resource information provided, for example, from the shared memory space to formulate a display on the user apparatus.
- graphical representations of scanned apparatuses located within one or more scan regions may be displayed. The graphical representations may include identification information and/or information related to resources available on the source apparatus.
- the one or more regions may be defined based on the direction in which the user apparatus is pointing during a scan.
- FIG. 1 discloses the example levels of a wireless communication architecture in accordance with at least one embodiment of the present invention.
- FIG. 2 discloses an example link between two wireless communication devices in accordance with at least one embodiment of the present invention.
- FIG. 3 discloses an example of services being utilized to create service nodes on a billboard in accordance with at least one embodiment of the present invention.
- FIG. 4A discloses an example Network on Terminal Architecture in accordance with at least one embodiment of the present invention.
- FIG. 4B discloses an example transport table in accordance with at least one embodiment of the present invention.
- FIG. 5 discloses an example of communication to a billboard utilizing a connection map in accordance with at least one embodiment of the present invention.
- FIG. 6A-6E discloses an example of an application querying and selecting a service in accordance with at least one embodiment of the present invention.
- FIG. 6F discloses an example of the provision of services between devices using a billboard in accordance with at least one embodiment of the present invention.
- FIG. 7 discloses an example scenario wherein a plurality of apparatuses are situated within communication range of each other and a separately located apparatus that is not yet within communication range of the plurality of apparatuses.
- FIG. 8 discloses an example of the plurality of apparatuses interacting with a shared memory space, the apparatuses being joined by the apparatus that was previously separately located in accordance with at least one embodiment of the present invention.
- FIG. 9A discloses additional detail regarding the apparatus interaction example of FIG. 8 in accordance with at least one embodiment of the present invention.
- FIG. 9B discloses example incorporation of location functionality into the scenario of FIG. 9 A in accordance with at least one embodiment of the present invention.
- FIG. 9C discloses an example display incorporating information from the example of FIG. 9B in accordance with at least one embodiment of the present invention.
- FIG. 10 discloses a flowchart for an example resource information access and display process in accordance with at least one embodiment of the present invention.
- Whiteboard 100 is also disclosed for contextual purposes.
- Whiteboard 100 may comprise the highest level of operation in this architecture.
- operational groups 102 may be formed including whiteboards 104 and various application nodes.
- Application nodes may correspond to application existing on a plurality of wireless communication devices, and may be utilized to exchange information between these applications, for example, by placing data into, and removing data from, whiteboard 104.
- the various nodes may consist of proactive nodes (PN) 106 that may be utilized to place information into whiteboard 104, reactive nodes (RN) 110 may be utilized to take information from whiteboard 104.
- Information semantics interpreter (ISI) 108 may be utilized to link different whiteboards together. Utilizing these constructs, Whiteboard 104 may provide a standardized means for application interaction that overcomes many incompatibilities.
- Billboard level 120 may facilitate interaction between services available on the one or more devices. For instance, Billboard level 120 may enable the sharing of service-related information (e.g., service identification information, functionality, etc.), as well as any information that may be necessary in order to access and/or utilize each service. Services 130 and clients 120 that may utilize these services may be organized in service domains 122. In at least one scenario, service domains 122 may correspond to a particular protocol, such as UPnP, BT SDP, Bonjour, etc. In each service domain 122, services 130 may be represented by service nodes (SN) 126, and likewise, application nodes (AN) 128 may be established to correspond to applications.
- service nodes SN
- AN application nodes
- service domains 122 may interact utilizing service ontology interpreters (SOI) 124.
- SOI 124 may allow service domains 122 to interact with other service domains 122 in the service level, even if the service domains 122 reside on different wirelessly-linked devices (e.g., to provide access information to other service domains 122).
- Connectivity map 140 may define available connectivity methods/possibilities and topology for different devices participating in sharing resources in order to support whiteboard 100 and billboard 120.
- devices 144 may be linked in directly connected groups 142.
- Examples of directly connected groups of devices (Dev) 142 may include devices connected via BluetoothTM piconet, a WLAN network, a wUSB link, etc.
- Each directly connected group of devices 142 may further be linked by gateways (GW).
- FIG. 1 discloses an overall communication architecture usable with various embodiments of the present invention, for the sake of explanation in the present disclosure, a much more rudimentary scenario will be utilized to illustrate service node related functionality.
- FIG. 2 discloses device A 200 and device B 210. Examples of devices usable in instance may include various wireless communication devices ranging from very basic wireless devices like wirelessly-enabled sensors or cellular handsets to more complex wirelessly-enabled computing devices like laptop or palmtop computers, wireless communicators, personal digital assistants, or any similar devices with wired connectivity interfaces.
- the devices disclosed in FIG. 2 may be linked via wireless communication 220 (e.g., WLAN), for example, in order to form an ad-hoc network between the devices.
- wireless communication 220 e.g., WLAN
- Device B 210 may further include a variety of services and service search mechanism such as BluetoothTM-related BT SDP and UPnP.
- service search mechanism such as BluetoothTM-related BT SDP and UPnP.
- device A 200 would not be aware of these services over wireless link 220, and further, even if device A 200 was aware, most or all of these services would probably be inaccessible due to various incompatibility issues existing between services.
- wireless coupling 220 between Device A 200 and Device B 210 may only be beneficial for conveying information, since no access to remote services is available.
- a service may be defined as the functionality offered or derived from a particular software program. Services may pertain to all aspects of device functionality. Services may be provided, for example, by an operating system loaded on a wireless communication device, or may be added to the device by accessory applications related to communication, security, productivity, device resource management, entertainment, etc. In accordance with at least one embodiment of the present invention, one or more service nodes may be established to correspond to services available on the one or more devices.
- FIG. 3 discloses an example of billboard functionality in accordance with at least one embodiment of the present invention.
- Billboard 300 may comprise a shared memory space established amongst one or more wired or wireless devices.
- the scenario disclosed in FIG. 3 may further include a protocol such as UPnP 310 installed on a device (e.g., device A 200), and BluetoothTM SDP 320 installed, for example, on device B 210.
- Billboard 300 may interact with these protocols using one or more services installed on devices A 200 and B 210, such as example billboard services BB UPnP service 312 and BB SDP service 322.
- BB services 312 and 322 may typically be components of UPnP and BT architecture but they may be components of an NoTA architecture, an example configuration of which is described in detail below with respect to FIG. 4.
- UPnP 310 may offer various services locally on device A 200. These services may include UPnP media renderer service 316 and UPnP mass storage service 318. Similarly, BluetoothTM SDP 320 may provide BT OBEX service 316 and BT mass storage service 328 on device B 210. It is important to note that these specific services have been used only for the sake of example in the present disclosure, and are not intended to limit the scope of services usable with various embodiments of the present invention. While these example services would normally only be accessible to applications residing on the same service domain, the present invention, in accordance with at least one embodiment, may provide for the interaction of various services and/or applications, regardless of the domain on which a service resides.
- At least one embodiment of the present invention may operate by creating service information entries corresponding to services offered on each device in billboard table 300.
- BB UPnP node 314 and BB SDP node 324 may create service information entries UPnP media renderer service 316A and UPnP mass storage service 318 A, as well as BT OBEX service 316A and BT mass storage service 328A, respectively.
- These service information entries exist in a common billboard table 300, despite the protocols and services actually residing on separate devices.
- the service information entries may provide information about services to other services and/or applications, such as the name of the service, service properties, pairing & authentication information utilized in accessing a particular service and/or transport mediums usable with each service.
- This service information may be obtained, for example by utilizing BB SDP service 324 if billboard table 300 wants to be used from the BT domain, or BB UPnP 314 service if billboard table 300 is wants to be utilized from the UPnP domain. It may also be possible that some architectures, such as NoTA, support billboard service directly.
- NoTA services 302 may be utilized, in accordance with at least one embodiment of the present invention, to establish the initial communication between devices A 200 and B 210 via a wireless communication medium in order to establish a shared memory space that will be utilized as Billboard table 300.
- FIG. 4A discloses an example of an underlying logical architecture that may be utilized in implementing NoTA.
- NoTA may be configured as multiple subsystems (e.g., 400 and 420) coupled by interconnect 450.
- NoTA interconnect 450 may comprise two layers: High Interconnect (H IN) layer 452 and Low Interconnect (L_IN) layer 454 coupled by switch 456.
- Low interconnect layer 454 may include ISO/OSI layers Ll - L4 and may provide transport socket type interface upwards.
- High Interconnect layer 452 may act as the middleware between L_IN 454 and the higher level Application nodes (AN) 402 and Service nodes (SN) 422 residing in subsystems like 400 and 420.
- AN Application nodes
- SN Service nodes
- NoTA is an architecture that may be used to provide intra-device service access, making it possible to build independent subsystems providing both services and applications. In an example implementation there may be several individual NoTA devices involved in direct inter sub- system communication.
- FIG. 4B discloses another underlying construct that may be implemented in various embodiments of the present invention.
- Connectivity map 480 may be utilized to map the various services offered on the one or more devices participating in billboard table 300 to various transport mediums that may be utilized with each service.
- transport mediums may comprise wireless communication mediums such as BluetoothTM, WLAN, WibreeTM, wUSB, etc.
- the present invention in accordance with at least one embodiment, may also be that radio technologies can be used with several protocols (e.g., Bluetooth protocols may be implemented over WLAN).
- the present invention is not specifically limited to using these particular wireless communication mediums, and may be implemented with other wireless communication mediums that are usable by services offered by various devices.
- Services offered by the devices may be listed under services 482, and the corresponding available transport mediums are listed under transports 484.
- Arrows between services 482 and transport mediums 484 indicate the one or more transport mediums usable by each service.
- the information in connectivity map 480 may, in accordance with various embodiments of the present invention, create a binding between billboard table content (e.g., service offerings) and connectivity map table content (e.g., available device connectivity configurations) so that this information may be utilized, for example, by applications in determining an appropriate transport medium to utilize with a particular service. Where two or more transport mediums are available, a particular transport medium may be selected based on various characteristics such as speed, traffic, priority of executing the service, other active wireless communication mediums, etc.
- FIG. 5 an example depicting a wireless transaction between device A 200 and device B 210 is disclosed in accordance with at least one embodiment of the present invention.
- BB service search 500 on device A 200 may require the use of a particular service.
- billboard table 300 may reside on device B 210. Regardless of the actual location of the service required by BB service search 500, a query may be made of billboard table 300 to gain access to a corresponding service node. This is because all available service information on the one or more devices participating in billboard table 300 is centrally located, reducing the steps required to access each service, and therefore, increasing the speed of access for available services.
- various embodiments of the present invention may include more than one billboard table 300 established between the linked devices. These billboard tables 300 may interact with each other to create a shared information pool that services may access.
- BB service search 500 may, for example, using NoTA service 502 residing on device A 200 in order to access billboard table 300.
- connectivity map 504 may map to at least BluetoothTM 506 as a transport medium usable by NoTA service 502.
- Other wireless communication mediums may also be usable as transport mediums, however in this example Bluetooth TM 506 is selected (e.g., by a user, by BB service search 500, by an application calling BB service search 500, etc.)
- a BluetoothTM wireless link 508 may then be utilized to communicate between device A 200 and device B 210.
- the wireless inquiry sent by device A 200 may then be received by device
- BluetoothTM resources 520 in device B may correspond to (e.g., may be usable by) NoTA service 524 as determined by a mapping in connectivity map 522.
- NoTA service 524 may provide access to search billboard table 300, which may contain various service information entries 528 corresponding to various services available in the linked wireless communication devices. Again, while two devices are shown in the example of FIG. 5, more than two devices may participate in billboard table 300, including service nodes 528 corresponding to services that are offered by each device.
- BB service search 500 may then perform an inquiry of the service information entries 528 available in billboard table 300 in order to determine if any of the services corresponding to service information entries 528 will be suitable for the parameters specified in the search. An example inquiry of billboard table 300 is now described with respect to FIG. 6A-6E.
- FIG. 6A-6E disclose an example usage scenario in accordance with at least one embodiment of the present invention.
- FIG. 6 A an example situation is shown wherein application 600 running on one of the devices participating in billboard table 300 may have a requirement for storage as indicated at 602.
- application 600 running on one of the devices participating in billboard table 300 may have a requirement for storage as indicated at 602.
- access to a service providing storage activities may be desired in order to support application 600.
- This inquiry may be performed, at least in part, by a billboard query 604.
- Storage inquiry 602 may be referred billboard query 604, which queries all of the service nodes in billboard table 300 in order to determine the services that may potentially fulfill the needs of Application 600.
- the potentially applicable service information entries are UPnP mass storage 318A and BT mass storage 328 A.
- Billboard query 604 may further obtain information related to the services from their respective nodes. For example, property information may be supplied by service information entries 318A and 328A to application 600 through billboard query 604. Information regarding transport mediums usable by each service may also be obtained through the use of connectivity map 480.
- All of the aforementioned information may be used in determining which service to select for supporting application 600. For example, the properties of a particular service may be more useful for, or accessible to, application 600. A particular service may also be selected because a usable transport medium is better able to support the activity to be performed because other transport mediums already have too much traffic, are experiencing interference, conflict with other transport mediums, etc.
- BT mass storage service information entry 328A has been selected to support application 600. This selection may be made automatically by control elements in the one or more devices supporting billboard table 300, by application 600, by user selection of a preferred service and/or transport medium, etc.
- Billboard query 604 may then obtain all of the information necessary to access BT Mass storage service 328 from BT mass storage service information entry 328A.
- This information may include, for example, property information and transport medium information that may be further conveyed to application 600 in order to facilitate a direct link between application 600 with BT Mass storage service 328.
- An example direct linkage is shown in FIG. 6D, and a communication transaction resulting between application 600 and BT Mass storage service 328 is further shown in FIG. 6E.
- devices 610 and 620 may be wirelessly coupled to device 630.
- a UPnP protocol in device 610 may couple to device 630 via WLAN, as shown at 612, in order to create a UPnP mass storage service node in billboard table 300.
- a BT mass storage service in device 620 may utilize the BT SDP protocol to create a service node in billboard table 300 via BluetoothTM communication 622. After these devices have established billboard table 630, device 640 may enter.
- Device 640 includes an application that requires a storage service.
- Device 640 includes an application that requires a storage service.
- 640 may then access billboard table 300 on device 630 as shown at 642. This connection may be made, for example, utilizing a NoTA service communicating over WLAN. Device 640 may access billboard table 300 in order to query the available services. If more than one applicable service is located, a selection may be made as to the service most appropriate for the application. In this example it is determined that the BT mass storage service will be most appropriate to assist the application in device 640. Device 640 may then obtain information from the BT mass storage node, such as property and transport medium information, that will be needed in order to access the BT mass storage service. Device 640 may then access the BT mass storage service on device 620 in order to establish a direct connection between the application and the service a shown at 644.
- FIG. 7 discloses an example usage scenario that will be utilized to explain various example embodiments of the present invention. While the disclosed example comprises four apparatuses located within communication range of each other (e.g., in the same room) that are joined by a fifth apparatus, the particular situation disclosed in FIG. 7 is not intended to limit the present invention to any specific type of apparatus interaction. Moreover, various example embodiments of the present invention may be implemented in a multitude of usage scenarios where a plurality of apparatuses may be interoperating.
- FIG. 7 user apparatus 700 is shown separately located from space 710.
- Space 710 has been disclosed as enclosed room (e.g., a room), however, this is not an operational requirement.
- Various embodiments of the present invention may still be implemented in cases where apparatuses 712-720 are located in the same physical space as user apparatus 700.
- FIG. 7 simply depicts an example situation where user apparatus 700 is not located within communication range of other apparatuses.
- Apparatuses 712-720 may vary in type. As communication technology continues to evolve, more and more devices that typically would operate in a standalone manner are now being incorporated with communication resources. These resources allow apparatuses to provide information to other apparatuses via wired or wireless transports, and this information may in turn be utilized as an input to control other processes. Sensors and monitors are simple examples of devices that are now able to communicate monitored conditions.
- a temperature sensor may be utilized to measure inside and/or outside temperature for controlling an HVAC system.
- a water sensor may be affixed to pipes, a sump pump, a water heater, etc. in order to monitor for the presence of water, and if water is detected a signal may be provided to an alarming system for alerting of the need for repair.
- apparatuses may include more advanced resources for providing access to complex systems.
- some computerized apparatuses may allow a remote apparatus to electronically control a process, may provide electronic information services such as servers for distributing live television or radio broadcasts or previously stored information including data files, multimedia files, etc.
- Computerized apparatuses may access other information sources to obtain information, for example, via a wired or wireless connection to the Internet, via analog or digital wireless broadcasts, etc.
- resources may therefore include the identification of services and/or data that may be provided by the apparatus.
- Apparatuses 712-720 in FIG. 7 may be configured to provide services and/or data to other apparatuses, and represent different communication configurations that may be encountered.
- apparatus A 712 may incorporate all resources required for establishing direct wireless connections with other apparatuses. These resources may include, for example, one or more communication modules including hardware (e.g., an antenna) and software (e.g., communication utilities) configured to support one or more wireless transports.
- Apparatus B 714 may include communication facilities similar to apparatus A 712 in that the device may interact directly via wireless communication. However, apparatus B 714 may further include hardware and software configured to support wired networking (e.g., Ethernet). An example is shown in FIG.
- apparatus C 716 is coupled to apparatus B 714 via a wired connection.
- apparatus C 716 may be considered a network node in the network formed between the two apparatuses, and apparatus C 716 may further utilize this relationship to transmit wireless information utilizing the communication resources in apparatus B 714.
- Transceiver 718 may be configured to support wireless communication in a manner similar to apparatus A 712. However, transceiver 718 may also be configured to send information to, and/or receive information from, apparatus D 720 via wireless communication. Transceiver 718 may therefore incorporate one or more communication modules to communicate with both apparatus D 720 and also other apparatuses 712-716 that may be located within communication range.
- apparatus D 720 may be a temperature sensor located outside of space 710 (e.g., on the exterior of a home, office building, etc.), and may transmit measurement data to transceiver 718 via close proximity wireless communication such as radio frequency (RF), infrared (IR), Ultra Low Power BluetoothTM (ULP-BT) communication, etc.
- RF radio frequency
- IR infrared
- UFP-BT Ultra Low Power BluetoothTM
- Transceiver 718 may in turn transmit some or all of the received temperature information with apparatuses 712-716 via the same or another wireless transport, depending upon the capabilities of the other apparatuses. Also shown in FIG. 7 is user apparatus 700, which may include at least communication resources configured for interacting with apparatuses 712-718 via a wireless transport.
- apparatuses 712-720 may interact using a shared memory space. As disclosed in FIG. 8, each apparatus 712-720 may submit resource information into billboard 800 comprising, for example, one or more service information entries corresponding to services and data.
- billboard 800 may reside within the memory of one or more of the apparatuses, and may be accessible by all apparatuses directly or indirectly (e.g., using the wireless communication resources of another apparatus).
- Service information entries 812, 822, 832 and 842 may correspond to one or more services or instances of stored data available on apparatuses 712, 714, 716 and 720, respectively.
- Each service information entry may further include, or be associated with, connectivity information that specifies one or more required (or preferred) communication configurations for accessing each available service and/or instance of stored data. Therefore, in the example disclosed in FIG. 8 the resource information for apparatuses 712, 714, 716 and 720 may comprise one or more service information entries indicating available services or stored data along with corresponding connectivity information.
- No service information entry corresponds to transceiver 718 because in the example implementation of FIG. 8 transceiver 718 only serves to relay information for apparatus 720, and therefore, does not offer any services or stored data.
- each device may further include a beacon configured to emit a signal incorporating at least identification information for the corresponding apparatus.
- beacons 810, 820, 830 and 840 may correspond to apparatuses 712, 714, 716 and 720, respectively.
- beacons 810-840 may emit a short-range wireless signal containing information allowing an apparatus receiving the signal to identify the source, and possibly, as will be discussed with respect to FIG. 9A-9C, determine the source's location.
- Ultra low power BluetoothTM is one transport that may be utilized based on, for example, it's ability to convey data to devices over short distances using a specification that is similar to standard Bluetooth TM (and is therefore may utilize the same hardware as BluetoothTM), but is optimized for power conservation, which may be especially useful for "constrained” apparatuses, (e.g., devices that may have limited data processing ability, that are powered by batteries, etc.).
- FIG. 8 further shows user apparatus 700 entering into communication range of apparatuses 712-720.
- the interaction of user apparatus 700 and apparatuses 712-720 is disclosed further with respect to FIG. 9A-9C.
- User apparatus 700 may, in accordance with at least one embodiment of the present invention, include facilities for determining the direction from which a signal is received.
- the ability to determine the direction from which signals are received is represented by Direction of Arrival (DoA) estimation module 900 in FIG. 9A. While DoA estimation is discussed in this disclosure, the present invention is not specifically limited to the use of DoA estimation, and may be implemented with other means for determining the arrival direction of a received signal.
- DoA Direction of Arrival
- the signal strength, phase, etc. may be measured on each of a plurality of antennas (e.g., forming an antenna array).
- An example of an antenna array is shown in FIG. 9A.
- This example array includes six antennas 902-912. While the example antenna array is arranged in a rectangular formation around the periphery of user apparatus 700, the actual configuration of the antenna array may vary depending, for example, on the type of antenna, number of antennas, structure of the apparatus, etc.
- User apparatus 700 may further include standard hardware and/or software modules corresponding to the intended functionality of the apparatus, which is represented by operating system (OS) 920 in FIG. 9A.
- OS operating system
- OS 920 may include hardware and/or software modules supporting long and short-range wireless communication, user interfaces, communication utilities, applications, etc.
- FIG. 9 A discloses at least two methods by which user apparatus 700 may receive information.
- user apparatus 700 may receive wireless signal information into antennas 902-912 from one or all of beacons 810- 840.
- the received wireless signal information may include, for example, information identifying the source of the signal.
- user apparatus 700 may receive information from billboard 800.
- user apparatus may perform query 942 in billboard 800 in order to obtain resource information from one or more of apparatuses 712-720.
- the information received via billboard 800 may comprise at least apparatus identification information, services and/or data offered by the apparatus and connectivity information.
- Connectivity information may include at least the communication transports supported by an apparatus, and may be displayed so that a user may be apprised of the available communication options that may be configured.
- apparatuses participating in billboard 800 may utilize the connectivity information to automatically establish a communication link over which the desired service or data may be accessed.
- certain shared memory space implementations e.g., NoTA
- user apparatus 700 may map the resource information received from billboard inquiry 942 to identification information also received from billboard 800, from beacons 810, 820, 830 and 840. This mapping may be utilized for difference activities.
- the mapped resources may be utilized to form a display including the identification of each apparatus that has offered services and/or data via billboard 800. Either in the same display, or as the result of an event (e.g., a user selecting an apparatus utilizing a key input or touch screen) resource information corresponding to each apparatus may be displayed.
- the resource information may include at least the identification of services and/or data that may be available on an apparatus, as well as apparatus connectivity information. Connectivity information may comprise transports supported by an apparatus and any other related information that may be needed in order to establish communication with the apparatus via the transport.
- Another example utility for mapped identification/resource information is accessing a service or stored data.
- information may be displayed on a user apparatus that indicates resources or stored data that is available for access.
- a simplified form of such a display may only identify the service or stored data that is available without the corresponding resource information. This may occur, for example, in a situation where the apparatus is meant for users of limited technical skill.
- the selection of a service or stored data item on the display may then automatically access the desired resource in a manner that is transparent to the user. More specifically, it is possible for a user to make a selection, and an apparatus to automatically access the resource utilizing the mapped information without involving the user in any configuration.
- this same process may occur when a user accesses applications on the user apparatus that may require services or stored data residing on another apparatus.
- a user may activate the program and trigger an activity (e.g., play music) and the application may utilize the mapped information to establish a connection and access the required service, media file, etc.
- the apparatus information contained in the display may be organized in various formats, including but not limited to, a listing of apparatuses, table of apparatuses, a graphical representation of the apparatuses, etc. Further, the particular order in which the apparatuses may be presented may depend on various characteristics. For example, a display may be arranged based on the relative strength of beacon signals received from each apparatus, the relevance of available services and/or data to a subject, topic, type, etc., whether any of the apparatuses were previously encountered by user apparatus 700 (e.g., a previously paired device), a preferred transport, a user configuration, etc.
- apparatuses that are interacting with billboard 800 may be displayed on user apparatus 700 in a graphical manner based on location.
- DoA module 900 may be utilized to resolve relative or actual location information for each apparatus, and this information may be utilized to.
- FIG. 9B discloses an implementation wherein DoA module 900 may determine a location for each apparatus, which is represented by directional arrows 960-966. Location information resolution may depend upon the capabilities of the location method. If, for example, the location module is capable of providing the direction of arrival of a received signal, then apparatus location information may comprise a direction relative to user apparatus 700.
- FIG. 9B further shows that apparatus location information 960- 966 may be associated with resource information obtained, for example, via query 942 to billboard 800.
- apparatus service, data and connectivity information may be associated with the location (e.g., direction, actual position, etc.) of the apparatus.
- User apparatus 700 may scan area 980. More specifically, an example of the area covered by DoA module 900, and more specifically antennas 902-912, may be limited to the area defined by 980. This area may be truncated as shown in FIG. 9C in order to limit the scan area to a particular direction, for example, the direction in which user apparatus 700 is "aimed" or is "pointing.” In addition, a more refined scan region 982 may be defined within the overall scan area 980. Scan region 982 may be utilized to "select" a particular apparatus by pointing user apparatus 700 at the desired apparatus.
- apparatus B 714 and apparatus C 716 fall within the area 980, and apparatus C 716 falls within region 982.
- transceiver 718 also falls within area 980, it does not have a signal beacon, and therefore, would not be detected.
- the signal beacon is instead located on apparatus D 720, which is located outside of area 890.
- FIG. 9C Graphical representations of apparatus B 714 and apparatus C 716 are shown on user apparatus 700 in FIG. 9C.
- triggering an event on user apparatus 700 e.g., the selection of an apparatus via a key input in the user interface of user apparatus 100, touch screen, etc.
- resource information 984 corresponding to the selected apparatus may include the identification of services/data available on apparatus C 716, connectivity information for apparatus C 716, an inquiry as to whether a user would like to access resources on apparatus C 716, etc.
- a user may further interact with the apparatus (e.g., via a user interface) in order to cause user apparatus 700 to execute an activity, such as accessing services or data on apparatus C 716.
- FIG. 10 A flowchart depicting an example process in accordance with at least one embodiment of the present invention is disclosed in FIG. 10.
- An apparatus e.g., a user apparatus for the sake of example
- Entering into an area may comprise, for example, an apparatus moving into communication range of one or more other apparatuses.
- the user apparatus may then determine whether a shared memory space (e.g., a billboard) has been established. If no billboard is detected, the user apparatus may operate in more traditional manner in order to obtain resource information. For example, in step 1004 the user apparatus may perform an inquiry to establish wired or wireless links to other apparatuses within communication range.
- a shared memory space e.g., a billboard
- the user apparatus may obtain resource information (step 1006), which may then be mapped corresponding to identification information for each apparatus (step 1008).
- the mapped information may then be utilized in step 1010.
- the mapped information may be utilized for creating a user display, accessing a particular service, supporting the operation of an application that may require remotely located resources, etc. As set forth above, this information may be displayed in a variety of formats (e.g., list, table, graphically, etc.)
- the process may then return to step 1000 in order to prepare for apparatus discovery (e.g., resulting from new apparatuses entering into the area, encountered by moving the user apparatus to a new area, etc.).
- step 1012 the user apparatus may access the billboard.
- a determination may then be made in step 1014 as to whether pointing (e.g., location-based selection functionality) is available.
- a determination that pointing is available may comprise, for example, sensing the presence of wireless beacon signals from apparatuses in proximity to the user apparatus. If pointing is determined to be unavailable, then in step 1016 the user apparatus may obtain apparatus identification and resource information from the billboard, which may be mapped together in step 1008 and utilized in various ways, such as in the examples set forth above regarding step 1010.
- step 1018 a further determination may be made as to whether pointing has been activated. If pointing functionality is not active, then the process may proceed as if no pointing functionality was available, which has been described above with respect to step 1016. Otherwise, in steps 1020 and 1022 the user apparatus may scan for beacon signals. If one or more beacon signals are located, identification, resource and location information may be mapped for the corresponding apparatuses in step 1024. In at least one example embodiment of the present invention, the identification and location information may be provided by the received beacon signal, and the corresponding resource information may be obtained from the billboard. The mapped identity, resource and location information may be utilized in step 1028.
- results from the mapping may be displayed and/or used for accessing services or stored data by users, applications, etc.
- Discovery, mapping and utilization may continue in steps 1022-1026 with the continued scanning for beacon signals (step 1030) until a determination is made that no further information is necessary in step 1028.
- the process may then return to step 1000 in order in preparation for further apparatus discovery (e.g., resulting from new apparatuses entering the same area as a user apparatus, encountered by moving the user apparatus to a new area, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Embodiments of the present invention include a system directed to facilitating the interoperation of apparatuses (200, 210). Given a plurality of apparatuses within communication range of each other, at least one of the apparatuses may desire to access resources residing on another apparatus'. Resources may include, for example, services (482) offered by another device, information stored on another device, etc. In at least one implementation, the apparatuses may utilize a shared information space to exchange information concerning device identification, available resources, connectivity information (480), etc. This information may be shared between apparatuses via the shared memory space (104) without the necessity of user interaction, and use of the information (e.g., for display, for service access, etc.) may be further facilitated by mapping each resource to the identity of the source apparatus (1024, 1008).
Description
ACCESSING RESOURCES VIA ADAPTIVE CONNECTION CREATION
BACKGROUND
L Field of Invention:
[0001] The present invention relates to accessing resources that reside on separate apparatuses, and more specifically, to systems that simplify and streamline the gathering of identification and resource information for apparatuses within communication range.
2. Background:
[0002] In general, software programs may include executable instruction sets that are organized in a manner to cause a processing device to receive input (e.g., data) for a calculation or determination that may then result in an output. Over the years, software technology has evolved to transform these individual instruction sets into modules that may in turn be integrated together to form the more complex programs we know today. Today's more-sophisticated software programs may receive various forms of input such as raw data, for example as stored in magnetic or optical storage, user input through various known types of user interfaces, measured or monitored information converted to electronic information from electronic and/or electromechanical sensors, etc.
[0003] In some instances, programs may be configured to produce data usable by other software applications. However, problems may arise when conveying information from one program to another. If an information exchange scenario is known before the programs are created, then a specific strategy may be devised to convert one program's output into another program's input. Traditionally this strategy has led to functional but extremely rigid software application configurations, requiring frequent and possibly substantial revisions due to changes in functionality, platform, architecture, etc.
[0004] The aforementioned inflexibility also contributes to complication in configuring software and/or apparatus interaction. For example, in establishing wireless communication between applications residing on different apparatuses, a user must not only understand how applications interact, but also the wireless transport configuration that will be needed to support the desired interaction. In existing architectures users must initially be aware of the resources that reside on each apparatus and the wireless
transports supported by each apparatus, and then must understand which of the supported transports can be utilized for the desired transaction and how to establish the wireless connection.
[0005] The above basic configuration task does not even take into account various other considerations that may exist, such as not only which transports can be utilized, but which transports should be utilized in a particular situation to optimize speed, quality, security, etc. For example, a transport may be better suited for a particular environment despite the fact that it may be slower than other available transports. Additional features may also be available to enhance the security of a particular connection, enable/disable error-checking, allow communication to continue despite the failure of a communication transport (e.g., rolling over to another transport), etc. Configuring these more advanced features may require extensive application, device and/or transport knowledge outside of the comprehension of casual users, nullifying any benefits provided by these features.
SUMMARY
[0006] Various example embodiments of the present invention may include a method, apparatus, computer program product and system configured to facilitate the interoperation of apparatuses. Given a plurality of apparatuses within communication range of each other, at least one of the apparatuses may desire to access resources residing on another apparatus. Resources may include, for example, services offered by another device, information stored on another apparatus etc. In at least one implementation, the apparatuses may utilize a shared information space to exchange information concerning device identification, available resources, connectivity information, etc. This information may be shared between apparatuses via the shared memory space without the necessity of user interaction, and use of the information (e.g., for display, for service access, etc.) may be further facilitated by mapping each resource to the identity of the source apparatus.
[0007] In accordance with various embodiments of the present invention, apparatuses within communication range of each other may automatically create, access and/or establish service information entries in a shared memory space representing the resources that are available on each apparatus. The shared memory space may reside in the memories of the apparatuses interacting with the shared memory space. In at least
one embodiment of the present invention the shared memory space may operate in accordance with a network on terminal architecture (NoTA). Apparatuses may become aware of resources, and how to access these resources, via the shared memory space.
[0008] In at least one example implementation, apparatuses may further include beacons configured to transmit signals comprising identification information. An apparatus operating in a scanning mode may receive beacon signals, determine identities for source apparatuses, and may further determine the location of the source apparatuses based on the received signal. For instance, multiple antennas in a user apparatus may be utilized to derive a relative direction towards a source apparatus, for example utilizing direction of arrival (DoA) estimation process. The location of a source apparatus may be utilized along with corresponding identification information and resource information provided, for example, from the shared memory space to formulate a display on the user apparatus. For instance, graphical representations of scanned apparatuses located within one or more scan regions may be displayed. The graphical representations may include identification information and/or information related to resources available on the source apparatus. In at least one configuration, the one or more regions may be defined based on the direction in which the user apparatus is pointing during a scan.
[0009] The foregoing summary includes example embodiments of the present invention that are not intended to be limiting. The above embodiments are used merely to explain selected aspects or steps that may be utilized in implementations of the present invention. However, it is readily apparent that one or more aspects, or steps, pertaining to an example embodiment can be combined with one or more aspects, or steps, of other embodiments to create new embodiments still within the scope of the present invention. Therefore, persons of ordinary skill in the art would appreciate that various embodiments of the present invention may incorporate aspects from other embodiments, or may be implemented in combination with other embodiments.
DESCRIPTION OF DRAWINGS
[0010] The invention will be further understood from the following description of various example embodiments, taken in conjunction with appended drawings, in which:
[0011] FIG. 1 discloses the example levels of a wireless communication architecture in accordance with at least one embodiment of the present invention.
[0012] FIG. 2 discloses an example link between two wireless communication devices in accordance with at least one embodiment of the present invention.
[0013] FIG. 3 discloses an example of services being utilized to create service nodes on a billboard in accordance with at least one embodiment of the present invention.
[0014] FIG. 4A discloses an example Network on Terminal Architecture in accordance with at least one embodiment of the present invention.
[0015] FIG. 4B discloses an example transport table in accordance with at least one embodiment of the present invention.
[0016] FIG. 5 discloses an example of communication to a billboard utilizing a connection map in accordance with at least one embodiment of the present invention.
[0017] FIG. 6A-6E discloses an example of an application querying and selecting a service in accordance with at least one embodiment of the present invention.
[0018] FIG. 6F discloses an example of the provision of services between devices using a billboard in accordance with at least one embodiment of the present invention.
[0019] FIG. 7 discloses an example scenario wherein a plurality of apparatuses are situated within communication range of each other and a separately located apparatus that is not yet within communication range of the plurality of apparatuses.
[0020] FIG. 8 discloses an example of the plurality of apparatuses interacting with a shared memory space, the apparatuses being joined by the apparatus that was previously separately located in accordance with at least one embodiment of the present invention.
[0021] FIG. 9A discloses additional detail regarding the apparatus interaction example of FIG. 8 in accordance with at least one embodiment of the present invention.
[0022] FIG. 9B discloses example incorporation of location functionality into the scenario of FIG. 9 A in accordance with at least one embodiment of the present invention.
[0023] FIG. 9C discloses an example display incorporating information from the example of FIG. 9B in accordance with at least one embodiment of the present invention.
[0024] FIG. 10 discloses a flowchart for an example resource information access and display process in accordance with at least one embodiment of the present invention.
DESCRIPTION OF EXAMPLE EMBODIMENTS
[0025] While the invention has been described below in terms of a multitude of example embodiments, various changes can be made therein without departing from the spirit and scope of the invention, as described in the appended claims.
I. System Architecture
[0026] An example wireless communication architecture in accordance with at least one embodiment of the present invention is disclosed in FIG. 1. While the present invention focuses mainly on Billboard 120 and Connectivity Map 140, Whiteboard 100 is also disclosed for contextual purposes. Whiteboard 100 may comprise the highest level of operation in this architecture. At this level, operational groups 102 may be formed including whiteboards 104 and various application nodes. Application nodes may correspond to application existing on a plurality of wireless communication devices, and may be utilized to exchange information between these applications, for example, by placing data into, and removing data from, whiteboard 104. For example, the various nodes may consist of proactive nodes (PN) 106 that may be utilized to place information into whiteboard 104, reactive nodes (RN) 110 may be utilized to take information from whiteboard 104. Information semantics interpreter (ISI) 108 may be utilized to link different whiteboards together. Utilizing these constructs, Whiteboard 104 may provide a standardized means for application interaction that overcomes many incompatibilities.
[0027] Billboard level 120 may facilitate interaction between services available on the one or more devices. For instance, Billboard level 120 may enable the sharing of service-related information (e.g., service identification information, functionality, etc.), as well as any information that may be necessary in order to access and/or utilize each service. Services 130 and clients 120 that may utilize these services may be organized in service domains 122. In at least one scenario, service domains 122 may correspond to a particular protocol, such as UPnP, BT SDP, Bonjour, etc. In each service domain 122, services 130 may be represented by service nodes (SN) 126, and likewise, application nodes (AN) 128 may be established to correspond to applications. Further, service
domains 122 may interact utilizing service ontology interpreters (SOI) 124. SOI 124 may allow service domains 122 to interact with other service domains 122 in the service level, even if the service domains 122 reside on different wirelessly-linked devices (e.g., to provide access information to other service domains 122).
[0028] Connectivity map 140 may define available connectivity methods/possibilities and topology for different devices participating in sharing resources in order to support whiteboard 100 and billboard 120. In at least one embodiment of the present invention, devices 144 may be linked in directly connected groups 142. Examples of directly connected groups of devices (Dev) 142 may include devices connected via Bluetooth™ piconet, a WLAN network, a wUSB link, etc. Each directly connected group of devices 142 may further be linked by gateways (GW).
[0029] While FIG. 1 discloses an overall communication architecture usable with various embodiments of the present invention, for the sake of explanation in the present disclosure, a much more rudimentary scenario will be utilized to illustrate service node related functionality. FIG. 2 discloses device A 200 and device B 210. Examples of devices usable in instance may include various wireless communication devices ranging from very basic wireless devices like wirelessly-enabled sensors or cellular handsets to more complex wirelessly-enabled computing devices like laptop or palmtop computers, wireless communicators, personal digital assistants, or any similar devices with wired connectivity interfaces. The devices disclosed in FIG. 2 may be linked via wireless communication 220 (e.g., WLAN), for example, in order to form an ad-hoc network between the devices. Device B 210 may further include a variety of services and service search mechanism such as Bluetooth™-related BT SDP and UPnP. Under existing architecture schemes, device A 200 would not be aware of these services over wireless link 220, and further, even if device A 200 was aware, most or all of these services would probably be inaccessible due to various incompatibility issues existing between services. As a result, wireless coupling 220 between Device A 200 and Device B 210 may only be beneficial for conveying information, since no access to remote services is available.
II. Service node implementation
[0030] A service may be defined as the functionality offered or derived from a particular software program. Services may pertain to all aspects of device functionality. Services may be provided, for example, by an operating system loaded on a wireless
communication device, or may be added to the device by accessory applications related to communication, security, productivity, device resource management, entertainment, etc. In accordance with at least one embodiment of the present invention, one or more service nodes may be established to correspond to services available on the one or more devices.
[0031] FIG. 3 discloses an example of billboard functionality in accordance with at least one embodiment of the present invention. Billboard 300 may comprise a shared memory space established amongst one or more wired or wireless devices. The scenario disclosed in FIG. 3 may further include a protocol such as UPnP 310 installed on a device (e.g., device A 200), and Bluetooth™ SDP 320 installed, for example, on device B 210. Billboard 300 may interact with these protocols using one or more services installed on devices A 200 and B 210, such as example billboard services BB UPnP service 312 and BB SDP service 322. BB services 312 and 322 may typically be components of UPnP and BT architecture but they may be components of an NoTA architecture, an example configuration of which is described in detail below with respect to FIG. 4.
[0032] UPnP 310 may offer various services locally on device A 200. These services may include UPnP media renderer service 316 and UPnP mass storage service 318. Similarly, Bluetooth™ SDP 320 may provide BT OBEX service 316 and BT mass storage service 328 on device B 210. It is important to note that these specific services have been used only for the sake of example in the present disclosure, and are not intended to limit the scope of services usable with various embodiments of the present invention. While these example services would normally only be accessible to applications residing on the same service domain, the present invention, in accordance with at least one embodiment, may provide for the interaction of various services and/or applications, regardless of the domain on which a service resides.
[0033] At least one embodiment of the present invention may operate by creating service information entries corresponding to services offered on each device in billboard table 300. In the scenario disclosed in FIG. 3, BB UPnP node 314 and BB SDP node 324 may create service information entries UPnP media renderer service 316A and UPnP mass storage service 318 A, as well as BT OBEX service 316A and BT mass storage service 328A, respectively. These service information entries exist in a common billboard table 300, despite the protocols and services actually residing on separate devices. Further, the service information entries may provide information about services
to other services and/or applications, such as the name of the service, service properties, pairing & authentication information utilized in accessing a particular service and/or transport mediums usable with each service. This service information may be obtained, for example by utilizing BB SDP service 324 if billboard table 300 wants to be used from the BT domain, or BB UPnP 314 service if billboard table 300 is wants to be utilized from the UPnP domain. It may also be possible that some architectures, such as NoTA, support billboard service directly. NoTA services 302 may be utilized, in accordance with at least one embodiment of the present invention, to establish the initial communication between devices A 200 and B 210 via a wireless communication medium in order to establish a shared memory space that will be utilized as Billboard table 300.
III. Underlying architecture
[0034] FIG. 4A discloses an example of an underlying logical architecture that may be utilized in implementing NoTA. NoTA may be configured as multiple subsystems (e.g., 400 and 420) coupled by interconnect 450. NoTA interconnect 450 may comprise two layers: High Interconnect (H IN) layer 452 and Low Interconnect (L_IN) layer 454 coupled by switch 456. Low interconnect layer 454 may include ISO/OSI layers Ll - L4 and may provide transport socket type interface upwards. High Interconnect layer 452 may act as the middleware between L_IN 454 and the higher level Application nodes (AN) 402 and Service nodes (SN) 422 residing in subsystems like 400 and 420. Key H_IN 452 functionality is to provide client nodes (AN 402 or SN 422) on top a direct access to services (without having to disclose the location of the latter). Communication may be connection-oriented, meaning that before any service or data communication takes place, connection setup procedures need to be carried out. Security features have been added to countermeasure the identified threats. NoTA is an architecture that may be used to provide intra-device service access, making it possible to build independent subsystems providing both services and applications. In an example implementation there may be several individual NoTA devices involved in direct inter sub- system communication.
[0035] FIG. 4B discloses another underlying construct that may be implemented in various embodiments of the present invention. Connectivity map 480 may be utilized to map the various services offered on the one or more devices participating in billboard table 300 to various transport mediums that may be utilized with each service. In the
present example, transport mediums may comprise wireless communication mediums such as Bluetooth™, WLAN, Wibree™, wUSB, etc. In addition, the present invention, in accordance with at least one embodiment, may also be that radio technologies can be used with several protocols (e.g., Bluetooth protocols may be implemented over WLAN). However, the present invention is not specifically limited to using these particular wireless communication mediums, and may be implemented with other wireless communication mediums that are usable by services offered by various devices. In this example, Services offered by the devices may be listed under services 482, and the corresponding available transport mediums are listed under transports 484. Arrows between services 482 and transport mediums 484 indicate the one or more transport mediums usable by each service. The information in connectivity map 480 may, in accordance with various embodiments of the present invention, create a binding between billboard table content (e.g., service offerings) and connectivity map table content (e.g., available device connectivity configurations) so that this information may be utilized, for example, by applications in determining an appropriate transport medium to utilize with a particular service. Where two or more transport mediums are available, a particular transport medium may be selected based on various characteristics such as speed, traffic, priority of executing the service, other active wireless communication mediums, etc.
[0036] Now referring to FIG. 5, an example depicting a wireless transaction between device A 200 and device B 210 is disclosed in accordance with at least one embodiment of the present invention. In this instance, BB service search 500 on device A 200 may require the use of a particular service. Further, billboard table 300 may reside on device B 210. Regardless of the actual location of the service required by BB service search 500, a query may be made of billboard table 300 to gain access to a corresponding service node. This is because all available service information on the one or more devices participating in billboard table 300 is centrally located, reducing the steps required to access each service, and therefore, increasing the speed of access for available services. In addition, various embodiments of the present invention may include more than one billboard table 300 established between the linked devices. These billboard tables 300 may interact with each other to create a shared information pool that services may access.
[0037] BB service search 500 may, for example, using NoTA service 502 residing on device A 200 in order to access billboard table 300. In this example, connectivity map
504 may map to at least Bluetooth™ 506 as a transport medium usable by NoTA service 502. Other wireless communication mediums may also be usable as transport mediums, however in this example Bluetooth TM 506 is selected (e.g., by a user, by BB service search 500, by an application calling BB service search 500, etc.) A Bluetooth™ wireless link 508 may then be utilized to communicate between device A 200 and device B 210.
[0038] The wireless inquiry sent by device A 200 may then be received by device
B 210. Bluetooth™ resources 520 in device B may correspond to (e.g., may be usable by) NoTA service 524 as determined by a mapping in connectivity map 522. NoTA service 524 may provide access to search billboard table 300, which may contain various service information entries 528 corresponding to various services available in the linked wireless communication devices. Again, while two devices are shown in the example of FIG. 5, more than two devices may participate in billboard table 300, including service nodes 528 corresponding to services that are offered by each device. BB service search 500 may then perform an inquiry of the service information entries 528 available in billboard table 300 in order to determine if any of the services corresponding to service information entries 528 will be suitable for the parameters specified in the search. An example inquiry of billboard table 300 is now described with respect to FIG. 6A-6E.
IV. Example Application/Service Node Interaction
[0039] FIG. 6A-6E disclose an example usage scenario in accordance with at least one embodiment of the present invention. In FIG. 6 A, an example situation is shown wherein application 600 running on one of the devices participating in billboard table 300 may have a requirement for storage as indicated at 602. As a result, access to a service providing storage activities may be desired in order to support application 600. This inquiry may be performed, at least in part, by a billboard query 604.
[0040] An inquiry process in accordance with at least one embodiment of the present invention is shown in FIG. 6B. Storage inquiry 602 may be referred billboard query 604, which queries all of the service nodes in billboard table 300 in order to determine the services that may potentially fulfill the needs of Application 600. In FIG. 6B two service nodes have been highlighted as potentially corresponding to services appropriate for storage requirement 602. The potentially applicable service information entries are UPnP mass storage 318A and BT mass storage 328 A. Billboard query 604 may further obtain information related to the services from their respective nodes. For
example, property information may be supplied by service information entries 318A and 328A to application 600 through billboard query 604. Information regarding transport mediums usable by each service may also be obtained through the use of connectivity map 480. All of the aforementioned information may be used in determining which service to select for supporting application 600. For example, the properties of a particular service may be more useful for, or accessible to, application 600. A particular service may also be selected because a usable transport medium is better able to support the activity to be performed because other transport mediums already have too much traffic, are experiencing interference, conflict with other transport mediums, etc.
[0041] In FIG. 6C, BT mass storage service information entry 328A has been selected to support application 600. This selection may be made automatically by control elements in the one or more devices supporting billboard table 300, by application 600, by user selection of a preferred service and/or transport medium, etc. Billboard query 604 may then obtain all of the information necessary to access BT Mass storage service 328 from BT mass storage service information entry 328A. This information may include, for example, property information and transport medium information that may be further conveyed to application 600 in order to facilitate a direct link between application 600 with BT Mass storage service 328. An example direct linkage is shown in FIG. 6D, and a communication transaction resulting between application 600 and BT Mass storage service 328 is further shown in FIG. 6E.
[0042] Now referring to FIG. 6F, an example of devices providing services to other devices via billboard table 300 in accordance with at least one embodiment of the present invention is disclosed. In this example, devices 610 and 620 may be wirelessly coupled to device 630. A UPnP protocol in device 610 may couple to device 630 via WLAN, as shown at 612, in order to create a UPnP mass storage service node in billboard table 300. Similarly, a BT mass storage service in device 620 may utilize the BT SDP protocol to create a service node in billboard table 300 via Bluetooth™ communication 622. After these devices have established billboard table 630, device 640 may enter.
[0043] Device 640 includes an application that requires a storage service. Device
640 may then access billboard table 300 on device 630 as shown at 642. This connection may be made, for example, utilizing a NoTA service communicating over WLAN. Device 640 may access billboard table 300 in order to query the available services. If
more than one applicable service is located, a selection may be made as to the service most appropriate for the application. In this example it is determined that the BT mass storage service will be most appropriate to assist the application in device 640. Device 640 may then obtain information from the BT mass storage node, such as property and transport medium information, that will be needed in order to access the BT mass storage service. Device 640 may then access the BT mass storage service on device 620 in order to establish a direct connection between the application and the service a shown at 644.
V. Example scenario for apparatus interaction
[0044] FIG. 7 discloses an example usage scenario that will be utilized to explain various example embodiments of the present invention. While the disclosed example comprises four apparatuses located within communication range of each other (e.g., in the same room) that are joined by a fifth apparatus, the particular situation disclosed in FIG. 7 is not intended to limit the present invention to any specific type of apparatus interaction. Moreover, various example embodiments of the present invention may be implemented in a multitude of usage scenarios where a plurality of apparatuses may be interoperating.
[0045] Now referring to FIG. 7, user apparatus 700 is shown separately located from space 710. Space 710 has been disclosed as enclosed room (e.g., a room), however, this is not an operational requirement. Various embodiments of the present invention may still be implemented in cases where apparatuses 712-720 are located in the same physical space as user apparatus 700. FIG. 7 simply depicts an example situation where user apparatus 700 is not located within communication range of other apparatuses.
[0046] Apparatuses 712-720 may vary in type. As communication technology continues to evolve, more and more devices that typically would operate in a standalone manner are now being incorporated with communication resources. These resources allow apparatuses to provide information to other apparatuses via wired or wireless transports, and this information may in turn be utilized as an input to control other processes. Sensors and monitors are simple examples of devices that are now able to communicate monitored conditions. A temperature sensor may be utilized to measure inside and/or outside temperature for controlling an HVAC system. A water sensor may be affixed to pipes, a sump pump, a water heater, etc. in order to monitor for the presence of water, and if water is detected a signal may be provided to an alarming system for alerting of the need for repair. Other apparatuses may include more advanced resources
for providing access to complex systems. For example, some computerized apparatuses may allow a remote apparatus to electronically control a process, may provide electronic information services such as servers for distributing live television or radio broadcasts or previously stored information including data files, multimedia files, etc. Computerized apparatuses may access other information sources to obtain information, for example, via a wired or wireless connection to the Internet, via analog or digital wireless broadcasts, etc. As the above examples represent only a small sample of devices that are available, the functionality of such apparatuses will generically be referred to herein as "resources" that are available on an apparatus. Resource information for an apparatus may therefore include the identification of services and/or data that may be provided by the apparatus.
[0047] Apparatuses 712-720 in FIG. 7 may be configured to provide services and/or data to other apparatuses, and represent different communication configurations that may be encountered. For example, apparatus A 712 may incorporate all resources required for establishing direct wireless connections with other apparatuses. These resources may include, for example, one or more communication modules including hardware (e.g., an antenna) and software (e.g., communication utilities) configured to support one or more wireless transports. Apparatus B 714 may include communication facilities similar to apparatus A 712 in that the device may interact directly via wireless communication. However, apparatus B 714 may further include hardware and software configured to support wired networking (e.g., Ethernet). An example is shown in FIG. 7 wherein apparatus C 716 is coupled to apparatus B 714 via a wired connection. In this scenario, apparatus C 716 may be considered a network node in the network formed between the two apparatuses, and apparatus C 716 may further utilize this relationship to transmit wireless information utilizing the communication resources in apparatus B 714.
[0048] Transceiver 718 may be configured to support wireless communication in a manner similar to apparatus A 712. However, transceiver 718 may also be configured to send information to, and/or receive information from, apparatus D 720 via wireless communication. Transceiver 718 may therefore incorporate one or more communication modules to communicate with both apparatus D 720 and also other apparatuses 712-716 that may be located within communication range. For instance, apparatus D 720 may be a temperature sensor located outside of space 710 (e.g., on the exterior of a home, office building, etc.), and may transmit measurement data to transceiver 718 via close proximity
wireless communication such as radio frequency (RF), infrared (IR), Ultra Low Power Bluetooth™ (ULP-BT) communication, etc. Transceiver 718 may in turn transmit some or all of the received temperature information with apparatuses 712-716 via the same or another wireless transport, depending upon the capabilities of the other apparatuses. Also shown in FIG. 7 is user apparatus 700, which may include at least communication resources configured for interacting with apparatuses 712-718 via a wireless transport.
[0049] In accordance with various example embodiments of the present invention, apparatuses 712-720 may interact using a shared memory space. As disclosed in FIG. 8, each apparatus 712-720 may submit resource information into billboard 800 comprising, for example, one or more service information entries corresponding to services and data. The drawing reference numbers previously discussed with respect to FIG. 7 have, for the most part, been omitted in order to clarify the exemplary embodiment presented in FIG. 8. In this example, billboard 800 may reside within the memory of one or more of the apparatuses, and may be accessible by all apparatuses directly or indirectly (e.g., using the wireless communication resources of another apparatus). Service information entries 812, 822, 832 and 842 may correspond to one or more services or instances of stored data available on apparatuses 712, 714, 716 and 720, respectively. Each service information entry may further include, or be associated with, connectivity information that specifies one or more required (or preferred) communication configurations for accessing each available service and/or instance of stored data. Therefore, in the example disclosed in FIG. 8 the resource information for apparatuses 712, 714, 716 and 720 may comprise one or more service information entries indicating available services or stored data along with corresponding connectivity information. No service information entry corresponds to transceiver 718 because in the example implementation of FIG. 8 transceiver 718 only serves to relay information for apparatus 720, and therefore, does not offer any services or stored data.
[0050] In addition, each device may further include a beacon configured to emit a signal incorporating at least identification information for the corresponding apparatus. For example, beacons 810, 820, 830 and 840 may correspond to apparatuses 712, 714, 716 and 720, respectively. In at least one exemplary implementation, beacons 810-840 may emit a short-range wireless signal containing information allowing an apparatus receiving the signal to identify the source, and possibly, as will be discussed with respect
to FIG. 9A-9C, determine the source's location. Ultra low power Bluetooth™ (ULP-BT) is one transport that may be utilized based on, for example, it's ability to convey data to devices over short distances using a specification that is similar to standard Bluetooth TM (and is therefore may utilize the same hardware as Bluetooth™), but is optimized for power conservation, which may be especially useful for "constrained" apparatuses, (e.g., devices that may have limited data processing ability, that are powered by batteries, etc.).
[0051] FIG. 8 further shows user apparatus 700 entering into communication range of apparatuses 712-720. The interaction of user apparatus 700 and apparatuses 712-720 is disclosed further with respect to FIG. 9A-9C. User apparatus 700 may, in accordance with at least one embodiment of the present invention, include facilities for determining the direction from which a signal is received. The ability to determine the direction from which signals are received is represented by Direction of Arrival (DoA) estimation module 900 in FIG. 9A. While DoA estimation is discussed in this disclosure, the present invention is not specifically limited to the use of DoA estimation, and may be implemented with other means for determining the arrival direction of a received signal.
[0052] In DoA estimation, the signal strength, phase, etc. may be measured on each of a plurality of antennas (e.g., forming an antenna array). An example of an antenna array is shown in FIG. 9A. This example array includes six antennas 902-912. While the example antenna array is arranged in a rectangular formation around the periphery of user apparatus 700, the actual configuration of the antenna array may vary depending, for example, on the type of antenna, number of antennas, structure of the apparatus, etc. User apparatus 700 may further include standard hardware and/or software modules corresponding to the intended functionality of the apparatus, which is represented by operating system (OS) 920 in FIG. 9A. For instance, if an apparatus is intended for mobile wireless communication, then OS 920 may include hardware and/or software modules supporting long and short-range wireless communication, user interfaces, communication utilities, applications, etc.
[0053] In particular, the example of FIG. 9 A discloses at least two methods by which user apparatus 700 may receive information. Initially, user apparatus 700 may receive wireless signal information into antennas 902-912 from one or all of beacons 810- 840. The received wireless signal information may include, for example, information identifying the source of the signal. Further, user apparatus 700 may receive information
from billboard 800. For example, user apparatus may perform query 942 in billboard 800 in order to obtain resource information from one or more of apparatuses 712-720. In accordance with at least one example implementation of the present invention, the information received via billboard 800 may comprise at least apparatus identification information, services and/or data offered by the apparatus and connectivity information. Connectivity information may include at least the communication transports supported by an apparatus, and may be displayed so that a user may be apprised of the available communication options that may be configured. Alternatively, apparatuses participating in billboard 800 may utilize the connectivity information to automatically establish a communication link over which the desired service or data may be accessed. Further, certain shared memory space implementations (e.g., NoTA) may allow for the automatic reconnection of a link using a different transport on the occurrence of an event. For example, the failure of the initially selected transport may cause the system to automatically "fail over" to a new transport.
[0054] In at least one example configuration, user apparatus 700 may map the resource information received from billboard inquiry 942 to identification information also received from billboard 800, from beacons 810, 820, 830 and 840. This mapping may be utilized for difference activities. For example, the mapped resources may be utilized to form a display including the identification of each apparatus that has offered services and/or data via billboard 800. Either in the same display, or as the result of an event (e.g., a user selecting an apparatus utilizing a key input or touch screen) resource information corresponding to each apparatus may be displayed. The resource information may include at least the identification of services and/or data that may be available on an apparatus, as well as apparatus connectivity information. Connectivity information may comprise transports supported by an apparatus and any other related information that may be needed in order to establish communication with the apparatus via the transport.
[0055] Another example utility for mapped identification/resource information, usable alone or in conjunction with the above display example, is accessing a service or stored data. In at least one scenario, information may be displayed on a user apparatus that indicates resources or stored data that is available for access. A simplified form of such a display may only identify the service or stored data that is available without the corresponding resource information. This may occur, for example, in a situation where
the apparatus is meant for users of limited technical skill. The selection of a service or stored data item on the display may then automatically access the desired resource in a manner that is transparent to the user. More specifically, it is possible for a user to make a selection, and an apparatus to automatically access the resource utilizing the mapped information without involving the user in any configuration. Further, this same process may occur when a user accesses applications on the user apparatus that may require services or stored data residing on another apparatus. A user may activate the program and trigger an activity (e.g., play music) and the application may utilize the mapped information to establish a connection and access the required service, media file, etc.
[0056] In a situation where the mapped information will be utilized to create a display for a user, the apparatus information contained in the display may be organized in various formats, including but not limited to, a listing of apparatuses, table of apparatuses, a graphical representation of the apparatuses, etc. Further, the particular order in which the apparatuses may be presented may depend on various characteristics. For example, a display may be arranged based on the relative strength of beacon signals received from each apparatus, the relevance of available services and/or data to a subject, topic, type, etc., whether any of the apparatuses were previously encountered by user apparatus 700 (e.g., a previously paired device), a preferred transport, a user configuration, etc.
[0057] In at least one example configuration, apparatuses that are interacting with billboard 800 may be displayed on user apparatus 700 in a graphical manner based on location. For example, DoA module 900 may be utilized to resolve relative or actual location information for each apparatus, and this information may be utilized to. FIG. 9B discloses an implementation wherein DoA module 900 may determine a location for each apparatus, which is represented by directional arrows 960-966. Location information resolution may depend upon the capabilities of the location method. If, for example, the location module is capable of providing the direction of arrival of a received signal, then apparatus location information may comprise a direction relative to user apparatus 700. Otherwise, if the location methodology can determined an actual position (e.g., geographic coordinates, distance and direction, etc.) then the location may be the actual position of an apparatus. FIG. 9B further shows that apparatus location information 960- 966 may be associated with resource information obtained, for example, via query 942 to
billboard 800. In particular, apparatus service, data and connectivity information may be associated with the location (e.g., direction, actual position, etc.) of the apparatus.
[0058] Now referring to FIG. 9C, a graphical display that may be implemented in accordance with at least one embodiment of the present invention is shown. User apparatus 700 may scan area 980. More specifically, an example of the area covered by DoA module 900, and more specifically antennas 902-912, may be limited to the area defined by 980. This area may be truncated as shown in FIG. 9C in order to limit the scan area to a particular direction, for example, the direction in which user apparatus 700 is "aimed" or is "pointing." In addition, a more refined scan region 982 may be defined within the overall scan area 980. Scan region 982 may be utilized to "select" a particular apparatus by pointing user apparatus 700 at the desired apparatus.
[0059] Apparatuses that reside within area 980, and in particular within region
982, may be depicted in the displayed representations of these regions 980A and 982 A, respectively. In FIG. 9C, apparatus B 714 and apparatus C 716 fall within the area 980, and apparatus C 716 falls within region 982. While transceiver 718 also falls within area 980, it does not have a signal beacon, and therefore, would not be detected. The signal beacon is instead located on apparatus D 720, which is located outside of area 890.
[0060] Graphical representations of apparatus B 714 and apparatus C 716 are shown on user apparatus 700 in FIG. 9C. In addition, triggering an event on user apparatus 700 (e.g., the selection of an apparatus via a key input in the user interface of user apparatus 100, touch screen, etc.) may cause resource information 984 corresponding to the selected apparatus to be displayed. For example, resource information 984 that may be displayed in response to the triggering of an event may include the identification of services/data available on apparatus C 716, connectivity information for apparatus C 716, an inquiry as to whether a user would like to access resources on apparatus C 716, etc. In response to the example inquiry issued by user apparatus 700, a user may further interact with the apparatus (e.g., via a user interface) in order to cause user apparatus 700 to execute an activity, such as accessing services or data on apparatus C 716.
[0061] A flowchart depicting an example process in accordance with at least one embodiment of the present invention is disclosed in FIG. 10. An apparatus (e.g., a user apparatus for the sake of example) may enter into an area in step 1000. Entering into an area may comprise, for example, an apparatus moving into communication range of one
or more other apparatuses. The user apparatus may then determine whether a shared memory space (e.g., a billboard) has been established. If no billboard is detected, the user apparatus may operate in more traditional manner in order to obtain resource information. For example, in step 1004 the user apparatus may perform an inquiry to establish wired or wireless links to other apparatuses within communication range. Upon establishing communication with each apparatus, the user apparatus may obtain resource information (step 1006), which may then be mapped corresponding to identification information for each apparatus (step 1008). The mapped information may then be utilized in step 1010. For exampled, the mapped information may be utilized for creating a user display, accessing a particular service, supporting the operation of an application that may require remotely located resources, etc. As set forth above, this information may be displayed in a variety of formats (e.g., list, table, graphically, etc.) The process may then return to step 1000 in order to prepare for apparatus discovery (e.g., resulting from new apparatuses entering into the area, encountered by moving the user apparatus to a new area, etc.).
[0062] If a billboard is located in step 1002, then in step 1012 the user apparatus may access the billboard. A determination may then be made in step 1014 as to whether pointing (e.g., location-based selection functionality) is available. A determination that pointing is available may comprise, for example, sensing the presence of wireless beacon signals from apparatuses in proximity to the user apparatus. If pointing is determined to be unavailable, then in step 1016 the user apparatus may obtain apparatus identification and resource information from the billboard, which may be mapped together in step 1008 and utilized in various ways, such as in the examples set forth above regarding step 1010.
[0063] If pointing is determined to be available in step 1014, then in step 1018 a further determination may be made as to whether pointing has been activated. If pointing functionality is not active, then the process may proceed as if no pointing functionality was available, which has been described above with respect to step 1016. Otherwise, in steps 1020 and 1022 the user apparatus may scan for beacon signals. If one or more beacon signals are located, identification, resource and location information may be mapped for the corresponding apparatuses in step 1024. In at least one example embodiment of the present invention, the identification and location information may be provided by the received beacon signal, and the corresponding resource information may be obtained from the billboard. The mapped identity, resource and location information
may be utilized in step 1028. For example, results from the mapping may be displayed and/or used for accessing services or stored data by users, applications, etc. Discovery, mapping and utilization may continue in steps 1022-1026 with the continued scanning for beacon signals (step 1030) until a determination is made that no further information is necessary in step 1028. The process may then return to step 1000 in order in preparation for further apparatus discovery (e.g., resulting from new apparatuses entering the same area as a user apparatus, encountered by moving the user apparatus to a new area, etc.).
[0064] Accordingly, it will be apparent to persons skilled in the relevant art that various changes in forma and detail can be made therein without departing from the spirit and scope of the invention. The breadth and scope of the present invention should not be limited by any of the above-described example embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims
1. A method, comprising: entering into communication range of one or more apparatuses; if any of the one or more apparatuses are configured to interact using a common memory space, accessing the common memory space; if any of the one or more apparatuses are configured to emit beacon signals comprising identification information, receiving the beacon signals; and mapping the identification information for at least one of the one or more apparatuses to resource information obtained from the common memory space, the resource information indicating at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus.
2. The method of claim 1, wherein the one or more apparatuses provide the resource information to the common memory space, the common memory space residing in the memory of at least one of the one or more apparatuses.
3. The method of claim 1, wherein if the one or more apparatuses are not configured to interact via a common memory space, obtaining the resource information from each of the one or more apparatuses individually via direct communication.
4. The method of claim 1, wherein a location for at least some of the one or more apparatuses is determined based on the beacon signals emitted from each of the one or more apparatuses.
5. The method of claim 4, wherein the location of at least some of the one or more apparatuses is based on a direction of arrival estimation for each beacon signal received in an apparatus relative to a pointing direction of the apparatus.
6. The method of claim 4, wherein in addition to the resource information, a location corresponding to the identification received in the beacon signal is also mapped.
7. The method of claim 1, further comprising one or both of displaying results from the mapping or using the mapping to access at least one of services or stored data.
8. The method of claim 7, wherein the identification information and the resource information comprising at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus is displayed in at least one of a listing, table, or in graphical format.
9. The method of claim 7, wherein the results from the mapping for each of the one or more apparatuses that is located within a region of a scan area defined relative to a pointing direction of the apparatus is displayed graphically on the apparatus.
10. The method of claim 1, wherein the connectivity information describes one or more preferred communication configurations for accessing each identified service or stored data.
11. A computer program product comprising computer executable program code recorded on a computer readable medium, the program code comprising: computer executable program code configured to, if any of the one or more apparatuses are configured to interact using a common memory space, access the common memory space; computer executable program code configured to, if any of the one or more apparatuses are configured to emit beacon signals comprising identification information, receive the beacon signals; and computer executable program code configured to map the identification information for at least one of the one or more apparatuses to resource information obtained from the common memory space, the resource information indicating at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus.
12. The computer program product of claim 11, wherein the one or more apparatuses provide the resource information to the common memory space, the common memory space residing in the memory of at least one of the one or more apparatuses.
13. The computer program product of claim 11, wherein if the one or more apparatuses are not configured to interact via a common memory space, obtaining the resource information from each of the one or more apparatuses individually via direct communication.
14. The computer program product of claim 11, wherein a location for at least some of the one or more apparatuses is determined based on the beacon signals emitted from each of the one or more apparatuses.
15. The computer program product of claim 14, wherein the location of at least some of the one or more apparatuses is based on a direction of arrival estimation for each beacon signal received in an apparatus relative to a pointing direction of the apparatus.
16. The computer program product of claim 14, wherein in addition to the resource information, a location corresponding to the identification received in the beacon signal is also mapped.
17. The computer program product of claim 11, further comprising one or both of displaying results from the mapping or using the mapping to access at least one of services or stored data.
18. The computer program product of claim 17, wherein the identification information and the resource information comprising at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus is displayed in at least one of a listing, table, or in graphical format.
19. The computer program product of claim 17, wherein the results from the mapping for each of the one or more apparatuses that is located within a region of a scan area defined relative to a pointing direction of the apparatus is displayed graphically on the apparatus.
20. The computer program product of claim 11, wherein the connectivity information describes one or more preferred communication configurations for accessing each identified service or stored data.
21. An apparatus, comprising: at least one communication module; and a processor, the process being configured to: if any of the one or more apparatuses are configured to interact using a common memory space, access the common memory space; if any of the one or more apparatuses are configured to emit beacon signals comprising identification information, receive the beacon signals; and map the identification information for at least one of the one or more apparatuses to resource information obtained from the common memory space, the resource information indicating at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus.
22. The apparatus of claim 21, wherein the one or more apparatuses provide the resource information to the common memory space, the common memory space residing in the memory of at least one of the one or more apparatuses.
23. The apparatus of claim 21, wherein if the one or more apparatuses are not configured to interact via a common memory space, obtaining the resource information from each of the one or more apparatuses individually via direct communication.
24. The apparatus of claim 21, wherein a location for at least some of the one or more apparatuses is determined based on the beacon signals emitted from each of the one or more apparatuses.
25. The apparatus of claim 24, wherein the location of at least some of the one or more apparatuses is based on a direction of arrival estimation for each beacon signal received in an apparatus relative to a pointing direction of the apparatus.
26. The apparatus of claim 24, wherein in addition to the resource information, a location corresponding to the identification received in the beacon signal is also mapped.
27. The apparatus of claim 21, further comprising one or both of displaying results from the mapping or using the mapping to access at least one of services or stored data.
28. The apparatus of claim 27, wherein the identification information and the resource information comprising at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus is displayed in at least one of a listing, table, or in graphical format.
29. The apparatus of claim 27, wherein the results from the mapping for each of the one or more apparatuses that is located within a region of a scan area defined relative to a pointing direction of the apparatus is displayed graphically on the apparatus.
30. The apparatus of claim 21, wherein the connectivity information describes one or more preferred communication configurations for accessing each identified service or stored data.
31. An apparatus, comprising: means for, if any of the one or more apparatuses are configured to interact using a common memory space, accessing the common memory space; means for, if any of the one or more apparatuses are configured to emit beacon signals comprising identification information, receiving the beacon signals; and means for mapping the identification information for at least one of the one or more apparatuses to resource information obtained from the common memory space, the resource information indicating at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus
32. A system, comprising: a user apparatus; and one or more other apparatuses the user apparatus entering into communication range of the one or more other apparatuses; the user apparatus being configured to, if any of the one or more apparatuses are configured to interact using a common memory space, access the common memory space, and if any of the one or more apparatuses are configured to emit beacon signals comprising identification information, receive the beacon signals; and the user apparatus being further configured to map the identification information for at least one of the one or more apparatuses to resource information obtained from the common memory space, the resource information indicating at least one of services or stored data available on the at least one apparatus with connectivity information for accessing the corresponding at least one of services or stored data available on the at least one apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2008/053642 WO2010029386A1 (en) | 2008-09-09 | 2008-09-09 | Accessing resources via adaptive connection creation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2008/053642 WO2010029386A1 (en) | 2008-09-09 | 2008-09-09 | Accessing resources via adaptive connection creation |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010029386A1 true WO2010029386A1 (en) | 2010-03-18 |
Family
ID=40578761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2008/053642 WO2010029386A1 (en) | 2008-09-09 | 2008-09-09 | Accessing resources via adaptive connection creation |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010029386A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498230B2 (en) | 2009-03-03 | 2013-07-30 | Nokia Corporation | Power management in wireless communication systems |
US8774021B2 (en) | 2009-12-10 | 2014-07-08 | Nokia Corporation | Data-related task support in wireless communication systems |
US8804589B2 (en) | 2011-10-14 | 2014-08-12 | Nokia Corporation | Adaptive awake window |
US8842605B2 (en) | 2009-12-10 | 2014-09-23 | Nokia Corporation | Network discovery in wireless communication systems |
US9042828B2 (en) | 2012-11-26 | 2015-05-26 | Nokia Corporation | Method, apparatus, and computer program product for optimized discovery between mobile devices |
US9148840B2 (en) | 2009-03-03 | 2015-09-29 | Nokia Technologies Oy | Beaconing mode for wireless communication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1865687A1 (en) * | 2006-06-06 | 2007-12-12 | Koninklijke KPN N.V. | Proxy-bridge for connecting different types of devices |
EP1901086A2 (en) * | 2006-09-15 | 2008-03-19 | Nokia Corporation | Performance and power management in direction of arrival determination by utilizing sensor information |
-
2008
- 2008-09-09 WO PCT/IB2008/053642 patent/WO2010029386A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1865687A1 (en) * | 2006-06-06 | 2007-12-12 | Koninklijke KPN N.V. | Proxy-bridge for connecting different types of devices |
EP1901086A2 (en) * | 2006-09-15 | 2008-03-19 | Nokia Corporation | Performance and power management in direction of arrival determination by utilizing sensor information |
Non-Patent Citations (2)
Title |
---|
ANNTI LAPETELÄINEN ET AL: "Networked systems, services and information/THE ULTIMATE DIGITAL CONVERGENCE", INTERNET CITATION, 11 June 2008 (2008-06-11), pages 1 - 7, XP002514891, Retrieved from the Internet <URL:http://www.notaworld.org/files/common/TheUltimateDigitalConvergence.pdf> [retrieved on 20090120] * |
VERVERIDIS C N ET AL: "Service discovery for mobile Ad Hoc networks: a survey of issues and techniques", IEEE COMMUNICATIONS SURVEYS, IEEE, NEW YORK, NY, US, vol. 10, no. 3, 1 July 2008 (2008-07-01), pages 30 - 45, XP011234560, ISSN: 1553-877X * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498230B2 (en) | 2009-03-03 | 2013-07-30 | Nokia Corporation | Power management in wireless communication systems |
US9148840B2 (en) | 2009-03-03 | 2015-09-29 | Nokia Technologies Oy | Beaconing mode for wireless communication |
US8774021B2 (en) | 2009-12-10 | 2014-07-08 | Nokia Corporation | Data-related task support in wireless communication systems |
US8842605B2 (en) | 2009-12-10 | 2014-09-23 | Nokia Corporation | Network discovery in wireless communication systems |
US9307551B2 (en) | 2009-12-10 | 2016-04-05 | Nokia Technologies Oy | Data-related task support in wireless communication systems |
US8804589B2 (en) | 2011-10-14 | 2014-08-12 | Nokia Corporation | Adaptive awake window |
US9042828B2 (en) | 2012-11-26 | 2015-05-26 | Nokia Corporation | Method, apparatus, and computer program product for optimized discovery between mobile devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10616722B2 (en) | Localization in machine-to-machine systems | |
CN107148784B (en) | Method, apparatus, and storage medium for dynamic mobile ad hoc networking | |
JP6751094B2 (en) | Method, apparatus and system for supporting wireless communication | |
US9596603B2 (en) | Distributed bulk onboarding process | |
ES2843574T3 (en) | Triggering commands on a target device in response to broadcast event notifications | |
US10873637B2 (en) | Controlling service discovery and activation among peers | |
US20100309049A1 (en) | Directional data distribution | |
Di Flora et al. | Indoor and outdoor location based services for portable wireless devices | |
KR101519398B1 (en) | Area tracking systems and methods of tracking electronic devices | |
KR20170041743A (en) | Method and apparatus for automatically generating an events dictionary in an internet of things (iot) network | |
Furfari et al. | Discovering location based services: A unified approach for heterogeneous indoor localization systems | |
CN105794176A (en) | Discovering cloud-based services for IoT devices in an IoT network associated with a user | |
WO2010029386A1 (en) | Accessing resources via adaptive connection creation | |
KR20160055902A (en) | A user interactive application enabled gateway | |
US20160037445A1 (en) | Identification-assisted wireless network connections | |
KR20140048659A (en) | Iot device and iot adapter with device platform | |
CN105684520A (en) | Method for establishing wireless lan communication connection and electronic device therefor | |
US20100250722A1 (en) | Connectivity management for transport independent architectures | |
WO2017214137A1 (en) | Methods, devices and systems for supporting wireless communication | |
US20110314192A1 (en) | UPnP CONTROL POINT FOR SEARCHING UPnP DEVICE BASED ON THE LOCATION AND SEARCHING METHOD USING THE SAME | |
KR20220063229A (en) | Passive sensor tracking using existing infrastructure | |
US20130086168A1 (en) | System and method for sharing dlna network information | |
US20110113138A1 (en) | Semantically enhanced service switching | |
US10298695B2 (en) | Cognitive connectivity management | |
KR102418389B1 (en) | New device registration method and operating method of the new device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08789679 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08789679 Country of ref document: EP Kind code of ref document: A1 |