System and method for provisioning user computing devices based on sensor and state information

Information

  • Patent Grant
  • 10405157
  • Patent Number
    10,405,157
  • Date Filed
    Thursday, September 13, 2018
    6 years ago
  • Date Issued
    Tuesday, September 3, 2019
    5 years ago
Abstract
A system and method is provided for using information broadcast by devices and resources in the immediate vicinity of a mobile device, or by sensors located within the mobile device itself, to ascertain and make a determination of the immediate environment and state of the mobile device. This determination may be used to control and manage the actions that the device is asked to carry out by or on behalf of the user.
Description
BACKGROUND OF THE INVENTION

Field of the Invention


The present invention relates to the delivery, discovery, management and control of information to mobile consumers, and more particularly to consumers who have access to multiple devices, capabilities and networks, and to the efficient use and control of these resources to consume and generate information.


Description of the Related Art


It has become customary for people to generate and consume information in a variety of contexts and situations. This need is never more prominent as when people are mobile. Starting with the simply stated need to be “reachable” people now want to be connected to various information resources and use the associated networks and resources to carry out simple and complex tasks that they face everyday.


A decade or so ago, the personal computer (PC), either desktop or laptop, was the main tool for accessing information. A necessary aspect of the PC is that it requires almost the complete attention of the user, i.e., it is difficult to do many other things at the same time as using the PC because of the tethering, weight, and form factor of the device. With the advent of mobile computing devices such as smartphones, it is now commonplace to find people attempting multiple tasks simultaneously, e.g., driving while talking on a mobile phone. In some cases multi-tasking is useful and advantageous, while in other cases it may be physically dangerous to others and oneself. Management of capabilities that are potentially available to a consumer would be an extremely valuable service.


The systems and methods in use today that enable a user to be “reachable” or to have access rely heavily on the user carrying a mobile device. However, mobile devices often have limitations in bandwidth, capacity or connectivity that prevent their use in certain situations. For example, consider a mobile device that may be connected to a network that has low bandwidth but is within range of other resources, e.g., a different network that provides more bandwidth. A mobile device, however, may only support one network interface and, hence, may not be capable of utilizing the higher bandwidth network because it is connected to the lower bandwidth network.


Even when a mobile device is connected to a resource (i.e., access network, display device, storage and computing resource, etc.), it may not be adequately connected since the suitability of a connection depends on the service, i.e., the application that the user intends to run on the device. In present day mobile computing environments some applications mandate a certain type of network. For example, early versions of the iPhone mandated that mobile video could only be accessed using a WiFi network. More recent versions of the iPhone support both WiFi and cellular 3G access to mobile video resources, leaving the user to decide which access network to use, or the device uses a programmed policy to choose a network type.


The current trend in mobile devices and networks is to support multiple radios and multiple radio access bearers (mRAB) a feature of the so-called 3G UMTS (Universal Mobile Terrestrial System) technology. With the introduction of various types of networking technologies, it is expected that a variety of devices will broadcast information about themselves and their capabilities for other devices to use.


Thus, the ability of devices to carry out multiple simultaneous tasks is expected to continue to grow. A device concurrently executing a multiplicity of tasks has need for many resources and may carry out those tasks more efficiently by switching resources around. A pre-determined policy of matching resources to tasks, however, may be too restrictive. Allowing a single application to demand a resource without knowledge of all the resource options may be of detriment to it and other concurrent applications.


Further, when concurrent applications are being run on a mobile device, the service provider may choose to disallow the concurrent execution of certain applications, e.g., initiating a voice call and a mobile video session while a video session is in progress. Alternatively, certain combinations of concurrent applications may be allowed or disallowed only when certain resources are or become available.


For example, in some networks, call forwarding commands were disallowed when such commands led from one device to another that was previously in the call forwarding loop. But detecting such feature interaction problems is computationally difficult and in general undefined. The problem becomes further complicated when external resources become a part of the problem specification.


There is, therefore, a need for an entity to match the needs of concurrent mobile applications on a mobile device with the available resources in the device's environment in order for successfully carrying out or limiting and controlling the tasks at hand.


SUMMARY OF THE INVENTION

These and other drawbacks in the prior art are overcome in large part by a system and method according to embodiments of the present invention.


A telecommunications method in accordance with embodiments of the present invention includes receiving registry map information of network environmental indicia from a mobile device concurrently along with location information to a home location registry; generating an environment map for the mobile device based on the registry map information, the environment map including a device, application, and network component environment; defining service provisioning based on the environment map in response to a request for service from the mobile device, the service provisioning including and excluding predetermined elements of the environment map; and providing network service in accordance with the defined service provisioning. In some embodiments, the service includes accommodating a service policy. In others, the service provisioning includes accommodating a user selected preference. Further embodiments include defining a user context based on the environment map and including or excluding predetermined elements for provisioning based on the user context. A telecommunications system in accordance with embodiments of the present invention includes a plurality of user devices, the user devices configured to monitor available resources and dynamically maintain a resource registry of the available resources and transmit the registry to a service provider; a service delivery platform associated with the service provider and configured to dynamically maintain profiles of a plurality of laser devices based on the resource registry information and allow access to resources based on the profiles. In some embodiments, the plurality of user device configured to maintain a capabilities list of user device attributes. The user devices may include one or more sensors for identifying a physical device environment and storing physical device environment information in the registry and may be configured to transmit the resource registry information to the service provider during a home location register location update. In some embodiments, the plurality of user devices are configured to transmit the resource registry information to the service provider as binary-coded data during a home location register location update. In some embodiments, the profiles define access based on physical device environment.





BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference symbols in different drawings indicates similar or identical items.



FIG. 1 illustrates an exemplary system according to embodiments of the present invention.



FIG. 2 illustrates a CL according to embodiments of the present invention.



FIG. 3 is a flowchart illustrating operation of embodiments of the present invention.



FIG. 4 is a diagram of an exemplary system map according to embodiments of the present invention.



FIG. 5 is a diagram of an exemplary system map according to embodiments of the present invention.



FIG. 6 is a flowchart illustrating operation of embodiments of the present invention.



FIG. 7 is an exemplary SDP in accordance with embodiments of the present invention.



FIG. 8 is an exemplary user device in accordance with embodiments of the present invention.



FIG. 9 is a flowchart illustrating operation of embodiments of the present invention.





DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

In accordance with embodiments of the present invention, a system and method is provided for using information broadcast by devices and resources in the immediate vicinity of a mobile device, or by sensors located within the mobile device itself, to ascertain and make a determination of the immediate environment and state of the mobile device. This determination may be used to control and manage the actions that the device is asked to carry out by or on behalf of the user.


Advantageously, a carrier can define hundreds of device profiles and automatically and dynamically associate them with user devices, based on the device sensing its environment. The profiles allow or disallow certain actions or combinations of actions, as will be described in greater detail below.


Embodiments of the present invention address locating mobile devices in a telecommunications network that uses a mechanism of “paging requests” by certain network elements and “location updates” by mobile devices to update and maintain a database called the Home Location register (HLR). The term “location” typically refers to the cellular site (cell site) within which the mobile device was last known to be located, although other location methods may be employed.


In accordance with embodiments of the present invention, paging requests and location updates include not only cell site information, but also the availability of other access networks to the mobile device such as WiFi, Bluetooth, WiMax, etc. Moreover, any other resources, e.g., display devices, that could be used in conjunction with the mobile device that are “attached” to the new access network and which “announce” their capabilities and availability are also included in the updates. Internal sensor information, such as device orientation, may also be provided.


The information so obtained from the environment surrounding a mobile device is captured in a series of update messages, referred to as resource updates, by a network facility that processes and stores the messages.


In an exemplary embodiment of the present invention, the mobile device contains a registry wherein all applications are authenticated and registered before they can be used in the mobile device. The registry may additionally contain a profile stating what resources an application needs. A network facility uses an application profile and the information obtained from resource updates to dynamically assign a profile to the mobile device. This profile may be re-assigned and modified whenever the resource updates or the registry information in the mobile device warrant a change based on service logic executing in the network facility.


Consider, for example, mobile device that is engaged in a voice telephone call connected to a circuit-switched network. Assume the mobile device contains applications for streaming mobile video and SMS text messaging, the applications registered within the registry of the mobile device. The mobile device will have an associated profile in the network facility that details the resources available to the mobile device, i.e., the circuit-switched network, the mobile video and SMS applications, and any resources needed by the applications.


Now, assume a Bluetooth access network announces itself, its capabilities and its resources. For example, the Bluetooth network may announce its type is “automobile” and that it supports a display device with certain attributes, e.g., resolution, size, etc. Assume the mobile device attaches itself to the new network.


The mobile device will update its registry to include the Bluetooth network and its associated display device. Resource updates from the mobile device to the network facility likewise now list the new access network available to the device (Bluetooth), and any resources that have become available, i.e., the new display device.


This causes the network facility to assign a new profile to the mobile device wherein delivery and display of mobile video may now be effectuated on the newly discovered display device, i.e., the monitor in the automobile. Moreover, a policy restriction stated by the service provider preventing SMS messages from being received and initiated while in an automobile may cause the registry to disable the SMS application, thus preventing the user from launching or receiving SMS messages.


Thus, the user may now view mobile content on the automobile display, rather than on the display of the mobile device, and may not initiate or receive SMS messages while connected to the automobile's Bluetooth network. Alternatively, the service provider may choose to display a warning message to the user without disabling any of the applications in the mobile device.


Similarly, the device internal sensors may identify a particular physical orientation or other characteristic of the device, and cause the network facility to enable or disable based thereon. For example, if the device is being held to the ear, then a rule may be provided that video content is on the automobile display rather than the mobile device display.


Turning now to the drawings and, with particular attention to FIG. 1, a diagram of a telecommunications system 100 according to an embodiment of the present invention is shown. The telecommunications system 100 may include a network facility, such as a service delivery platform 102 which may include or be in communication with a resource map 104, a resource profile 106, and a recognition unit 115.


As will be explained in greater detail below, the resource map 104 contains an environment map of resources available to particular users, while the resource profile 106 defines particularized rules for making those resources available. The recognition unit 115, as will be explained in greater detail below, contains matching rules, for comparing access policies to the user device's environment maps. That is, the service delivery platform 102 makes the resources available to the user devices in accordance with the resource map 104, profile 106, and recognition unit 115.


The service delivery platform 102 may include or be in communication with one or more user devices 108, and one or more Home Location register (HLR) databases 116. Typically, as will be explained in greater detail below, an HLR 116 is provided for each cell site in the network to which the user device is registered. The user devices may further include or be in communication with resource registries 110, capabilities lists (CL) 112, and resource monitors 114.


As will be explained in greater detail below, the resource monitor 114 monitors the network and resource environment (either passively or actively) for devices or resources that have become available or unavailable.


The capabilities lists 112 are lists maintained by all network devices und resources. Specifically, it is envisaged that networks and devices, i.e., all resources, contain an internal capability list (CL) that contains not only the identification number of the resource but also attributes that may be of interest and use to applications. For example, a network CL may show the bandwidth, average latency, etc. A storage device CL may show the amount of available storage, the random access time, etc. A display device CL may show the resolution, number of pixels, etc. Indeed, the attributes in the CL for most popular devices and networks could be standardized. A particular device or entity's CL may be updated when it receives a CL from other resources.


The resource registries 110, on the other hand, are registries maintained by the user device of CLs of other devices that are currently available to it. FIG. 2 illustrates an exemplary CL for a display device that would be maintained in the registry of, say, a mobile telephone. Attributes in the CL describe the capabilities of the resource, its external interfaces, and intrinsic properties. For example, in the case of a display device, this can include resolution, display size, refresh rate, etc.


In certain embodiments, the user devices 108 may be implemented as telephones, cellular telephones, PDAs, computers, hard or soft clients, etc. While typically implemented as a smartphone, the user devices 108 also may be embodied as personal computers implementing a Windows operating system and the Explorer web browser. The user devices 108 thus may include telephony and other multimedia messaging capability using, for example, peripheral cameras, Webcams, microphones, and speakers (not shown) or peripheral telephony handsets.


