Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

Methods, systems, non-transitory media comprising computer-readable
instructions, and logic for obtaining information related to an
application may include receiving, at a terminal device, data exchange
information, including data transfer speed information, that is related
to a data exchange between the terminal device and a web service. The
method further may include storing, at the terminal device, at least a
portion of the data exchange information received at the terminal device.

Claims:

1. A method for obtaining information related to an application, the
method comprising: receiving, at a terminal device, data exchange
information, comprising data transfer speed information, that is related
to a data exchange between the terminal device and a web service; and
storing, at the terminal device, at least a portion of the data exchange
information received at the terminal device.

2. The method of claim 1, further comprising transmitting at least a
portion of the data exchange information stored at the terminal device to
a web server.

3. The method of claim 2, further comprising removing the at least a
portion of the data exchange information stored at the terminal device
after transmitting the at least a portion of the data exchange
information stored at the terminal device to the web server.

4. The method of claim 2, further comprising: receiving, at the terminal
device, feedback information from the web server after transmitting the
at least a portion of the data exchange information stored at the
terminal device to the web server; and processing the feedback
information received from the web server.

5. The method of claim 1, wherein the storing comprises storing the at
least a portion of the data exchange information received at the terminal
device on a memory of the terminal device.

6. The method of claim 1, wherein the storing comprises storing the at
least a portion of the data exchange information received at the terminal
device on a drive of the terminal device.

7. The method of claim 1, further comprising analyzing, at the terminal
device, the at least a portion of the data exchange information received
at the terminal device.

8. The method of claim 1, wherein the transfer speed information
comprises one or more of a data download speed and a data upload speed.

9. The method of claim 1, wherein the data exchange information further
comprises information corresponding to one or more of: a size of data
exchanged between the terminal device and the web service, a type of a
particular application to be executed on the terminal device, a type of
the terminal device, a location of the terminal device, data regarding a
network comprising the terminal device, an actual time, and data
regarding errors related to the data exchange between the terminal device
and the web service.

10. The method of claim 1, wherein the receiving of the data exchange
information occurs for a predetermined period of time.

12. The method of claim 1, wherein the web service comprises a web
application programming interface.

13. The method of claim 1, further comprising executing a particular
application on the terminal device, wherein the terminal device comprises
a personal digital assistant ("PDA") terminal, and wherein the particular
application comprises a native application installed on the PDA terminal.

14. A system for obtaining information related to an application, the
system comprising: at least one terminal device, wherein each terminal
device of the at least one terminal device comprises: a processor; and a
memory, wherein the at least one terminal device is configured to receive
data exchange information, comprising data transfer speed information,
that is related to a data exchange between the at least one terminal
device and at least one web service, and wherein the at least one
terminal device is configured to store at least a portion of the received
data exchange information.

15. The system of claim 14, further comprising at least one web server
configured to receive data exchange information from the at least one
terminal device.

16. The system of claim 14, wherein the at least one terminal device is
configured to transmit at least a portion of the data exchange
information stored thereon to at least one web server, and wherein the at
least one terminal device is configured to remove the at least a portion
of the data exchange information stored thereon after transmitting the at
least a portion of the data exchange information stored thereon to the at
least one web browser.

17. The system of claim 14, wherein the at least one terminal device is
configured to transmit at least a portion of the data exchange
information stored thereon to at least one web server, wherein the at
least one terminal device is configured to receive feedback information
from the at least one web server after transmitting the at least a
portion of the data exchange information stored thereon to the at least
one web browser, and wherein the at least one terminal device is
configured to process the feedback information from the at least one web
server.

18. Logic encoded in one or more non-transitory, computer-readable media,
the logic comprising instructions that, when executed by a processor, are
operable to: receive, at a terminal device, data exchange information,
comprising data transfer speed information, that is related to a data
exchange between the terminal device and a web service; and store, at the
terminal device, at least a portion of the data exchange information
received at the terminal device.

19. The logic of claim 18 further comprising instructions that, when
executed by a processor, are operable to transmit at least a portion of
the data exchange information stored at the terminal device to a web
server.

20. The logic of claim 18 further comprising instructions that, when
executed by a processor, are operable to: receive, at the terminal
device, feedback information from the web server after transmitting the
at least a portion of the data exchange information stored at the
terminal device to the web server; and process the feedback information
received from the web server.

[0002] The present disclosure relates generally to executing applications,
and more specifically to monitoring the performance of applications
executed on personal digital assistant ("PDA") terminals.

BACKGROUND

[0003] Native data applications ("apps"), such as those installed on PDAs,
such as smartphones including IPHONE® mobile digital devices,
BLACKBERRY® smart phones, WINDOWS MOBILE® mobile devices, and
devices powered by the ANDROID® mobile technology platform, now
account for over 50% of all mobile data volume. Only a few years ago
smartphone web browsing accounted for 70-80% of mobile Internet use, but
now that number is shrinking in terms of relative use.

[0004] Known mobile platforms, such as the APPLE® MS® mobile
operating system, the WINDOWS MOBILE® mobile technology platform, the
SYMBIAN® operating system, the PALMS mobile technology platform, the
S60® mobile technology platform, and the ANDROID® mobile
technology platform currently are available, and each platform has its
own programming language and requirements. Known PDA terminals, such as
the IPHONE® mobile digital device, the IPOD TOUCH® mobile digital
device, mobile devices produced by HTC Corporation powered by the
ANDROID® mobile technology platform, and BLACKBERRY® mobile
devices, are also available on the market. These devices may connect to
the Internet.

[0005] APPLE®, IPHONE®, and IPOD TOUCH® are registered
trademarks of Apple, Inc. of Cupertino, Calif. IOS® is a registered
trademark of Cisco Systems, Inc. of San Jose, Calif. PALM® is a
registered trademark of Hewlett-Packard Company of Palo Alto, Calif.
S60® and SYMBIAN® are registered trademarks of Nokia Corporation
of Espoo, Finland. BLACKBERRY® is a registered trademark of Research
In Motion Limited of Ontario, Canada. WINDOWS MOBILE® is a registered
trademark of Microsoft Corporation of Redmond, Wash. ANDROID® is a
trademark of Google, Inc. of Mountain View, Calif.

SUMMARY

[0006] The trend towards increasing use of mobile apps over the web
browser is due to the fact that, in most cases, apps provide the best
user experience. As a result, web-based applications may be more
attractive to an end user if they're packaged in a native wrapper. In
order to improve the user experience of Web dependent applications there
is a need to gain more insight into the performance of these
applications.

[0007] It is an object of the invention to provide an improved method for
executing an application installed onto a PDA terminal with which more
insight into the performance of said application may be gained.

[0008] According to embodiments of the present disclosure, a method for
obtaining information related to an application may comprise receiving,
at a terminal device, data exchange information, comprising data transfer
speed information, that is related to a data exchange between the
terminal device and a web service. The method further may comprise
storing, at the terminal device, at least a portion of the data exchange
information received at the terminal device.

[0009] Particular embodiments may further comprise transmitting at least a
portion of the data exchange information stored at the terminal device to
a web server. Particular embodiments may further comprise removing the at
least a portion of the data exchange information stored at the terminal
device after transmitting the at least a portion of the data exchange
information stored at the terminal device to the web server. Particular
embodiments may further comprise receiving, at the terminal device,
feedback information from the web server after transmitting the at least
a portion of the data exchange information stored at the terminal device
to the web server; and processing the feedback information received from
the web server. In particular embodiments, the storing may comprise
storing the at least a portion of the data exchange information received
at the terminal device on a memory of the terminal device. In particular
embodiments, the storing may comprise storing the at least a portion of
the data exchange information received at the terminal device on a drive
of the terminal device.

[0010] Particular embodiments may further comprise analyzing, at the
terminal device, the at least a portion of the data exchange information
received at the terminal device. In particular embodiments, the transfer
speed information may comprise one or more of a data download speed and a
data upload speed. In particular embodiments, the data exchange
information may further comprise information corresponding to one or more
of: a size of data exchanged between the terminal device and the web
service, a type of a particular application to be executed on the
terminal device, a type of the terminal device, a location of the
terminal device, data regarding a network comprising the terminal device,
an actual time, and data regarding errors related to the data exchange
between the terminal device and the web service. In particular
embodiments, the receiving of the data exchange information may occur for
a predetermined period of time. In particular embodiments, the terminal
device may comprise a mobile telephone.

[0011] In particular embodiments, the web service may comprise a web
application programming interface. In particular embodiments, the method
may further comprise executing a particular application on the terminal
device. In particular embodiments, the terminal device may comprise a PDA
terminal; and the particular application may comprise a native
application installed on the PDA terminal. In particular embodiments, an
application stored on one or more non-transitory, computer-readable
media, may comprise instructions that, when executed by a processor, are
operable to perform the above-described method.

[0012] According to other embodiments of the present invention, a system
for obtaining information related to an application may comprise at least
one terminal device. Each terminal device of the at least one terminal
device may comprise a processor and a memory. The at least one terminal
device may be configured to receive data exchange information, comprising
data transfer speed information, that is related to a data exchange
between the at least one terminal device and at least one web service.
The at least one terminal device may be configured to store at least a
portion of the received data exchange information.

[0013] Other particular embodiments may further comprise at least one web
server configured to receive data exchange information from the terminal
device. In other particular embodiments, the at least one terminal device
may be configured to transmit at least a portion of the data exchange
information stored thereon to at least one web server. In other
particular embodiments, the at least one terminal device may be
configured to remove the at least a portion of the data exchange
information stored thereon after transmitting the at least a portion of
the data exchange information stored thereon to the at least one web
browser. In other particular embodiments, the at least one terminal
device may be configured to receive feedback information from the at
least one web server after transmitting the at least a portion of the
data exchange information stored thereon to the at least one web browser.
In other particular embodiments, the at least one terminal device may be
configured to process the feedback information from the at least one web
server.

[0014] According to still other embodiments of the present invention, one
or more non-transitory, computer-readable media may store
computer-readable instructions for a processor. The computer-readable
instructions may instruct the processor to function as a communication
module, a monitoring module, and a storage module. The communication
module may be configured to exchange data with a web service. The
monitoring module may be configured to receive, at a terminal device,
data exchange information, comprising data transfer speed information,
that is related to the data exchanged with the web service. The storage
module may be configured to store, at the terminal device, at least a
portion of the data exchange information received at the terminal device.

[0015] In still other particular embodiments, the communication module may
be configured further to transmit the data exchange information stored at
the terminal device to a web server.

[0016] According to yet other embodiments of the present invention, logic
encoded in one or more non-transitory, computer-readable media may
comprise instructions that, when executed by a processor, may be operable
to receive, at a terminal device, data exchange information, comprising
data transfer speed information, that is related to a data exchange
between the terminal device and a web service. Instructions further may
be operable to store, at the terminal device, at least a portion of the
data exchange information received at the terminal device.

[0017] In still other particular embodiments, logic encoded in one or more
non-transitory, computer-readable media may comprise instructions that,
when executed by a processor, may be operable to transmit at least a
portion of the data exchange information stored at the terminal device to
a web server. In still other particular embodiments, logic encoded in one
or more non-transitory, computer-readable media may comprise instructions
that, when executed by a processor, may be operable to receive, at the
terminal device, feedback information from the web server after
transmitting the at least a portion of the data exchange information
stored at the terminal device to the web server. In still other
particular embodiments, logic encoded in one or more non-transitory,
computer-readable media may comprise instructions that, when executed by
a processor, may be operable to process the feedback information received
from the web server.

[0018] Technical advantages of the present disclosure may comprise
improvements of web dependent applications by gaining an insight into the
performance of these applications. Other technical advantages may
comprise improvements in the user experience based for applications
running on many different operating systems. Other technical advantages
of the present disclosure will be readily apparent to one skilled in the
art from the following figures, descriptions, and claims. Moreover, while
specific advantages have been enumerated above, various embodiments may
comprise all, some, or none of the enumerated advantages.

