WO2016201776A1 - 一种用于移动终端应用的内容分发的方法和系统 - Google Patents

一种用于移动终端应用的内容分发的方法和系统 Download PDF

Info

Publication number
WO2016201776A1
WO2016201776A1 PCT/CN2015/086979 CN2015086979W WO2016201776A1 WO 2016201776 A1 WO2016201776 A1 WO 2016201776A1 CN 2015086979 W CN2015086979 W CN 2015086979W WO 2016201776 A1 WO2016201776 A1 WO 2016201776A1
Authority
WO
WIPO (PCT)
Prior art keywords
download
mobile terminal
data
software development
terminal application
Prior art date
Application number
PCT/CN2015/086979
Other languages
English (en)
French (fr)
Inventor
洪珂
黄忠旺
Original Assignee
网宿科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to EP15895349.7A priority Critical patent/EP3242463B1/en
Priority to US15/533,561 priority patent/US10200465B2/en
Publication of WO2016201776A1 publication Critical patent/WO2016201776A1/zh
Priority to US16/223,360 priority patent/US10708350B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • the present invention relates to a technology based on mobile internet content distribution, and more particularly to an application technology of a P2P distribution technology under a mobile network.
  • the P2P (peer-to-peer) technology is very mature, and the technology has been widely used for content distribution under a fixed network.
  • P2P point-to-point transmission of data
  • point refers to the end user, in the traditional centralized content distribution system, the user can only obtain resources to the source station or the cache system, and the content obtained under P2P technology is mainly Obtain data from the client that already owns the resource, which can realize distributed downloading data and solve the drawbacks of the centralized distribution system.
  • the P2P technology can be applied under the mobile network, the content distribution system under the mobile network will be more efficient.
  • the mobile network is quite different from the fixed network.
  • the traditional P2P technology under the fixed network is not suitable for mobile network applications, mainly reflected in the following aspects.
  • the mobile network has large delay and large network jitter, which is more unstable than the fixed network.
  • the traditional P2P technology cannot guarantee the timely supply of data.
  • the first packet is not timely, and the user experience cannot be effectively guaranteed.
  • P2P requires a data source (P2P technology calls the data source seed seed) permanently online.
  • P2P technology calls the data source seed seed) permanently online.
  • the mobile terminal is powered by a battery, and each mobile platform generally limits the data usage of the background application to save power usage. In this case, the seed service cannot be reliably guaranteed and will affect the availability.
  • the traditional P2P content distribution scheme makes the data source marginal, but due to the limitations of the mobile network and the mobile terminal, the data source cannot be guaranteed to be always online.
  • the network under the mobile network is relatively unstable, and the data may not be acquired from a specific terminal in time, thereby affecting the user experience.
  • the traditional P2P content distribution solution cannot identify the toll traffic and free traffic, which may cause the user to use the cost.
  • the present invention combines the characteristics of a mobile network to propose an improved P2P content distribution scheme suitable for mobile network applications.
  • the new scheme mainly combines the advantages of the centralized distribution scheme and the P2P distribution scheme, circumvents the shortcomings of the two schemes, makes the content distribution more efficient and reliable under the mobile network, and can ensure a better user experience.
  • the present invention provides a method for content distribution for a mobile terminal application, comprising the steps of:
  • the mobile terminal application integrates the embedded software development library, and imports a download request into the software development library, and waits to receive the downloaded data;
  • the software development library receives the download request imported by the mobile terminal application, and downloads a first package to a cache system or a source station according to the request, and determines, according to the first package, whether P2P download can be started, where The first packet is the first data fragment of the data to be downloaded;
  • the software development library slices the remaining undownloaded data into a plurality of virtual files
  • the software development library initiates downloading and buffering download results for the plurality of virtual files one by one until all virtual file downloads are completed, wherein the software development library will be downloaded during the process of downloading the virtual files.
  • the virtual file is forwarded to the mobile terminal application in real time;
  • the software development library shares the downloaded and cached resources according to the sharing policy.
  • the method in which the mobile terminal application in step A imports the download request into the software development library comprises one of a manner of active proxy or passive hijacking.
  • the virtual file download in step D includes:
  • the sharing strategy in step E includes:
  • determining whether P2P can be initiated in step B includes:
  • Determining whether to initiate P2P download according to the file length and the transmission encoding manner described in the first packet data if not, sending an http request to the cache system or the source station to download the remaining data; if yes, performing step C .
  • a method for obtaining a demand condition of a terminal application for data includes:
  • the software development library provides a data usage status notification interface to the mobile terminal application to obtain current data consumption of the mobile terminal application.
  • the present invention also provides a system for content distribution for a mobile terminal application, comprising:
  • each mobile terminal application module embedding a software development library, wherein the software development library is configured to determine whether the data download request satisfies a startup condition of the P2P download, implement P2P download, and provide delivery of response data. And provide data sharing;
  • a P2P controller is in communication with the plurality of mobile terminal modules, the P2P controller being configured to manage the software development library, manage and recommend valid peers, retrieve download resources, and assist P2Pp NAT traversal.
  • the software development library includes:
  • P2P scheduling layer module and a P2P protocol layer module, wherein the P2P scheduling layer module and the P2P protocol layer module communicate with each other;
  • the P2P scheduling layer module includes:
  • a local proxy interface module configured to import a data download request from the mobile terminal application module into the software development library, and deliver the downloaded data to the mobile terminal application module through the local proxy interface
  • a notification interface module configured to receive a notification regarding a status from a mobile terminal application module
  • the download controller is configured to determine whether the data download request satisfies the startup condition of the P2P download, and determine whether the next virtual file adopts the http download mode or the P2P download mode according to the configuration or the current condition;
  • the upload controller is configured to determine whether the current cached data can be shared and shared;
  • the cache controller is configured to manage the local cache, and the management includes controlling the cache size, sorting and deleting the hot and cold of the cached data, and managing the reuse of the cache by the mobile terminal application module.
  • the P2P protocol layer module includes:
  • the P2P content retrieval module is configured to implement interaction management between the software development library and the P2P controller, entry and exit of the mobile terminal, retrieval of download data, and peer recommendation and update of P2P control.
  • the P2P slice task management module is configured to perform task management and slice concurrent management on the registered P2P file to implement optimal P2P downloading;
  • the P2P NAT traversal control module is configured to ensure that a link between peers can be established
  • the peer interaction protocol module is configured to implement a communication protocol between peers.
  • the P2P controller includes:
  • the peer management module is configured to record and manage the activity status of the peer.
  • the peer recommendation module is configured to recommend, to the requester sent by the data download request, a healthy suitable peer list having the specified resource;
  • the NAT traversal auxiliary module is configured to assist the peer to discover its own NAT environment and provide communication assistance for establishing a connection between the peers;
  • the software development library management module is configured to configure and manage the software development library.
  • the download controller is configured to determine whether the data download request satisfies a startup condition of the P2P download, the determining, by the download controller, determining whether to enable P2P according to a file length and a transmission encoding manner described in the first packet data. Download, if not, send an http request to the cache system or the source station to download the remaining data; if it does, initiate a P2P download.
  • the download controller determines whether the next virtual file adopts the http download mode or the P2P download mode according to the configuration or the current condition, and the download controller calculates the download rate using the http protocol and the download rate using the P2P mode. And determining, according to the demand situation of the data of the mobile terminal application, which download mode is used by the current virtual file; if the P2P method is used, the required virtual file cannot be downloaded or the download rate cannot meet the normality of the mobile terminal application. If the P2P download rate is lower than the http download rate, you need to use the http method to download directly to the cache system or the source station. In addition, you can use P2P to download data.
  • the uploading controller determines the downloaded data according to the network standard of the mobile terminal, the remaining power of the mobile terminal, the memory usage of the mobile terminal, and the cpu usage of the mobile terminal. Whether it can be shared as a seed; if sharing is possible, the share is registered and waiting to receive download requests from other mobile terminal applications.
  • the versatility is strong, and the degree of coupling with the application is low, and the app can be transparently used without changing the business logic.
  • the P2P module can reuse the application's own cache to provide P2P sharing, saving the performance and storage resources of the mobile terminal.
  • the implementation scheme proposed in this patent is to use sdk to realize the integration of the P2P distribution function of the mobile terminal application, and the degree of coupling with the specific service of the terminal is low, and at least has the following two advantages:
  • P2P modules are relatively independent, easy to maintain and easy to control.
  • FIG. 1 shows a schematic structural diagram of a system in accordance with an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the structure of a p2p software development library according to an embodiment of the present invention.
  • FIG. 3 shows a schematic structural diagram of a p2p controller according to an embodiment of the present invention.
  • FIG. 4 shows a schematic diagram of a data downloading process according to an embodiment of the invention.
  • FIG. 5 illustrates a flow diagram of p2p content distribution for a mobile terminal application, in accordance with an embodiment of the present invention.
  • the present invention provides a method and system for p2p content distribution for a mobile terminal.
  • the key technical points of the method and system are:
  • the terminal application is embedded in p2p sdk (software development library), and the terminal application will need to do p2p traffic to import p2p sdk through proxy.
  • the terminal application opens the application's own cache to the p2p sdk in the form of an interface, so that the sdk can effectively utilize the app's cache to provide p2p sharing, thereby avoiding the occurrence of double buffering of the same application.
  • Intelligent data download mode control (1) If the terminal application is a streaming media application, the interface provided by sdk can be used to notify sdk of the current player status (normal play, pause, current play position), and sdk can notify according to this. In combination with the current download situation, it is determined how to download the data of the undownloaded part (http, p2p).
  • Intelligent data download mode control (2) sdk analyzes the download rate of http part, and puts forward the overall requirements for the overall download, as long as the download rate of p2p is not lower than 80% of the download rate of http, that is, the p2p download can be continued. .
  • Intelligent data download mode control (3) sdk analyzes the download rate of http part, and analyzes the download quality of each p2p peer, and selects only the high-quality peer whose download rate is higher than the http download rate for p2p download, and determines accordingly The number of concurrent downloads of p2p.
  • Intelligent data sharing control when the mobile terminal uses the cellular network, when the power is lower than 30%, the cpu usage rate is higher than 60%, and the memory usage rate is higher than 80%, the data sharing is turned off.
  • the target download file is downloaded in pieces, and the p2p download part is selected in the sequential slice download.
  • the remaining undownloaded part can be switched to the http mode to the cache system or the source station as a continuous whole. It avoids the random downloading to generate too many discrete small fragments, which in turn causes unnecessary performance consumption for the cache system or source station.
  • FIG. 1 shows a schematic structural diagram of a system in accordance with an embodiment of the present invention.
  • the system includes a source station 101, a cache system 102, a p2p controller 103, a terminal application module 104 in the first mobile terminal, and a terminal application module 105 in the second mobile terminal.
  • the system is not limited to two mobile terminals and terminal application modules therein, and may include N mobile terminals and terminal application modules therein.
  • the terminal application modules 104, 105 embed the p2p software development library (p2p sdk) without changing the original business logic.
  • the terminal application module initiates a request to the p2p software development library to be downloaded using p2p.
  • the request is imported into the p2p software development library via a proxy interface.
  • the p2p software development library is the core module for implementing point-to-point transmission. It is responsible for downloading p2p and providing delivery of response data, and providing data sharing.
  • the p2p software development library will be described in detail below.
  • the p2p controller 103 is responsible for the management and recommendation of effective peers, the retrieval of download resources, and the technical assistance of NAT traversal of p2p.
  • the p2p controller 103 also manages the p2p software development library, which includes at least configuration information delivery and data collection and analysis.
  • the cache system 102 is typically deployed close to the end user, providing a cache of source station data.
  • the cache system 102 primarily provides the first package and the emergency package for the terminal application modules 104, 105.
  • the first packet may be the first 256 KB fragmentation data of the download target, emergency
  • the package can be a subsequent download packet after the use of the p2p download rate is low and the data cannot be delivered in time.
  • the source station 101 is responsible for content management and authoritative delivery. If the content requested by the terminal application module does not have a backup in the cache system, the cache system 102 forwards the request to the source station 101, forwards the data to the terminal application module, and caches the response data in the cache system 102. The next request requesting the same content can go to the cache system to get the data without having to return to the source station to request the data.
  • FIG. 2 is a block diagram showing the structure of a p2p software development library in accordance with an embodiment of the present invention.
  • the p2p software development library can communicate with the original application layer module 230 of the terminal application module.
  • the p2p software development library mainly includes a p2p scheduling layer module 210 and a p2p protocol layer module 220.
  • the p2p scheduling layer module 210 includes a local proxy interface module 211, an interface notification module 212, a download controller 213, an upload controller 214, and a cache controller 215.
  • the home agent interface module 211 is configured to import the data download request of the original application layer module 230 into the p2p software development library, and deliver the download data to the original application layer module 230 through the interface module.
  • the notification interface module 212 is configured to receive notifications regarding status from the terminal application module. For example, the player's current play position, available remaining cache duration, play status (pause, play), and so on. This status will serve as the primary reference for data requirements urgency.
  • the download controller 213 is configured to determine whether the data download request satisfies the startup condition of the p2p download, and determines the manner (http or p2p) of downloading the next virtual file according to the configuration or the current condition.
  • the upload controller 214 is configured to determine whether the current cached data can be shared and shared.
  • the cache controller 215 is configured to manage the local cache. For example, the cache controller 215 controls the size of the cache, sorts and deletes the hot and cold of the cached data, and manages the reuse of the cache by the original application layer module 230.
  • the p2p protocol layer module 220 includes a p2p content retrieval module 221, a p2p slice task management module 222, a p2p NAT traversal control module 223, and a peer interaction protocol module 224.
  • the p2p content retrieval module 221 is configured to implement interaction management between the p2p software development library and the p2p controller 103, entry and exit of the terminal, download content retrieval, and processing peer recommendation and update issued by the p2p controller to the terminal.
  • the terminal enters and exits, which means that the terminal needs to register the terminal with the module through p2p, which means that the new terminal joins. Similarly, if the terminal application exits, it needs to be marked as unavailable to the p2p controller, so that the terminal will not be recommended as a peer to other terminals.
  • the p2p slice task management module 222 is configured to perform task management, slice concurrent management on the registered p2p file, to implement optimal p2p download.
  • the p2p NAT traversal control module 223 is configured to ensure that links between peers can be established.
  • the p2p NAT traversal control module 233 is mainly responsible for peer success in a NAT environment. Establish a communication link.
  • the peer interaction protocol module 224 is configured to implement a communication protocol between peers.
  • FIG. 3 shows a schematic structural diagram of a p2p controller according to an embodiment of the present invention.
  • the p2p controller 103 can include a peer management module 311, a peer recommendation module 312, a nat traversal assistance module 313, and an sdk configuration assistance module 314.
  • the peer management module 311 is configured to record and manage the activity status of the peer.
  • the peer recommendation module 312 is configured to recommend to the requester issued by the data download request a healthy list of suitable peers that have the specified resources.
  • the recommendation may be made based on indicators such as peer location, health, operator attribution, NAT type, and the like.
  • the NAT traversal auxiliary module 313 is configured to assist the peer to discover its own NAT environment and provide communication assistance for establishing a connection between the peers.
  • the software development library management module 314 is configured to configure and manage the software development library. This configuration and management includes configuration delivery, configuration changes, etc., collecting and analyzing the p2p data of the software development library.
  • the data primarily refers to p2p behavior data, such as which requests use p2p downloads, which requests use http downloads, and if p2p downloads fail, record download failure reasons, and the like.
  • FIG. 4 shows a schematic diagram of a data downloading process according to an embodiment of the invention.
  • Step 401 The application layer of the terminal application module initiates a data download request, and imports the request into the p2p software development library through the proxy interface.
  • Step 402 The local proxy interface module of the software development library receives the data download request.
  • Step 403 The download controller of the software development library analyzes the url in the request to determine whether the request is a p2p request, for example, whether the URL meets a regular expression of a preset p2p url. If not, proceed to step 404; if yes, proceed to step 405.
  • Step 404 The download controller of the software development library downloads the complete data by using the http method, for example, using a common proxy pipeline, forwarding the request to the cache system or the source station, and handing over the response data from the cache or the source station.
  • Step 405 The download controller of the software development library extracts the resource identifier according to a preset method for extracting the resource identifier, and the identifier is used as a unique identifier for the future p2p retrieval resource.
  • Step 406 The download controller of the software development library organizes a new request, and initiates a request for obtaining the first package to the cache system or the source station, where the first package is the first package of data to be downloaded.
  • the request may be to obtain a range download request with a first slice length of 256 KB.
  • Step 407 The download controller of the software development library receives the response data from the source station or the cache system.
  • Step 408 The download controller of the software development library determines whether the p2p download can be started according to the received response data. In one embodiment, whether to initiate a p2p download may be determined based on the file length of the data and the transport encoding. If not, proceed to step 409; if yes, enter Step 410, to perform p2p download.
  • Step 409 The download controller of the software development library sends an http request to the cache system or the source station to download the remaining data.
  • Step 410 The P2P slicing task management module of the software development library slices the remaining undownloaded data into a plurality of virtual files.
  • Step 411 The P2P slicing task management module of the software development library registers one of the virtual files with the p2p task manager and starts the p2p download.
  • Step 412 The p2p content retrieval module of the software development library uses the resource identifier of the file to initiate a search to the p2p controller. If the list of recommended peers sent from the p2p control is received, the process proceeds to step 413; otherwise, the p2p fails, and the transfer remains. The request of the file is sent to the cache system or the source station, and the corresponding response data is delivered.
  • Step 413 The p2p NAT traversal control module of the software development library initiates a connection to the recommended peer, and if necessary, implements the establishment of the communication link of the peer through the NAT traversal auxiliary module of the p2p controller.
  • Step 414 The p2p slicing task management module of the software development library successfully connects to the peer and requests the required resource fragment from the peer, that is, the current virtual file, and records the downloading rate of the p2p, which is necessary for the quality sorting and concurrency control of the subsequent peer. data.
  • Step 415 After obtaining the response data of the peer, the local proxy interface module of the software development library first delivers the response data to the terminal application module.
  • Step 416 The cache controller of the software development library caches the response data. If the terminal application has its own cache, it does not need to implement the cache inside the software development library; if the software development library implements the cache internally, it is determined according to the setting of the cache controller and the current storage space of the terminal. Whether the storage space is sufficient, if not enough, you can delete the most popular shared files and then cache new files. In one embodiment, the most unpopular shared files may be deleted according to the LRU (Least Recently Used) algorithm.
  • LRU Least Recently Used
  • Step 417 The upload controller of the software development library determines whether the data can be shared. In an embodiment, it may be determined whether the current terminal environment meets the data sharing setting, and the basis of the determination is to comprehensively determine the network standard of the terminal, the current power of the terminal, and the memory usage of the terminal. If the judgment can be shared as a seed, then go to step 418; if not, go directly to the download of other virtual files.
  • Step 418 The uploading controller of the software development library performs sharing registration with the p2p controller, and then waits to accept the download request of other peers, and simultaneously enters other virtual file download preparations.
  • Step 419 The download controller of the software development library determines whether the download has been completed, and if so, the download is ended, and if not, the download is continued.
  • Step 420 The download controller of the software development library determines the download mode of the next virtual file by determining the current situation, and the basis of the determination mainly comes from the application layer status notification and the control strategy of the download controller, and is determined according to the current download situation.
  • Download the next virtual file (via http)
  • the cache system or the source station fetches data, or the p2p download mode. In short, it is mainly considering whether the current data download rate satisfies the timeliness of data delivery. If the current download rate cannot meet the requirements of the application layer or the preset download requirement cannot be met, the http mode is used to directly initiate a data download request with a length of 256K to the cache system or the source station (step 421).
  • FIG. 5 illustrates a flow diagram of p2p content distribution for a mobile terminal application, in accordance with an embodiment of the present invention.
  • the flowchart includes, but is not limited to, the following steps.
  • Step 501 The mobile terminal application integrates the embedded software development library, and imports a download request into the software development library, and waits to receive the download data.
  • Step 502 The software development library receives the download request imported by the mobile terminal application, and downloads a first package to a cache system or a source station according to the request, and determines, according to the first package, whether a p2p download can be started, where The first packet is the first data fragment of the data to be downloaded.
  • Step 503 If it is determined that the p2p download can be initiated, the software development library slices the remaining undownloaded data into a plurality of virtual files.
  • Step 504 The software development library initiates downloading and buffering the download result one by one to the plurality of virtual files until all the virtual file downloads are completed, wherein the software development library is downloaded during the process of downloading the virtual file.
  • the virtual file is forwarded to the mobile terminal application in real time.
  • Step 505 In the process of downloading the virtual file, the software development library shares the downloaded and cached resources according to the sharing policy.
  • the method for the mobile terminal application to import the download request into the software development library comprises one of a manner of active proxy or passive hijacking.
  • the manner of downloading the virtual file may include downloading to the source station or the cache system using the http protocol and/or downloading using p2p; wherein the software development library calculates the download rate using the http protocol and uses the p2p mode. Downloading the rate, and determining which download mode the current virtual file uses according to the demand of the mobile terminal application for the data; if the p2p method is used, the required virtual file cannot be downloaded or the download rate cannot satisfy the mobile terminal application. The normal need, and the p2p download rate is lower than the http download rate, you need to use the http method to download directly to the cache system or the source station, in addition to the p2p way to download data.
  • the method for acquiring a demand situation of the data by the mobile terminal application includes the software development library providing a data usage status notification interface to the mobile terminal application, so as to obtain a current consumption situation of the data by the mobile terminal application.
  • the sharing policy may include, but is not limited to, according to the network system of the mobile terminal And the remaining power of the mobile terminal, the memory usage of the mobile terminal, and the cpu usage of the mobile terminal, determining whether the downloaded data can be shared as a seed; if sharing is possible, registering the sharing And waiting to receive download requests from other mobile terminal applications.
  • determining whether the p2p can be started comprises: determining whether to initiate the p2p download according to the file length and the transmission encoding manner described in the first packet data, and if not, sending an http request to the cache system or the source station To download the remaining data; if yes, go to step 503.
  • a specific application scenario may be: a music application whose plan to do p2p traffic is all mp3 suffixed files under the download.a.com domain name, and set the p2p sdk shared app cache.
  • the app is embedded in p2p sdk and starts sdk. sdk listens to the local 127.0.0.1:8888 to receive the imported data, and configures the app's p2p request regular match on the p2p controller:
  • the reassembly request initiates a download of the fragment request of the target 0 to 262143 to the cache system or the source station.
  • the value of the Content-Range field of the response header is analyzed, and the total length of the target is found to be 1,354,642, which exceeds the setting of the minimum file length of p2p of 1 MB, and it is determined that the remaining files can be downloaded using p2p.
  • Sdk submits the downloaded part to the app application layer. After completion, the remaining undownloaded parts are cut into 5 virtual files according to the length of each piece of 262144, and the last file length is 124922.
  • P2p sdk retrieves the resource of 1_01.mp3 from the p2p controller, the p2p controller returns the search result, and returns the list of peers owning the resource. Sdk initiates a connection to all peers in the list, and decomposes the download target into 64KB patches, and initiates resource requests and downloads to the peers that have established connections. At the same time, the download speed of the peer is sorted, so that the subsequent download task can select the optimal peer to download.
  • the player calls the sdk status notification interface to inform sdk of the current playback offset position.
  • Sdk parses the downloaded mp3 file to get the length of the downloaded file, so that it can be concluded that the downloaded data is enough for the player to play smoothly. If you can play smoothly, register the 1_0x.mp3 file as p2p, if If the cache is not sufficient, then switching this virtual file to a normal range request directly requests data from the cache system to alleviate the insufficient cache.
  • App and sdk convention cache locator (an md5 string), put the locator in the response header and return it to the app, the app opens the standard cache extraction interface, sdk calls the interface and passes the cache locator to get the full cache. file.
  • sdk After downloading 1.mp3, sdk can check whether the current terminal has sharing conditions.
  • the current mobile terminal uses wifi network, the remaining power is 90%, the memory usage is 56%, the CPU usage is 60%, and the conditions for cache sharing are available. Register the shared resource with the p2p controller and wait for the resource download request.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种用于移动终端应用的内容分发的方法和系统。该方法包括:移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;软件开发库接收移动终端应用导入的下载请求,并根据请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载;如果确定可以启动p2p下载,软件开发库将剩余的未下载的数据切片成多个虚拟文件;软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,软件开发库将已下载的虚拟文件实时转发给移动终端应用;在下载虚拟文件过程中,软件开发库根据分享策略将已下载并且已缓存的资源进行分享。

