US10171609B2 - Constraint based signal for intellegent and optimized end user mobile experience enhancement - Google Patents
Constraint based signal for intellegent and optimized end user mobile experience enhancement Download PDFInfo
- Publication number
- US10171609B2 US10171609B2 US14/253,062 US201414253062A US10171609B2 US 10171609 B2 US10171609 B2 US 10171609B2 US 201414253062 A US201414253062 A US 201414253062A US 10171609 B2 US10171609 B2 US 10171609B2
- Authority
- US
- United States
- Prior art keywords
- session
- data
- mobile communication
- communication device
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H04L67/2842—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
- H04W76/34—Selective release of ongoing connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Definitions
- FIG. 3 is a block diagram of a Predictive Context Preservation Server (PCPS), first introduced above in conjunction with FIG. 1 , that may implement aspects of the claimed subject matter.
- PCPS Predictive Context Preservation Server
- FIG. 6 is a flowchart of a Monitor Session process 350 that may implement aspects of the claimed subject matter.
- process 350 is associated with logic stored on CRSM 112 ( FIG. 1 ) and PCPS 114 ( FIGS. 1 and 4 ) and executed on one or more processors (not shown) of CPU 104 ( FIG. 1 ) and CS 102 ( FIG. 1 ).
- the following description uses MAC 168 ( FIG. 2 ), MAS 116 and mobile telephone 132 ( FIGS. 1 and 2 ) as examples.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Databases & Information Systems (AREA)
Abstract
Provided are techniques for collecting data associated with a mobile communication device, wherein the mobile communication device is executing a session associated with a mobile application over a wireless connection; assigning a corresponding weight value to each datum of the constraint data; generating a score for the communication session based upon the data wherein each datum is modified based upon the corresponding weight; and, in response to a determination that the score falls within a first range, store a context corresponding to the session in a persistent data storage and extend the session; in response to a determination that the score falls within a second range, distinct from the first range, store the context in the persistent data storage and maintain the session as a transient session; and, in response to a determination that the score does not fall within wither the first or second ranges, terminate the session.
Description
The claimed subject matter relates generally to mobile computing and, more specifically, to techniques for optimizing end user experience with respect to mobile applications.
Many mobile computing devices today provide, in addition to telephony service, mobile applications. Every day, applications for mobile devices are being released to the public. The very nature of mobile computing requires that sessions related to mobile applications depend upon wireless communication links that may be unreliable. For example, a mobile telephone may lose connectivity when the user is travelling through a tunnel. Currently, this scenario typically causes an application session to be terminated.
Caching techniques may be used to mitigate some issues with respect to mobile application architectures. However, in today's mobile enterprise architectures, caches are typically passive in nature. In other words, caching is either enabled or disabled with no regard for the current or future state of any particular mobile application session or the components involved.
Techniques are provided that consider both current contextual state and predicted future conditions in order to make intelligent session management decisions with respect to mobile applications. For example, a system may consider current network connection quality of a mobile device, current GPS coordinates of a mobile device, and directional heading of a mobile device to make informed decisions about whether or not to maintain a particular application session. For instance, session management or context retention may not be enabled in scenarios where a user is on a 4G or WIFI network and it is assumed the bandwidth is sufficient to forego the trade-offs associated with the maintenance. Another example would be the enabling and priming of a session context for session maintenance due to the fact that a user is moving towards a location that has historical issues in terms of network performance (this would be determined by OPS and directional heading information obtained from device sensors). The result of this approach is that session management would only be utilized when necessary, and thus storage for the session context would only be consumed when appropriate.
Also provided are techniques for leveraging the capabilities of application servers and mobile devices to enhance the nature of session maintenance in mobile application runtimes. Substitution techniques for caching requests from a mobile device to a backend service are proposed. These techniques provide for the use of abbreviated messages that map to fully expanded session requests that are maintained on the server side. This enables a client application running on a mobile device to send a compact message to the backend, or server side to reconnect to a maintained session or context. The backend system may then use a key in the shortened message to look up the fully expanded request. This serves to decrease the strain the mobile client puts upon the network, thereby improving overall performance and more importantly, user experience over inconsistent connections.
Provided are techniques for collecting constraint data associated with to mobile communication device, wherein the mobile communication device is executing a session associated with a mobile application over a wireless connection; assigning a corresponding weight value of a plurality of weight values to each datum of the constraint data; generating a score for the communication session based upon the data wherein each datum is modified based upon the corresponding weight; and, in response to as determination that the score falls within a first range, store a context corresponding to the session in a persistent data storage and extend the session; in response to is determination that the score falls within a second range, distinct from the first range, store the context in the persistent data storage and maintain the session as a transient session; and, in response to a determination that the score does not fall within wither the first or second ranges, terminate the session.
This summary is not intended as a comprehensive description of the claimed subject matter but, rather is intended to provide a brief overview of some of the functionality associated therewith. Other systems, methods, functionality, features and advantages of the claimed subject matter will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description.
A better understanding of the claimed subject matter can be obtained when the following detailed description of the disclosed embodiments is considered in conjunction with the following figures.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented, programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational actions to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Turning now to the figures, FIG. 1 is an exemplary mobile communication architecture 100 on which the claimed subject matter may be implemented. It should be noted that architecture 100 is only one example of a configuration in which the claimed subject matter may be implemented. Those with skill in the computing and communication arts should appreciate that there are many types of devices and architectures that may incorporate the disclosed technology.
CS 102 is communicatively coupled to a local area network (LAN) 120. LAN 120 is coupled to the Internet 122. Also connected to Internet 122 is a plain old telephone switch (POTS) 126. A cellular system 128 and a WiFi connection 130 are coupled to POTS 126 and, via POTS 126, to Internet 122. In this example, two mobile communication/computing devices, i.e. a cellular telephone 132 and a handheld computer 138, are both able to communicate with cellular system 128 and WiFi connection 130.
A wireless link 140 represents a communication link between handheld computer 138 and cellular system 128. A wireless link 142 represents a communication link between handheld computer 138 and cellular system 130. Typically, only one of links 140 and 142 is active. Like telephone 132, handheld computer 138 “roams” between links 140 and 142, as well as other possible communication links, which for the sake of simplicity are not shown, and selects which of links 140 or 142 to utilize based upon preconfigured parameters.
I/O module 172 handles any communication PCM 166 has with other components of mobile telephone 132 (FIGS. 1 and 2 ). LCC 174 calculates a correlation between the current physical position of mobile telephone 132 and any location data stored in location data 184. In this example, LCC 174 receives information related to the current physical position of mobile telephone from GPS 160 (FIG. 2 ) although such information may also be received in addition or in the alternative from cellular signal triangulation techniques that should be familiar to those with skill in the relevant communication and computing arts.
I/O module 202 handles any communication PCPS 114 has with other components of CS 102 (FIG. 1 ) and architecture 100 (FIG. 1 ), including PCPC 166 (FIG. 2 ). LCS 204 calculates a correlation between the current physical position of mobile telephone 132 and any location data stored in location data 220. In this example, LCS 204 receives information related to the current physical position of mobile telephone from PCPC 166 (FIGS. 2 and 3 ) of mobile computer 132 (FIG. 1 ), although such information may also be received in addition or in the alternative from cellular signal triangulation techniques that should be familiar to those with skill in the relevant communication and computing arts.
It should be noted that in the following description. PCPS 114 and PCPC 166 share many elements and that different functions may be performed either by one or both 114 and 166. In other words, PCPC 114 and PCPS 166 work together to implement the disclosed technology and the particular device 114 or 166 that may performs any particular described function may differ from described below.
Process 300 starts in a “Begin Initialize Session” block 302 and proceeds immediately to a “Receive Request” block 304. During processing associated with block 304, PCPS 114 receives a request for an application session over a connection to mobile device, which in this example are MAC 116 (FIG. 1 ) and mobile telephone 132 (FIGS. 1 and 2 ), respectively During processing associated with a “Retrieve Data” block 306, data is retrieved, from device data 218 (FIG. 4 ) of data module 214 (FIG. 4 ) to identify, if possible, mobile telephone 132 and any parameters and data related to mobile telephone 132. During processing associated with a “Managed Session?” block 308, a determination is made as to whether or not MAC 116 and MAS 168 are configured to be managed in a accordance with the claimed subject matter. Typically, such a determination may be based upon whether or not mobile telephone 132 has PCPC 166 and, if so, PCPC 166 is enabled.
If so, control proceeds to a “Determine Constraints” block 310. During processing associated with block 310, PCPS 114 establishes a connection with PCPC 166 and retrieves constraint data such as location of mobile telephone 132, signal data and any other constraints that are relevant. It should be noted that during monitoring of the connection (see 350 FIG. 6 ), PCPC 166 transmits periodic updates of the constraint data. During processing associated with a “Spawn Monitor” block 312, PCPS 114 initiates a “Monitor Session” process 350 (see FIG. 6 ) to manage the application session in accordance with the claimed subject matter.
Finally, once Monitor Session process 350 has been initiated or, if during processing associated with block 308 a determination is made that the current session is not currently configured for monitoring, control proceeds to an “End Initialize Session” block 319 during which process 300 is complete.
Process 350 starts in a “Begin Monitor Session” block 352 and proceeds immediately to a “Receive Constraints” block 354. During processing associated with block 354, constraints associated with, in this example, MAC 168 and mobile telephone 132 are received (see 310, FIG. 5 ). As explained above in connection with FIG. 5 , constraints associated with MAC 168, mobile telephone 132 and the current connection are periodically updated. During processing associated with a “Receive Timeout” block 356, an asynchronous interrupt (not shown) is received indicating that the managed session has exceed predefined period of inactivity.
During processing associated with a “Time Out (T.O.) Limit Exceeded?” block 358, a determination is made as to whether or not the current session being managed has exceeded a predetermined number of permissible timeouts. The specific number of permissible time outs may by defined by an administrator and stored as a parameter in operating parameters 224 (FIG. 4 ). For example, PCPS 114 may determine, based upon the available constraints such as location and signal strength, that mobile telephone 132 is currently in a tunnel and, based upon information know about an average length of time to takes to travel through the tunnel, PCPS 114 may determine that three (3) timeouts are typically required. A fourth timeout may indicate that the user deliberately disconnected the session while in the tunnel.
If the timeout limit has not been exceeded, control proceeds to an “Evaluate Constraints” block 360, which is explained in more detail below (see FIG. 7 ). During processing associated with a “Granted Extension?” block 362, a determination is made as to whether or not, based upon the available constraints, that an extension of the current session should be granted. If so, the session is extended and control returns to Receive Constraints block 354 and processing continues as describe above. If not, or if a determination is made during block 364 that the timeout limit has been exceeded, control proceeds to a “Terminate Session” block 364. During processing associated with block 364, the application session associated with MAC 116 is terminated.
Finally, once the session as been terminated during processing associated with block 364 or, the session is explicitly terminated as indicated by the receipt of an asynchronous Session Terminated interrupt 366, control proceeds to an “End Monitor Session” block 369.
Process 400 starts in a “Begin Evaluate Constraints” block 402 and proceeds immediately to a “Collect Data” block 404. During processing associated with block 404, data concerning MAC 168 and mobile telephone 132 (FIGS. 1 and 2 is collected. The collected data is information retrieved from system data 216 (FIG. 4 ), device data 218 (FIG. 4 ), location data 220 (FIG. 4 ) and heuristic data 222 (FIG. 4 ) of data module 214 (FIG. 4 ) and from data collected by CCE 178 and periodically transmitted to PCPS 114. As described above constraints may include, but are not limited to, location of mobile telephone (see LCC 174), signal strength (see SAC 176), projected battery charge and remaining life, CPU 150 usage and capacity, memory 162 use and capacity, and estimated time left on a particular connection. Additional constraints may be based upon the status of particular components of mobile telephone 132. For example, MAC 168 may be an application that depends upon input from GPS 169 (TAG 2) or a camera (not shown).
During processing associated with a “Weight Constraints” block 406, each constraint collected during processing associated with block 404 is “weighted” based upon administrative decisions concerning the relative importance of each constraint (see 188. FIGS. 3 and 226 . FIG. 4 ).
During processing associated with a “Compute Coefficient” block 408, the constraints collected during processing associated with 404 and weighted during processing associated with 406 are used in a calculation to determine a score for the current session and mobile telephone 132. For example, as score may be as number between zero (0) and one hundred (100) with twenty and below (≤20) representing a “low” score, between twenty and fifty (20<x≤50) representing a “medium” score and between 50 and 100 (50<x≤100) representing a “high” score. In this example a “higher” score would represent a drastic situation, e.g., very low battery life; entering a zero coverage area, a traffic jam in a tunnel or natural, calamity.
During processing associated with a “Low Coefficient?” block 410, a determination is made as to whether or not the coefficient, or “score,” calculated during processing associated with block 408 is low. If so, control proceeds to an “Extend and Store Session” block 412. During processing associated with block 412, the current connection, or “session,” is granted an extension and the data associated with the session is stored, or “cached,” in CRSM 112 as a transient session. As explained above, a session may also be assigned an FD to reduce the overhead associated with a resumption of the session, possibly over a different connection. If a determination is made during processing associated with block 410 that the calculated coefficient is not low, control proceeds to a “Medium Coefficient?” block 414. During processing associated with block 414, a determination is made as to whether or not the score calculated during processing associated with block 408 is medium. If so, control proceeds to a “Keep in Memory as Transient Session” block 416. During processing associated with block 416, the current session is stored in memory as a transient session.
If a determination is made during processing associated with block 414 that the score is not medium, or once processing is complete in blocks 412 or 416, control proceeds to an “End Evaluate Constraints” block 419 in which process 404) is complete. It should be noted that if the score is high no action other than to proceed to block 419 is taken.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block, in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Claims (21)
1. A method, comprising:
collecting constraint data associated with a mobile communication device, wherein the mobile communication device is executing a session associated with a mobile application over a wireless first connection, wherein session data is associated with the session and is distinct from connection data associated with the first connection and the constraint data is based upon the connection data;
assigning a corresponding weight value of a plurality of weight values to each datum of the constraint data;
generating a score for the communication session based upon the constraint data wherein each datum is modified based upon the corresponding weight; and,
in response to a determination that the score falls within a specified range:
storing the session data in a persistent data storage;
maintaining the session as a transient session with respect to the mobile computing device, wherein a transient session is a session that is resumed over a second connection with the session data stored when the first connection is dropped.
2. The method of claim 1 , wherein the constraints are selected from a first list, the first list consisting of:
number of attempts to establish the wireless connection;
device resources corresponding to the device;
server resources corresponding to a server;
a physical location of the mobile communication device;
strength of a signal received from the mobile communication device;
heuristic data based upon previous sessions on the mobile communication device;
an amount of traffic on a communication network associated with the wireless connection; and
a plurality of constrains collected by the mobile communication device.
3. The method of claim 1 , further comprising periodically reapplying the method throughout a duration of the session.
4. The method of claim 1 , wherein the mobile communication device is a cellular telephone.
5. The method of claim 1 , wherein the mobile communication device is a portable computer.
6. An apparatus, comprising:
a plurality of processors;
a non-transitory computer-readable storage medium coupled to the plurality of processors; and
logic, stored on the computer-readable storage medium and executed on the plurality of processors, for:
collecting constraint data associated with a mobile communication device, wherein the mobile communication device is executing a session associated with a mobile application over a wireless first connection, wherein session data is associated with the session and is distinct from connection data associated with the first connection and the constraint data is based upon the connection data;
assigning a corresponding weight value of a plurality of weight values to each datum of the constraint data;
generating a score for the communication session based upon the constraint data wherein each datum is modified based upon the corresponding weight; and,
in response to a determination that the score falls within a specified range:
storing the session data in a persistent data storage;
maintaining the session as a transient session with respect to the mobile computing device, wherein a transient session is a session that is resumed over a second connection with the session data stored when the first connection is dropped.
7. The apparatus of claim 6 , wherein the constraints are selected from a first list, the first list consisting of:
number of attempts to establish the wireless connection;
device resources corresponding to the device;
server resources corresponding to a server;
a physical location of the mobile communication device;
strength of a signal received from the mobile communication device;
heuristic data based upon previous sessions on the mobile communication device;
an amount of traffic on a communication network associated with the wireless connection;
a plurality of constrains collected by the mobile communication device.
8. The method of claim 6 , further comprising periodically reapplying the method throughout a duration of the session.
9. A computer programming product for providing session management for mobile computing applications comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by a plurality of processors to perform a method comprising:
collecting constraint data associated with a mobile communication device, wherein the mobile communication device is executing a session associated with a mobile application over a wireless first connection, wherein session data is associated with the session and is distinct from connection data associated with the first connection and the constraint data is based upon the connection data;
assigning a corresponding weight value of a plurality of weight values to each datum of the constraint data;
generating a score for the communication session based upon the constraint data wherein each datum is modified based upon the corresponding weight; and,
in response to a determination that the score falls within a specified range:
storing the session data in a persistent data storage;
maintaining the session as a transient session with respect to the mobile computing device, wherein a transient session is a session that is resumed over a second connection with the session data stored when the first connection is dropped.
10. The computer programming product of claim 9 , wherein the constraints are selected from a first list, the first list consisting of:
number of attempts to establish the wireless connection;
device resources corresponding to the device;
server resources corresponding to a server;
a physical location of the mobile communication device;
strength of a signal received from the mobile communication device;
heuristic data based upon previous sessions on the mobile communication device;
an amount of traffic on a communication network associated with the wireless connection; and
a plurality of constrains collected by the mobile communication device.
11. The computer programming product of claim 9 , further comprising periodically reapplying the method throughout a duration of the session.
12. The method of claim 2 , wherein the device resources are selected from a list the list consisting of:
battery life;
memory resources;
processor usage;
processor capacity; and
status of components.
13. The method of claim 2 , wherein the server resources are selected from a list the list consisting of:
memory resources;
processor usage; and
processor capacity.
14. The apparatus of claim 6 , wherein the mobile communication device is a cellular telephone.
15. The apparatus of claim 6 , wherein the mobile communication device is a portable computer.
16. The apparatus of claim 7 , wherein the device resources are selected from a list the list consisting of:
battery life;
memory resources;
processor usage;
processor capacity; and
status of components.
17. The apparatus of claim 7 , wherein the server resources are selected from a list the list consisting of:
memory resources;
processor usage; and
processor capacity.
18. The computer programming product of claim 9 , wherein the mobile communication device is a cellular telephone.
19. The computer programming product of claim 9 , wherein the mobile communication device is a portable computer.
20. The computer programming product of claim 10 , wherein the device resources are selected from a list the list consisting of:
battery life;
memory resources;
processor usage;
processor capacity; and
status of components.
21. The computer programming product of claim 10 , wherein the server resources are selected from a list the list consisting of:
memory resources;
processor usage; and
processor capacity.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/253,062 US10171609B2 (en) | 2014-04-15 | 2014-04-15 | Constraint based signal for intellegent and optimized end user mobile experience enhancement |
US16/190,344 US10616363B2 (en) | 2014-04-15 | 2018-11-14 | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/253,062 US10171609B2 (en) | 2014-04-15 | 2014-04-15 | Constraint based signal for intellegent and optimized end user mobile experience enhancement |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/190,344 Continuation US10616363B2 (en) | 2014-04-15 | 2018-11-14 | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150296041A1 US20150296041A1 (en) | 2015-10-15 |
US10171609B2 true US10171609B2 (en) | 2019-01-01 |
Family
ID=54266096
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/253,062 Active US10171609B2 (en) | 2014-04-15 | 2014-04-15 | Constraint based signal for intellegent and optimized end user mobile experience enhancement |
US16/190,344 Active US10616363B2 (en) | 2014-04-15 | 2018-11-14 | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/190,344 Active US10616363B2 (en) | 2014-04-15 | 2018-11-14 | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
Country Status (1)
Country | Link |
---|---|
US (2) | US10171609B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10616363B2 (en) | 2014-04-15 | 2020-04-07 | International Business Machines Corporation | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
US11083036B1 (en) * | 2020-05-27 | 2021-08-03 | Lenovo (Singapore) Pte. Ltd. | Vehicle selection of device to use to execute function |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3077885B1 (en) * | 2018-02-15 | 2020-08-28 | Delphi Tech Llc | MOTOR VEHICLE TUNNEL DETECTION SYSTEM AND METHOD |
WO2021002900A2 (en) * | 2019-03-28 | 2021-01-07 | Stc.Unm | Electrical impedance spectroscopy for non-destructive, real-time, tracking of relative water content and stress responses in plants |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139192A1 (en) * | 2002-12-17 | 2004-07-15 | Mediapulse, Inc. | Web site visit quality measurement system |
US20100014415A1 (en) * | 2006-05-16 | 2010-01-21 | Moeller Douglas S | Mobile router that monitors links |
US20100161795A1 (en) * | 2008-12-22 | 2010-06-24 | Kindsight | Apparatus and method for multi-user nat session identification and tracking |
EP2238780A2 (en) | 2008-01-07 | 2010-10-13 | Apple Inc. | Methods and apparatus for wireless device coexistence |
EP2257863A2 (en) | 2008-02-01 | 2010-12-08 | QUALCOMM Incorporated | Platform for mobile advertising and persistent microtargeting of promotions |
US20110161487A1 (en) * | 2009-12-29 | 2011-06-30 | O'sullivan Patrick Joseph | Method and system for communication sessions |
US20120023226A1 (en) | 2010-07-26 | 2012-01-26 | Steve Petersen | Prediction of activity session for mobile network use optimization and user experience enhancement |
US20120115417A1 (en) * | 2010-11-09 | 2012-05-10 | Kapsch Trafficcom Ag | System and method for selecting services in a wireless communication network |
US20120317370A1 (en) | 2011-04-27 | 2012-12-13 | Seven Networks, Inc. | Cache state management on a mobile device to preserve user experience |
WO2013013169A1 (en) | 2011-07-21 | 2013-01-24 | Digimarc Corporation | Multipath compensation within geolocation of mobile devices |
WO2013050216A1 (en) | 2011-10-04 | 2013-04-11 | International Business Machines Corporation | Pre-emptive content caching in mobile networks |
EP2599277A1 (en) | 2010-07-31 | 2013-06-05 | Motorola Solutions, Inc. | Method and apparatus for policy determination for user equipment providing mutual aid in a visited enterprise operating area of a long term evolution lte system |
US20130151654A1 (en) * | 2011-12-07 | 2013-06-13 | International Business Machines Corporation | Data services using location patterns and intelligent caching |
EP2403290B1 (en) | 2010-07-02 | 2013-09-11 | Vodafone IP Licensing limited | Radio resource management based on location prediction |
US8559400B2 (en) | 2002-02-19 | 2013-10-15 | Broadcom Corporation | Method and apparatus optimizing a radio link |
US20140366111A1 (en) * | 2013-03-15 | 2014-12-11 | Micah J. Sheller | Continuous authentication confidence module |
US20150023162A1 (en) * | 2013-07-22 | 2015-01-22 | Seven Networks, Inc. | Extending delay tolerance of mobile applications for optimizing mobile traffic management |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10171609B2 (en) | 2014-04-15 | 2019-01-01 | International Business Machines Corporation | Constraint based signal for intellegent and optimized end user mobile experience enhancement |
-
2014
- 2014-04-15 US US14/253,062 patent/US10171609B2/en active Active
-
2018
- 2018-11-14 US US16/190,344 patent/US10616363B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559400B2 (en) | 2002-02-19 | 2013-10-15 | Broadcom Corporation | Method and apparatus optimizing a radio link |
US20040139192A1 (en) * | 2002-12-17 | 2004-07-15 | Mediapulse, Inc. | Web site visit quality measurement system |
US20100014415A1 (en) * | 2006-05-16 | 2010-01-21 | Moeller Douglas S | Mobile router that monitors links |
EP2238780A2 (en) | 2008-01-07 | 2010-10-13 | Apple Inc. | Methods and apparatus for wireless device coexistence |
EP2257863A2 (en) | 2008-02-01 | 2010-12-08 | QUALCOMM Incorporated | Platform for mobile advertising and persistent microtargeting of promotions |
US20100161795A1 (en) * | 2008-12-22 | 2010-06-24 | Kindsight | Apparatus and method for multi-user nat session identification and tracking |
US20110161487A1 (en) * | 2009-12-29 | 2011-06-30 | O'sullivan Patrick Joseph | Method and system for communication sessions |
EP2403290B1 (en) | 2010-07-02 | 2013-09-11 | Vodafone IP Licensing limited | Radio resource management based on location prediction |
US20120023226A1 (en) | 2010-07-26 | 2012-01-26 | Steve Petersen | Prediction of activity session for mobile network use optimization and user experience enhancement |
EP2599277A1 (en) | 2010-07-31 | 2013-06-05 | Motorola Solutions, Inc. | Method and apparatus for policy determination for user equipment providing mutual aid in a visited enterprise operating area of a long term evolution lte system |
US20120115417A1 (en) * | 2010-11-09 | 2012-05-10 | Kapsch Trafficcom Ag | System and method for selecting services in a wireless communication network |
US20120317370A1 (en) | 2011-04-27 | 2012-12-13 | Seven Networks, Inc. | Cache state management on a mobile device to preserve user experience |
WO2013013169A1 (en) | 2011-07-21 | 2013-01-24 | Digimarc Corporation | Multipath compensation within geolocation of mobile devices |
WO2013050216A1 (en) | 2011-10-04 | 2013-04-11 | International Business Machines Corporation | Pre-emptive content caching in mobile networks |
US20130151654A1 (en) * | 2011-12-07 | 2013-06-13 | International Business Machines Corporation | Data services using location patterns and intelligent caching |
US20140366111A1 (en) * | 2013-03-15 | 2014-12-11 | Micah J. Sheller | Continuous authentication confidence module |
US20150023162A1 (en) * | 2013-07-22 | 2015-01-22 | Seven Networks, Inc. | Extending delay tolerance of mobile applications for optimizing mobile traffic management |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10616363B2 (en) | 2014-04-15 | 2020-04-07 | International Business Machines Corporation | Constraint based signal for intelligent and optimized end user mobile experience enhancement |
US11083036B1 (en) * | 2020-05-27 | 2021-08-03 | Lenovo (Singapore) Pte. Ltd. | Vehicle selection of device to use to execute function |
Also Published As
Publication number | Publication date |
---|---|
US10616363B2 (en) | 2020-04-07 |
US20190089805A1 (en) | 2019-03-21 |
US20150296041A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728175B2 (en) | Adaptive service chain management | |
US10616363B2 (en) | Constraint based signal for intelligent and optimized end user mobile experience enhancement | |
US11204853B2 (en) | System and method for low latency edge computing | |
US10231102B2 (en) | Techniques for mobility-aware dynamic service placement in mobile clouds | |
KR101800902B1 (en) | Adapting pushed content delivery based on predictiveness | |
US8601499B2 (en) | Systems, methods and computer readable media for routing requests from an application | |
US11330511B2 (en) | Method and system for multi-access edge computing (MEC) selection and load balancing | |
US10448200B2 (en) | Identifying mobile device location and corresponding support center locations to provide support services over a network | |
US20190268786A1 (en) | Supplemental voltage controller for radio frequency (rf) antennas | |
US9191330B2 (en) | Path selection for network service requests | |
WO2015193727A1 (en) | Method, apparatus and readable medium for an api notifying an application that qos will change in future | |
US11743790B2 (en) | 5G and SDN powered virtualized personal device framework | |
CN114265601A (en) | Method, apparatus and program product for managing artificial intelligence applications | |
US10542099B2 (en) | Gateway device and data collection method | |
GB2567808A (en) | Device location method | |
CN114978794B (en) | Network access method, device, storage medium and electronic equipment | |
US11356546B2 (en) | Smart system and method for providing increased availability of content in an offline mode using BOTs | |
US20230370889A1 (en) | Apparatuses and methods for detecting characteristics of one or more tether devices | |
CN116155808B (en) | Network flow control method, device, electronic equipment and computer readable medium | |
US20240107442A1 (en) | System and method for o-cloud node shutdown in idle times to save energy consumption | |
US9602186B1 (en) | Extending mobile network presence | |
VALENTE JUNIOR | A context-sensitive offloading system using machine-learning classification algorithms with seamless mobility support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AMRHEIN, DUSTIN K.;BHOGAL, KULVIR S.;GAUR, NITIN;REEL/FRAME:032675/0361 Effective date: 20140414 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |