|
|
|
|
CIFS
|
Common Internet File System - a standard
remote file-system access protocol for use over the Internet, enabling groups
of users to work together and share documents across the Internet or within
corporate intranets. CIFS is an open, cross-platform technology based on the
native file-sharing protocols built into Microsoftо Windowsо and other
popular PC operating systems, and supported on dozens of other platforms.
With CIFS, millions of computer users can open and share remote files on the
Internet without having to install new software or change the way they work.
|
|
GPRS, 3G, BT, WCDMA
|
>Various wireless transmission
technologies
|
|
K
|
Data size unit "Kilobyte" = 1024 bytes
|
|
K/s
|
Data transfer speed unit "Kilobyte per second"
|
|
Kbps
|
Data transfer speed unit "Kilobit per second"
|
|
M
|
Data size unit "Megabyte" = 1024 K
|
|
M/s
|
Data transfer speed unit "Megabyte per second"
|
|
Mbps
|
Data transfer speed unit "Megabit per second"
|
|
S60
|
Symbian OS Series 60 platform
|
|
SMB
|
Server Message
Block - is an application-level network protocol mainly applied for shared access to files, printers, serial
ports, and miscellaneous communications between nodes on a network. CIFS is an enhanced version of Microsoft's open, cross-platform
Server SMB protocol, the native file-sharing protocol in the Windows 95,
Windows NT, and OS/2 operating systems and the standard way that millions of
PC users share files across corporate intranets. CIFS is also widely
available on Unix, VMS, and other platforms.
|
|
SymSMB
|
SMB system for Symbian
|
|
TCP/IP
|
Transmission Control Protocol / Internet Protocol
|
|
USB
|
Universal Serial Bus - HW standard to connect peripheral devices, such as printers, scanners,
memory storage etc. A cable is required as a physical medium for data transfer.
|
|
Wi-Fi
|
Wireless Fidelity - class of WLAN networks (particularly - IEEE802.11). Currently most used WLAN technology.
|
|
WLAN
|
Wireless Local Area Network
|
|
PC
|
Personal Computer
|
When
releasing SymSMB v1.10 (http://www.telexy.com/Products/Products.aspx?productId=7)
- our first product for Symbian S60 (3rd
edition) smartphones, we knowingly let go of ensuring maximal speed of data
transfer between the phone and the computer. At that moment the system was
working and the speed appeared acceptable to us. We rushed; first, to come out
with a working product (even if with a few minor deficiencies) and, second, to
receive first comments from the users.
As a whole
both tasks were accomplished successfully. We received many positive responses
that reassured we are on the right track. On the other hand, there were some
criticisms, the most critical one being the low speed. Forums and internet
publications tried to compare the speed of SymSMB (operating over Wi-Fi) to the
speed of USB ("mass-storage" mode). It also appeared that authors assumed that telephone Wi-Fi
operates in mode G, allowing speed of 54 Kbps. Unfortunately the comparison was
not in SymSMB favour.
Therefore,
when working on the second version of our product we paid utmost attention to
improve the speed of data transfer. The solution required 2 parts: redesign of
some product components and detailed research of speeds of wireless
technologies for mobile devices.
2.1 transport Independence of SymSMB
It is useful to
remember that SymSMB is a transport-independent product. Any technology supported by Symbian
Access Point can be used to access the network. It does not matter whether it is Wi-Fi, GPRS,
3G, BT or something else. If the access point
specified by SymSMB user is operating then SymSMB will work properly.
When
announcing SymSMB 1.10 we specified a single wireless technology to avoid confusion. We selected Wi-Fi
because we believe it is the most appropriate wireless medium for our product.
Many of
our users determined the wide possibilities of SymSMB without our help. Various
forums contained cases which illustrated successful operating SymSMB using GPRS, WCDMA,
BT and other mediums. Therefore we can now publicly announce the
transport independence of SymSMB; it will not come as big news to most of the
users.
Addressing
the speed of SymSMB was a natural step. However, SymSMB speed depends on the
speed of the wireless technology used to access the network.
The
main goal of this research was determining the physical limit of Wi-Fi
speeds in various conditions.
Of course
we first attempted to find the answer online. Unfortunately, we did not find
anything substantial. Most of the results gave the information on "maximal
speed" of the technology. The majority also noted that "difference between
maximum speed and average speed can also be especially large in wireless
technology" (for instance http://bandwidthplace.com/speedtest/about/tech.php?a=types).
However, no quantitative results were given.
Therefore
we had no choice but to find the figures in our own experiments.
Certainly,
we do not claim absolute academic vigour of our findings. This question most
likely requires another even more painstaking research. We have determined reasonable
boundaries that still allow for generalization of our results.
Then:
1)
this research is to determine speed of smartphone's Wi-Fi technology in real conditions;
2)
this research used only Nokia phones (other makers are left for subsequent studies)
Testing
required one application for the phone and another for the computer.
The telephone
application is a basic server that:
1)
Takes user input to select Wi-Fi access point (menu choices);
2)
Opens Wi-Fi channel, receives IP address,
creates listen socket and awaits incoming connections from the clients
(standard TCP/IP server scenario);
3)
Upon receiving data from the client on the
channel it responds based on the testing mode (modes described later).
The
computer application is a simple client that:
1)
Establishes a connection with the server with the specified address;
2)
Then works in sequence: "request" sent - "response" received;
3)
"Request-response" procedure accompanied by
bandwidth calculations lasts for 90 seconds (this is enough to determine
average transfer speed for this mode).
That is
everything is as in real cases - the client is the active side while the
servers responds only upon client requests. Both applications are minimal as
only speed is measured; no additional memory allocations or data processing is
done.
Test
server uses the same transport system as the newly developing version of
SymSMB. Therefore the test results given below are the maximum of what can be
expected from the product that uses Wi-Fi.
The following
remark does not relate to the research topic; however it is described for
completeness. The test server is also transport-independent (see 2.1). That is
this system allows testing the wireless technology that was selected for the
access point during the initialization of the test server on the phone.
There are a few ways of converting figures in "Bytes per second" into standard "Kilobytes
per second". Some sources suggest dividing by scientific definition of "Kilo" which is 1000
(http
://www.mediaroad.com/products/speedcheck/free_tools/unit_convert/proc.php
), while others suggest dividing by the size of "Kilobyte" which is 1024.
We
selected to divide by 1024 and all the results below are derived using this
definition. (If anyone believes the other definition is more appropriate they
can easily convert our results).
We considered the following modes most
appropriate:
1)
"PC send": client is sending a buffer of a predetermined
size while the server receives and does not respond. In this mode, the Wi-Fi
component of phone is only set to receive. Therefore this mode is good for
determining the limit for download speed;
2)
"Echo": client is sending a buffer of a predetermined size while the server
sends it back. In this mode,
the Wi-Fi component of phone both sends and receives. Therefore this mode
allows to measure the speed for "average" bandwidth capacity of the channel;
3)
"PC-50": client is sending a 50 byte buffer
while the server responds with a buffer of a predetermined size. This emulates
upload from the phone;
4)
"Phone-50": client is sending a buffer of a predetermined
size while the server responds with a 50 byte buffer. This emulates the
download from the phone.
3.4
predetermined sizes of
test buffer
"Predetermined
size" mentioned above is defined by CIFS protocol implemented by SymSMB. It
allocates one word for the size of the buffer transported over the channel.
Thus the maximum buffer size is 64K. This means that "predetermined size" can
take any value in 0-65500 range.
Using the
value as the function argument, the dependency of the speed on the transfer buffer
size for each mode can be analyzed. All tests used the following sizes (in
bytes):
|
4096
|
30000
|
49152
|
|
8192
|
31000
|
53248
|
|
12288
|
32768
|
57344
|
|
16384
|
34000
|
60000
|
|
20480
|
36864
|
61440
|
|
24576
|
40960
|
63488
|
|
28672
|
45056
|
65500
|
The results of these tests are below.
Figure 1
displays the result of the test executed under the following conditions:
Figure
1 - Nokia N91 8G, LinkSys Wireless-G 2.4 GHz Broadband router (G-mode)
-
Test phone - Nokia N91 8G;
-
Wi-Fi router - LinkSys Wireless-G 2.4 GHz Broadband
router (Wireless Network Mode - G-only);
-
Test computer is connected to the routed using a
cable. Wi-Fi channel exists only between the phone and
the router.
As a
whole, the test results support the obvious facts that could have been arrived
at without testing:
1)
The best results were achieved in "PC send"
mode. In this mode the autonomous phone's Wi-Fi component is set only to
receive and its capabilities are sufficient for normal operation;
2)
Mode "Phone-50" is not significantly different
from "PC send" since most of the time the phone is receiving while periodically
switching to sending. However even this short change forces the phone's Wi-Fi
component to "stretch" its abilities which immediately reflects in lowered overall
performance;
3)
Next in standings is "Echo" mode. Here both the
computer and the phone are sending approximately equal share of time. The
sending time from the phone increases in comparison to other modes; therefore,
the performance significantly lowers;
4)
"PC-50" is last in terms of speed. Here the
phone is sending most of the time periodically switching into receiving.
The main conclusion from the test is the maximal speed of the Wi-Fi components of Nokia
N91 8G does not exceed 600 K/s! The average rate marked as "Avg" in the figure generally is about
450-500 K/s.
Interesting? Indeed!
When
viewing the technical specifications of N91/N91 8G (http://europe.nokia.com/A4323636) the
connections section shows "...WLAN 802.11 b/g...". This is
similar for many of other E- and N-series phones.
It is
natural for any "advanced" user to notice G and to assume that G is the default
mode, while B is supported for older networks. This is most likely due to our
optimism in life.
The
documented "maximal" speed of WLAN 802.11 in G mode is
54 Mbps which is approximately 6.75 M/s. However results from our test are well
off these figures.
It makes
sense for two computers connected over wireless G-router and G-network adapters
to achieve a speed of 3 M/s while copying a file. The speed degrades due to the
stack and file system overhead, however the presence of G-speed is certain.
Trivial math for this example shows that the relationship between max and real
speed is reflected in a simple law:
V max ~= V real * 2;
Let us
attempt to apply this law to the result of our test. Thus:
600 K/s * 2 = 1.2 M/s or ~ 9.6 Mbps.
Does this
look familiar? The resulting figure is suspiciously close to 11 Mbps which is
the maximal speed for Wi-Fi mode B.
So what
happens if we set the router in B mode and repeat the test? This is what we
saw:
Figure
2 - Nokia N91 8G, LinkSys Wireless-G 2.4 GHz Broadband router (B-mode)
One can
even play the game to "Find N differences" (see figure 3),
|
|
|
|
a) G-mode (figure 1 - reduced)
|
b) B-mode (figure 2 - reduced)
|
Figure 3 - Speed of Nokia N91 8G in networks with various
Wireless Network modes (LinkSys Wireless-G 2.4 GHz Broadband router).
however,
on the whole figures 1 and 2 are twins. Therefore, the obvious conclusion is
that Wi-Fi component of Nokia phones in this test work in B-mode (or a mode
close to B)!
This supports the comparative
analysis from the tests done with Nokia N91 and Nokia E60. The tests were
performed in networks with various Wireless Network modes (see
figure 4 and 5; full-size copies of graphs in figures 4 and 5 can be found in
the Appendix)
Figure 4 - Speed of
Nokia N91 in networks with various Wireless Network modes (LinkSys Wireless-G 2.4
GHz Broadband router).
Figure 5 - Speed of
Nokia E60 in networks with various Wireless Network modes (LinkSys Wireless
-G 2.4 GHz Broadband router).
Upon
receiving such distressing results we were still wondering if there might our
error. We then tried to measure the transfer speed of the file downloaded from the
Internet over Wi-Fi using the phone browser. The file size was known and the
timing was done using the stop-watch. The method was not perfect, but it did
not introduce a significant experimental error. Its key was its simplicity.
However, over numerous iterations the result was not higher than tests using
our own applications - ~450 K/s.
Thus,
conclusion #1 is that SymSMB working on Nokia over Wi-Fi will not be able to
achieve speeds higher than 600 K/s. As we can see this is not a fault of
SymSMB.
It is also
hard to fault Nokia as such. Of course G-mode is mentioned for a few phones,
but nowhere is it said that Wi-Fi actually operates in G-mode. If we note that
Nokia site holds a general statement "Wi-Fi gives you a connection to the
Internet at 11 Mbps or faster." (http://europe.nokia.com/A4172069 - unfortunately we discovered this after
conducting the tests) there is no blaming Nokia. On the other hand, if the
Wi-Fi is actually in G but the speeds corresponding to this mode cannot be
reached for some other reason (suppose there is simply not enough processing
capacity), then this should be stated clearly by Nokia.
As a
result, it is too early to compare the speed of Nokia phones' Wi-Fi components
to USB
Let us see
what else was discovered during our tests.
Aside from conclusion #1 the test on N91 8G discovered something unexpected. For example, there were anomalistic zones (with significant speed drops) for buffer sizes in ranges:
-
[30000, 40000] with minimums at 32K and 36K;
-
[55000, 64000] also with two minimums at 56K and 60K;
We were unable to find an obvious explanation for this phenomenon. At that, this is not a specific of the test or the environment conditions. Similar tests with N91 8G (as well as N91 (figure 4) and E60 (figure 5)) were conducted numerous times with various conditions. However, these patterns appeared with some regularity, or arguably, as a rule.
As can be
seen the patterns exhibit a tendency. Anomalistic zones appear for E60 too,
however:
-
anomaly [30000, 40000] - has a single minimum;
-
zone [55000, 64000] does not stand out as much, but is still present;
We will
not attempt to determine the nature of these anomalies. We will simply note
their presence. The most we will allow ourselves is to make a few conjectures.
Based on anomalies being present:
-
on a few different Nokia products (as a minimum
N91, N91 8G and E60);
-
without dependency on the type of the router
(aside from aforementioned LinkSys, D-Link, Microsoft NM-700 were also tried)
we can
suppose that this is most likely an issue of hardware implementation of Wi-Fi
chips used by Nokia.
It is no
secret that wireless technologies are very sensitive to the conditions of
surroundings. For example, many home wireless phones use the same frequency as
Wi-Fi B/G, i.e. 2.4 GHz. Other home appliances can use frequencies that are close. All in
all there are many factors that tend to lower the already mediocre (as we have
determined) speed of Wi-Fi technologies on Nokia phones. Therefore, the results from previous
sections should be considered close to ideal. Most likely, Wi-Fi speed in the
actual conditions will not be better.
Figure
6 - Average figures of individual tests in various conditions
In figure
6, "Individual" tests use a single phone connected to a router. By "various conditions" it is meant
that:
-
various phones (N91, N91 8G and E60);
-
various routers (different instances of same
type and different types);
-
computers were connected to the router using
wirelessа or a cable;
-
phones were located at different distances from
the router.
As can be
seen, even mild "interference" creates a range of speed with a width of
approximately 100 K/s. If, however, during the test more stress is added
(telephone calls over the landline onto a wireless, real Hotspot, etc.) the
results are even worse.
Figure 7
depicts the results from two tests that used the same N91 phone. One was
conducted in "ideal" home conditions (the router has a single wireless channel
with the phone), while the other in a real Hotspot. From the graph it is clear
that even with small buffer sizes the difference between test results is quite
significant - ~ 200 K/s, while with bigger sizes (>20K) it almost doubles.
Figure
7 - Average figures of individual tests in ideal and stress conditions
To
understand what occurs at a Hotspot, we conducted an experiment in home
conditions where (through a single router) we ran the test for N91 and E60
concurrently. This is far from the actually conditions of a Hotspot, however it
is a worthy approximation.
First
"individual" tests were conducted for each phone in separation in order to
determine their normal behaviour and to be able to compare with the Hotspot
like. Second, for the Hotspot experiment, the tests were started at the same
time for both phones. However, E60 had the tests over the whole range (see 3.4),
while N91 only up 44K (a bit past the middle). We were also interested in how
E60 would react once N91 test was complete.
Figure 8
displays average results from the Hotspot emulation and the "individual" tests
for the phones involved. It is not hard to see that the speeds fall
significantly during concurrent transfer. At the same time, when only one phone was left in testing (E60 in our case), its
performance returned to the level of the "individual" test.
Therefore,
this simple test shows that in the conditions of high traffic in the Hotspot,
the speed characteristics of Wi-Fi phone fall significantly.
As was the
case with the anomalies (see 4.3), we will not attempt to determine the reason
of such behaviour. We will simply note its presence.
Figure
8 - Average figures of "individual" tests and Hotspot emulation
1)
Nokia phones tested in this research (E60, N91 and N91 8G) operate in a close to "B" mode in
terms of Wi-Fi technology. "Maximal" speed of B-mode is 11 Mbps which is ~ 1.35
M/s. It is valid to expect that this conclusion holds with other phones of E-
and N-series.
2)
Factual speed shown by Nokia phones in ideal
conditions is ~ 450 K/s
3)
Wireless technology speed and, in particular,
Wi-Fi is very sensitive to the conditions of the surroundings. Therefore, the
speed would most likely be even lower in real conditions.
Finally,
until Nokia enforces the operation of Wi-Fi components in its phone in promised
G-mode, one will have to settle for the speed given in this research.
Hopefully, it will not be long until this improvement
is in place.
Figure A.4.a - Full-size copy
of figure 4.a;.
Figure A.4.b - Full-size copy
of figure 4.b.
Figure A.5.a - Full-size copy
of figure 5.a.
Figure A.5.b - Full-size copy
of figure 5.b.