Description

一种用于移动终端应用的内容分发的方法和系统 技术领域
本发明涉及基于移动互联网内容分发的技术,尤其涉及P2P的分发技术在移动网络下的应用技术。
背景技术
随着移动互联网的发展,无线网络带宽越来越大,富媒体应用随之发展。而富媒体内容如音频、视频,一般体积比较大,非常依赖内容分发系统对其支持,才能保证这些富媒体应用在移动网络下的用户体验。当前的集中式内容分发系统一般在靠近用户的地方部署缓存系统,通过改写域名指向,将请求导入缓存系统,这样可以达到就近获取内容和缓解源站压力的目的。但现有的集中式内容分发方案存在不少弊端。例如,集中式内容分发系统在用户请求量大的时候容易造成瓶颈,导致可用性下降,用户体验差。此外,传统的集中式内容分发方案容易造成单点故障失效。而且,集中式内容分发方案需要较高的分发成本。
P2P(peer-to-peer,点对点)技术已经非常成熟,该技术已经被广泛应用在固定网络下的内容分发。所谓P2P,即点对点传输数据,这里“点”指的是最终用户端,在传统的集中式内容分发系统下,用户获取资源只能到源站或者缓存系统获取,而P2P技术下获取内容主要是到已拥有资源的用户端上获取数据,这样可以实现分布式下载数据,可以解决集中式分发系统所存在的弊端。
如果能够将P2P技术应用在移动网络下,那么移动网络下的内容分发系统将更加高效。但移动网络与固定网络有较大区别,固网下传统的P2P技术并不适合移动网络应用,主要体现在以下几个方面。
首先,移动网络时延大、网络抖动大,相对固定网络来说更加不稳定,在这种情况下传统P2P技术无法保证数据及时供给,例如,首包不及时,进而用户体验无法得到有效保障。
其次,通常P2P需要数据源(P2P技术称该数据源为种子seed)永久在线。但移动终端使用电池供电,各个移动平台一般都会限制后台应用的数据使用以达到节省电源使用的目的,在这种情况下种子服务没办法得到可靠的保障将会影响可用性。
再次,运营商对移动流量收费,传统的P2P方案无法区分收费流量和免费流量,因此,会增加客户端的使用成本。
因此,亟需一种能克服上述缺陷的适用于移动智能终端应用的P2P内容分发的方法和系统。
发明内容
本发明要解决的技术问题有以下几个。
首先,传统的P2P内容分发方案使得数据源边缘化,但由于移动网络和移动终端的限制,无法保证数据源永远在线的状态。
其次,移动网络下网络相对不稳定,数据可能无法及时从特定的终端上获取,从而影响用户体验。
再次,传统的P2P内容分发方案无法识别收费流量和免费流量,可能造成用户使用成本上升。
最后,传统的P2P内容分发方案未考虑移动终端的电源使用情况,造成电源过快耗费。
为了解决上述问题,本发明结合了移动网络的特性提出改进后的适用于移动网络应用的P2P内容分发方案。新方案主要结合了集中分发方案和P2P分发方案的优点,规避了两种方案的缺点,使得在移动网络下内容分发更加高效可靠,并且能够保证较好的用户体验。
本发明提供了一种用于移动终端应用的内容分发的方法,其特征在于,包括以下步骤:
A.移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;
B.所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动P2P下载,其中该首包为欲下载的数据的首个数据分片;
C.如果确定可以启动P2P下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件;
D.所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用;
E.在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。
在一个实施例中,步骤A中的所述移动终端应用将所述下载请求导入所述软件开发库的方法包括通过主动代理或者被动劫持的方式的其中一种。
在一个实施例中,步骤D中的虚拟文件下载包括:
使用http协议向源站或者缓存系统下载和/或使用P2P的方式下载;其中所述软件开发库计算使用http协议的下载速率和使用P2P方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方 式;如果使用P2P的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且P2P下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用P2P的方式下载数据。
在一个实施例中,步骤E中的分享策略包括:
根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。
在一个实施例中,步骤B中确定是否可以启动P2P包括:
根据该首包数据中描述的文件长度和传输编码方式来确定是否启动P2P下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则执行步骤C。
在一个实施例中,获取终端应用对数据的需求情况的方法包括:
所述软件开发库向所述移动终端应用提供数据使用状态通知接口,以此来获取当前移动终端应用对数据的消费情况。
本发明还提供了一种用于移动终端应用的内容分发的系统,其特征在于,包括:
多个移动终端应用模块,每个移动终端应用模块内嵌软件开发库,所述软件开发库被配置成判断数据下载请求是否满足P2P下载的启动条件、实现P2P的下载、提供响应数据的交付,以及提供数据分享;
P2P控制器,与所述多个移动终端模块相通信,所述P2P控制器被配置成管理所述软件开发库、管理和推荐有效的peer、检索下载资源、辅助P2Pp的NAT穿越。
在一个实施例中,所述软件开发库包括:
P2P调度层模块和P2P协议层模块,该P2P调度层模块与该P2P协议层模块互相通信;
所述P2P调度层模块包括:
本地代理接口模块,被配置成将来自所述移动终端应用模块的数据下载请求导入所述软件开发库,并通过所述本地代理接口将下载的数据交付至所述移动终端应用模块;
通知接口模块,被配置成接收有关来自移动终端应用模块的状态的通知;
下载控制器,被配置成判断该数据下载请求是否满足P2P下载的启动条件,并且将根据配置或者当前的条件决定下一个虚拟文件采用http下载方式还是P2P下载方式;
上传控制器,被配置成确定当前的缓存数据是否可以分享以及分享的条件;
缓存控制器,被配置成管理本地缓存,该管理包括对缓存规模进行控制、对缓存数据的冷热度进行排序及删除,以及管理所述移动终端应用模块对缓存的重复利用。
在一个实施例中,所述P2P协议层模块包括:
P2P内容检索模块,被配置成实现所述软件开发库与所述P2P控制器的交互管理,移动终端的进入和退出,下载数据的检索以及处理P2P控制的peer推荐和更新。
P2P切片任务管理模块,被配置成实现对已注册的P2P文件进行任务管理,切片并发管理,以实现最优的P2P下载;
P2P NAT穿越控制模块,被配置成确保peer之间的链路能够建立;
peer交互协议模块,被配置成实现peer之间的通讯协议。
在一个实施例中,所述P2P控制器包括:
peer管理模块,被配置成记录和管理peer的活动状态。
peer推荐模块,被配置成向数据下载请求发出的请求方推荐拥有指定资源的健康的合适的peer列表;
NAT穿越辅助模块,被配置成协助peer端发现自身的NAT环境,并对peer间建立连接提供通讯辅助;
软件开发库管理模块,被配置成对软件开发库进行配置和管理。
在一个实施例中,所述下载控制器被配置成判断该数据下载请求是否满足P2P下载的启动条件包括所述下载控制器根据首包数据中描述的文件长度和传输编码方式来确定是否启动P2P下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则启动P2P下载。
在一个实施例中,所述下载控制器根据配置或者当前的条件决定下一个虚拟文件采用http下载方式还是P2P下载方式包括所述下载控制器计算使用http协议的下载速率和使用P2P方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用P2P的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且P2P下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用P2P的方式下载数据。
在一个实施例中,所述上传控制器根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。
本发明的优点有以下几点。
首先,通用性强,与应用耦合度较低,app可以在不改变业务逻辑的情况下透明使用。
其次,结合移动智能终端的特点,能够在完成P2P分发的同时确保应用的用户体验
再次,通过智能分析可以最大化P2P的下载率并保证下载的及时性。
此外,P2P模块可以重复利用应用的自有缓存提供P2P分享,节约了移动终端的性能和存储资源。
由于终端应用分担了中心缓存系统负载,这样更加不容易导致中心缓存系统出现单点故障或者单点瓶颈。
另外本专利所提出的实现方案是使用sdk的方式来实现移动终端应用对P2P分发功能的集成,与终端的具体业务耦合度较低,这么做至少有以下两个优点:
与业务耦合度较低,适合在不同的业务终端应用快速集成P2P内容分发功能。
P2P模块较为独立,容易维护且便于控制。
附图说明
本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出根据本发明的一实施例的系统结构示意图。
图2示出根据本发明的一实施例的p2p软件开发库结构示意图。
图3示出根据本发明的一实施例的p2p控制器结构示意图。
图4示出根据本发明的一实施例的数据下载流程示意图。
图5示出根据本发明的一实施例的用于移动终端应用的p2p内容分发的流程图。
具体实施方式
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
本发明提供了一种用于移动终端的p2p内容分发的方法和系统。该方法和系统的关键技术点为:
(1)源服务器中的代码结构和业务逻辑无需做任何改变。
(2)缓存系统的代码结果和业务逻辑无需做任何改变。
(3)终端应用嵌入p2p sdk(软件开发库),终端应用将需要做p2p流量通过代理的方式导入p2p sdk。
(4)终端应用以接口的形式将应用的自有缓存开放给p2p sdk,以便sdk能够有效利用app的缓存提供p2p的分享,避免同一个应用有双缓存的出现。
(5)智能数据下载方式控制(一):终端应用如果是流媒体应用,可以通过sdk提供的接口通知sdk当前播放器的状态(正常播放、暂停、当前的播放位置),sdk能够据此通知并结合当前的下载情况确定未下载部分的数据使用什么方式(http、p2p)进行下载。
(6)智能数据下载方式控制(二):sdk通过分析http部分下载速率,对整体的下载提出总体要求,只要p2p的下载速率不低于http的下载速率的80%,即可持续进行p2p下载。
(7)智能数据下载方式控制(三):sdk通过分析http部分下载速率,并分析每一个p2p peer的下载质量,仅选择下载速率高于http下载速率的优质peer进行p2p下载,并据此确定p2p的并发下载的数量。
(8)智能数据分享控制,当移动终端使用蜂窝网络时、电量低于30%、cpu使用率高于60%、内存使用率高于80%时关闭数据分享。
(9)对目标下载文件进行分片下载,p2p下载部分选在顺序片下载,当p2p下载部分无法完成,可以将剩余未下载部分作为一个连续整体切换成http方式向缓存系统或者源站请求,避免了随机下载产生过多的不连续的小分片,进而对缓存系统或者源站造成不必要的性能消耗。
(10)通过正则表达式从url中提取文件名称作为p2p下载的资源标识,这样可以避免因为不同的应用拥有不同url结构,导致sdk通用性不强的问题。
下面具体结合附图来描述本发明的具体实施例。
图1示出根据本发明的一实施例的系统结构示意图。该系统包括源站101、缓存系统102、p2p控制器103、第一移动终端内的终端应用模块104、第二移动终端内的终端应用模块105。需要指出的是,该系统并不限于两个移动终端及其内的终端应用模块,可以包括N个移动终端及其内的终端应用模块。
终端应用模块104、105在不改变原始业务逻辑的情况下内嵌p2p软件开发库(p2p sdk)。终端应用模块向p2p软件开发库发起需要使用p2p下载的请求。在一个实施例中,该请求通过代理接口导入p2p软件开发库。
p2p软件开发库是实现点对点传输的核心模块,其负责实现p2p的下载并提供响应数据的交付,另外提供数据分享。下文中将详细介绍p2p软件开发库。
p2p控制器103负责有效peer的管理和推荐、下载资源的检索并且实现p2p的NAT穿越的技术辅助。另外,p2p控制器103还对p2p软件开发库进行管理,该管理至少包含配置信息的下发和数据的收集和分析。
缓存系统102一般是靠近最终用户就近部署,提供源站数据的缓存。在本发明的一个实施例中,该缓存系统102主要为终端应用模块104、105提供首包和应急包。在一个实施例中,首包可以是下载目标的首个256KB分片数据,应急 包可以是当使用p2p下载速率较低而导致数据无法及时交付情况出现后的后续下载数据包。
源站101负责内容的管理和权威交付。如果终端应用模块所请求的内容没有在缓存系统中存在备份,那么缓存系统102会转发该请求至源站101,在获取数据后转发给终端应用模块,并且将响应数据缓存在缓存系统102中,下一个请求相同内容的请求则可到缓存系统获得数据而不再需要回源站请求数据。
图2示出根据本发明的一实施例的p2p软件开发库的结构示意图。
p2p软件开发库与终端应用模块的原始应用层模块230可通信。p2p软件开发库主要包括p2p调度层模块210和p2p协议层模块220。p2p调度层模块210包括本地代理接口模块211、接口通知模块212、下载控制器213、上传控制器214、缓存控制器215。
本地代理接口模块211被配置成将原始应用层模块230的数据下载请求导入p2p软件开发库,并通过此接口模块将下载数据交付至原始应用层模块230。
通知接口模块212,被配置成接收有关来自终端应用模块的状态的通知。例如,播放器的当前播放位置、可用剩余缓存时长、播放状态(暂停、播放)等。该状态将作为数据需求紧急度主要参考依据。
下载控制器213,被配置成判断该数据下载请求是否满足p2p下载的启动条件,并且将根据配置或者当前的条件决定下一片虚拟文件下载的方式(http或者p2p)。
上传控制器214,被配置成确定当前的缓存数据是否可以分享以及分享的条件。
缓存控制器215,被配置成管理本地缓存。例如,缓存控制器215对缓存规模进行控制、对缓存数据的冷热度进行排序及删除,以及管理原始应用层模块230对缓存的重复利用等。
p2p协议层模块220包括p2p内容检索模块221、p2p切片任务管理模块222、p2p NAT穿越控制模块223以及peer交互协议模块224。
p2p内容检索模块221,被配置成实现p2p软件开发库与p2p控制器103的交互管理,终端的进入和退出,下载内容检索以及处理p2p控制器向终端发出的peer推荐和更新。
其中,终端进入与退出,是指终端启动需要通过该模块向p2p注册终端,意味着新终端加入。同理,终端应用退出,也需要向p2p控制器报备标记为不可用,这样该终端就不会再作为peer端推荐给其他终端。
p2p切片任务管理模块222,被配置成实现对已注册的p2p文件进行任务管理,切片并发管理,以实现最优的p2p下载。
p2p NAT穿越控制模块223,被配置成确保peer之间的链路能够建立。在一个实施例中,该p2p NAT穿越控制模块233主要负责在NAT环境下peer成功 建立通讯链路。
peer交互协议模块224,被配置成实现peer之间的通讯协议。
图3示出根据本发明的一实施例的p2p控制器结构示意图。
p2p控制器103可包括peer管理模块311、peer推荐模块312、nat穿越辅助模块313、sdk配置辅助模块314。
peer管理模块311,被配置成记录和管理peer的活动状态。
peer推荐模块312,被配置成向数据下载请求发出的请求方推荐拥有指定资源的健康的合适的peer列表。在一个实施例中,该推荐可以根据peer的位置、健康度、运营商归属、NAT类型等指标做出。
NAT穿越辅助模块313,被配置成协助peer端发现自身的NAT环境,并对peer间建立连接提供通讯辅助。
软件开发库管理模块314,被配置成对软件开发库进行配置和管理。该配置和管理包括配置下发、配置变更等、收集和分析软件开发库的p2p的数据。在一个实施例中,所述数据主要是指p2p行为数据,比如哪些请求使用了p2p下载,哪些请求使用http下载,以及如果p2p下载失败,记录下载失败原因等等。
图4示出根据本发明的一实施例的数据下载流程示意图。
步骤401:终端应用模块的应用层发起数据下载请求,并将此请求通过代理接口导入p2p软件开发库。步骤402:软件开发库的本地代理接口模块接收数据下载请求。
步骤403:软件开发库的下载控制器分析该请求中的url,以判断该请求是否是p2p请求,例如该URL是否符合预先设定的p2p url的正则式设定。如果不符合,则进入步骤404;如果符合,则进入步骤405。
步骤404:软件开发库的下载控制器使用http方式下载完整数据,例如,采用普通代理管道,转发请求至缓存系统或者源站,并转交来自缓存或者源站的响应数据。
步骤405:软件开发库的下载控制器根据预先设定的提取资源标识的方法提取资源标识,该标识将作为将来p2p检索资源的唯一标识。
步骤406:软件开发库的下载控制器组织新的请求,向缓存系统或者源站发起获取首包的请求,其中所述首包为欲下载的数据的首包。在一个实施例中,该请求可以是获取首片长度为256KB的range下载请求。
步骤407:软件开发库的下载控制器接收来自源站或者缓存系统的响应数据。
步骤408:软件开发库的下载控制器根据该接收到的响应数据确定是否可以启动p2p下载。在一个实施例中,可以根据该数据的文件长度和传输编码方式来确定是否启动p2p下载。如果不符合,则进入步骤409;如果符合,则进入 步骤410,以进行p2p下载。
步骤409:软件开发库的下载控制器向缓存系统或者源站发送http请求,以下载剩余数据。
步骤410:软件开发库的P2P切片任务管理模块将剩余未下载的数据切片成多个虚拟文件。
步骤411:软件开发库的P2P切片任务管理模块向p2p任务管理器注册其中一个虚拟文件并启动p2p下载。
步骤412:软件开发库的p2p内容检索模块使用该文件的资源标识向p2p控制器发起检索,如果收到来自p2p控制发来的推荐的peer列表便进入步骤413;否则,p2p失败,转交下载剩余文件的请求至缓存系统或者源站,并交付相应响应数据。
步骤413:软件开发库的p2p NAT穿越控制模块向推荐的peer发起连接,必要时通过p2p控制器的NAT穿越辅助模块实现peer的通信链路的建立。
步骤414:软件开发库的p2p切片任务管理模块成功连接peer后向peer索取所需的资源分片,即当前的虚拟文件,并记录p2p下载的速率,供后续peer的质量排序和并发控制提供必要数据。
步骤415:软件开发库的本地代理接口模块得到peer的响应数据后,先向终端应用模块交付响应数据。
步骤416:软件开发库的缓存控制器将响应的数据进行缓存。如果是重用终端应用自有缓存的,则不需要在软件开发库内部实现缓存;如果是软件开发库内部实现缓存的,则要按照缓存控制器的设定以及终端当前的存储空间来判定当前可用存储空间是否充足,如果不充足,则可以删除最冷门的分享文件再进行缓存新文件。在一个实施例中,可以根据按照LRU(Least Recently Used近期最少使用算法)算法来删除最冷门的分享文件。
步骤417:软件开发库的上传控制器确定数据是否可以共享。在一个实施例中,可判断当前的终端环境是否符合数据分享的设定,该判断的依据主要是考察终端的网络制式、终端当前电量、终端的内存使用情况等进行综合判定。如果判断可以作为种子进行分享,则进入步骤418;如果不符合,则直接进入其他虚拟文件的下载。
步骤418:软件开发库的上传控制器向p2p控制器进行分享注册,然后等待接受其他peer的下载请求,同时进入其他虚拟文件下载准备。
步骤419:软件开发库的下载控制器判定是否已经下载完毕,如果是就结束下载,如果不是则继续下载。
步骤420:软件开发库的下载控制器通过当前情况的判定来决定下一片虚拟文件的下载方式,判定的依据主要来自应用层状态通知以及下载控制器的控制策略,并结合当前的下载情况来决定下一片虚拟文件的下载方式(通过http向 缓存系统或者源站取数据,或者是p2p下载方式),总之主要是考虑当前数据下载速率是否满足数据交付的及时性。如果当前下载速率无法满足应用层需求或者无法满足预设的下载要求,则使用http方式则直接向缓存系统或者源站发起长度为256K数据下载请求即可(步骤421)。如果满足,则通过对已有的peer列表中所有peer的下载测速,进行排序,确定可用的peer列表,并确定并发的数量。并注册相应数量虚拟文件至p2p任务管理器中,即重复步骤411及后续步骤。
按照上述的方式进行逐片下载,循环至下载结束。这样可以在确保数据可靠、及时交付的同时最大化使用p2p下载。
图5示出根据本发明的一实施例的用于移动终端应用的p2p内容分发的流程图。该流程图包括,但不限于,以下几个步骤。步骤501:移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据。
步骤502:所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载,其中该首包为欲下载的数据的首个数据分片。
步骤503:如果确定可以启动p2p下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件。
步骤504:所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用。
步骤505:在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。
在一个实施例中,所述移动终端应用将所述下载请求导入所述软件开发库的方法包括通过主动代理或者被动劫持的方式的其中一种。
在一个实施例中,虚拟文件下载的方式可包括使用http协议向源站或者缓存系统下载和/或使用p2p的方式下载;其中所述软件开发库计算使用http协议的下载速率和使用p2p方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用p2p的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且p2p下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用p2p的方式下载数据。在一个实施例中,移动终端应用对数据的需求情况的获取方法包括所述软件开发库向所述移动终端应用提供数据使用状态通知接口,以此来获取当前移动终端应用对数据的消费情况。
在一个实施例中,分享策略可包括,但不限于,根据所述移动终端的网络制 式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。
在一个实施例中,确定是否可以启动p2p包括:根据该首包数据中描述的文件长度和传输编码方式来确定是否启动p2p下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则执行步骤503。
下面举一个具体的实施例来说明本发明是如何应用的。
一个具体的应用场景可以是:某音乐应用其计划做p2p流量是download.a.com域名下所有以mp3为后缀的文件,设定p2p sdk共享app缓存。
一、进行流量导入及流量过滤
app嵌入p2p sdk,并启动sdk,sdk监听本地127.0.0.1:8888接收导入数据,在p2p控制器上配置该app的p2p请求正则匹配式:
http://download.a.com/.*\.mp3,并将配置下发至sdk。app应用层将将要做p2p下载的流量导入sdk,具体的url是http://download.a.com/1.mp3,sdk根据正则规则进行匹配,发现可以匹配则进入p2p预检流程。
二、p2p预检流程
重组请求,向缓存系统或者源站发起下载目标0~262143的片段请求。接收响应后,分析响应头部Content-Range字段的值,发现目标总长度为1435642,超过1MB的p2p最小文件长度的设定,判定可以使用p2p下载剩余文件。sdk向app应用层递交已下载部分,完成以后将剩下的未下载部分按照每片262144的长度切成5个虚拟文件,最后一个文件长度为124922。
三、资源标识提取&虚拟文件命名
在p2p控制器上配置该app资源标识的提取规则:
http://download.a.com/$1\.mp3,sdk根据该规则提取出资源标识为1.mp3,并将这些文件重新命名为1_01.mp3,1_02.mp3…1_05.mp3。完成后向p2p模块注册1_01.mp3的下载任务。
四、p2p下载
p2p sdk向p2p控制器检索1_01.mp3的资源,p2p控制器返回检索结果,并返回拥有该资源的peer列表。Sdk向列表中所有peer发起连接,并将下载目标分解成64KB的小片,分别向已建立连接的peer发起资源请求并下载。同时对peer的下载速度进行排序,以便后续的下载任务可以选择最优peer进行下载。
五、数据紧急度检查&下载方式选择
播放器调用sdk状态通知接口告知sdk当前的播放偏移位置。Sdk解析已下载的mp3文件得到已下载文件的时间长度,从而可以得出已下载的数据是否足够播放器流畅播放。如果能够流畅播放,将1_0x.mp3的文件注册为p2p,如果 缓存不充足,则将此虚拟文件切换为普通的range请求直接向缓存系统请求数据,以缓解缓存不足的情况。
六、app和p2p sdk共享缓存
app与sdk约定缓存定位符(一个md5字符串),将定位符放在响应头部中返回给app,app开放标准的缓存提取接口,sdk调用该接口并且传入缓存定位符便可获取完整缓存文件。
七、缓存分享
sdk下载完1.mp3,可以考察当前终端是否具备分享条件,当前手机终端使用wifi网络,电量还剩下90%,内存使用率56%,cpu使用率为60%,具备了缓存分享的条件,向p2p控制器注册分享资源,等待资源下载请求。
这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

