Specification
SERVER, DATA CACHING METHOD, AND COMMUNICATION SYSTEM
CLAIM OF PRIORITY
The present application claims priority from Chinese patent
5 application No. 201310101545.7 filed on March 28, 2013, the content of
which is hereby incorporated by reference into this application.
BACKGROUND OF THE INVENTION
This invention relates to a server, a data caching method, and a
10 communication system, and more particularly, to a server, a data caching
method, and a communication system, for sending encoded data to a
plurality of transmission nodes in case where a user terminal is a mobile
terminal.
Hitherto, in a wireless network, each base station caches a
15 plurality of files. When a user terminal requests one file, if the file has
been cached by a base station (also referred to as local base station)
belonging to a scope in which the user terminal is located, the local base
station directly provides a service to the user terminal. On the other
hand, if the file has not been cached by the local base station, the local
20 base station acquires the file data from a network and sends the
acquired file data to the user terminal (refer to US 200510 102300 A l ) .
In US 2005/0102300 A l , the base station is required to cache the entire
content of the file, causing the consumption of the storage area of the
base station.
25 Moreover, in EP 2202888 A l , there is disclosed "Raptor code",
which is a typical implementation of fountain codes, which generate
approximate infinite encoded packets from limited original packets,
achieving a low encoding and decoding complexity. However, EP
2202888 A1 only proposes the application of fountain codes in data
transmission in order to improve the efficiency and reliability of the data
transmission, and an improvement of the storage efficiency by utilizing
the fountain code to encode and store the data is not taken into
consideration.
Further, in WO 20061 12 1900 A2, there are disclosed a multiple
source wireless communication system and method. In the multiple
source wireless communication system and method, in a cellular network,
when a user terminal can receive communications from a plurality of
base stations, Reed-Solomon coding (RS coding) or rateless encoding
10 such as Tornado encoding or Raptor encoding is employed to encode a
source data block including M packets, N packets of different subsets are
sent from each of the base stations, the packets are received from the
plurality of base stations at the receiver, and the source data block can
be derived based on K (K=M+A) out of the N packets, where A< M, M>K, and N encoded symbols are stored in
the storage module 102. Each encoded symbol is marked by a unique
sequence number. Because the Raptor code is a system code, that is to
say, the first K encoded symbols are the original symbols. When the
20 user terminal collects K+o (K) encoded symbols, the user terminal can
decode the downloaded encoded symbols and acquire the original file,
where 020.
For example, when it is assumed that one user terminal requests
a file with a size of 8 MB, the file is divided into K (K=8,192) original
25 symbols, in which the size of each symbol is L ( L = l kB), and further
encoded into N (N=6,553,600) encoded symbols by Raptor code.
After encoding, the control module 101 of the server 100 sends N
encoded symbols stored in the storage module 102 to the plurality of
connected base stations for caching through the encoded symbol
transmission interface (i. e., the communication module 104).
A method of sending N encoded symbols to the plurality of
connected base stations for caching by the control module 101 is
described below. It is assumed that there are i base stations, each of
5 the base stations can cache an arbitrary number of encoded symbols,
and the i-th base station caches Ci encoded symbols.
In order to optimize the cache efficiency, the statistics of the
mobile behavior of the user terminal and/or the states of the base
stations are performed, and the numbers of encoded symbols cached by
10 different transrnission nodes are pertinently designed. Concretely, the
number of the encoded symbols sent to each of the base stations is
determined by the control module 101 based on a combination of the
state of the base station in the network and the characteristics of the
file.
15 The characteristics of the file mainly include a timeout time Ttimeout
for downloading the file, The timeout time Ttimeouits dependent on the
type of the content downloaded by the user terminal. The content
providing server assigns this parameter while sending the content.
The state of the base station includes the coverage area of the base
20 station, the average stay time of the user terminal in the base station, the
number of the user terminals in the base station, the traffic load sf the base
station, the handover frequency (including the frequency of handover
incoming and the frequency of handover outgoing) of the user terminal in
the base station, and the average channel state of the user terminal in the
25 base station. The average reference values of the stay time Tstay of the
user terminal in the macro base station and the average number Urn,,, of
the user terminals of the macro base station are counted by the operator,
and are assigned in the cache module. The average number UreIayo f the
user terminals in the relay stations and the average number Umicroo f the
user terminals in the micro base stations are respectively counted by
each base station and are acquired from the cache module of the
corresponding micro base stations or relay stations.
On the design of the cache strategy, when other conditions of base
5 stations are the same, the base station in which the average stay time of
the user terminal is longer caches a larger number of encoded symbols,
the base station with a larger number of user terminals caches a larger
number of encoded symbols, the base station with higher traffic load
caches a smaller number of encoded symbols, the base station with poor
10 channel state caches a smaller number of encoded symbols, and the base
station with frequent handover caches a smaller number of encoded
symbols.
Several application modes in which the number of the encoded
symbols sent to each base station is determined by the control module
15 10 1 based on a combination of the state of the base station in the
network and the characteristics of the file are described below.
Application Mode 1
In Application Mode 1, the control module 101 allocates cached
data to the plurality of transmission nodes in a homogeneous cellular
network.
In the homogeneous cellular network, each of the transrriission
nodes in the cellular network has the same size and is located in the
regular hexagonal cellular network.
In this case, each of the transmission nodes has the same coverage
area, and thus has the same number of the sent encoded symbols. The
encoded symbols to be sent to each of the transmission nodes for caching
can be determined by the timeout time, the mobile coefficient (obtained
in advance by statistics) of the user terminal, and the size of the file
together. In the actual system, the average stay time Tstay of the user
terminal in one transmission node may be counted, and in this case, the
number of the encoded symbols to be sent to each of the transmission
nodes for caching is K* Tsta,/ Ttimeout.
Application Mode 2
In Application Mode 2, the control module 101 allocates the
cached data to the plurality of transmission nodes in a heterogeneous
cellular network.
10 In the heterogeneous cellular network, each of the transmission
nodes in the cellular network does not have exactly the same size, and
hence the number of the encoded symbols to be sent to each of the
transmission nodes for caching is required to be determined by taking
into further consideration the parameters of the transmission node itself,
15 i.e. the average number of the user terminals in the transmission node
etc.
For example, the number of the encoded symbols to be sent to
each of the transmission nodes for caching is proportional to the average
number of the user terminals in the base station.
20 When it is assumed that the average number of the user terminals
in the macro base station is Urn,,, and the average number of the user
terminals in one relay station is Urelayt, he number of the encoded syn~buls
to be allocated to the relay station is K*TstayT/ timeout*Um~ay/Umacro.
25 Application Mode 3
In a normal cellular network, some transmission nodes are under
the condition of high load, while other transmission nodes are under
the condition of low load.
Therefore, the number of the encoded symbols to be sent to each of
the transmission nodes for caching is determined in view of the amount
of the traffic load. For a low load transmission node, the transmission
rate can be increased to send more encoded symbols in a shorter time.
For a high load transmission nodes with limited transmission capacity,
5 the number of encoded symbols for caching needs to be reduced.
For example, the number of the encoded symbols to be sent to
each of the transmission nodes for caching has a negative correlation to
the traffic load of each of the transmission nodes. The high load
transmission nodes caches fewer encoded symbols, while the low load
10 transmission nodes caches more encoded symbols.
Application Mode 4
Other conditions are the same in the cells (i.e., the coverage areas
of the base stations). For some files related to the geographic locations,
15 the probability of the user terminal requesting the file is directly related
to the location of the user terminal. When it is assumed that the
probability of the user terminal in each of the cells requesting the file is
P1, P2, P3 ..., respectively, the ratio of cached contents in the
corresponding base stations is approximately PI: P2: P3 . . .
20 These are just four special cases, and for specific design, the
determination is required to be made by taking into comprehensive
consideration the average stay time of the user terminal in the base
station, the number of the user terminals in the base station, the traffic
load of the base station, the handover frequency of the user terminal in
25 the base stations, the average channel state of the user terminal in the
base station, and the timeout time of downloading the file.
According to the embodiment of this invention, the file is cached
after being encoded, which can improve the cache efficiency of wireless
communication nodes several times. For the cell including more relay
stations, this scheme can effectively reduce the downlink energy
consumption.
Moreover, when the number of the symbols to be cached by each
of the base stations is determined, by taking into consideration the
5 factors such as the average stay time of the user terminal in the base
station, the number of the user terminals in the base station, the traffic
load of the base station, the handover frequency of the user terminal in
the base stations, the average channel state of the user terminal in the
base station, and the timeout time of downloading the file, the
10 appropriate amount of cached data can be allocated to each of the base
stations, the cache area in each of the base stations can be properly
utilized, the cache efficiency can be improved, the utilization of the
cached data in the base station can be improved, and the download
efficiency of the user terminal can be improved.
15 In the embodiment of this invention, the types of the fountain
codes used are not limited. As for the fountain codes, while some
fountain codes are random encoding, which can generate an arbitrary
number of symbols, the fountain code like Raptor code, which needs to
ensure the decoding quality, has an upper limit of the number of encoded
20 symbols but the value of the upper limit is huge. Therefore, in general,
calculating and allocating the encoded symbols for caching in such a
manner as described above iil any one of Application Modes 1 to 4 causes
no problem. However, in some extreme cases, when the number of the
base stations is huge, even a state in which each base station caches one
25 encoded symbol on average cannot be realized, and at this moment, such
a mode as illustrated in FIG. 6, in which encoded symbols are reused
among base stations, can be adopted. In FIG. 6, each hexagonal box
represents a base station, the number labeled in each hexagonal box
represents the encoded symbol cached by the base station itself, and the
base stations labeled with the same number reuse the encoded symbol
among those base stations. For example, in FIG. 6, four base stations
labeled with the number " 1" reuse the encoded symbol among those four
base stations.
The communication system of this invention is described below.
The communication system of this invention is realized mainly in two
processes: a process in which the server sends the encoded symbols to
the base station and then the base station caches the encoded symbols;
and a process in which the user terminal downloads the symbols.
10 Firstly, with reference to FIG. 7, a signaling exchange process in
which the communication system of the embodiment of this invention as
illustrated in FIG. 1 sends the encoded symbols to the base stations is
described.
As illustrated in FIG. 7, firstly, the server sends a request of
15 inquiring the state of the base station to each of base stations 1, 2 and 3
via the backbone network.
Next, each of base stations 1, 2 and 3 returns the state of the
base station itself to the server after receiving the request of inquiring
the state of the base station sent from the server.
20 Next, after the server receives the state information of the base
station from each of base stations 1, 2 and 3, the base station
information management module 105 of the server employs the state
information of the base station received to update the state of the base
station.
25 Next, the server calculates the number of the encoded symbols
based on the updated state of the base station. Calculating the number
of the encoded symbols here is performed in such a manner as described
above in any one of Application Modes 1 to 4. Specifically, the
appropriate numbers of symbols to be cached by each of base stations 1,
2 and 3 are calculated based on the state information of each of base
stations 1, 2 and 3.
Then, the server generates encoded symbols.
Next, the server sends the corresponding number of the encoded
5 symbols to each of base stations 1, 2 and 3 based on the calculated
number of the encoded symbols to be cached by each of the base stations.
Base stations 1, 2 and 3 cache the encoded symbols in their
caches respectively after receiving the encoded symbols sent from the
server, and each of base stations 1, 2 and 3 generate a file information
10 list and a cached symbol list based on the encoded symbols received.
With this, the first main process of the communication system of
the embodiment of this invention ends. The other main process of the
communication system of this invention, i.e. the download process of the
user terminal, is described below.
15 The download process of the user terminal is summarized as
follows.
1) Starting the download
When the user terminal initiates a download request, the user
terminal initiates a query request to the closest base station, and the
20 base station reports back the serial numbers (need to be defined) of the
content cached in the base station. The user terminal records the serial
numbers of received symbols on local, and hence the user terminal
determines whether there are the serial numbers to be downloaded in the
base station based on the serial numbers of symbols recorded on local
25 and the serial numbers of cached content in the base station reported
back by the base station, and further accordingly determines whether
the base station is to be connected or be regarded as an excluded base
station. When it is determined that there are serial numbers to be
downloaded in the base station, the user terminal starts the request for
each symbol to the base station one by one.
2) Handover
When the cached content of the currently connected base station is
completely downloaded, or when the user terminal moves out of the service
5 area of the original base station, the user terminal needs a handover.
Similar to the current handover process, the user terminal notifies the
original connected base station that the user terminal aborts the download,
and starts the request to a new base station. As in the case of starting the
download, the base station reports back the serial numbers of the content
10 cached in the base station, and each of the user terminals initiates the
download requests for the corresponding data.
3) Pausing the download
If the content which is not downloaded by the user terminal cannot
be found in the neighboring base stations that can be connected and the
15 time does not exceed the timeout time Ttimeoutht,e download is paused until
a new base station that can be connected is found.
4) Finishing the download
The user terminal starts an attempt at decoding after having
collected K encoding packets, and when the attempt is successful,
20 decoding is made in order to finish the download without sending a new
symbol request. On the other hand, when the attempt is not successful,
a new attempt of decoding is taken again after the download of the next
symbol is finished.
5) Timeout handling
25 A timeout time Ttimeouist set based on the extent of the delay
tolerance of the downloaded content. When the download is still not
finished over the timeout time, the download is not paused, and when
the content which is not downloaded by the user terminal cannot be
found in the neighboring base stations that can be connected, an original
symbol request for completing the content is sent to the content source
on the Internet directly via the backbone network of the base station.
With reference to FIG. 8 and FIG. 9, the download process of the user
terminal is described below in detail.
FIG. 8 is a sequence diagram of one example in which the user
terminal device in the communication system of the embodiment of this
invention executes a download once without timeout.
It is assumed that the number K of the original symbols equals to
300, and through the sending process as illustrated in FIG. 8, base station 1
10 caches the symbols 1 to 100, base station 2 caches the symbols 10 1 to 200,
and base station 3 caches the symbols 201 to 300.
As illustrated in FIG. 8, initially the user terminal is located in the
coverage area of base station 1 and always is in a moving state. The user
terminal requests the relevant information of the file 1 (the size S of the file,
15 the number K of the original symbols, the number N of the encoded symbols,
and the size L of the encoded symbols) from base station 1. Base station 1
requests the file information from the server, and reports the file information
back to the user terminal after receiving the file information from the server.
Next, the user terminal continues to request the cached symbol list in
20 the base station from base station 1, and base station 1 returns the cached
symbol list stored in base station 1 to the user terminal (symbols 1 to 100 in
this example).
Next, the user terminal requests each symbol from base station 1.
After the 59th symbol is completely received, the user terminal moves
25 out of the coverage area of base station 1 and moves into the coverage areas
of base station 2 and base station 3. It is assumed here that the user
terminal communicates with the base station with stronger signal (here
assumed as base station 2). The user terminal requests the cached symbol
list of base station 2 and requests the cached symbols of base station 2 one
by one. After all cached symbols (101 to 200) of base station 2 are
completely downloaded, the user terminal adds base station 2 into the base
station exclusion list.
Next, the user terminal is still located in the coverage area of base
5 station 3, and hence a handover to base station 3 for communication is
made. Firstly, the cached symbol list of base station 3 is requested, and
then the cached symbols of base station 3 are requested one by one.
After the cached symbol 241 of base station 3 is completely
downloaded, the user terminal decodes the received symbols, generates the
10 source file, stops the download, and completes the download.
FIG. 9 is a signaling interaction diagram of one example in which the
user terminal device in the communication system of the embodiment of
this invention executes a timeout download once.
As illustrated in FIG. 9, the download process is similar to the
15 example of FIG. 8, but the difference is that the user terminal moves into the
coverage area of base station 2 after leaving the coverage area of base station
1. After all cached symbols of base station 2 are completely downloaded by
the user terminal, when all base stations are in the base station exclusion
list, then the user terminal enters a wait state. When the timeout timer
20 indicates timeout, the user terminal requests the original symbols from the
server via base station 2 to finish the download.
FIGS. 10A to 10C are flowcharts illustrating the download action of
the user terminal device in the communication system of this invention.
As illustrated in FIG. 10A, firstly, the user terminal sends the file
25 information requests to all base stations based on an ID of the requested file
(Step S101).
Next, a determination is made as to whether the user terminal
receives the signals from the base stations which are not in the excluded
base station list (Step S102). When the determination is that the user
terminal receives the signals from the base stations which are not in the
base station exclusion list (being "Yes" in Step S102), the user terminal is
connected to the base station with the strongest received signal of the base
stations whose signals are received (Step S103). When the determination is
5 that the user terminal does not receive the signals from the base stations
which are not in the excluded base station list (being "No" in Step S102), the
procedure goes to Step S 110.
In Step S104, the user terminal determines whether the cached
symbol list of the connected base station is received. When the
10 determination is that the cached symbol list is received ("Yes" in Step S104),
the user terminal further determines whether there is a symbol not being
received in the cached symbol list of the connected base station (Step
S105). When the determination is that the cached symbol list is not
received ("No" in Step S 104), the procedure goes to Step S 11 1.
15 When the determination of Step S105 is that there exists a symbol
not being received ("Yes" in Step S105), the procedure goes to Step S106.
On the other hand, when the determination of Step S105 is that all symbols
have been received ("No" in Step S105) does not exist, the procedure goes to
Step S112 and the current connected base station is added into the base
20 station exclusion list.
In Step S106, the user terminal requests one cached symbol not
being received.
In Step S107, the user terminal determines whether the download is
successful. When the determination is that the download is unsuccessful
25 ("No" in Step S107), the procedure returns to Step S102. On the other hand,
when the determination is that the download is successful ("Yes" in Step
S 107), the procedure goes to Step S 108, in which a determination is made as
to whether the number of the collected symbols is more than the number of
the original symbols. When the determination is that the number of the
collected symbols is not more than the number of the original symbols ("No"
in Step S108), the procedure returns to Step S105. On the other hand,
when the determination is that the number of the collected symbols is more
than the number of the original symbols ("Yes" in Step S108), decoding is
5 made and a determination is made as to whether decoding is successful
(Step Slog), and when the determination is that decoding is unsuccessful
("No" in Step Slog), the procedure returns to Step S105. On the other hand,
when the determination is that decoding is successful ("Yes" in Step Slog),
the process ends.
10 In addition, in Step S110, a determination is made as to whether it
exceeds the timeout time. When the determination is that it exceeds the
timeout time ("Yes" in Step S1 lo), a determination is made as to whether the
signal of the base station can be received (Step S113), and when the
determination is that the signal of the base station cannot be received, Step
15 S113 is repeated. On the other hand, when the determination is that the
signal of the base station can be received ("Yes" in Step S113), a request for
the symbol not being received with the smallest serial number is sent to the
server via the base station (Step S114), decoding is made, and a
determination is made as to whether decoding is successful (Step S115).
20 When the determination is that decoding is unsuccessful (being "No" in Step
S1151, the procedure returns to Step S114. On the other hand, when the
determination is that decoding is successful ("Yes" in Step S 115), the process
ends. When the determination is that it does not exceed the timeout time
("No" in Step S 1 lo), the procedure returns to Step S 102.
25 In the above, the processes of caching and downloading the data of
the communication system of this invention have been described.
According to the communication system of the embodiment of this
invention, the file is cached after being encoded, which can improve the
cache efficiency of the wireless communication nodes several times. For
the cellular including more relay stations, this scheme can effectively
reduce the downlink energy consumption.
Moreover, according to the communication system of the
embodiment of this invention, the appropriate amount of the cached data
5 can be allocated to each of the base stations, the cache area in each of
the base stations can be properly utilized, the cache efficiency can be
improved, and the utilization of the cached data in the base station can
be improved.
This invention is not limited to the above-described embodiments but
10 includes various modifications. The above-described embodiments are
explained in details for better understanding of this invention and are not
limited to those including all the configurations described above. A part of
the configuration of one embodiment may be replaced with that of another
embodiment; the configuration of one embodiment may be incorporated to
15 the configuration of another embodiment. A part of the configuration of
each embodiment may be added, deleted, or replaced by that of a different
configuration.
For example, the case in which there is only one user terminal in
the communication system has been described, but it should be
20 understood that there may be more than one user terminal in the
communication system.
The above-described configurations, functions, processing modules,
and processing means, for all or a part of them, may be implemented by
hardware: for example, by designing an integrated circuit. The
25 above-described configurations and functions may be implemented by
software, which means that a processor interprets and executes programs
providing the functions.
The information of programs, tables, and files to implement the
functions may be stored in a storage device such as a memory, a hard disk
drive, or an SSD (a Solid State Drive), or a storage medium such as an IC
card, or an SD card.
The drawings shows control lines and information lines as considered
necessary for explanation but do not show all control lines or information
5 lines in the products. It can be considered that almost of all components
are actually interconnected.
WHAT IS CLAIMED IS:
1. A server comprising:
a storage module for storing original files and characteristics of the
original files;
an encoding module for encoding the original files stored in the
storage module to generate encoded symbols;
an information acquisition module for communicating with at least
one transmission node and acquiring state information from the at least one
transmission node;
10 a control module for calculating a number of the encoded symbols to
be sent to the at least one transmission node for caching based on the
characteristics of the original files stored in the storage module and the state
information of the at least one transmission node acquired by the
information acquisition module; and
15 a communication module for sending the encoded symbols to the at
least one transmission node based on the number of the encoded symbols
calculated by the control module.
2. The server according to claim 1, wherein:
the characteristics of the original files include a timeout time for
downloading a file; and
the state information includes a coverage area of a transmission node,
an average stay time of a user terminal in a transmission node, a number of
the user terminals in a transmission node, an amount of a traffic load of a
transmission node, a handover frequency of a user terminal in the
transmission nodes, and an average channel state between a user terminal
and a transmission node.
3. The server according to claim 2, wherein, when calculating the
30
number of the encoded symbols to be sent to each of the at least one
transmission node for caching, the number of the encoded symbols to be
sent to the each of the at least one transmission node for caching has a
positive correlation to each of the coverage area of the transmission node,
5 the average stay time of the user terminal in the transmission node, the
number of the user terminals in the transmission node, and the average
channel state between the user terminal and the transmission node, and has
a negative correlation to each of the amount of the traffic load of the
transmission node and the handover frequency of the user terminal in the
10 transmission nodes.
4. A data caching method for sending cached data to at least one
transmission node coupled to the server, the data caching method including
steps of:
15 encoding original files stored in the server to generate encoded
symbols;
communicating with the at least one transmission node and
acquiring state information from the at least one transmission node;
calculating a number of the encoded symbols to be sent to the at
20 least one transmission node for caching based on characteristics of the
original files stored in the server and the acquired state information of the at
least one transmission node; and
sending the encoded symbols to the at least one transmission node
based on the calculated number of the encoded symbols.
5. A communication system comprising
a server,
at least one transmission node, and
at least one user terminal,
the server and the at least one transmission node being coupled by
wired connection,
the at least one transmission node and the at least one user terminal
being coupled by wireless connection,
the at least one transmission node being configured to receive and
cache encoded symbols sent from the server,
the at least one user terminal being configured to request the
encoded symbols cached by the at least one transmission node from the at
least one transmission node,
10 the server including:
a storage module for storing original files and characteristics of the
original files;
an encoding module for encoding the original files stored in the
storage module to generate encoded symbols;
15 an information acquisition module for communicating with the at
least one transmission node and acquiring state information from the at
least one transmission node;
a control module for calculating a number of the encoded symbols to
be sent to the at least one transmission node for caching based on the
20 characteristics of the original files stored in the storage module and the state
information of the at least one transmission node acquired by the
information acquisition module; and
a communication module for sending the encoded symbols to the at
least one transmission node based on the number of the encoded symbols
25 calculated by the control module.
6. The communication system according to claim 5, wherein the at
least one user terminal requests the encoded symbols cached in the at least
one transmission node from the at least one transmission node while
moving.
7. The communication system according to claim 5, wherein:
the characteristics of the original files include a timeout time for
5 downloading a file; and
the state information includes a coverage area of a transmission node,
an average stay time of a user terminal in a transmission node, a number of
the user terminals in a transmission node, an amount of a traffic load of a
transmission node, a handover frequency of a user terminal in the
10 transmission nodes, and an average channel state between a user terminal
and a transmission node.
8. The communication system according to claim 5, wherein, when
calculating the number of the encoded symbols to be sent to each of the at
15 least one transmission node for caching, the number of the encoded symbols
to be sent to the each of the at least one transmission node for caching has a
positive correlation to each of a coverage area of a transmission node, an
average stay time of a user terminal in a transmission node, a number of the
user terminals in a transmission node, and an average channel state
20 between a user terminal and a transmission node, and has a negative
correlation to each of an amount of a traffic load of a transmission node and
a handover frequency of a user terminal in the transmission nodes.
9. A server, substantially as herein described with reference to
25 accompanying drawings and examples.
10. A data caching method, substantially as herein described with
reference to accompanying drawings and examples.
1 1. A communication system, substantially as herein described
with reference to accompanying drawings and examples.