In general, while the user devices 108 may implement one or more of the systems and methods described herein, the user devices also may implement one or more client devices or programs that communicate with services that implement such systems and methods provided remotely. In certain embodiments, the system 100 may also include other hardware and/or software components (e.g., gateways, proxy servers, registration server, presence servers, redirect servers, databases, applications, etc.


The devices may also contain sensors for the state of the device and/or the state of its immediate environment, such as temperature and orientation. For example, several current mobile devices, such as smartphones, sense WiFi and cellular networks. Others sense the orientation of the device and allow the display to be used in either a portrait or a landscape mode, using a gravity-based pendulum sensor. In addition, proximity sensors turn the display off when the device is held to the car.


In accordance with embodiments of the present invention, such physical sensors may be used to define not simply local characteristics of the telephone, but may be sent to the registry and uploaded to the network for use in implementing and/or determining network and device access policies.


As will be discussed in greater detail below, in order to receive information, a mobile device must be located by the network since it could physically be anywhere in the geographical area. Each mobile device periodically generates a message called the location update that is recorded in a Home Location Register (HLR) 116. The location update message typically contains the identity of the cell site in which the mobile device is currently located and some other network-related information, e.g., signal strength, etc.


Whenever the network needs to reach a mobile device, e.g., to initiate an incoming voice call, it sends a paging request to the last cell site in which the mobile device was located. Upon receiving the paging request the mobile device may respond to it. If, however, the mobile device has re-located to another cell site since the last location update, the paging request goes unanswered.


In accordance with embodiments of the present invention, the location update message from a mobile device 108 is further loaded with information about other resources that are currently “available” to the mobile device 108. Specifically, resources “announce” or make available their CLs. This may be achieved either by accepting a specific request on a well-defined interface and responding to the request or by doing a broadcast. The current generation of RFID devices, by way of example, announce themselves through a broadcast mechanism, as do certain WiMax and Wifi networks. The mobile device 108 receives the announcements and aggregates them into one or more resource updates. In some embodiments of the present invention, the announcements include other device CLs. The mobile device 108 periodically broadcasts these resource updates, which are then received by the service delivery platform 102.


As can be appreciated, such updates from the user devices to the service delivery platform 102 via the HLRs 116 could be bandwidth and/or processing intensive. As such, in accordance with embodiments of the present invention, any of a variety of techniques may be used to minimize such effects. For example less-bandwidth-intensive binary encoding may be used for the uplink registry messages. Alternatively, or additionally, rather than having the uplink occur every time the HLR is updated, it may occur only every other time, or every tenth time, or any other predetermined period. Also, rather than having periodic updates, in some embodiments, the registry upload may occur only if the registry itself has actually been updated.


Furthermore, the service delivery platform 102, in conjunction with the recognition unit 115, the resource map 104 and resource profile 106, may implement one or more databases (not shown) that will require speedy and frequent updates. Accordingly, embodiments of the present invention may make use of “active” databases to accommodate the heavy traffic.


Turning now to FIG. 3, a flowchart 300 illustrating operation of embodiment of the present invention is shown. The particular arrangement of elements in the flowchart 300 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable. More particularly, the flowchart 300 illustrates the aggregation process in a mobile device for a plurality of CLs


In a process step 302, the mobile device 108 receives or discovers a CL. Receipt or discovery may be an out-of-band process and may be accomplished through the resource broadcasting or otherwise announcing presence and/or the CL.


In a process step 304, the user device 108 and, particularly, the resource monitor 114, checks if the CL is from a previously known resource. An affirmative response can lead to updating of the CL in the user device's lists (typically, the received CL may itself be updated and thus different from that previously stored), in a process step 306. Once updated, the information integrated into the next resource update to the service delivery platform 102, as shown at process step 312. More particularly, the information is loaded with the location information to the Home Location Register 116, which provides it to the service delivery platform 101. As noted above, this may be sent with every HLR update, or on an event basis or some periodic basis, and/or using a low bandwidth binary encoding.


If, in process step 304, the CL was determined to be unknown, the resource will be registered in the mobile device registry 110, in a process step 308. A new CL is created for the new resource from the received CL in a process step 310, and the new CL is integrated into a resource update, in a process step 312. Once a resource update is ready, the update is sent to another process 1000 that perpetually loops on a timer at process step 314, and per generates a resource update, at steps 316, 318.


As noted above, resource updates from mobile devices are received and stored by the Service Delivery Platform (SDP) 102. Using information from the resource updates, the SDP 102 constructs a conceptual map 104 of the immediate environment of a mobile device, generates a resource profile 106 of a current environment of the device, and uses the recognition unit 115 to allow or disallow functionality based on the map.


For example, shown in FIG. 4 is a user device 108 that has received CLs from other resources 402, 404, 406. The CLs 402, 406, 408 may be, for example, a cell site, a display resource, and a network resource. The mobile device 108 integrates these CLs into a resource update 408 which turn is broadcast by the mobile device 108 and received and stored by the SDP 102.


The stored representation of the environment is shown at 410 and includes a cell site 412, a display resource 414 and a network resource 416. The resources 412, 414, 416 correspond to the CLs 402, 404, 406, respectively. It is noted that the graphical representation of FIG. 4 is for purposes of simplicity only; the typical environment map uses internal digital computer data structures to effectively store objects such as CL 402,404, 406.


In the example illustrated, the informational attributes of CL 402 may describe a cell site of a cellular network 412 with interface 420; the informational attributes of CL 404 may describe a RFID display device depicted as 414 with interface 424; and the informational attributes of CL 406 may describe a WiFi network depicted as 416 with interface 422. The mobile device itself is shown as unitary structure 430 for purposes of this depiction but will be discussed later.


Thus, with reference to FIG. 4, the environment map 104 of the mobile device 108 shows that the device is in association with a display device 414 using interface 424, and has access to two networks 412 and 416 using interfaces 420, 422 respectively, the former being a WiFi network and the latter a cellular network.


The inventions discussed herein do not presuppose that a resource is necessarily associated exclusively with a single mobile device. Resources may be shared between multiples of mobile devices. It is also envisaged that the SDP 102 maintains an environment map for a plurality of mobile devices and, typically, maintains one map for all mobile devices in its purview.


As noted above, the environment map of mobile devices may be used to efficiently deliver to and receive information from the mobile devices. As an exemplary case, consider the problem of delivering video content from a source to the mobile device whose map 104 is depicted in FIG. 5.


The mobile device 108 is associated with a display resource 414, a cellular network 412 and a WiFi network 416. Also shown are a variety of network paths, 101, 201, 301, 501, 601, 701, Given the environment map of mobile device 108, a service profile 106 (FIG. 1) may be associated with the device that specifies that video content from a content server 502 may be delivered to either the mobile device 108 or to the display resource 414 and may further define the network path for the delivery.


In particular, the SDP 102 may choose a network path 101, 201, 301 to deliver the video content to the display resource 424. Alternatively, it may deliver the video content using the network path 101, 201, 501, 601, 301 to the mobile device 108; or it may also use the network path 701, 412. The service profile may further direct the mobile device 108 to consume the video content or to “relay” content to the display resource 424. Such a directive may be dictated by policies slated by the service provider. The SDP 102 may contain service logic using exist functions to choose any one of these paths. It may also use current network traffic and policies to prefer one path over the other possible paths.


If the SDP 102 chooses to deliver the video content to the display resource 424 and not the mobile device 108, it may first seek permission from the mobile device 100 by engaging in user dialog, such as via a graphical user interface. It is thus apparent that a user of a mobile device 108 may request video content from a server and in some cases, as depicted in FIG. 5, the video content will be received and relayed by the mobile device 108, to be displayed on a device 424 in close proximity to the mobile device.


Continuing with the example shown in FIG. 5, if the environment map of the mobile device 108 depicts that the device is in association with, for example, a Bluetooth (WiFi) network 416 generated by an automobile, the system and method of the present invention may employ a recognition unit 114 to examine the environment map 104 of a mobile device 108 to recognize that the mobile device 108 is in a pre-defined context, e.g., in an automobile and may limit access to features and services in response.


This is explained further with reference to FIG. 6. The SDP 102 receives resource updates in step 602, and determines whether a resource update is for a new or a previously known mobile devisee (Step 604). Steps 606 and 608 incorporate the received resource update into the environment map 104. In step 610, a recognition unit 115 containing pre-defined pattern matching rules is invoked that examines the environment map 104 for the mobile device 108 with the recently received resource update to determine if the map matches any of the pattern-rules of the recognition unit 115.


If a match is found, i.e., the mobile device 108 is determined to be in a pre-defined network or context or environment e.g., connected loan automobile wifi network 416, then the recognition unit 115 returns an affirmative response and may apply a service provider policy to the environment of the mobile device, e.g., restrict SMS usage.


In another exemplary embodiment, the SDP 102 may dictate the network path chosen to deliver the video content to the display resource 424 and not to the mobile device 108. The policy enforced by the SDP 102 on behalf of the service provider may be the result of safety considerations calculated by the service provider. Thus, the user of a mobile device 108 in an automobile may view video content on the external display provided by the automobile.


Continuing further with the example depicted in FIG. 5, suppose the mobile device 108 is to be used to transmit content to the network, i.e., in the uplink direction. Again, it is apparent, that the mobile device 108 may query the environment map 104 via the SDP 102 to select a suitable network interface to use for making the transmission.


The present embodiment envisages that computing, display, storage and network resources may be abundantly available to a mobile consumer, and the consumer may choose to use such resources through the system and method described in the present invention. Moreover, as the consumer travels, his environment and availability of resources changes, the changes being recorded in the registries and environment map corresponding to the user's mobile device.


The description of the present embodiment, so far, has concentrated on the external resources available to a mobile device 108, and not on the applications available within the device itself. It is envisaged, as previously stated, that mobile devices contain a registry of all applications that have been loaded on to a mobile device by the service provider or by the user himself. Applications that are not registered in the registry are considered as “rogue” applications and are outside the scope of the present invention.


As described earlier, the environment map for a mobile device depicts the immediate environment of the mobile device and the SDP 102 assigns a network profile 106 to the mobile device based on the current environment map 104. It is envisaged by the present invention that the SDP 102 is also aware of the applications within the registry of the mobile device 108, and when assigning a service profile, may enforce one or more policies on the profile that cause the enablement or disablement of certain applications in the mobile device or impact delivery of information to the mobile device by other network elements.


Continuing with the example of FIG. 5, the exemplary depiction shows mobile device 108 in association with a WiFi network resource 416 generated by an automobile. This association may be assumed to trigger a policy that disables the web browser and the SMS applications in the registry of the mobile device 108. Thus, the user of the mobile device 108 will not be capable of launching the SMS or the web browser applications from the mobile device. Furthermore, the service provider may trigger network elements to disable the delivery of messages to the mobile device in question, e.g., by marking the status of the mobile device as “unavailable” in the HLR will temporarily stop delivery of messages, including SMS messages, to the mobile device.


Turning now to FIG. 9, a flowchart 900 illustrating operation of embodiment of the present invention is shown. The particular arrangement of elements in the flowchart 900 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable.


In a process step 902, a user device 108 receives or detects the addition of one or more new programs, resources, or processes that may be available to it. The new additions can include new CLs 112 and result in an updated resource registry 110, as discussed above. In a process step 904, the user device transmits the update to the SDP 102. As discussed above, this can include the user device 108 transmitting a location signal to the Home Location Register and piggy-backing the CL and registry information on top. The HLR 116 in turn provides the information to the SDP 102.


In a process step 906, the SDP 102's resource monitor 114 receives the update and provides the information to the resource map 104. In response, in a process step 908, the resource map 104 determines a new environment map for the user device (and other devices). In a process step 910, the SDP 102's recognition unit 115 accesses or updates the resource profile 106 of the particular device whose update has been received. As noted above, the profile includes one or more rules based on inferences from user contexts resulting from knowledge of the user position, device orientation, etc.


In a process step 912, the SDP 102 can receive a service request from a user device. For example, as discussed above, this can include requests for video content or the like. In a process step 914, in response, the SDP 102's recognition unit 115 determines a user situation or device, i.e., accesses and applies the rules or policy for user access to the program or application or resource. Finally, in a process step 914, the SDP 102 can allow access per the rules.



FIG. 7 shows a block diagram of components of a service delivery platform or service provider implemented as a computing device 700, e.g., personal, or laptop computer or server. In some embodiments the computing device 700 may implement one more elements of the methods disclosed herein.


The system unit 11 includes a system bus or a plurality of system buses 21 to which various components are coupled and by which communication between the various components is accomplished. A processor 22, such as a microprocessor, is coupled to the system bus 21 and is supported by the read only memory (ROM) 23 and the random access memory (RAM) 24 also connected to the system bus 21. The computer 700 may be capable of high volume transaction processing, performing a significant number of mathematical calculations in processing communications and database searches. A Pentium™ or other similar microprocessor manufactured by Intel Corporation may be used for the processor 22. Other suitable processors may be available from Freescale Semiconductor, Inc., Advanced Micro Devices, Inc., or Sun Microsystems, Inc. The processor 22 also may be embodied as one or more microprocessors, computers, computer systems, etc.


The ROM 23 contains among other code the basic input output system (BIOS) which controls basic hardware operations such as the interaction of the disk drives and the keyboard. The ROM 23 may be embodied, e.g., as flash ROM. The RAM 24 is the main memory into which the operating system and applications programs are loaded. The memory management chip 25 is connected to the system bus 21 and controls direct memory access operations including passing data between the RAM 24 and hard disk drive 26 and removable drive 27 (e.g., floppy disk or flash ROM “stick”). A CD ROM drive (or DVD or other optical drive) 32 may also be coupled to the system bus 21 and is used to store a large amount of data, such as a multimedia program or a large database.


Also connected to the system bus 21 are various I/O controllers. The keyboard controller 28, the mouse controller 29, the video controller 30, and the audio controller 31. The keyboard controller 28 provides the hardware interface for the keyboard; the mouse controller 29 provides the hardware interface for the mouse 13 (or other cursor pointing device); the video controller 30 is the hardware interface for the video display 14; and the audio controller 31 is the hardware interface for a speaker and microphone (not shown). It is noted that while the various I/O controllers are illustrated as discrete entities, in practice, their functions may be performed by a single I/O controller known as a “super I/O.” Thus, the figures are exemplary only.


In operation, keyboard strokes are detected by the keyboard controller 28 and corresponding signals are transmitted to the microprocessor 22; similarly, mouse movements (or cursor pointing device movements) and button clicks are detected by the mouse controller and provided to the microprocessor 22. Typically, the keyboard controller 28 and the mouse controller 29 assert interrupts at the microprocessor 22. In addition, a power management system 33 may be provided which causes the computer to enter a power down mode if no activity is detected over a predetermined period.


One or more network interfaces 40 enable communication over a network 46, such as a packet network like the Internet. The network interfaces 40 may be implemented as wired or wireless network interfaces operating in accordance with, for example, one or more of the IEEE 802.11x standards and may also or alternatively implement a Bluetooth interface.


One embodiment of the present invention is as a set of instructions in a code module resident the RAM 24. Until required by the computer system, the set of instructions may be stored in another computer memory, such as the hard disk 26, on an optical disk for use in the CD ROM drive 32, a removable drive 27, or the flash ROM.


As shown in the figure, the operating system 50, resource monitor 104, resource map 106, resource profile(s) 114, and recognition unit 115 are resident in the RAM 24. The operating system 50 functions to generate a graphical user interface on the display 14.


Execution of sequences of the instructions in the programs causes the processor 22 to perform various of the process elements described herein. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of some or all of the methods described herein. Thus, embodiments are not limited to any specific combination of hardware and software.


The processor 22 and the data storage devices 26, 27, 32 in the computer 700 each may be, for example: (i) located entirely within a single computer or other computing device; or (ii) connected to each other by a remote communication medium; such as a serial port cable, telephone line or radio frequency transceiver. In one embodiment, the computer 100 may be implemented as one or more computers that are connected to a remote server computer.


As noted above, embodiments of the present invention may be implemented in or in conjunction with a telephone, such as a wireless or cellular “smart” telephone. An exemplary cellular telephone 800 including capabilities in accordance with an embodiment of the present invention is shown in FIG. 8. In some embodiments, the cellular telephone 800 may implement one or more elements of the methods disclosed herein. As shown, the cellular telephone includes control logic 802 and cellular transceiver 804. The cellular transceiver 804 allows communication over a cellular telephone network, such as a GSM or GPRS based cellular telephone network. The control logic 802 generally controls operation of the cellular telephone and, in some embodiments, implements CLs and resource registry, as well as other services or clients in accordance with embodiments of the present invention.


The control logic 802 interfaces to a memory 818 for storing, among other thing, contact or address lists 107. The control logic 802 also interfaces to a user interface(s) 810. The user interface(s) 810 can include a keypad 820, speaker 822, microphone 824, and display 826. The keypad may include one or more “hard” keys, but may be implemented in whole or in part as a cursor pointing device in association with one or more “virtual” keys on the display 826. In general, a user may make use of the keypad 820 and display 826 to enter contact information, and may speak into the microphone to provide the audio input(s), It is noted that other interfaces, such as voice-activated interfaces may be provided. Thus, the figure is exemplary only. In addition, a Bluetooth or Wifi interface 806 may be provided. A memory 808 for storing program code and data, such as the CL 112 and registry 110, also may be provided.


While specific implementations and hardware/software configurations for the mobile device and SDP have been illustrated, it should be noted that other implementations and hardware configurations are possible and that no specific implementation or hardware/software configuration is needed. Thus, not all of the components illustrated may be needed for the mobile device or SDP implementing the methods disclosed herein.


As used herein, whether in the above description or the following claims, the terms “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” and the like are to be understood to be open-ended, that is, to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of,” respectively, shall be considered exclusionary transitional phrases, as set forth, with respect to claims, in the United States Patent Office Manual of Patent Examining Procedures.


Any use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another, or the temporal order in which acts of a method are performed. Rather, unless specifically stated otherwise, such ordinal terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).