Claims (13)

  1. 一种用于移动终端应用的内容分发的方法,其特征在于,包括以下步骤:
    A.移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;
    B.所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载,其中该首包为欲下载的数据的首个数据分片;
    C.如果确定可以启动p2p下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件;
    D.所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用;
    E.在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。
  2. 如权利要求1所述的方法,其特征在于,步骤A中的所述移动终端应用将所述下载请求导入所述软件开发库的方法包括通过主动代理或者被动劫持的方式的其中一种。
  3. 如权利要求1所述的方法,其特征在于,步骤D中的虚拟文件下载包括:
    使用http协议向源站或者缓存系统下载和/或使用p2p的方式下载;
    其中所述软件开发库计算使用http协议的下载速率和使用p2p方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用p2p的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且p2p下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用p2p的方式下载数据。
  4. 如权利要求1所述的方法,其特征在于,步骤E中的分享策略包括:
    根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。
  5. 如权利要求1所述的方法,其特征在于,步骤B中确定是否可以启动p2p包括:
    根据该首包数据中描述的文件长度和传输编码方式来确定是否启动p2p下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则执行步骤C。
  6. 如权利要求3所述的方法,其特征在于,获取所述移动终端应用对数据的需求情况的方法包括:
    所述软件开发库向所述移动终端应用提供数据使用状态通知接口,以此来获取当前移动终端应用对数据的消费情况。
  7. 一种用于移动终端应用的内容分发的系统,其特征在于,包括:
    多个移动终端应用模块,每个移动终端应用模块内嵌软件开发库,所述软件开发库被配置成判断数据下载请求是否满足p2p下载的启动条件、实现p2p的下载、提供响应数据的交付,以及提供数据分享;
    p2p控制器,与所述多个移动终端模块相通信,所述p2p控制器被配置成管理所述软件开发库、管理和推荐有效的peer、检索下载资源、辅助p2p的NAT穿越。
  8. 如权利要求7所述的系统,其特征在于,所述软件开发库包括:
    p2p调度层模块和p2p协议层模块,该p2p调度层模块与该p2p协议层模块互相通信;
    所述p2p调度层模块包括:
    本地代理接口模块,被配置成将来自所述移动终端应用模块的数据下载请求导入所述软件开发库,并通过所述本地代理接口将下载的数据交付至所述移动终端应用模块;
    通知接口模块,被配置成接收有关来自移动终端应用模块的状态的通知;
    下载控制器,被配置成判断该数据下载请求是否满足p2p下载的启动条件,并且根据配置或者当前的条件决定下一个虚拟文件采用http下载方式还是p2p下载方式;
    上传控制器,被配置成确定当前的缓存数据是否可以分享以及分享的条件;
    缓存控制器,被配置成管理本地缓存,该管理包括对缓存规模进行控制、对缓存数据的冷热度进行排序及删除,以及管理所述移动终端应用模块对 缓存的重复利用。
  9. 如权利要求8所述的系统,其特征在于,所述p2p协议层模块包括:
    p2p内容检索模块,被配置成实现所述软件开发库与所述p2p控制器的交互管理,移动终端的进入和退出,下载数据的检索以及处理p2p控制的peer推荐和更新。
    p2p切片任务管理模块,被配置成实现对已注册的p2p文件进行任务管理,切片并发管理,以实现最优的p2p下载;
    p2p NAT穿越控制模块,被配置成确保peer之间的链路能够建立;
    peer交互协议模块,被配置成实现peer之间的通讯协议。
  10. 如权利要求7所述的系统,其特征在于,所述p2p控制器包括:
    peer管理模块,被配置成记录和管理peer的活动状态。
    peer推荐模块,被配置成向数据下载请求发出的请求方推荐拥有指定资源的健康的合适的peer列表;
    NAT穿越辅助模块,被配置成协助peer端发现自身的NAT环境,并对peer间建立连接提供通讯辅助;
    软件开发库管理模块,被配置成对软件开发库进行配置和管理。
  11. 如权利要求8所述的系统,其特征在于,所述下载控制器被配置成判断该数据下载请求是否满足p2p下载的启动条件包括所述下载控制器根据首包数据中描述的文件长度和传输编码方式来确定是否启动p2p下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则启动p2p下载。
  12. 如权利要求8所述的系统,其特征在于,所述下载控制器根据配置或者当前的条件决定下一个虚拟文件采用http下载方式还是p2p下载方式包括所述下载控制器计算使用http协议的下载速率和使用p2p方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用p2p的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且p2p下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用p2p的方式下载数据。
  13. 如权利要求8所述的系统,其特征在于,所述上传控制器根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、 所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。