[0019] Certain embodiments of the disclosure may include none, some, or
all of the above technical advantages. One or more other technical
advantages may be readily apparent to one skilled in the art from the
figures, descriptions, and claims comprised herein.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020] For a more complete understanding of the present disclosure and its
advantages, reference is now made to the following descriptions, taken in
conjunction with the accompanying drawing.

[0021] FIG. 1 depicts a schematic view of a method and system for
executing an application on a PDA terminal according to embodiments of
the invention

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

[0022] According to embodiments of the present disclosure, an application
executed on a PDA terminal (e.g., terminal device) may instruct the PDA
terminal to contact a web service. The application may exchange data,
through the PDA terminal, with the web service and may collect data
exchange information related to the data exchange between the application
and the web service. The data exchange information may comprise transfer
speed information related to the data transfer speed between the PDA
terminal and the web service or the Internet. The application may
instruct the PDA terminal to store the data exchange information thereon.

[0023] The interaction between the application and the web service, which
may be formed by a web application programming interface ("API"), may be
of great importance to the experience of a user using said application,
wherein a fast and smooth (e.g., stable) exchange of data will may
contribute positively to the user experience. By monitoring on the PDA
terminal one or more characteristics related to this web connection, such
as one or more of the download transfer rate, the upload transfer rate,
and the size of the transferred data, users and other parties, such as
developers, distributors, and manufacturers, may gain an insight in the
performance of native and non-native applications. To enable the
application to collect the data exchange information, suitable
instructions (e.g., "AppPerformance code" (library)) may be incorporated
in the application code dependent on the platform used (e.g., the
APPLE® IOS® mobile operating system, the WINDOWS MOBILE®
mobile technology platform, the SYMBIAN® operating system, the
PALM® mobile technology platform, the S60® mobile technology
platform, and the ANDROID® mobile technology platform). The PDA
terminal may be a handheld mobile device, which may be, but is not
limited to, a mobile phone or a smart phone device which may be
configured to connect to the Internet.

[0024] The data exchange information may be stored permanently or
temporarily onto the PDA terminal. The collected information may be
analyzed, completely or partially, on the PDA terminal and, alternatively
or additionally, may be communicated to one or more web servers for
analysis or further analysis, respectively. The method may further
comprise removing data exchange information from the PDA terminal after
transmitting the data exchange information to the web server. A user of
the PDA terminal may selectively authorize uploading information to the
web server, wherein the user may decide that uploading is not allowed
during one or more of roaming and use of a common mobile data network
(e.g., a general packet radio service ("GPRS") network or an enhanged
GPRS network) of the carrier used. The web server may be administered by
a third party, which may analyze the data received and, alternatively or
additionally, may communicate the analyzed or original data to the user
and, alternatively or additionally, to other parties, such as the
publisher, distributor, manufacturer, and developer of the application.
The method may further comprise processing feedback information provided
by the web server and received by the application after receiving the
data exchange. This feedback information may indicate that, for a period
of time, the PDA terminal need not upload further collected information
to the web server.

[0025] The PDA terminal may store the data exchange information
permanently or temporarily. The PDA terminal may store the data exchange
information into a memory therein. Memory may refer to a form of
semiconductor storage known as random access memory ("RAM"), typically
dynamic-RAM ("DRAM"), but memory may refer to other forms of fast but
temporary storage. Alternatively or additionally, the PDA terminal may
store the data exchange information onto a storage device (e.g.,
secondary or tertiary storage) of the PDA terminal. Such storage devices
and their media may not directly accessible by the central processing
unit ("CPU") of the PDA and may comprise hard disk drives, optical disc
drives, and other devices slower than RAM but more permanent.