The above described embodiments are intended to illustrate the principles of the invention, but not to limit the scope of the invention. Various other embodiments and modifications to these preferred embodiments may be made by those skilled in the art without departing from the scope of the present invention.

Claims
  • 1. A method for controlling access to a functionality of a user device, the method comprising: receiving a capabilities list (CL) from one or more external resources available to the user device via a wireless network, each CL specifying one or more attributes of the respective external resource from which it is received;storing each of the received CLs in a resource registry associated with the user device;dynamically updating the resource registry with one or more updated CLs;determining an environment map for the user device, the environment map comprising resource environment information obtained from the resource registry;matching access policies of the user device with the environment map to dynamically assign a profile to the user device; andlimiting access to mobile applications running on the user device based on the profile assigned to the user device.
  • 2. The method of claim 1, wherein the one or more external resources include an external resource configured to deliver content to a user of the user device.
  • 3. The method of claim 1, wherein the one or more external resources include at least one of a computing resource, a display resource, a storage resource, or a network resource.
  • 4. The method of claim 1, wherein the wireless network is a Bluetooth network.
  • 5. The method of claim 1, wherein the one or more attributes include a network address.
  • 6. The method of claim 1, wherein the environment map further comprises physical environment information obtained from one or more sensors.
  • 7. The method of claim 6, wherein the physical environment information comprises location information.
  • 8. The method of claim 6, wherein the physical environment information comprises gravity information.
  • 9. The method of claim 8, wherein the gravity information comprises device orientation information.
  • 10. The method of claim 6, wherein the one or more sensors are located within the user device.
  • 11. The method of claim 1, further comprising: transmitting a resource update from the user device to a service delivery platform, the resource update including the resource environment information.
  • 12. The method of claim 1, wherein limiting access to mobile applications running on the user device includes limiting display of content on a display of the user device.
  • 13. The method of claim 1, wherein the mobile applications include a communication application.
  • 14. The method of claim 13, wherein the communication application is a messaging application.
  • 15. The method of claim 13, wherein the communication application is a web browser application.
  • 16. A user device comprising: a processor; anda non-transitory computer-readable medium comprising instructions stored thereon, that when executed on the processor, perform the steps of:receiving a capabilities list (CL) from one or more external resources available to the user device via a wireless network, each CL specifying one or more attributes of the respective external resource from which it is received;storing each of the received CLs in a resource registry associated with the user device;dynamically updating the resource registry with one or more updated CLs;determining an environment map for the user device, the environment map comprising resource environment information obtained from the resource registry;matching access policies of the user device with the environment map to dynamically assign a profile to the user device; andlimiting access to mobile applications running on the user device based on the profile assigned to the user device.
  • 17. The user device of claim 16, wherein the one or more external resources include an external resource configured to deliver content to a user of the user device.
  • 18. The user device of claim 16, wherein the one or more external resources include at least one of a computing resource, a display resource, a storage resource, or a network resource.
  • 19. The user device of claim 16, wherein the wireless network is a Bluetooth network.
  • 20. The user device of claim 16, wherein the one or more attributes include a network address.
  • 21. The user device of claim 16, wherein the environment map further comprises physical environment information obtained from one or more sensors.
  • 22. The user device of claim 21, wherein the physical environment information comprises location information.
  • 23. The user device of claim 21, wherein the physical environment information comprises gravity information.
  • 24. The user device of claim 23, wherein the gravity information comprises device orientation information.
  • 25. The user device of claim 21, wherein the one or more sensors are located within the user device.
  • 26. The user device of claim 16, wherein the instructions further perform the step of: transmitting a resource update from the user device to a service delivery platform, the resource update including the resource environment information.
  • 27. The user device of claim 16, wherein limiting access to mobile applications running on the user device includes limiting display of content on a display of the user device.
  • 28. The user device of claim 16, wherein the mobile applications include a communication application.
  • 29. The user device of claim 28, wherein the communication application is a messaging application.
  • 30. The user device of claim 28, wherein the communication application is a web browser application.