PCT/CN2015/086979 2015-06-19 2015-08-14 一种用于移动终端应用的内容分发的方法和系统 WO2016201776A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15895349.7A EP3242463B1 (en) 2015-06-19 2015-08-14 Content distribution method and system for mobile terminal application
US15/533,561 US10200465B2 (en) 2015-06-19 2015-08-14 Method and system for content delivery of mobile terminal applications
US16/223,360 US10708350B2 (en) 2015-06-19 2018-12-18 Method and system for content delivery of mobile terminal applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510345155.3 2015-06-19
CN201510345155.3A CN106330997B (zh) 2015-06-19 2015-06-19 一种用于移动终端应用的内容分发的方法和系统

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/533,561 A-371-Of-International US10200465B2 (en) 2015-06-19 2015-08-14 Method and system for content delivery of mobile terminal applications
US16/223,360 Continuation US10708350B2 (en) 2015-06-19 2018-12-18 Method and system for content delivery of mobile terminal applications

Publications (1)

Publication Number Publication Date
WO2016201776A1 true WO2016201776A1 (zh) 2016-12-22

Family

ID=57544802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/086979 WO2016201776A1 (zh) 2015-06-19 2015-08-14 一种用于移动终端应用的内容分发的方法和系统

Country Status (4)

Country Link
US (2) US10200465B2 (zh)
EP (1) EP3242463B1 (zh)
CN (1) CN106330997B (zh)
WO (1) WO2016201776A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109936602A (zh) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 一种基于实时推送的p2p网络系统

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330997B (zh) * 2015-06-19 2019-08-09 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统
CN108429779A (zh) * 2017-02-15 2018-08-21 上海众人信息技术有限公司 一种基于移动端的应用系统的下载方法及系统
CN106993054B (zh) * 2017-05-05 2022-06-03 腾讯科技(深圳)有限公司 文件分发方法、节点及系统
CN110622086B (zh) * 2017-09-06 2023-11-14 大疆科技股份有限公司 可移动物体应用框架
EP3481031B1 (en) * 2017-11-01 2021-09-15 MeVis Medical Solutions AG Data distribution to multiple clients
CN110392071B (zh) * 2018-04-18 2021-06-22 网宿科技股份有限公司 流媒体资源的上传、下载方法、分发系统及流媒体服务器
CN108989449B (zh) * 2018-08-03 2021-06-22 杭州安恒信息技术股份有限公司 一种应用于大规模部署场景下的大文件传播方法及装置
US10841393B2 (en) * 2018-11-12 2020-11-17 Citrix Systems, Inc. Systems and methods for secure peer-to-peer caching
CN110012102A (zh) * 2019-04-11 2019-07-12 湖南快乐阳光互动娱乐传媒有限公司 基于热门视频预推送的p2p主动做种方法及系统
CN110855750B (zh) * 2019-10-21 2023-02-28 深圳市元征科技股份有限公司 一种软件开发工具包的下载方法及相关设备
US11102289B2 (en) * 2020-01-03 2021-08-24 Wangsu Science & Technology Co., Ltd. Method for managing resource state information and system for downloading resource
CN113194122B (zh) * 2021-04-15 2023-10-31 厦门亿联网络技术股份有限公司 一种会议录制文件的网盘调度同步方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535036A (zh) * 2003-04-01 2004-10-06 �ʼҷ����ֵ��ӹɷ����޹�˾ 在无线通信网络中用于点到点通信管理的方法及系统
US20070129076A1 (en) * 2005-12-07 2007-06-07 Cho Sung R Terminal supporting peer-to-peer communication, and communication and billing methods based on the same
CN101051913A (zh) * 2007-01-12 2007-10-10 北京时代亮点科技发展有限公司 面向移动终端的对等网络传输方法
CN101729583A (zh) * 2008-10-31 2010-06-09 国际商业机器公司 用于在无线移动网络中支持对等传输应用的系统和方法
US20110252145A1 (en) * 2010-04-07 2011-10-13 Mike Lampell Application Programming Interface, System, and Method for Collaborative Online Applications

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1017388C2 (nl) * 2001-02-16 2002-08-19 Marc Van Oldenborgh Organisch datanetwerk met een dynamische topologie.
US7966293B1 (en) * 2004-03-09 2011-06-21 Netapp, Inc. System and method for indexing a backup using persistent consistency point images
US7925973B2 (en) * 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content
US8196032B2 (en) * 2005-11-01 2012-06-05 Microsoft Corporation Template-based multimedia authoring and sharing
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
CN101345690B (zh) * 2007-07-12 2010-10-13 中国电信股份有限公司 电信级p2p网络的内容分级存储及传送方法
US8336089B1 (en) * 2007-12-21 2012-12-18 Emc Corporation Method and apparatus for providing authentication and encryption services by a software as a service platform
US10007767B1 (en) * 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
US8706800B1 (en) * 2007-12-21 2014-04-22 Emc Corporation Client device systems and methods for providing secure access to application services and associated client data hosted by an internet coupled platform
CN101478556B (zh) * 2007-12-31 2014-12-17 突触计算机系统(上海)有限公司 用于下载点对点传输数据分片的方法和装置
US11159909B2 (en) * 2008-02-05 2021-10-26 Victor Thomas Anderson Wireless location establishing device
GB0802739D0 (en) * 2008-02-15 2008-03-26 Foreman Patrick J Computer system and methods to support a Cloud Commerce community for authorised sharing of digtial content via a contolled peer-to-peer network
CN101247367B (zh) * 2008-04-08 2011-03-23 中国电信股份有限公司 基于内容分发网络和对等网络的内容提供方法和系统
WO2013015835A1 (en) * 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
PL3367252T3 (pl) * 2010-07-26 2020-05-18 Seven Networks, Llc Zarządzanie ruchem z uwzględnieniem kontekstu w celu zaoszczędzenia zasobów w sieci bezprzewodowej
EP2458548A1 (en) * 2010-11-30 2012-05-30 France Telecom System and method for implementing dynamic access control rules to personal cloud information
US9628542B2 (en) * 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
CA2798022A1 (en) * 2012-12-04 2014-06-04 Hugh Hull Worker self-management system and method
CN106330997B (zh) * 2015-06-19 2019-08-09 网宿科技股份有限公司 一种用于移动终端应用的内容分发的方法和系统
US9881140B2 (en) * 2015-11-04 2018-01-30 Screening Room Media, Inc. Presenting sonic signals to prevent digital content misuse
US10469893B2 (en) * 2016-09-13 2019-11-05 Dvdo, Inc. Integrated cast and sling system and method of its operation in an interoperable multiple display device environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535036A (zh) * 2003-04-01 2004-10-06 �ʼҷ����ֵ��ӹɷ����޹�˾ 在无线通信网络中用于点到点通信管理的方法及系统
US20070129076A1 (en) * 2005-12-07 2007-06-07 Cho Sung R Terminal supporting peer-to-peer communication, and communication and billing methods based on the same
CN101051913A (zh) * 2007-01-12 2007-10-10 北京时代亮点科技发展有限公司 面向移动终端的对等网络传输方法
CN101729583A (zh) * 2008-10-31 2010-06-09 国际商业机器公司 用于在无线移动网络中支持对等传输应用的系统和方法
US20110252145A1 (en) * 2010-04-07 2011-10-13 Mike Lampell Application Programming Interface, System, and Method for Collaborative Online Applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3242463A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109936602A (zh) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 一种基于实时推送的p2p网络系统
CN109936602B (zh) * 2017-12-18 2022-03-11 本无链科技(深圳)有限公司 一种基于实时推送的p2p网络系统