[0026] In addition to transfer speed information (e.g., data upload speed
information and data download speed information), one or more of the
applications, through the PDA terminal, and the web server may monitor
other data exchange information in order to improve insight into the
performance of the application. Therefore, the data exchange information
may further comprise information identifying at least one of the
following parameters: a size of data exchanged between the PDA terminal
and the web service, a type of the application, a type of the PDA
terminal, a location of the PDA terminal, data regarding a network
comprising the PDA terminal, an actual time, and data regarding errors
related to the data exchange with the web service, or other information
related to the exchange of data with the web service. Information
relating to the application type may comprise, for example, the name of
the application and the version of the application. Information relating
the PDA terminal type may comprise, for example, the hardware type and
model of the PDA terminal and the platform type and platform version
installed on the PDA terminal. The network related information may
comprise the interne protocol ("IP") address used by the PDA terminal and
other characteristics of the wireless network used, such as the type
network (e.g., Wi-Fi, GPRS, enhanced GPRS) and the carrier or carriers
used to set up the network. Furthermore, information relating to the
geographical location may be collected by using a location determining
module based upon, for example, Global Positioning Satellite ("GPS") in
the United States, Global Navigation Satellite System ("GLONASS") in
Russia, Compass Navigation System in China, and Galileo in Europe. Other
location dependent information, such as the iso/mobile country code and
the mobile network code, may also be collected and stored.

[0027] Monitoring the data exchange process and collecting the desired
information may be performed continuously or discontinuously. The data
exchange information may be monitored during a predefined or limited
period of time while collecting the data exchange information. The
predefined or limited period of time may be monitored by using a timer.

[0028] Other embodiments of the invention may relate to systems for
executing applications on a mobile communications device. In particular
these systems may be configured to operate according to the method of the
above-described embodiments. The system may comprise at least one PDA
terminal and at least one web service. The at least one PDA terminal may
comprise at least one application which may instruct the PDA terminal to
make wireless contact with a web service of the at least one web service.
The at least one web service may be configured to exchange data with an
application of the at least one application, through the PDA terminal.
The application may be further configured to collect data exchange
information related to the data exchange between the application and the
web service. The data exchange information may comprise transfer speed
information related to the data transfer speed between the PDA terminal
and the web service or the Internet. The application may instruct the PDA
terminal to store the data exchange information thereon.

[0029] Advantages of using such a system as well as embodiments of the
system are similar to the advantages of using the method of the
above-described embodiments. The system may comprise at least one web
server configured to receive collected data exchange information
transmitted by the PDA terminal. This web server may be administered by a
third party, which may analyze the collected information, and which may
forward at least a part of this information to one or multiple other
parties. The web service and the web server may be mutually connected and
may even be mutually integrated.

[0030] Still other embodiments of the invention may relate to one or more
non-transitory, computer-readable media comprising computer-readable
instructions for a processor of a PDA terminal. The computer-readable
instructions may relate to executing an application on the PDA terminal.
The computer-readable instructions may instruct the processor to function
as a communication module for wirelessly exchanging data with a web
service. The computer-readable instructions may further instruct the
processor to function as a monitoring module for collecting data exchange
information relating to the data exchange between the application,
through the PDA terminal, and the web service. The data exchange
information may comprise transfer speed information. The
computer-readable instructions may further instruct the processor to
function as a storage module for storing at least a portion of the data
exchange information on the PDA terminal. The computer-readable
instructions may instruct the processor to function as a screen builder
for generating a user interface for the application. The communication
module may be further configured to send the data exchange information to
a web server.

[0031] Yet other embodiments may relate to non-transitory,
computer-readable media comprising an application for a PDA terminal. The
application may be configured to perform the method of the
above-described embodiments. The application, which may also be referred
to as "app", may be of various nature and may comprise, for example, a
utility, a game, or another type of app. Still yet other embodiments may
further relate to a logic module comprising logic for performing the
method of the above-described embodiments. The logic module may be
configured to be incorporated into application code of the
above-described application. The logic module may instruct a processor of
the PDA terminal to collect data exchange information relating to the
data exchange between the application, through the PDA terminal, and the
web service. The data exchange information may comprise transfer speed
information. The logic module may instruct the processor of the PDA
terminal to store at least a part of the data exchange related
information on the PDA terminal. The logic module may be a piece of
software or a software library incorporated or to be incorporated in
source programming code of the application. The logic module may provide
the application with the additional functionality of tracking performance
of data transfer between the PDA terminal and the web service or the
Internet during use. Further other embodiments may relate to a method for
measuring the performance of an application by collecting and storing
data exchange information according to the method of the above-described
embodiments.