US Referenced Citations (218)
Number Name Date Kind
4360875 Behnke Nov 1982 A
5604676 Penzias Feb 1997 A
5608778 Partridge, III Mar 1997 A
6697730 Dickerson Feb 2004 B2
6785542 Blight Aug 2004 B1
6829478 Layton Dec 2004 B1
6876867 Tiedemann Apr 2005 B2
6912386 Himberg Jun 2005 B1
7206559 Meade, II Apr 2007 B2
7224698 Kreiner May 2007 B2
7226494 Schwartz Jun 2007 B1
7266595 Black Sep 2007 B1
7302481 Wilson Nov 2007 B1
7363031 Aisa Apr 2008 B1
7379464 Kreiner May 2008 B2
7400891 Aaron Jul 2008 B2
7529545 Rader May 2009 B2
7539723 Agrawal May 2009 B2
7548886 Kirkland et al. Jun 2009 B2
7561535 Naqvi Jul 2009 B2
7672297 Naqvi Mar 2010 B2
7693720 Kennewick Apr 2010 B2
7724753 Naqvi May 2010 B2
7756633 Huang Jul 2010 B2
7773972 Croome Aug 2010 B2
7792528 Naqvi Sep 2010 B2
7802292 Shaw Sep 2010 B2
7840427 O'sullivan Nov 2010 B2
7856226 Wong et al. Dec 2010 B2
7864936 Naqvi Jan 2011 B2
7890743 Buchanan Feb 2011 B2
7908208 Juarez Mar 2011 B2
8026814 Heinze Sep 2011 B1
8170534 Naqvi May 2012 B2
8195188 Fomukong Jun 2012 B2
8285571 Demirdjian Oct 2012 B2
8320272 Kahn Nov 2012 B2
8326001 Free Dec 2012 B2
8427303 Brady Apr 2013 B1
8432899 Naqvi Apr 2013 B2
8433303 Naqvi Apr 2013 B2
8479266 Delker Jul 2013 B1
8483373 Naqvi Jul 2013 B2
8504921 Wilson Aug 2013 B2
8532069 Balwani Sep 2013 B2
8553866 Naqvi Oct 2013 B2
8565820 Riemer Oct 2013 B2
8595103 Wargin Nov 2013 B1
8611334 Naqvi Dec 2013 B2
8620354 Beasley Dec 2013 B2
8666894 Buch et al. Mar 2014 B1
8719119 Wargin May 2014 B1
8726390 Martini May 2014 B1
8730945 Naqvi May 2014 B2
8787936 Tibbitts Jul 2014 B2
8831824 Moinzadeh Sep 2014 B2
8929857 Baker Jan 2015 B2
8931001 Wilson Jan 2015 B2
8947696 Uyttendaele Feb 2015 B1
8953566 Hegde Feb 2015 B2
9077611 Cordray Jul 2015 B2
9125106 Velusamy Sep 2015 B1
9300739 Deprun Mar 2016 B2
9325510 Deprun Apr 2016 B2
9467562 Bozionek Oct 2016 B2
9537866 Mcdonald Jan 2017 B2
20020065698 Schick May 2002 A1
20020130176 Suzuki Sep 2002 A1
20030071117 Meade, II Apr 2003 A1
20030073411 Meade, II Apr 2003 A1
20030073432 Meade, II Apr 2003 A1
20040125993 Zhao Jul 2004 A1
20040137925 Lowe Jul 2004 A1
20040158618 Shaw Aug 2004 A1
20040256474 Park Dec 2004 A1
20050102358 Gold May 2005 A1
20060069717 Mamou Mar 2006 A1
20060092037 Neogi May 2006 A1
20060179056 Rosenberg Aug 2006 A1
20060233173 Pullela Oct 2006 A1
20060270350 Kim Nov 2006 A1
20070055785 Stevens Mar 2007 A1
20070115940 Kamen May 2007 A1
20070150480 Hwang Jun 2007 A1
20070150599 Neogi et al. Jun 2007 A1
20070155402 Van Erlach Jul 2007 A1
20070237096 Vengroff Oct 2007 A1
20070254669 Katz Nov 2007 A1
20070281713 Mullen Dec 2007 A1
20080052395 Wright Feb 2008 A1
20080092155 Ferrone Apr 2008 A1
20080092156 Ferrone Apr 2008 A1
20080134045 Fridman Jun 2008 A1
20080137646 Agarwal Jun 2008 A1
20080162346 Aaron et al. Jul 2008 A1
20080164308 Aaron et al. Jul 2008 A1
20080195664 Maharajh Aug 2008 A1
20080209052 Velan Aug 2008 A1
20080225762 Soliman Sep 2008 A1
20080270172 Luff Oct 2008 A1
20080271109 Singh Oct 2008 A1
20080294487 Nasser Nov 2008 A1
20090077645 Kottahachchi Mar 2009 A1
20090085803 Mergen Apr 2009 A1
20090113326 Miyamoto Apr 2009 A1
20090119384 Kreiner May 2009 A1
20090124241 Krishnaswamy May 2009 A1
20090132197 Rubin May 2009 A1
20090132362 Fisher May 2009 A1
20090143078 Tu Jun 2009 A1
20090152343 Carter Jun 2009 A1
20090169018 Deisher Jul 2009 A1
20090183178 Imai Jul 2009 A1
20090203359 Makhoul Aug 2009 A1
20090204612 Keshavarz-Nia Aug 2009 A1
20090222907 Guichard Sep 2009 A1
20090234850 Kocsis Sep 2009 A1
20090252113 Take Oct 2009 A1
20090264131 Wu Oct 2009 A1
20090299853 Jones Dec 2009 A1
20090299990 Setlur Dec 2009 A1
20090309711 Adappa Dec 2009 A1
20100009657 Dingier et al. Jan 2010 A1
20100030423 Nathanson Feb 2010 A1
20100057485 Luft Mar 2010 A1
20100057562 Gabbay Mar 2010 A1
20100088532 Pollack Apr 2010 A1
20100107225 Spencer Apr 2010 A1
20100113065 Narayan et al. May 2010 A1
20100121684 Morio et al. May 2010 A1
20100122281 Wang May 2010 A1
20100153289 Schneiderman Jun 2010 A1
20100167691 Howarter Jul 2010 A1
20100191604 Raleigh Jul 2010 A1
20100192212 Raleigh Jul 2010 A1
20100205022 Brown Aug 2010 A1
20100225493 Zishaan Sep 2010 A1
20100227691 Karsten Sep 2010 A1
20100249955 Sitton Sep 2010 A1
20100280892 Uzunalioglu Nov 2010 A1
20100299451 Yigang et al. Nov 2010 A1
20100299719 Burks Nov 2010 A1
20100306249 Hill Dec 2010 A1
20100319059 Agarwal Dec 2010 A1
20100323657 Barnard Dec 2010 A1
20110009107 Guba Jan 2011 A1
20110010543 Schmidt Jan 2011 A1
20110054904 Fenton Mar 2011 A1
20110069702 Oktay Mar 2011 A1
20110077028 Wilkes et al. Mar 2011 A1
20110093161 Zhou Apr 2011 A1
20110095905 Mase Apr 2011 A1
20110099040 Felt Apr 2011 A1
20110113467 Agarwal May 2011 A1
20110131247 Brown Jun 2011 A1
20110136542 Sathish Jun 2011 A1
20110137730 McCarney Jun 2011 A1
20110150204 Halachmi Jun 2011 A1
20110153759 Rathod Jun 2011 A1
20110158090 Riley Jun 2011 A1
20110167105 Ramakrishnan Jul 2011 A1
20110202293 Kobraei Aug 2011 A1
20110202485 Cutler Aug 2011 A1
20110208822 Rathod Aug 2011 A1
20110225293 Rathod Sep 2011 A1
20110235549 Ahlers Sep 2011 A1
20110257973 Chutorash et al. Oct 2011 A1
20110275321 Zhou Nov 2011 A1
20110276396 Rathod Nov 2011 A1
20110276406 Sneyders Nov 2011 A1
20110276981 Clohessy Nov 2011 A1
20110289392 Naqvi Nov 2011 A1
20110294520 Zhou Dec 2011 A1
20110299478 Clark Dec 2011 A1
20110313804 Camp Dec 2011 A1
20120010867 Eder Jan 2012 A1
20120021770 Naqvi Jan 2012 A1
20120023554 Murgia Jan 2012 A1
20120028624 Jedlicka Feb 2012 A1
20120041983 Jennings Feb 2012 A1
20120055022 Matsumoto Mar 2012 A1
20120101903 Oh Apr 2012 A1
20120113905 Anderson May 2012 A1
20120150601 Fisher Jun 2012 A1
20120151533 Kandanala Jun 2012 A1
20120165042 Cho Jun 2012 A1
20120177045 Berman Jul 2012 A1
20120214463 Smith et al. Aug 2012 A1
20120258161 Patel Oct 2012 A1
20120271715 Morton Oct 2012 A1
20120303439 Flitcroft Nov 2012 A1
20120316962 Rathod Dec 2012 A1
20120324482 Park Dec 2012 A1
20130029693 Bradley Jan 2013 A1
20130054962 Chawla Feb 2013 A1
20130132277 Naqvi May 2013 A1
20130145293 Yoakum Jun 2013 A1
20130246175 Bilange Sep 2013 A1
20130290106 Bradley Oct 2013 A1
20130295908 Zeinstra et al. Nov 2013 A1
20140087760 Bennett Mar 2014 A1
20140129393 Soon-Shiong May 2014 A1
20140129942 Rathod May 2014 A1
20140143341 Brady May 2014 A1
20140258471 Etchegoyen Sep 2014 A1
20140295804 Naqvi Oct 2014 A1
20140335889 Witych Nov 2014 A1
20140365334 Hurewitz Dec 2014 A1
20140370869 Naqvi Dec 2014 A1
20150073901 Arnold Mar 2015 A1
20150088701 Desmarais Mar 2015 A1
20150161665 Grimes Jun 2015 A1
20150289111 Ozkan Oct 2015 A1
20150356657 Pas Dec 2015 A1
20160150467 Shaw May 2016 A1
20160171486 Wagner Jun 2016 A1
20170208459 Raleigh Jul 2017 A1
20170215138 Shaw Jul 2017 A1
Foreign Referenced Citations (2)
Number Date Country
1372309 Dec 2003 EP
2007002604 Jan 2007 WO
Non-Patent Literature Citations (19)
Entry
Hastie, et al., “The Elements of Statistical Learning, Data Mining, Inference and Prediction” Second Edition, copyright 2009, Chapter 2: “Overview of Supevised Learning”, pp. 9-39.
Tofel, “With New Apps Google Now May Be Your Future Home Screen”, dated Jan. 30, 2015. Downloaded at https://gigaom.com/2015/01/30/with-new-apps-google-now-may-be-your-future-home-screen/, 8 pages.
Frost, “iBeacon in iOS 8 getting location based notifications, plus: FCC filing suggests Apple to launch own iBeacon hardware”, dated Sep. 2, 2014. Downloaded at http://www.macworld.co.uk/news/iosapps/apples-plans-for-ibacon-hardware-new-ios-8-location-notification-3542708/, 5 pages.
Morozov: To Save Everything, Chick Here, www.publicaffairsbooks.com/ see also Perseus Books, 2013.
Constine, “Vurb is Crazy Engough to Fight Google”, Feb. 2015 14 pages.
Fan “How Cards are Quitely Transforming the Web”, Feb. 2015, 10 pages.
UberCab Takes the Hassle Out of Booking a Car Service by Leena Rao on Jul. 5, 2010, 6 pages downloaded at https://web.archive.org/web/20100708015701/http:/techcrunch.com/2010/07/05/ubercab-takes-the-hassle-out-of-booking-a-car-service/.
Author Unknown, “Technical Solution Ideas” downloaded at https://web.archive.org/web/20100823055621/http://ddfn.org/ideas.asp Downloaded on May 9, 2017.
Author Unknown “Solution Providers | Distracted Driving Foundation” 5 pages, downloaded at http://www.ddfn.org/solutionsproviders/ on Mar. 27, 2017.
Sensing motion in a mobile phone and limiting functionality of moving phones Submitted to Distracted Driving Foundation by Marie Stewart, Jun. 20, 2010, downloaded at http://www.ddfn.org/pdfs/StewartPhoneDisablingSystem.pdf.
Author unknown, “Exempt from automatic restriction of functionality moving phones accompanied by an override transmitter” downloaded at http://www.ddfn.org/pdfs/HaleyPhoneRestrictionSystemv247.10.pdf downloaded May 9, 2017.
Author Unknown, “What is Drive Alive?” downloaded http://www.ddfn.org/pdfs/DDFNdocumentDriveAlive.pdf, downloaded May 9, 2017.
Author Unknown, “Car Key Jams Teen Drivers' Cell Phones” copyright 2008 downloaded at https://web.archive.org/web/20090214155734/http://www.unews.utah.edu/p/?r=1208081 on Mar. 21, 2017, 3 pages.
Author Unknown, “K2SD Workflow”, copyright 2007, 2 pages downloaded at https://web.archive.org/web/20090429012022/http://key2safedriving.net/Technology.aspx, downloaded May 9, 2017.
Author Unknown, “Textecution—Premium Mobile Device Safety Application” copyright 2009 downloaded at https://web.archive.org/web/20090705190653/http:/textecution.com/how_does_it_work.php, downloaded on May 9, 2017.
Author Unknown, “cellcontrol _ Reducing Distractions While Driving”, copyright 2009, downloaded at https://web.archive.org/web/20091208041109/http://cellcontrol.com/index.html, downloaded on May 9, 2017.
Author Unknown, “cellcontrol _ How It Works!” copyright 2009 downloaded at https://web.archive.org/web/20091209040335/http://www.cellcontrol.com/how.html, downloaded on May 9, 2017.
Jay Przybyla, “Cell Phone Use While Driving: A Literature Review and Recommendations” dated Dec. 11, 2008; downloaded at http://www.civil.utah.edu/˜zhou/cell_phone_and_distracted_driver.pdf, downloaded on May 9, 2017.
David Teater, “Distracted driving” copyright 2009 downloaded at http://www.nsc.org/Membership%20Site%20Document%20Library/Recorded-Webinars/Corporate%20Distracted%20Driving%20Copy%20NSC%20National%20Safety%20Month.pdf, downloaded on May 9, 2017.
Related Publications (1)
Number Date Country
20190028867 A1 Jan 2019 US
Continuations (5)
Number Date Country
Parent 15782893 Oct 2017 US
Child 16130070 US
Parent 15611815 Jun 2017 US
Child 15782893 US
Parent 15244250 Aug 2016 US
Child 15611815 US
Parent 14920112 Oct 2015 US
Child 15244250 US
Parent 12804448 Jul 2010 US
Child 14920112 US