BACKGROUNDService providers and device manufacturers (e.g., wireless, cellular, etc.) are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services. One area of interest has been the development of interactive resources and services available to users of mobile devices (e.g., mobile phones or tablets) while driving or being a passenger in a vehicle. More specifically, the resources and services are provisioned between the mobile devices and one or more network attachment points in the vehicle (e.g., an access point (AP)) based on one or more short-range wireless communication technologies such as Bluetooth, Near Field Communication (NFC), or a combination thereof. Once a connection between a device and the vehicle has been established, the device can use the resources associated with the vehicle (e.g., loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc.) and the vehicle may benefit from the resources of the device (e.g., global positioning system (GPS) sensors, internet connectivity, messaging technologies, etc.). However, the introduction and/or use of multiple mobile devices near or within the vehicle pose a number of dynamic configuration and security concerns. More specifically, certain services require different kinds of authentication in different contexts (e.g., unlocking a vehicle door compared to media rendering). Moreover, the context of the device user may affect the possible selection, offering, and using of one or more services. Further, one or more device users may want to share services associated with the vehicle, the one or more other devices, or a combination thereof. Accordingly, service providers and device manufacturers face significant technical challenges in providing a service that expeditiously configures one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels.
SOME EXAMPLE EMBODIMENTSTherefore, there is a need for an approach for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels.
According to one embodiment, a method comprises determining proximity information of one or more devices with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure. The method also comprises processing and/or facilitating a processing of the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. The method further comprises determining one or more services to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof.
According to another embodiment, an apparatus comprises at least one processor, and at least one memory including computer program code for one or more computer programs, the at least one memory and the computer program code configured to, with the at least one processor, cause, at least in part, the apparatus to determine proximity information of one or more devices with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure. The apparatus is also caused to process and/or facilitate a processing of the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. The apparatus is further caused to determine one or more services to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof.
According to another embodiment, a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to determine proximity information of one or more devices with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure. The apparatus is also caused to process and/or facilitate a processing of the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. The apparatus is further caused to determine one or more services to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof.
According to another embodiment, an apparatus comprises means for determining proximity information of one or more devices with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure. The apparatus also comprises means for processing and/or facilitating a processing of the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. The apparatus further comprises means for determining one or more services to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof.
In addition, for various example embodiments of the invention, the following is applicable: a method comprising facilitating a processing of and/or processing (1) data and/or (2) information and/or (3) at least one signal, the (1) data and/or (2) information and/or (3) at least one signal based, at least in part, on (or derived at least in part from) any one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
For various example embodiments of the invention, the following is also applicable: a method comprising facilitating access to at least one interface configured to allow access to at least one service, the at least one service configured to perform any one or any combination of network or service provider methods (or processes) disclosed in this application.
For various example embodiments of the invention, the following is also applicable: a method comprising facilitating creating and/or facilitating modifying (1) at least one device user interface element and/or (2) at least one device user interface functionality, the (1) at least one device user interface element and/or (2) at least one device user interface functionality based, at least in part, on data and/or information resulting from one or any combination of methods or processes disclosed in this application as relevant to any embodiment of the invention, and/or at least one signal resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
For various example embodiments of the invention, the following is also applicable: a method comprising creating and/or modifying (1) at least one device user interface element and/or (2) at least one device user interface functionality, the (1) at least one device user interface element and/or (2) at least one device user interface functionality based at least in part on data and/or information resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention, and/or at least one signal resulting from one or any combination of methods (or processes) disclosed in this application as relevant to any embodiment of the invention.
In various example embodiments, the methods (or processes) can be accomplished on the service provider side or on the mobile device side or in any shared way between service provider and mobile device with actions being performed on both sides.
For various example embodiments, the following is applicable: An apparatus comprising means for performing the method of any of originally filed claims1-10,21-30, and46-48.
Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the invention. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGSThe embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings:
FIG. 1 is a diagram of a system capable of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels, according to one embodiment;
FIG. 2 is a diagram of the components of an access platform, according to one embodiment;
FIGS. 3 and 4 are flowcharts of processes for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels, according to one embodiment;
FIG. 5 is a diagram of an example use case depicting the utilization of the processes ofFIGS. 3 and 4, according to various embodiments;
FIGS. 6A and 6B are diagrams of user interfaces utilized in the processes ofFIGS. 3 and 4, according to various embodiments;
FIG. 7 is a diagram of hardware that can be used to implement an embodiment of the invention;
FIG. 8 is a diagram of a chip set that can be used to implement an embodiment of the invention; and
FIG. 9 is a diagram of a mobile terminal (e.g., handset) that can be used to implement an embodiment of the invention.
DESCRIPTION OF SOME EMBODIMENTSExamples of a method, apparatus, and computer program for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
As used herein, the term “touch” (e.g., touch interaction) refers to a method of expediting wireless configuration (e.g., device discovery and selection) based, at least in part, on proximity (e.g., Received Signal Strength Indication (RSSI) values). More specifically, touching, at least for the purposes of the current disclosure, does not require that the system components (e.g., a mobile device and an access point) actually come into physical contact with each other. Holding the system components (e.g., a mobile device and an access point or another mobile device) in close proximity to one another (i.e., the RSSI reading of the device reaches a threshold criteria relative to the discovering device) for a short duration of time may be enough to trigger operations, after which the mobile device may be separated and utilized within the communication range of whatever wireless communication medium is being utilized in order to support system interaction. Such wireless interaction may be implemented utilizing various types of short-range wireless communication technologies (e.g., Bluetooth, Bluetooth LE, NFC, Wireless Fidelity (WiFi), or a combination thereof). While a multitude of wireless communication mediums are available, the various embodiments of the present invention disclosed herein use Bluetooth for the sake of explanation. In addition, touch interactions may work in one of two ways. First, “touch-to-select” refers to the example use case where the device with which the user performs the choice activity (e.g., by touching) has the physical means to perform the selection operation (e.g., by sending the inquiry and calculating the RSSI value from the response). Second, “touch-to-be-selected” refers to the example use case where the device with which the user performs the choice activity (i.e., by touching) does not have the physical means to perform the selection operation, but the physical operation is detected by the device being touched.
FIG. 1 is a diagram of a system capable of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels, according to one embodiment. As previously discussed, one area of interest among service providers and device manufacturers has been the development of interactive resources and services available to users of mobile devices (e.g., mobile phones or tablets) while driving or being a passenger in a vehicle. More specifically, the resources and services are provisioned between the mobile devices and one or more access points within the vehicle based on one or more short-range wireless communication technologies such as Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof. Once a connection between a device and the vehicle has been established, the device can use the resources associated with the vehicle (e.g., loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc.) and the vehicle may benefit from the resources of the device (e.g., GPS sensors, internet connectivity, messaging technologies, display, projector etc.). This enables use cases which essentially require multiple devices, where some of them may be generic and some of them particular (e.g. belonging to a specific person or having particular access rights or resources or services). Also this enables orchestration of non-touch enabled devices. For example, the driver of the vehicle may listen to music stored on his or her mobile device as well as control the playback of the music with the steering wheel buttons and at the same time, use the mobile device as an auxiliary display showing driving related information (e.g., average speed). If there are multiple devices in car, they may act as loudspeakers (e.g. via an audio rendering service) providing enhanced audio capabilities.
However, the introduction and/or use of multiple mobile devices near or within the vehicle pose a number of dynamic configuration and security concerns. In particular, the resources, services, and connections (e.g., one or more APs) need to be managed based on various criteria such as ownership, security, bandwidth allocation, need, location, and necessity. More specifically, certain services require different kinds of authentication in different contexts (e.g., unlocking a door requires better security than merely using audio streaming services). Further, the context of the device user may affect the possible selection, offering, and using of services. For example, the driver may be the only user with access to the steering wheel buttons, but a passenger in the front seat may have access to audio streaming resources and a passenger in the backseat may have access to video streaming resources. The problem of selecting, offering, and using various services is also complicated by the exclusive nature of some services (e.g., only one user may use the loudspeakers at a time). In addition, multiple device users may want to share services associated with the vehicle, the one or more other devices (e.g., a multiplayer game), or a combination thereof.
To address these problems, asystem100 ofFIG. 1 introduces the capability to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. In one embodiment, thesystem100 first determines proximity information of one or more mobile devices (e.g., a mobile phone or tablet) with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure (e.g., a vehicle). Further, the first access point, the second access point, or a combination thereof provide for short-range wireless communications (e.g., Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof). In an exemplary embodiment, the access points have touch to select functionality (i.e., they can detect the proximity of another Bluetooth device and obtain service descriptions of the Bluetooth services that the touching device is offering) and may have different characteristics and operations based on the status of the structure. In another example use case, the Bluetooth device may also have touch to select functionality and can detect the proximity of the one or more access points.
By way of example, in one example use case, the structure is a vehicle that has at least two Bluetooth access points, wherein minimally one or more access points are located in the front of the vehicle (e.g., the first access point) and one or more access points are located in the back of the vehicle (e.g., the second access point). As a result, thesystem100 can make different services available to one or more devices at different parts of the vehicle depending on the proximity of the one or more devices to the one or more access points. For example, the first access point may be associated with services such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc. and the second access point may be associated with services such as rear seat media rendering. In another example use case, the structure is a building (e.g., a home) and one or more access points (e.g., the first access point) may be associated with high level control services (e.g., entry, climate controls, alarm systems, etc.) and other ones of the one or more access points (e.g., the second access point) may be associated with lower level control services (e.g., lighting, entertainment systems, etc.). While both structures are applicable to thesystem100, the various embodiments of the present invention disclosed herein use a vehicle for the sake of explanation.
More specifically, thesystem100 determines the proximity information based, at least in part, on one or more touch interactions, one or more proximity detection mechanisms, or a combination thereof. By way of example, in an example use case using Bluetooth, the discovering device (e.g., the first access point located in the front of the vehicle) is in inquiry mode and sends one or more identity (ID) packets, and the discoverable device (e.g., a mobile phone) scans periodically for ID packets and responds with frequency hopping synchronization (FHS) packets. In addition, the discoverable device may send an Extended Inquiry Response (EIR) after the FHS to deliver more information about the device (e.g., the device name, transmission (Tx) power, and information of supported service classes). Further, when the discovering device receives the inquiry response, it defines the RSSI from the FHS. The signal strength of the device is heavily attenuated when the signal leaves the antenna. The signal strength difference of devices a few centimeters apart compared to devices 50 centimeters apart can be several tens of decibels (dBs). This property of signal attenuation makes it possible to filter out devices based on their RSSI readings and therefore determine the proximity information of one or more devices relative to one or more access points. Moreover, the RSSI reading of a device can be followed and once it reaches a threshold criteria (e.g., in touching range) the discovering device (e.g., the first or second access point) can be selected. As a result, the user in this example use case is selecting a part of the vehicle (e.g., the first access point) by touching it (i.e., Touch-to-be-Selected). It is contemplated that the one or more access points inside of the vehicle may act as the necessary connection enabler between one or more devices as well as one or more physical access points (e.g., an antenna element) indicating to one or more users (e.g., a driver and/or passenger) that they can “touch” these points in order to trigger one or more functionalities.
In one embodiment, thesystem100 next processes the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. In this example use case, device access and rights are based on one or more touch interactions among the one or more devices and the one or more access points. It is contemplated that one or more “roles” are not necessarily location dependent. However, it is also contemplated that the device that was used to unlock the driver's door is the driver's device and therefore has access, rights and limitations, if any, related to the role of the driver.
In one embodiment, thesystem100 then processes the (a) proximity information (e.g., location within the vehicle); (b) context information associated with the one or more devices (e.g., status, types of applications running, etc.); the first access point, the second access point, or a combination thereof (e.g., status, pairing, rate of inquiry, etc.); or (c) a combination thereof to determine role information (e.g., which device is the “current” device being served by the system100). In one embodiment, thesystem100 further determines the role information based on an association of the first access point, the second access point, or a combination thereof with one or more roles. By way of example, thesystem100 may determine that the one or more devices proximately located to the first access point, touching the first access point, using one or more services typically associated with the first access point (e.g., navigation), or a combination thereof are functioning in a particular role and therefore may have different accesses, rights, or a combination thereof relative to the vehicle than the one or more devices proximately located to the second access point, touching the second access point, using one or more services typically associated with the second access point (e.g., rear seat media rendering), or a combination thereof. Determining the role information is important because while it makes sense to default to the driver (e.g., the owner) to be able to use all of the vehicle's resources, it is also useful to allow other passengers to use some of the same resources in the appropriate context.
Based on the role information associated with the one or more devices, thesystem100 next determines one or more authentication mechanisms for the one or more devices with respect to the one or more services, the vehicle, the first access point, the second access point, or a combination thereof. By way of example, one or more services may require triggering of link level security (i.e., high level security), while the security requirements for one or more other services may be relaxed to allow triggering by touch only. As a result, thesystem100 ensures that undesired or hostile devices are not able to exploit the resources of the vehicle (e.g., swamp the services) or even attempt to use them (e.g., a random passerby cannot access the one or more access points of the vehicle and/or children in the backseat cannot access the steering wheel buttons). In one example use case, opening of a vehicle door always requires high level security, but when the vehicle is unlocked and the driver is inside, other services (e.g., rear seat media rendering) may be triggered by touch only. Also, it is contemplated that certain interior-related services (e.g., media rendering), which typically require less security in an unlocked state can still be accessed in a locked state, but then these services may require link level security.
In one embodiment, thesystem100 next processes the role information to cause a designation of at least one primary device (e.g., the device of the driver) among the one or more devices concurrently in the vehicle, wherein access to the one or more services (e.g., loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc.), the vehicle, the first access point, the second access point, or a combination thereof by other ones of the one or more devices (e.g., devices associated with one or more passengers) is by approval from the user of the at least one primary device. As previously discussed, thesystem100 determines access to one or more services based, at least in part, on the detected position of the device in or near the structure (e.g., a vehicle) and on one or more policies or rules associated with the different types of services. More specifically, thesystem100 determines the at least one primary device minimally by determining the one or more access points being touched (e.g., the primary device is most likely touching the first access point). Further, it is contemplated that the user in the role of the driver (e.g., the owner of the vehicle) by default has control over the one or more services. More specifically, while one or more of the available services (e.g., loudspeakers) may be freely accessible by one or more passengers, the user of the at least one primary device (e.g., the driver and/or the owner) may at any moment cancel (i.e., veto) access to the one or more services.
In certain embodiments, thesystem100 may optionally determine one or more modifications to the one or more roles based on one or more associations of the one or more devices with the one or more access points, wherein the one or more modifications may be for a predetermined period, for a duration of the one or more contexts, for at least the duration of the one or more services, on demand (e.g., driver preference), or a combination thereof. By way of example, thesystem100 can enable a “role change” feature, which allows other ones of the one or more devices touching one or more access points typically associated with the role of the driver (e.g., the first access point) to assume the role of the driver (e.g., when users take turns driving the vehicle during a long trip). However, it is contemplated that this role change feature of thesystem100 must be pre-approved by the driver of the vehicle.
In one embodiment, thesystem100 determines the one or more services to make available to the one or more devices based on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof. By way of example, in one example use case, when a front seat passenger touches one or more access points (e.g., the first access point) with his or her mobile device (e.g., a mobile phone or tablet), thesystem100 determines what services, if any, can be offered to this device based on the role information associated with the device (e.g., front seat passenger) and the one or more authentication mechanisms associated with the one or more services (e.g., link level security). In one embodiment, thesystem100 then presents to the user one or more notifications of possible functionalities that can be performed. More specifically, thesystem100 can notify the user that one or more of the services may be immediately available (e.g., displaying speed and fuel or playing music from the device), but other possible services may first require consent (e.g., from the owner of the vehicle or the user currently using the service). As an example, the services that first require consent may include services such as loudspeakers, steering wheel controls, hands-free or text-to-speech systems, navigation, displays, projectors, etc.
In one embodiment, thesystem100 further determines at least a portion of the one or more services from at least one of the one or more devices (e.g., the driver's device), one or more other devices (e.g., the one or more devices of the one or more passengers), the first access point, the second access point, the vehicle, or a combination thereof. By way of example, when one or more devices touch one or more access points (e.g., the first or second access point), thesystem100 determines the descriptions of the one or more services associated with the device (e.g., one or more applications). Thesystem100 then causes a brokering of the at least a portion of the one or more services to at least another one of the one or more devices, the one or more other devices, the first access point, the second access point, the vehicle, or a combination thereof. As previously discussed, thesystem100 can present one or more notifications of possible brokered functionalities that can be performed. Again, the one or more brokered services may be immediately available or they may first require consent depending on the particular service.
In one embodiment, thesystem100 optionally determines to store information associated with the one or more services from at least one of the one or more devices, the one or more other devices, or a combination thereof. For example, even if thesystem100 does not recognize and/or have the ability to use the one or more services determined from the one or more devices within the vehicle, thesystem100 can still record and store the one or more services and/or service descriptions. In one embodiment, thesystem100 can then cause the brokering of the at least a portion of the one or more services based on the stored information. More specifically, if thesystem100 determines that one or more matching services and/or service descriptions are within the presence of the vehicle (i.e., inside or within touch range), then thesystem100 can offer one or more of these services to the one or more other devices as brokered foreign services. It is contemplated that thesystem100 would first notify the device potentially provisioning the one or more foreign services via thesystem100, the one or more devices attempting to share the one or more services, or a combination thereof for permission to broker the one or more foreign services. Depending on the response, thesystem100 would either proceed with brokering the one or more foreign services or inform the respective devices of the denial. By way of example, thesystem100 may determine that two passengers both have the same multiplayer game on their respective devices. Thesystem100 would then notify the users of the determined compatibility and determine whether the users would like to take advantage of the vehicle's resources to play the game (e.g., the rear entertainment system, loudspeakers, etc.).
As shown inFIG. 1, thesystem100 comprises one or more user equipment (UE)101a-101c(e.g., a mobile phone or tablet) (also collectively referred to as UEs101) having connectivity to anaccess platform103 via acommunication network105. The UEs101 also have connectivity to accesspoints107aand107b(also collectively referred to as APs107), which are associated with a structure109 (e.g., a vehicle) via one or more short-range communication technologies (e.g., Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof). The APs107 also have local connectivity to services111a-111n(also collectively referred to as services111). In one embodiment, thesystem100 has been simplified to include only two APs107 (e.g.,AP107aandAP107b), however, it is contemplated that a plurality of APs107 can be utilized in connecting the UEs101 with the services111. More specifically, in one embodiment,AP107arepresents the first access point and is typically associated with services111 such as steering wheel buttons, hands-free or text-to-speech systems, navigation, loudspeakers, etc. andAP107brepresents the second access point and is typically associated with services111 such as rear seat media rendering.
In one embodiment, the APs107 and theaccess platform103 also have connectivity to aservices platform113 via thecommunication network105. Theservices platform113 provides one or more services115a-115p(also collectively referred to as services115) to the components of thesystem100. The services115 may include a wide variety of services such as content provisioning services for the one or more applications117a-117qof the UEs101 (e.g., mapping and/or navigation applications, media applications, multiplayer games, etc.) (also collectively referred to as applications117), one or more services119a-119rof the UEs101 (e.g., mapping and/or navigation services, social media services, etc.) (also collectively referred to as services119), and the services111. Further, theaccess platform103 is connected to aservices database121. Theservices database121 may include one or more service descriptions obtained from the UEs101 that are touching and/or have recently touched the APs107, the local services111, the services115, or a combination thereof as well as a list of one or more authenticated devices based, at least in part, on Bluetooth addresses associated with the UEs101. Theaccess platform103 may exist in whole or in part within thestructure109, or independently and theservices database121 may exist in whole or in part with theaccess platform103, or independently.
In certain embodiments, the applications117, the services119, or a combination thereof may utilize location-based technologies (e.g., GPS, cellular triangulation, Assisted GPS (A-GPS), etc.) to make a request to one or more services115 for location-based data (e.g., mapping and navigation information) based on a position relative to a UE101. For example, the UE101 may include a GPS receiver to obtain geographic coordinates fromsatellites123 to determine its current location.
By way of example, thecommunication network105 ofsystem100 includes one or more networks such as a data network, a wireless network, a telephony network, or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, e.g., a proprietary cable or fiber-optic network, and the like, or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP) data casting, satellite, mobile ad-hoc network (MANET), and the like, or any combination thereof.
The UEs101 are any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, or any combination thereof, including the accessories and peripherals of these devices, or any combination thereof. It is also contemplated that the UEs101 can support any type of interface to the user (such as “wearable” circuitry, etc.).
In one embodiment, theaccess platform103 first determines proximity information of one or more mobile devices (e.g., the UEs101) with respect to at least a first access point (e.g.,AP107a), a second access point (e.g.,AP107b), or a combination thereof associated with the structure109 (e.g., a vehicle). Further,AP107a,AP107b, or a combination thereof provide for short-range wireless communications (e.g., Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof). By way of example, in one example use case, thestructure109 is a vehicle that has at least two Bluetooth access points (e.g., APs107), wherein minimally one or more of the access points are located in the front of the vehicle (e.g.,AP107a) and one or more of the access points are located in the back of the vehicle (e.g.,AP107b). As a result, theaccess platform103 can make different services (e.g., services111 or115) available to one or more devices (e.g., UEs101) at different parts of thestructure109 depending on the proximity of the one or more UEs101 to one or more APs107.
More specifically, theaccess platform103 determines the proximity information based, at least in part, on one or more touch interactions, one or more proximity detection mechanisms, or a combination thereof. As previously discussed, the signal strength difference of devices (e.g., the UEs101) a few centimeters apart compared to devices 50 centimeters apart can be several tens of dBs. This property of signal attenuation makes it possible to filter out devices based on their RSSI readings and therefore determine the proximity information of the one or more devices (e.g., the UEs101) relative to one or more access points (e.g., the APs107). Moreover, the RSSI reading of a device (e.g., the UE101a) can be followed and once it reaches a threshold criteria (e.g., in touching range) the discovering devices (e.g.,AP107a) can be selected. As previously discussed, the user in this example use case is selectingAP107aby touching it (i.e., Touch-to-be-Selected).
In one embodiment, theaccess platform103 next processes the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. As previously discussed, in this example use case, authentication/access/rights for the UEs101 are based on one or more touch interactions among the UEs101 and the APs107. It is contemplated that one or more “roles” are not necessarily location dependent. However, it is also contemplated that the device (e.g., UE101a) that was used to unlock the driver's door of thevehicle109 is the driver's UE101 and therefore has access and limitations related to the role of the driver.
In one embodiment, thesystem access platform103 more specifically processes the (a) proximity information (e.g., location relative to the vehicle109); (b) context information associated with the UEs101 (e.g., status, types of applications running, etc.);AP107a,AP107b, or a combination thereof (e.g., status, pairing, rate of inquiry, etc.); or (c) a combination thereof to more specifically determine role information (e.g., which UE101 is the “current” device being served by the access platform103). In one embodiment, theaccess platform103 further determines the role information based on an association of theAP107a, theAP107b, or a combination thereof with one or more roles. By way of example, theaccess platform103 may determine that the one or more devices (e.g., UE101a) proximately located to the first access point (e.g.,AP107a), touching the first access point, using one or more services111 typically associated with the first access point (e.g., navigation), or a combination thereof are functioning in a particular role and therefore may have different accesses, rights, or a combination thereof relative to thevehicle109 than the one or more devices (e.g., UE101b) proximately located to the second access point (e.g.,AP107b), touching the second access point, using one or more services111 typically associated with the second access point (e.g., rear seat media rendering), or a combination thereof. As previously discussed, determining the role information is important because while it makes sense to default to the driver (e.g., the owner) to be able to use all of the vehicle's resources, it is also useful to allow other passengers to use some of the same resources in the appropriate context.
Based on the role information associated with the UEs101, theaccess platform103 next determines one or more authentication mechanisms for the UEs101 with respect to one or more services (e.g., services111 and115), the structure109 (e.g., a vehicle), theAPs107aand107b, or a combination thereof. By way of example, one or more services111 may require triggering of link level security (i.e., high level security), while the security requirements for one or more other services111 may be relaxed to allow triggering by touch only. More specifically, in one example use case, one service111 (e.g., opening a door) ofstructure109 always requires high level security, but when thestructure109 is unlocked and the owner is inside, other services111 (e.g., rear seat media rendering) may be triggered by touch only.
In one embodiment, theaccess platform103 next processes the role information to cause a designation of at least one primary UE101 (e.g., UE101a) among the one or more UEs101, wherein access to the one of more services (e.g., services111), thestructure109, the APs107, or a combination thereof by other ones of the UEs101 (e.g., UE101bor101c) is by approval from the owner of the at least one primary device. More specifically, theaccess platform103 determines the at least one primary device (e.g., the UE101a) minimally by determining the one or more access points being touched (e.g.,AP107a). Further, it is contemplated that the user in the role of owner or driver ofstructure109 by default has control over the one or more services (e.g., services111) and may also have a veto over all of the services (e.g., services111 or115) that require use of the loudspeakers.
In certain embodiments, theaccess platform103 may optionally determine one or more modifications to the one or more roles based on one or more associations of the UEs101 with the APs107, wherein the one or more modifications may be for a predetermined period, for a duration of the one or more contexts, for at least the duration of the one or more services (e.g., services111), on demand (e.g., driver preferences), or a combination thereof. By way of example, theaccess platform103 can enable a “role change” feature, which allows other ones of the UEs101 (e.g., UE101bor UE101c) touching one or more access points typically associated with the role of the driver (e.g.,AP107a) to assume the role of the driver (e.g., when users take turns driving thevehicle109 during a long trip). However, it is contemplated that this role change feature of theaccess platform103 must be pre-approved by the owner or driver of thevehicle109.
In one embodiment, theaccess platform103 determines the one or more services (e.g., services111) to make available to the UEs101 based on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof. By way of example, in one example use case, when a front seat passenger touches one or more access points (e.g.,AP107a) with his or her mobile device (e.g., UE101c), theaccess platform103 determines what services (e.g., services111), if any, can be offered to the UE101cbased on the role information associated with the device (e.g., front seat passenger) and the one or more authentication mechanisms associated with the services111 (e.g., link level security). In one embodiment, theaccess platform103 then presents to the user one or more notifications of possible functionalities that can be performed. More specifically, theaccess platform103 can notify the user that one or more services (e.g., services111) may be immediately available (e.g., display of speed and fuel or playing music from the UE101c), but other possible services111 may first require consent (e.g., from the owner of thevehicle109 or from the user currently using the service111). As an example, the services111 that first require consent may include services111 such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc.
In one embodiment, theaccess platform103 further determines at least a portion of the one or more services (e.g., applications117) from at least one of the UEs101 (e.g., UE101a), one or more other UEs101 (e.g., UE101band/or101c), the APs107, thestructure109, or a combination thereof. By way of example, when one or more devices (e.g., UE101b) touch one or more APs107, theaccess platform103 determines the descriptions of the one or more applications117 associated with the UE101. Theaccess platform103 then causes a brokering of the at least a portion of the one or more applications117 to at least another one of the one or more devices (e.g., UE101bor101c), the one or more other devices (e.g., UE101band/or UE101c), the APs107, thestructure109, or a combination thereof. As previously discussed, theaccess platform103 can present to the users of one or more UEs101 one or more notifications of possible brokered functionalities that can be performed. Again, the one or more brokered services (e.g., applications117) may be immediately available or they may first require consent depending on the particular service.
In one embodiment, theaccess platform103 optionally determines to store information associated with the one or more services (e.g., one or more applications117) from at least one of the one or more devices (e.g., UE101a), the one or more other devices (e.g., UE101band/or101c), or a combination thereof in theservices database121. For example, even if theaccess platform103 does not recognize and/or have the ability to use the one or more applications117 determined from one or more of the UEs101 within thevehicle109, theaccess platform103 can still record the one or more applications117 and/or service descriptions, which can then be stored in theservices database121. In one embodiment, theaccess platform103 can then cause the brokering of the at least a portion of the one or more applications117 based on the stored information in theservices database121. More specifically, if theaccess platform103 determines that matching services (e.g., matching applications117) and/or service descriptions are inside or near thevehicle109, then theaccess platform103 can offer one or more these applications117 to the one or more UEs101 as brokered foreign services. As previously discussed, it is contemplated that theaccess platform103 would first notify the UE101 potentially provisioning the one or more applications117, the one or more UEs101 attempting to share the one or more applications117 via theaccess platform103, or a combination thereof for permission to broker the one or more applications117. Depending on the response, theaccess platform103 would either proceed with brokering the one or more applications117 or inform the respective UEs101 of the denial. By way of example, theaccess platform103 may determine that UE101band101cboth have the same multiplayer game. Theaccess platform103 would then notify the users of the respective UEs101 and determine whether the users would like to take advantage of the resources of the vehicle109 (e.g., the rear entertainment system, loudspeakers, etc.).
By way of example, the UEs101, theaccess platform103, the APs107, theservices platform113, the services115, the applications117, the services119, theservices database121, and thesatellites123 communicate with each other and other components of thecommunication network105 using well known, new or still developing protocols. In this context, a protocol includes a set of rules defining how the network nodes within thecommunication network105 interact with each other based on information sent over the communication links. The protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link for transferring those signals, to the format of information indicated by those signals, to identifying which software application executing on a computer system sends or receives the information. The conceptually different layers of protocols for exchanging information over a network are described in the Open Systems Interconnection (OSI) Reference Model.
Communications between the network nodes are typically effected by exchanging discrete packets of data. Each packet typically comprises (1) header information associated with a particular protocol, and (2) payload information that follows the header information and contains information that may be processed independently of that particular protocol. In some protocols, the packet includes (3) trailer information following the payload and indicating the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different, higher layer of the OSI Reference Model. The header for a particular protocol typically indicates a type for the next protocol contained in its payload. The higher layer protocol is said to be encapsulated in the lower layer protocol. The headers included in a packet traversing multiple heterogeneous networks, such as the Internet, typically include a physical (layer 1) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, and various application (layer 5, layer 6 and layer 7) headers as defined by the OSI Reference Model.
FIG. 2 is a diagram of the components of anaccess platform103, according to one embodiment. By way of example, theaccess platform103 includes one or more components for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality. In this embodiment, theaccess platform103 includes acontrol logic201, acommunication module203, ananalysis module205, acontext module207, and astorage module209.
Thecontrol logic201 oversees tasks, including tasks performed by thecommunication module203, theanalysis module205, thecontext module207, and thestorage module209. For example, although the other modules may perform the actual task, thecontrol logic201 may determine when and how those tasks are performed or otherwise direct the other modules to perform the task.
Thecommunication module203 is used for communication between the access points107 and the services111 of thestructure109, theaccess platform103, the services115 of theservices platform113, the applications117 of the UEs101, theservices database121, and thesatellites123. Thecommunication module203 may be used to communicate commands, requests, data, etc. Thecommunication module203 also may be used to facilitate one or more short-range wireless communications among the UEs101 and the APs107 including, at least in part, Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof. For example, thecommunication module203, in an example use case using Bluetooth, may be used in connection with the APs107 to transmit one or more ID packets. Thecommunication module203 may also be used to broker the at least a portion of the one or more services (e.g., one or more applications117) to at least another one or the one or more devices (e.g., UE101a), the one or more other devices (e.g., UE101band/or101c), the one or more access points (e.g., the APs107), the at least one structure109 (e.g., a vehicle), or a combination thereof. Further, thecommunication module203, in connection with thestorage module209, also may be used to broker the at least a portion of the one or more services (e.g., one or more applications117) stored in theservices database121.
Theanalysis module205 is used to determine proximity information of one or more devices (e.g., the UEs101) relative to at least a first access point (e.g.,AP107a), a second access point (e.g.,AP107b), or a combination thereof associated with at least one structure (e.g., a vehicle). More specifically, theanalysis module205 determines the proximity information based on one or more touch interactions, one or more proximity mechanisms, or a combination thereof. Theanalysis module205 may also be used to process the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. More specifically, theanalysis module205, in connection with thecontext module207, may also be used to process (a) the proximity information; (2) context information associated with the one or more devices (e.g., the UEs101), the at least one structure (e.g., structure109), the APs107, or a combination thereof to determine role information. In particular, theanalysis module205, in connection with thecontext module207, further determines the role information based on an association of the first access point (e.g.,AP107a), the second access point (e.g.,AP107b), or a combination thereof with one or more roles. For example, the first access point (e.g.,AP107a), located in the front of thestructure109, is typically associated with one or more services such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc. and the second access point (e.g.,AP107b), located in the back of thestructure109, is typically associated with one or more services such media rendering services.
By way of example, in one example use case using Bluetooth, the one or more APs107 of thestructure109 are activated and doing inquiry (e.g., at 2.56 s intervals and long enough to find appropriate scanner device). When one or more devices (e.g., UE101a) are found by the APs107 (e.g.,AP107a), theanalysis module205 is used to check the RSSI level of the UE101ato determine if it in the predetermined range of action (i.e., whether the RSSI level is above a certain threshold). If theanalysis module205 determines that the RSSI level is above the threshold, then theanalysis module205 determines if the one or more authentication mechanisms for the UE101awith respect to the one or more services (e.g., services111), thestructure109, theAP107a, or a combination thereof. For example, theanalysis module205 may be used to determine if the Bluetooth address of the UE101ais in the authenticated devices list in theservices database121. If so, then theanalysis module205 causes, at least in part, thecontrol logic201 and thecommunication module203 to establish a secure connection between the UE101aand theAP107a.
In one embodiment, theanalysis module205 also may be used to determine at least a portion of the one or more services (e.g., one or more applications117) from at least one of the one or more devices (e.g., the UE101a), one or more other devices (e.g., UE101bor101c), the APs107, thestructure109, or a combination thereof. By way of example, when one or more devices (e.g., the UEs101) touch one or more access points (e.g., the APs107), theanalysis module205 determines the descriptions of the one or more applications117 associated with the UEs101, which then can be brokered by thecommunication module203 to thestructure109, the other ones of the UEs101, or a combination thereof.
Thecontext module207 is used to process the role information to cause, at least in part, a designation of at least one primary device (e.g., the UE101a) among the one or more devices (e.g., the UEs101), wherein access to the one or more services (e.g., the services111), thestructure109, the APs107, or a combination thereof by other ones of the one or more devices (e.g., UE101band/or101c) is by approval from the at least one primary device. Thecontext module207 may also be used to determine one or more modifications to the one or more roles based, at least in part, on one or more associations of the one or more devices (e.g., the UEs101) with the one or more access points (e.g., the APs107). More specifically, thecontext module207 may be used to determine the one or more modifications for a predetermined period, for a duration of the one or more contexts, for at least the duration of the one or more services (e.g., services111), on demand, or a combination thereof. As previously discussed, thecontext module207 can enable a “role change” feature, which allows other ones of the one or more devices (e.g., UE101bor101c) touching one or more access points typically associated with the role of the driver (e.g.,AP107a) to assume the role of the driver (e.g., when users take turns driving thevehicle109 during a long trip). Further, thecontext module207, in connection with thecontrol logic201 and thecommunication module203, also may be used to determine one or more services (e.g., services111) to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof. By way of example, the in one example use case, when a front seat passenger touches one or more access points (e.g.,AP107a) with his or her mobile device (e.g., UE101c), thecontext module207 determines what services (e.g., services111), if any, can be offered to this device based on the role information associated with the device (e.g., front seat passenger) and the one or more authentication mechanisms associated with the one or more services.
Thestorage module209 is used to manage the storage of one or more service descriptions in theservices database121, which were obtained from the UEs101 that are touching and/or have recently touched the APs107, the local services111, the services115, or a combination thereof as well as a list of one or more authenticated devices based, at least in part, on Bluetooth addresses associated with the UEs101.
FIGS. 3 and 4 are flowcharts of processes for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels.FIG. 3 depicts aprocess300 of determining proximity and/or role information associated with one or more mobile devices. In one embodiment, theaccess platform103 performs theprocess300 and is implemented in, for instance, a chip set including a processor and a memory as shown inFIG. 8. Instep301, theaccess platform103 determining proximity information of one or more devices with respect to at least a first access point, a second access point, or a combination thereof associated with at least one structure. By way of example, the first access point, the second access point, or a combination thereof provide for short-range wireless communications (e.g., Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof). Further, in one example use case, the structure is a vehicle that has at least two Bluetooth access points, wherein minimally one or more access points are located in the front of the vehicle (e.g., the first access point) and one or more access points are located in the back of the vehicle (e.g., the second access point). As a result, theaccess platform103 can make different services available to one or more devices (e.g., a mobile phone or tablet) depending on the proximity of the one or more devices to the one or more access points and the authentications of the one or more devices. As previously discussed, the first access point may be associated with services such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc. and the second access point may be associated with services such as rear seat media rendering. In another example use case, the structure is a building (e.g., a home) and one or more access points (e.g., the first access point) may be associated with high level control services (e.g., entry, climate controls, alarm systems, etc.) and other ones of the one or more access points (e.g., the second access point) may be associated with lower level control services (e.g., lighting, entertainment systems, etc.).
Instep303, theaccess platform103 determine the proximity information based, at least in part, on one or more touch interactions, one or more proximity detection mechanisms, or a combination thereof. By way of example, touch interaction can refer to a method of expediting wireless configuration (e.g., device discovery and selection) based, at least in part, on RSSI values. More specifically, when the discovering device (e.g., the first access point) receives the inquiry response from the discoverable device (e.g., a mobile phone), it defines an RSSI value from the FHS. As previously discussed, the property of signal attenuation makes it possible to filter out devices based on their RSSI readings and therefore determine the proximity information of one or more devices relative to one or more access points within a vehicle. Moreover, the RSSI reading of a device can be followed and once it reaches a threshold criteria (e.g., in touching range) the discovering device (e.g., the first access point) can be selected. As a result, the user in this example use case, is selecting a part of the vehicle (e.g., the first access point) by touching it (i.e., Touch-to-be-Selected).
Instep305, theaccess platform103 processes and/or facilitates a processing of the proximity information to determine one or more roles, one or more accesses, one or more rights, or a combination thereof. In this example use case, device authentication/access/rights are based on one or more touch interactions among the one or more devices and the one or more access points. It is contemplated that one or more “roles” are not necessarily location dependent. However, it is also contemplated that the device that was used to unlock the driver's door is the driver's device and therefore has access and limitations related to the role of the driver.
Instep307, theaccess platform103 processes and/or facilitates a processing of (a) the proximity information; (b) context information associated with the one or more devices, the at least one structure, the first access point, the second access point, or a combination thereof; or (c) a combination thereof to determine the role information. Instep309, theaccess platform103 further determining the role information is based, at least in part, on an association of the first access point, the second access point, or a combination thereof with one or more roles. As previously discussed, the proximity information concerns the location of the one or more devices relative to the one or more access points in the at least one structure. Further, the context information may relate to the status of the one or more devices (e.g., the types of applications running on the device), the status of the one or more access points (e.g., pairings, rate of inquiry, etc.), the status of the at least one structure (e.g., a locked state, an operational state, etc.), or a combination thereof. By way of example, theaccess platform103 may determine that the one or more devices proximately located to the first access point, touching the first access point, using one or more services typically associated with the first access point (e.g., navigation), or a combination thereof are functioning in a particular role and therefore may have different accesses, rights, or a combination thereof relative to the vehicle than the one or more devices proximately located to the second access point, touching the second access point, using one or more services typically associated with the second access point (e.g., rear seat media rendering), or a combination thereof. As previously discussed, determining the role information is important because while it makes sense to default to the driver (e.g., the owner) to be able to use all of the vehicle's resources, it is also useful to allow other passengers to use some of the same resources in the appropriate context.
Instep311, theaccess platform103 determines one or more authentication mechanisms for the one or more devices with respect to the one or more services, the at least one structure, the first access point, the second access point, or a combination thereof based, at least in part, on role information associated with the one or more devices. By way of example, one or more services may require triggering of link level security (i.e., high level security), while the security requirements for one or more other services may be relaxed to allow triggering by touch only. In one example use case, opening of a vehicle door always requires high level security, but when the vehicle is unlocked and the driver is inside, other services (e.g., rear seat media rendering) may be triggered by touch only.
Instep313, theaccess platform103 processing and/or facilitating a processing of the role information to cause, at least in part, a designation of at least one primary device among the one or more devices, wherein access to the one or more services, the at least one structure, the first access point, the second access point, or a combination thereof by other ones of the one or more devices is by approval from the at least one primary device. As previously discussed, theaccess platform103 determines access to one or more services based, at least in part, on the detected position of the device in or near the structure (e.g., a vehicle) and on one or more policies or rules associated with the different types of one or more services. More specifically, theaccess platform103 determines the at least one primary device minimally by determining the one or more access points being touched (e.g., the primary device is most likely touching the first access point). In particular, while one or more of the available services (e.g., loudspeakers) may be freely accessible by one or more passengers, the user of the at least one primary device (e.g., the driver and/or the owner) may at any moment cancel (i.e., veto) access to the one or more services.
Instep315, theaccess platform103 determines one or more modifications to the one or more roles based, at least in part, on one or more associations of the one or more devices with the one or more access points, wherein the one or more modifications may be for a predetermined period, for a duration of the one or more contexts, for at least the duration of the one or more services, on demand, or a combination thereof. By way of example, theaccess platform103 can enable a “role change” feature, which allows other ones of the one or more devices touching one or more access points typically associated with the role of the driver (e.g., the first access point) to assume the role of the driver (e.g., when users take turns driving the vehicle during a long trip). However, it is contemplated that this role change feature must be pre-approved by the driver of the vehicle.
FIG. 4 depicts aprocess400 of determining one or more services to make available to one or more devices associated with at least one structure. In one embodiment, theaccess platform103 performs theprocess400 and is implemented in, for instance, a chip set including a processor and a memory as shown inFIG. 8. Instep401, theaccess platform103 determines one or more services to make available based, at least in part, on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof. By way of example, in one example use case, when a front seat passenger touches one or more access points (e.g., the first access point) with his or her mobile device (e.g., a mobile phone or tablet), theaccess platform103 determines what services, if any, can be offered to this device based on the role information associated with the device (e.g., front seat passenger) and the one or more authentication mechanism associated with the one or more services. In one embodiment, theaccess platform103 then presents to the user one or more notifications of possible functionalities that can be performed. More specifically, theaccess platform103 can notify the user that one or more services may be immediately available (e.g., display of speed and fuel or playing music from the device), but other possible services may first require consent (e.g., from the owner of the vehicle or the user currently using the service). As an example, the services that first require consent may include services such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc. An illustrative example of the one or more notifications as presented in the user interface in depicted inFIG. 6A.
Instep403, theaccess platform103 determines at least a portion of the one or more services from at least one of the one or more devices, one or more other devices, the first access point, the second access point, the at least one structure, or a combination thereof. By way of example, when one or more devices (e.g., a mobile phone) touch one or more access points (e.g., the first or second access point), theaccess platform103 determines the description of the one or more services (e.g., one or more applications) associated with the one or more devices.
Instep405, theaccess platform103 causes, at least in part, a brokering of the at least a portion of the one or more services to at least another one of the one or more devices, the one or more other devices, the first access point, the second access point, the at least one structure, or a combination thereof. As previously discussed, theaccess platform103 can present to the users of one or more devices one or more notifications of possible brokered functionalities that can be performed. Again, the one or more brokered services may be immediately available or they may first require consent depending on the particular service. An illustrative example of the one or more notifications associated with brokered services as presented in the user interface is depicted inFIG. 6B.
Instep407, theaccess platform103 optionally determines to store information associated with the one or more services from at least one of the one or more devices, the one or more mother devices, or a combination thereof. By way of example, even if theaccess platform103 does not recognize and/or have the ability to use the one or more services determined from the one or more devices within the vehicle, theaccess platform103 can still record the one or more services and/or service descriptions, which can then be stored in one or more databases (e.g., the service database121).
Instep409, theaccess platform103 causes, at least in part, the brokering of the at least a portion of the one or more services based, at least in part, on the stored information. More specifically, if theaccess platform103 determines that matching services and/or service descriptions are within the presence of the vehicle (i.e., inside or within touch range), then theaccess platform103 can offer one or more of these services to one or more other devices as brokered foreign services. It is contemplated that theaccess platform103 would first notify the device potentially provisioning the one or more services, the one or more devices attempting to share the one or more services via theaccess platform103, or a combination thereof for permission to broker the one or more foreign services. Depending on the response, theaccess platform103 would either proceed with brokering the one or more foreign services or inform the respective devices of the denial. By way of example, theaccess platform103 may determine that two passengers both have the same multiplayer game on their respective devices. Theaccess platform103 would then notify the users of the determined compatibility and then determine whether the users would like to take advantage of vehicle's resources to play the game (e.g., the rear seat media services, loudspeakers, etc.).
FIG. 5 is a diagram of an example use case depicting the utilization of the processes ofFIGS. 3 and 4, according to various embodiments. As shown,FIG. 5 depicts avehicle501 that has at least a first access point (e.g., access point503) and a second access point (e.g., access point505). More specifically,access points503 and505 provide for short-range wireless communications (e.g., Bluetooth, Bluetooth LE, NFC, WiFi, or a combination thereof). In addition,FIG. 5 also depicts one or more devices (e.g.,devices507,509, and511). In particular, device507 (e.g., the device of the owner of the vehicle501) is initially the “current” device that thevehicle501 attempts to connect by default with some default services (e.g., steering wheel buttons, loudspeakers, etc.) via one or more access points (e.g., access point503).
In one embodiment, thesystem100 first determines proximity information of thedevices507,509, and511 with respect to thefirst access point503 and thesecond access point505. As previously discussed, thesystem100 can make different services available to thedevices507,509, and511 depending on their proximity to theaccess points503 and505. For example, thefirst access point503 may be associated with such services as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, etc. and thesecond access point505 may be associated with services such as rear seat media rendering. More specifically, thesystem100 determines the proximity information based, at least in part, on one or more touch interactions, one or more proximity detection mechanisms, or a combination thereof. In this example use case, thedevice509 of the front seat passenger is touching theaccess point503.
In one embodiment, thesystem100 next processes the proximity information betweendevice509 andaccess point503 to determine one or more roles, one or more accesses, one or more rights, or a combination thereof associated with thedevice509. In this example use case, thesystem100 determines that thedevice509 is located in the front passenger seat and therefore is not the driver of thevehicle501, however,device509 may still have one or more roles relative to thevehicle509. Therefore, thesystem100 also processes context information associated with the one or more devices (e.g.,devices507,509, and511), thevehicle501, and theaccess points503 and505, to more specifically determine role information associated with thedevice509. By way of example, thesystem100 may determine that thedevice509, touching theaccess point503 and running one or more navigation applications, is functioning in the role of vehicle navigator. Based on the role information associated with thedevice509, thesystem100 next determines one or more authentication mechanisms for thedevice509 with respect to the one or more services. As previously discussed, one or more services (e.g., entry) may require triggering of link level security while the security requirements and/or authentication mechanism for one or more other services (e.g., loudspeakers) may be relaxed to allow for triggering by touch only. For example, thedevice509 may have access to the navigation system of thevehicle501, but only the driver can set and/or modify the navigation target (e.g., an amusement park).
In one embodiment, thesystem100 then determines one or more services to make available to thedevice509 based on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof associated with thedevice509. More specifically, thesystem100 presents the user of thedevice509 with a set of possible functionalities or services that can be performed. An illustrative example of the one or more notifications presented in an example user interface is depicted inFIG. 6A. Thesystem100 can also notify the user of thedevice509 that one or more services may be immediately available (e.g., display of speed and fuel or playing music from the device509), but other possible service may still require consent of the driver (e.g., the owner ofdevice507 or the user currently using the particular service). As an example, the user ofdevice509 may still have to request the consent of the driver in order to access services such as loudspeakers, steering wheel buttons, hands-free or text-to-speech systems, displays, projectors, etc.
In one embodiment, thesystem100 further determines at least a portion of the one or more services from at least one of the one or more devices (e.g., device507), one or more other devices (e.g.,devices509 and/or511), theaccess points503 and505, thevehicle501, or a combination thereof. As depicted inFIG. 5, when thedevice509 touches theaccess point503 or when thedevice511 touches theaccess point505, thesystem100 determines the descriptions of the one or more services (e.g., one or more applications) associated with the one or more devices. In one embodiment, thesystem100 the causes a brokering of the at least a portion of the one or more services to at least another one of the one or more devices (e.g.,devices507,509, and511), the one or more other devices (e.g.,devices509 and/or511), theaccess points503 and/or505, thevehicle501, or a combination thereof. As previously discussed, thesystem100 can present to the users of one or more devices (e.g.,devices507,509, and511) one or more notifications of possible brokered functionalities that can be performed. Again, the one or more brokered services may be immediately available or they may first require consent depending on the particular service. An illustrative example of the one or more notifications associated with brokered services is also depicted inFIG. 6B.
In one embodiment, thesystem100 optionally determines to store information associated with the one or more services from at least one of the one or more devices (e.g.,devices507,509, and511), the one or more other devices (e.g.,devices509 or511), or a combination thereof. For example, even if thesystem100 does not recognize and/or have the ability to use the one or more services determined from thedevices507,509, and511, thesystem100 can still record the one or more services (e.g., one or more applications) and/or service descriptions, which can then be stored in one or more databases. In one embodiment, thesystem100 can then cause the brokering of the at least a portion of the one or more services based on the stored information. More specifically, if thesystem100 determines that one or more matching services and/or service descriptions are within the presence of the vehicle501 (i.e., inside or within touch range), then thesystem100 can offer one or more of these services to one or more of thedevices507,509, and511 as brokered foreign services. As previously discussed, it is contemplated that thesystem100 would first notify the device potentially provisioning the one or more foreign services, the one or more devices attempting to share the one or more services via the system100 (e.g.,devices509 and511), or a combination thereof for permission to broker the one or more foreign services. By way of example, thesystem100 may determine thatdevices509 and511 both have the same multiplayer game on their respective devices. Thesystem100 would then notify the users ofdevices509 and511 of the determined compatibility and determine whether the users would like to take advantage of the vehicle's resources to play the game (e.g., the loudspeakers).
FIGS. 6A and 6B are diagrams of user interfaces utilized in the processes ofFIGS. 3 and 4, according to various embodiments. As shown, the example user interfaces ofFIGS. 6A and 6B include one or more user interface elements and/or functionalities created and/or modified based, at least in part, on information, data, and/or signals resulting from the processes (e.g., processes300 and400) described with respect toFIGS. 3 and 4. More specifically,FIG. 6A illustrates two user interfaces (e.g., interfaces601 and603) depicting one or more notifications of possible functionalities or services associated with the vehicle that can be made available by thesystem100. In this example use case,interface601 is owned by user “XYZ” andinterface603 is owned by user “ABC,” the driver of the vehicle.
In one embodiment, thesystem100 first determines one or more services to make available to one or more touching devices (e.g., interface601) as indicated by thesymbol605. More specifically, thesystem100 determines the one or more services based on the one or more roles, the one or more accesses, the one or more rights, or a combination thereof associated withinterface601. In this example use case, thesystem100 already determined, based on the proximity and context information associated withinterface601, that the user ofinterface601 is located in the front passenger seat and is functioning in the role of the navigator of the vehicle. In one embodiment, thesystem100 then notifies the user of theinterface601 that one or more services may be immediately available (e.g., “show speed and fuel on this device” and “play music from this device”), but other possible services first require consent of the driver (e.g., “offer hands-free for calls,” “text-to-speech,” and “get navigation target from your map”). In this example use case, the user ofinterface601 requests one service that is immediately available (e.g., “show speed and fuel on this device”) and one service that first requires consent (e.g., “get navigation target from your map”). Because the user associated with theinterface601 is functioning as the navigator, the user of theinterface603 grants the user ofinterface601 access to both of the requested services and thesystem100 consequently makes these two services associated with the vehicle available to the user ofinterface601.
FIG. 6B illustrates two user interfaces (e.g., interfaces631 and633) depicting one or more notifications of one or more foreign services associated with the one or more devices in the vehicle that can be brokered by thesystem100. In one embodiment, thesystem100 determines at least a portion of the one or more services from at least one of the one or more devices (e.g., interface631), one or more other devices, the first access point, the second access point, the vehicle, or a combination thereof. By way of example, when one or more devices (e.g., interface631) touches one or more access points (e.g., a first access point) as indicated bysymbol605, thesystem100 determines the descriptions of the one or more services (e.g., one or more applications) associated with the device (e.g., “multiplayer game,” “calendar,” and “contacts”). Thesystem100 then offers a brokering of the at least a portion of the one or more services to at least another one of the one or more devices (e.g., interface631), the one or more other devices, the first access point, the second access point, the vehicle, or a combination thereof. In addition, in one embodiment, thesystem100 optionally determines to store information associated with the one or more services from at least one of the one or more devices (e.g., interface631), the one or more other devices, or a combination thereof. For example, even if thesystem100 does not recognize and/or have the ability to use the one or more services (e.g., “multiplayer game,” “calendar,” and “contacts”) determined from the one or more devices within the vehicle (e.g., interface631), thesystem100 can still record the one or more services and/or service descriptions, which can then be stored in one or more databases. In one embodiment, thesystem100 can then cause the brokering of the at least a portion of the one or more services based on the stored information. More specifically, if thesystem100 determines that one or more matching services and/or service descriptions are within the presence of the vehicle (e.g., “multiplayer game,” “calendar,” and “contacts”), then thesystem100 can offer one or more of these services to the one or more devices (e.g., interface631) as brokered foreign services. As depicted inFIG. 6B, thesystem100 notifies the device potentially provisioning the one or more foreign services, the one or more devices attempting to share services via the system100 (e.g., interface631), or a combination thereof for permission to broker the one or more foreign services. As depicted ininterface633, the user of device “XYZ” has determined to allow thesystem100 to broker the multiplayer game of his or her device with the one or more other devices in the vehicle that also has the same multiplayer game and has elected to use the loudspeakers of the vehicle to play the game, which in certain example use cases may further require the consent of the user in the role of the driver (e.g., the owner of the vehicle).
The processes described herein for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels may be advantageously implemented via software, hardware, firmware or a combination of software and/or firmware and/or hardware. For example, the processes described herein, may be advantageously implemented via processor(s), Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc. Such exemplary hardware for performing the described functions is detailed below.
FIG. 7 illustrates acomputer system700 upon which an embodiment of the invention may be implemented. Althoughcomputer system700 is depicted with respect to a particular device or equipment, it is contemplated that other devices or equipment (e.g., network elements, servers, etc.) withinFIG. 7 can deploy the illustrated hardware and components ofsystem700.Computer system700 is programmed (e.g., via computer program code or instructions) to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels as described herein and includes a communication mechanism such as abus710 for passing information between other internal and external components of thecomputer system700. Information (also called data) is represented as a physical expression of a measurable phenomenon, typically electric voltages, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure, chemical, biological, molecular, atomic, sub-atomic and quantum interactions. For example, north and south magnetic fields, or a zero and non-zero electric voltage, represent two states (0, 1) of a binary digit (bit). Other phenomena can represent digits of a higher base. A superposition of multiple simultaneous quantum states before measurement represents a quantum bit (qubit). A sequence of one or more digits constitutes digital data that is used to represent a number or code for a character. In some embodiments, information called analog data is represented by a near continuum of measurable values within a particular range.Computer system700, or a portion thereof, constitutes a means for performing one or more steps of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels.
Abus710 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to thebus710. One ormore processors702 for processing information are coupled with thebus710.
A processor (or multiple processors)702 performs a set of operations on information as specified by computer program code related to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. The computer program code is a set of instructions or statements providing instructions for the operation of the processor and/or the computer system to perform specified functions. The code, for example, may be written in a computer programming language that is compiled into a native instruction set of the processor. The code may also be written directly using the native instruction set (e.g., machine language). The set of operations include bringing information in from thebus710 and placing information on thebus710. The set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND. Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by theprocessor702, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simply, computer instructions. Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum components, among others, alone or in combination.
Computer system700 also includes amemory704 coupled tobus710. Thememory704, such as a random access memory (RAM) or any other dynamic storage device, stores information including processor instructions for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. Dynamic memory allows information stored therein to be changed by thecomputer system700. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. Thememory704 is also used by theprocessor702 to store temporary values during execution of processor instructions. Thecomputer system700 also includes a read only memory (ROM)706 or any other static storage device coupled to thebus710 for storing static information, including instructions, that is not changed by thecomputer system700. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled tobus710 is a non-volatile (persistent)storage device708, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when thecomputer system700 is turned off or otherwise loses power.
Information, including instructions for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels, is provided to thebus710 for use by the processor from anexternal input device712, such as a keyboard containing alphanumeric keys operated by a human user, a microphone, an Infrared (IR) remote control, a joystick, a game pad, a stylus pen, a touch screen, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information incomputer system700. Other external devices coupled tobus710, used primarily for interacting with humans, include adisplay device714, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, a plasma screen, or a printer for presenting text or images, and apointing device716, such as a mouse, a trackball, cursor direction keys, or a motion sensor, for controlling a position of a small cursor image presented on thedisplay714 and issuing commands associated with graphical elements presented on thedisplay714. In some embodiments, for example, in embodiments in which thecomputer system700 performs all functions automatically without human input, one or more ofexternal input device712,display device714 andpointing device716 is omitted.
In the illustrated embodiment, special purpose hardware, such as an application specific integrated circuit (ASIC)720, is coupled tobus710. The special purpose hardware is configured to perform operations not performed byprocessor702 quickly enough for special purposes. Examples of ASICs include graphics accelerator cards for generating images fordisplay714, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
Computer system700 also includes one or more instances of acommunications interface770 coupled tobus710.Communication interface770 provides a one-way or two-way communication coupling to a variety of external devices that operate with their own processors, such as printers, scanners and external disks. In general the coupling is with anetwork link778 that is connected to alocal network780 to which a variety of external devices with their own processors are connected. For example,communication interface770 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer. In some embodiments,communications interface770 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line. In some embodiments, acommunication interface770 is a cable modem that converts signals onbus710 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable. As another example,communications interface770 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented. For wireless links, thecommunications interface770 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data. For example, in wireless handheld devices, such as mobile telephones like cell phones, thecommunications interface770 includes a radio band electromagnetic transmitter and receiver called a radio transceiver. In certain embodiments, thecommunications interface770 enables connection to thecommunication network105 for configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels to the UEs101.
The term “computer-readable medium” as used herein refers to any medium that participates in providing information toprocessor702, including instructions for execution. Such a medium may take many forms, including, but not limited to computer-readable storage medium (e.g., non-volatile media, volatile media), and transmission media. Non-transitory media, such as non-volatile media, include, for example, optical or magnetic disks, such asstorage device708. Volatile media include, for example,dynamic memory704. Transmission media include, for example, twisted pair cables, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM, an EEPROM, a flash memory, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. The term computer-readable storage medium is used herein to refer to any computer-readable medium except transmission media.
Logic encoded in one or more tangible media includes one or both of processor instructions on a computer-readable storage media and special purpose hardware, such asASIC720.
Network link778 typically provides information communication using transmission media through one or more networks to other devices that use or process the information. For example,network link778 may provide a connection throughlocal network780 to ahost computer782 or toequipment784 operated by an Internet Service Provider (ISP).ISP equipment784 in turn provides data communication services through the public, world-wide packet-switching communication network of networks now commonly referred to as theInternet790.
A computer called aserver host792 connected to the Internet hosts a process that provides a service in response to information received over the Internet. For example,server host792 hosts a process that provides information representing video data for presentation atdisplay714. It is contemplated that the components ofsystem700 can be deployed in various configurations within other computer systems, e.g., host782 andserver792.
At least some embodiments of the invention are related to the use ofcomputer system700 for implementing some or all of the techniques described herein. According to one embodiment of the invention, those techniques are performed bycomputer system700 in response toprocessor702 executing one or more sequences of one or more processor instructions contained inmemory704. Such instructions, also called computer instructions, software and program code, may be read intomemory704 from another computer-readable medium such asstorage device708 ornetwork link778. Execution of the sequences of instructions contained inmemory704 causesprocessor702 to perform one or more of the method steps described herein. In alternative embodiments, hardware, such asASIC720, may be used in place of or in combination with software to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware and software, unless otherwise explicitly stated herein.
The signals transmitted overnetwork link778 and other networks throughcommunications interface770, carry information to and fromcomputer system700.Computer system700 can send and receive information, including program code, through thenetworks780,790 among others, throughnetwork link778 andcommunications interface770. In an example using theInternet790, aserver host792 transmits program code for a particular application, requested by a message sent fromcomputer700, throughInternet790,ISP equipment784,local network780 andcommunications interface770. The received code may be executed byprocessor702 as it is received, or may be stored inmemory704 or instorage device708 or any other non-volatile storage for later execution, or both. In this manner,computer system700 may obtain application program code in the form of signals on a carrier wave.
Various forms of computer readable media may be involved in carrying one or more sequence of instructions or data or both toprocessor702 for execution. For example, instructions and data may initially be carried on a magnetic disk of a remote computer such ashost782. The remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem. A modem local to thecomputer system700 receives the instructions and data on a telephone line and uses an infra-red transmitter to convert the instructions and data to a signal on an infra-red carrier wave serving as thenetwork link778. An infrared detector serving as communications interface770 receives the instructions and data carried in the infrared signal and places information representing the instructions and data ontobus710.Bus710 carries the information tomemory704 from whichprocessor702 retrieves and executes the instructions using some of the data sent with the instructions. The instructions and data received inmemory704 may optionally be stored onstorage device708, either before or after execution by theprocessor702.
FIG. 8 illustrates a chip set orchip800 upon which an embodiment of the invention may be implemented. Chip set800 is programmed to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels as described herein and includes, for instance, the processor and memory components described with respect toFIG. 7 incorporated in one or more physical packages (e.g., chips). By way of example, a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction. It is contemplated that in certain embodiments the chip set800 can be implemented in a single chip. It is further contemplated that in certain embodiments the chip set orchip800 can be implemented as a single “system on a chip.” It is further contemplated that in certain embodiments a separate ASIC would not be used, for example, and that all relevant functions as disclosed herein would be performed by a processor or processors. Chip set orchip800, or a portion thereof, constitutes a means for performing one or more steps of providing user interface navigation information associated with the availability of functions. Chip set orchip800, or a portion thereof, constitutes a means for performing one or more steps of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels.
In one embodiment, the chip set orchip800 includes a communication mechanism such as a bus801 for passing information among the components of the chip set800. Aprocessor803 has connectivity to the bus801 to execute instructions and process information stored in, for example, amemory805. Theprocessor803 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, theprocessor803 may include one or more microprocessors configured in tandem via the bus801 to enable independent execution of instructions, pipelining, and multithreading. Theprocessor803 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP)807, or one or more application-specific integrated circuits (ASIC)809. ADSP807 typically is configured to process real-world signals (e.g., sound) in real time independently of theprocessor803. Similarly, anASIC809 can be configured to performed specialized functions not easily performed by a more general purpose processor. Other specialized components to aid in performing the inventive functions described herein may include one or more field programmable gate arrays (FPGA), one or more controllers, or one or more other special-purpose computer chips.
In one embodiment, the chip set orchip800 includes merely one or more processors and some software and/or firmware supporting and/or relating to and/or for the one or more processors.
Theprocessor803 and accompanying components have connectivity to thememory805 via the bus801. Thememory805 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. Thememory805 also stores the data associated with or generated by the execution of the inventive steps.
FIG. 9 is a diagram of exemplary components of a mobile terminal (e.g., handset) for communications, which is capable of operating in the system ofFIG. 1, according to one embodiment. In some embodiments,mobile terminal901, or a portion thereof, constitutes a means for performing one or more steps of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. Generally, a radio receiver is often defined in terms of front-end and back-end characteristics. The front-end of the receiver encompasses all of the Radio Frequency (RF) circuitry whereas the back-end encompasses all of the base-band processing circuitry. As used in this application, the term “circuitry” refers to both: (1) hardware-only implementations (such as implementations in only analog and/or digital circuitry), and (2) to combinations of circuitry and software (and/or firmware) (such as, if applicable to the particular context, to a combination of processor(s), including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions). This definition of “circuitry” applies to all uses of this term in this application, including in any claims. As a further example, as used in this application and if applicable to the particular context, the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) and its (or their) accompanying software/or firmware. The term “circuitry” would also cover if applicable to the particular context, for example, a baseband integrated circuit or applications processor integrated circuit in a mobile phone or a similar integrated circuit in a cellular network device or other network devices.
Pertinent internal components of the telephone include a Main Control Unit (MCU)903, a Digital Signal Processor (DSP)905, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit. Amain display unit907 provides a display to the user in support of various applications and mobile terminal functions that perform or support the steps of configuring one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. Thedisplay907 includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (e.g., mobile telephone). Additionally, thedisplay907 and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal. Anaudio function circuitry909 includes amicrophone911 and microphone amplifier that amplifies the speech signal output from themicrophone911. The amplified speech signal output from themicrophone911 is fed to a coder/decoder (CODEC)913.
Aradio section915 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, viaantenna917. The power amplifier (PA)919 and the transmitter/modulation circuitry are operationally responsive to theMCU903, with an output from thePA919 coupled to theduplexer921 or circulator or antenna switch, as known in the art. ThePA919 also couples to a battery interface andpower control unit920.
In use, a user ofmobile terminal901 speaks into themicrophone911 and his or her voice along with any detected background noise is converted into an analog voltage. The analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC)923. Thecontrol unit903 routes the digital signal into theDSP905 for processing therein, such as speech encoding, channel encoding, encrypting, and interleaving. In one embodiment, the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite, and the like, or any combination thereof.
The encoded signals are then routed to anequalizer925 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion. After equalizing the bit stream, themodulator927 combines the signal with a RF signal generated in theRF interface929. Themodulator927 generates a sine wave by way of frequency or phase modulation. In order to prepare the signal for transmission, an up-converter931 combines the sine wave output from themodulator927 with another sine wave generated by asynthesizer933 to achieve the desired frequency of transmission. The signal is then sent through aPA919 to increase the signal to an appropriate power level. In practical systems, thePA919 acts as a variable gain amplifier whose gain is controlled by theDSP905 from information received from a network base station. The signal is then filtered within theduplexer921 and optionally sent to anantenna coupler935 to match impedances to provide maximum power transfer. Finally, the signal is transmitted viaantenna917 to a local base station. An automatic gain control (AGC) can be supplied to control the gain of the final stages of the receiver. The signals may be forwarded from there to a remote telephone which may be another cellular telephone, any other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
Voice signals transmitted to themobile terminal901 are received viaantenna917 and immediately amplified by a low noise amplifier (LNA)937. A down-converter939 lowers the carrier frequency while the demodulator941 strips away the RF leaving only a digital bit stream. The signal then goes through theequalizer925 and is processed by theDSP905. A Digital to Analog Converter (DAC)943 converts the signal and the resulting output is transmitted to the user through thespeaker945, all under control of a Main Control Unit (MCU)903 which can be implemented as a Central Processing Unit (CPU).
TheMCU903 receives various signals including input signals from thekeyboard947. Thekeyboard947 and/or theMCU903 in combination with other user input components (e.g., the microphone911) comprise a user interface circuitry for managing user input. TheMCU903 runs a user interface software to facilitate user control of at least some functions of themobile terminal901 to configure one or more mobile devices to one or more services associated with at least one structure based on various contexts, access criteria, and/or security levels. TheMCU903 also delivers a display command and a switch command to thedisplay907 and to the speech output switching controller, respectively. Further, theMCU903 exchanges information with theDSP905 and can access an optionally incorporatedSIM card949 and amemory951. In addition, theMCU903 executes various control functions required of the terminal. TheDSP905 may, depending upon the implementation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally,DSP905 determines the background noise level of the local environment from the signals detected bymicrophone911 and sets the gain ofmicrophone911 to a level selected to compensate for the natural tendency of the user of themobile terminal901.
TheCODEC913 includes theADC923 andDAC943. Thememory951 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet. The software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art. Thememory device951 may be, but not limited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flash memory storage, or any other non-volatile storage medium capable of storing digital data.
An optionally incorporatedSIM card949 carries, for instance, important information, such as the cellular phone number, the carrier supplying service, subscription details, and security information. TheSIM card949 serves primarily to identify themobile terminal901 on a radio network. Thecard949 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile terminal settings.
While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.