[0032] Embodiments of the present disclosure and its advantages may be
understood by referring to FIGS. 1 and 2 of the drawings, like numerals
being used for like and corresponding parts of the various drawings.

[0033] FIG. 1 depicts a schematic view of a system 1 for executing an
application 2 on a smart phone 3 according to the embodiments of the
invention. FIG. 2 depicts a method which may be performed by the system 1
of FIG. 1. The application 2 may be configured contact a web API 4 (e.g.,
web service) at step S101, for example, which may make part of the system
1 to retrieve specified information at step S103, for example. The
developer 5 of the application 2 may monitor (e.g., steps S103-S110) the
data exchange rate between the application 2 and the web API 4 during
step S102, for example, which may provide the developer 5 with an
indication of the performance of the application 2 on the smart phone 3.
To The application code may comprise an "AppPerformance code," which
intermediate application performance monitoring party 6 may provide as a
library. The application 2 may make different calls to the web API 4 at
step 101, for example. The developer 5 may selectively choose which calls
to monitor. The application 2 may be installed onto the smart phone 3 by
a user. The user may install the application 2 by downloading the
application 2 from an application store (e.g., an "App store," which is
not depicted in FIG. 1). Once the application 2 has been installed onto
the smart phone 3, the application 2 may be executed. During operation of
the application 2 the application 2 may make multiple calls to the web
API 4 to retrieve specified information. The specified information may be
information which may be useful to a user. The predefined calls may be
monitored by the smart phone 3, wherein data exchange related information
related to these calls may be collected and stored in a memory 7 or on a
drive 8 of the smart phone 3. Together with this information, actual
location dependent information gathered by, for example, a GPS module 9
also may be stored in the memory 7 or on the drive 8. Monitoring the
predefined calls may be done continuously or for a limited period of time
(e.g., several seconds or minutes) by using a timer 10. A processing unit
11 of the smart phone 3 may process and eventually analyze the collected
information at step S105A, for example. Wireless communication may be
established by using a communication module 12. The information may
subsequently be visualized to the user via a user interface ("UI") 13. In
this example embodiment, at least a part of the information may be sent
wirelessly to a web server 6 (e.g., AppPerformance Server) of the
application performance monitoring party 6 at steps S106A and S107A, for
example. For example, at step S105B, the web server 6 may process and
analyze the information received at steps S106B and steps S107B.
Thereafter, at step S110, for example, the processed information 14 may
be provided as one or more reports to the developer 5 by one or more of
mail and a web interface. The processed information 14 may provide the
developer 5 with information on the performance of the application. The
performance characteristics monitored during the predefined calls may
comprise the transfer speed (e.g., download speed and upload speed)
between the application 2 and the web API 4, the duration of the call,
the number of exchanged bytes (e.g., bytes sent and received), eventual
errors during the exchange process, network characteristics, smart phone
characteristics, and location-based information. As soon as a possible
(e.g., as soon as a connection can be established between the application
and the web server 6), the information, or at least a portion thereof,
may be sent to the web server 6. The user may determine, via settings of
the application 2 or of the smart phone 3, that establishing a connection
between the application 5 and the web server 6 is not allowed during one
or more of roaming and communication via a mobile data network (e.g.,
GPRS or enhanced GPRS) of the carrier used. When the application
performance monitoring party 6 (e.g., web server 6) finds that the
performance of the application is poor, a warning may be provided to the
developer 5. At step S108A, for example, the web server 6 may transmit
feedback information to the smart phone 3. At step S108A, for example,
the smart phone 3 may receive the feedback information from the web
server 6. The feedback information may indicate that, for a period of
time, the smart phone 3 need not transmit collected information to the
web server 6.

[0034] Although the present disclosure has been described in several
embodiments, a myriad of changes, substitutions, and modifications may be
suggested to one skilled in the art, and it is intended that the present
disclosure encompass such changes, substitutions, and modifications as
fall within the scope of the present appended claims.