# US 2025/0379902 A1 · Optimized application streaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2025/0379902 A1
- Document ID: US20250379902A1
- Status: Published application
- Kind: A1
- Application number: 18/750,697
- Filed: 2024-06-21
- Published: 2025-12-11
- Earliest claimed: 2024-06-07
- Assignees: DACS Laboratories GmbH
- Inventors: Sixten Boeck; Marc Densow; Björn Lange
- Web page: https://patentgrep.com/patent/US20250379902A1

## CPC

- H04L 65/80: Responding to QoS
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L 41/142: using statistical or mathematical methods
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04L 65/4025: {where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services}
- H04L 65/70: Media network packetisation
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 43/0864: Round trip delays
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/16: Threshold monitoring
- H04N 21/44209: {Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896)}
- H04N 21/4425: Monitoring of client processing errors or hardware failure
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The disclosure inter alia pertains to methods and devices for generating re-ordered application data from original application data of an application, for recording a trace of an application session and for running an application.

## Claims

### Claim 1

A method for generating re-ordered application data from original application data, performed by at least a first device, the method comprising:
generating trace statistics information based on multiple obtained traces of respective application sessions, each trace comprising data chunk access information collected during a respective application session, wherein the trace statistics information comprises information on a determined occurrence position of a respective data chunk based on respective occurrence positions of the respective data chunk in the obtained traces;
generating the re-ordered application data by at least partially ordering the data chunks in the re-ordered application data at least based on the determined occurrence position of respective data chunks.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determined occurrence position is an average occurrence position of a respective data chunk in the obtained traces.

### Claim 3 (depends on 1)

The method of claim 1, wherein chains of data chunks having subsequent indices in the original application data are at least partially maintained.

### Claim 4 (depends on 3)

The method of claim 3, wherein a data chunk having a certain index in the original application data is considered a part of a chain to be maintained in the re-ordered application data when its determined occurrence position is within a predefined number of data chunks from the determined occurrence position of the data chunk having the previous index in the original application data.

### Claim 5 (depends on 1)

The method of claim 1, the method comprising:
assigning a currently assessed data chunk to a new chain of data chunks, in case a determined occurrence position of the currently assessed data chunk is lower than a determined occurrence position of a previously assessed data chunk or whether the determined occurrence position of the currently assessed data chunk is larger than a predefined threshold higher than the determined occurrence position of the previously assessed data chunk, and
otherwise appending the data chunk to a current chain of data chunks.

### Claim 6 (depends on 1)

The method of claim 1, wherein the re-ordered application data comprises partitions, the partitions at least comprising a majority partition and a minority partition, wherein the trace statistics information comprises information on a number of occurrences of a respective data chunk in the obtained traces, the method comprising:
assigning data chunks either to the majority partition or the minority partition based on the information on a number of occurrences of the respective data chunks.

### Claim 7 (depends on 6)

The method of claim 6, wherein said ordering of the data chunks is at least performed for data chunks assigned to the majority partition.

### Claim 8 (depends on 6)

The method of claim 6, wherein said assigning of data chunks into the majority partition and the minority partition of the re-ordered application data is performed bin-wise for bins of determined occurrence positions.

### Claim 9 (depends on 6)

The method of claim 6, wherein, for a separation of data chunks between the majority partition and the minority partition, data chunks with a sufficiently large number of occurrences are assigned to the majority partition, wherein data chunks without a sufficiently large number of occurrences are assigned to the minority partition.

### Claim 10 (depends on 9)

The method of claim 9, wherein the number of occurrences is considered sufficiently large or small when compared to the numbers of occurrences of data chunks within a respective predefined bin of determined occurrence positions.

### Claim 11 (depends on 9)

The method of claim 9, wherein a number of occurrences is considered sufficiently large in case the number of occurrences is above a predefined threshold, where the threshold is preferably a local threshold based on the numbers of occurrences of data chunks within a respective predefined bin of determined occurrence positions.

### Claim 12 (depends on 1)

The method of claim 1, the method comprising one or more of:
receiving traces from multiple second devices, in particular as recorded according to a method of recording a trace of an application session, performed by at least a second device, the method comprising:
running a session of the application;
recording a trace of the application session, the trace comprising data chunk access information collected during the application session;
at least partially intercepting data chunk access of one or more other applications from being recorded in the data chunk access information of the application session;
sending the re-ordered application data to a third device based on the data chunk order of the re-ordered application data for running the application at the third device, in particular according to a method of:
receiving re-ordered application data of the application for storing in a local storage, wherein the data chunks in the re-ordered application data are ordered in an expected access order when running the application,
running the application based on the received re-ordered application data, wherein in case a request of the application requests one or more data chunks, which are already present in the local storage, the request is answered with the one or more data chunks present in the local storage, and in case a request of the application requests one or more data chunks, which are not yet present in the local storage, the request is re-inserted into the request queue.

### Claim 13 (depends on 1)

The method of claim 1, the method comprising:
determining a loading profile indicating the overall data required from the re-ordered application data when running the application from the re-ordered application data in dependence of time.

### Claim 14 (depends on 13)

The method of claim 13, wherein the trace statistics information comprises information on an average access time of a respective data chunk in the obtained traces, wherein the loading profile is determined based on the average access times of respective data chunks of the re-ordered application data.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the average access time of respective data chunks of the re-ordered application data is assumed to be, for data chunks within a bin of data chunks of the re-ordered application data, an average of the average access times within the bin.

### Claim 16 (depends on 13)

The method of claim 13, the method comprising:
sending information representative of the loading profile for determining a dynamic pre-load based on a bandwidth available for downloading the re-ordered application data.

### Claim 17 (depends on 1)

The method of claim 1, the method comprising:
obtaining a patch for the re-ordered application data based on an unpatched re-ordered application data and patched re-ordered application data.

### Claim 18 (depends on 1)

A method of sending application data, in particular performed by a first device, the method comprising:
sending re-ordered application data to a third device based on a data chunk order of the re-ordered application data for running the application at the third device, wherein the re-ordered application data has been generated from original application data according to a method of claim 1.

### Claim 19

A method of recording a trace of an application session, performed by at least a second device, the method comprising:
running a session of the application;
recording a trace of the application session, the trace comprising data chunk access information collected during the application session;
at least partially intercepting data chunk access of one or more other applications from being recorded in the data chunk access information of the application session.

### Claim 20 (depends on 19)

The method of claim 19, wherein the recording of a trace is performed by a device driver and wherein the intercepting of data chunk access is performed by a filter or a file system.

### Claim 21 (depends on 19)

The method of claim 19, the method comprising:
sending the trace of the application session to a first device for generating re-ordered application data, in particular according to a method comprising:
generating trace statistics information based on multiple obtained traces of respective application sessions, each trace comprising data chunk access information collected during a respective application session, wherein the trace statistics information comprises information on a determined occurrence position of a respective data chunk based on respective occurrence positions of the respective data chunk in the obtained traces;
generating the re-ordered application data by at least partially ordering the data chunks in the re-ordered application data at least based on the determined occurrence position of respective data chunks.

### Claim 22

A method of running an application, performed at least by a third device, the method comprising:
receiving re-ordered application data of the application for storing in a local storage, wherein the data chunks in the re-ordered application data are ordered in an expected access order when running the application,
running the application based on the received re-ordered application data, wherein in case a request of the application requests one or more data chunks, which are already present in the local storage, the request is answered with the one or more data chunks present in the local storage, and in case a request of the application requests one or more data chunks, which are not yet present in the local storage, the request is re-inserted into the request queue.

### Claim 23 (depends on 22)

The method of claim 22, the method comprising:
receiving information representative of a loading profile indicating the overall data requested from the re-ordered application data when running the application from the re-ordered application data in dependence of time;
determining a dynamic pre-load based on a bandwidth available at the third device for downloading the re-ordered application data.

### Claim 24 (depends on 22)

The method of claim 22, the method comprising:
in case a request of the application requests one or more data chunks, which are not yet present in the local storage, sending a download request to obtain at least the one or more data chunks, which are not yet present in the local storage.

### Claim 25 (depends on 22)

The method of claim 22, the method comprising one or more of:
applying a patch to the re-ordered application data;
obtaining an index file created based on updated re-ordered application data and updating a data chunk order of the re-ordered application data based on the index file so as to obtain updated re-ordered application data;
converting locally stored original application data of the application into the re-ordered application data;
converting the re-ordered application data into original application data.

### Claim 26 (depends on 22)

The method of claim 22, the method comprising:
at least partially intercepting requests for data chunks of one or more other applications.

### Claim 27 (depends on 22)

The method of claim 22, wherein the re-ordered application data has been generated based on a method of comprising:
generating trace statistics information based on multiple obtained traces of respective application sessions, each trace comprising data chunk access information collected during a respective application session, wherein the trace statistics information comprises information on a determined occurrence position of a respective data chunk based on respective occurrence positions of the respective data chunk in the obtained traces;
generating the re-ordered application data by at least partially ordering the data chunks in the re-ordered application data at least based on the determined occurrence position of respective data chunks.

### Claim 28 (depends on 1)

A device comprising means for performing the method of claim 1.

### Claim 29

A system comprising one or more of:
a first device comprising means for performing a method comprising:
generating trace statistics information based on multiple obtained traces of respective application sessions, each trace comprising data chunk access information collected during a respective application session, wherein the trace statistics information comprises information on a determined occurrence position of a respective data chunk based on respective occurrence positions of the respective data chunk in the obtained traces;
generating the re-ordered application data by at least partially ordering the data chunks in the re-ordered application data at least based on the determined occurrence position of respective data chunks;
a second device comprising means for performing a method comprising:
running a session of the application;
recording a trace of the application session, the trace comprising data chunk access information collected during the application session;
at least partially intercepting data chunk access of one or more other applications from being recorded in the data chunk access information of the application session;
a third device comprising means for performing a method comprising:
receiving re-ordered application data of the application for storing in a local storage, wherein the data chunks in the re-ordered application data are ordered in an expected access order when running the application,
running the application based on the received re-ordered application data, wherein in case a request of the application requests one or more data chunks, which are already present in the local storage, the request is answered with the one or more data chunks present in the local storage, and in case a request of the application requests one or more data chunks, which are not yet present in the local storage, the request is re-inserted into the request queue.

### Claim 30 (depends on 1)

A computer program comprising instructions, which, when executed by a device, cause the device to perform a method according to claim 1.

### Claim 31 (depends on 30)

A computer readable storage medium having stored thereon the computer program according to claim 30.

### Claim 32 (depends on 1)

Re-ordered application data, wherein the re-ordered application data has been generated according to claim 1.