Also Published As

Publication number Publication date
EP3242463A1 (en) 2017-11-08
US10708350B2 (en) 2020-07-07
US10200465B2 (en) 2019-02-05
EP3242463B1 (en) 2019-07-03
CN106330997A (zh) 2017-01-11
US20190124140A1 (en) 2019-04-25
US20170339220A1 (en) 2017-11-23
EP3242463A4 (en) 2018-06-27
CN106330997B (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
WO2016201776A1 (zh) 一种用于移动终端应用的内容分发的方法和系统
US10491657B2 (en) Network acceleration method, apparatus and device based on router device
CN100588172C (zh) 一种实现网络预订存储的系统和方法
CN111372100A (zh) 一种基于分布式选举的端到端内容分发网络系统和分发方法
CN105359490A (zh) 在网络节点之间分配资源以用于提供网络节点功能
CN108881034B (zh) 一种应用于bt系统的请求响应方法、设备及系统
WO2012151851A1 (zh) 一种移动终端间共享数据的方法、系统及控制服务器
JP2004127189A (ja) ゲートウェイ装置、コンテンツ転送システム及びコンテンツ転送方法
CN101026543A (zh) 点到点p2p内容共享的方法及系统
WO2017185633A1 (zh) Cdn服务器及其缓存数据的方法
US8966107B2 (en) System and method of streaming data over a distributed infrastructure
US8086629B2 (en) Content delivery apparatus, content delivery method, and content delivery program
KR101573197B1 (ko) 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치
WO2013155979A1 (zh) 一种处理内容路由方法及装置
CN111385325B (zh) 基于p2p的文件分发系统和方法
CN101729583A (zh) 用于在无线移动网络中支持对等传输应用的系统和方法
EP3576371A1 (en) Method and system for transmitting streaming media resource
US20150006622A1 (en) Web contents transmission method and apparatus
US11750716B2 (en) Methods for publishing resource, and gateway
KR20190108371A (ko) 네트워크 슬라이스/서비스를 선택하는 통신 방법 및 이를 수행하는 통신 장치
CN104468656A (zh) 一种移动数据的下载上传方法和系统
US20030093491A1 (en) Data communications networks, systems, methods and apparatus
WO2012116582A1 (zh) 一种p2p内容分发的方法和系统
CN112788135B (zh) 资源调度方法、设备及存储介质
KR20130033252A (ko) 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15895349

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015895349

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE