Edge computing platform for delivery of rich internet applications
First Claim
1. A method of distributing content, the method comprising:
- instrumenting a Rich Internet Application (RIA) with performance counters that are configured to collect runtime metrics with respect to performance at a client device that executes the RIA;
providing the instrumented RIA to a plurality of client devices;
collecting information at a content distribution network from the plurality of client devices, including collecting runtime metrics that describe execution of the RIA on the client devices, including the content distribution network receiving the runtime metrics from the instrumented RIA on the plurality of client devices, wherein the runtime metrics include one or more of a number of times a function is invoked, average running time of a function, memory utilization, and garbage collection (GC) frequency;
analyzing the runtime metrics to develop a profile of the RIA'"'"'s behavior and usage at the plurality of client devices;
modifying the RIA based on the profile, the modifying including breaking the RIA into smaller pieces based on what portions of the RIA are needed by a given one of the client devices initially and what portions of the RIA can be transferred later, the modifying is based on the runtime metrics that describe execution of the RIA on the plurality of client devices, the modifying further including;
performing a mash operation at the content distribution network to combine code and/or data from different sources; and
performing a security test at the content distribution after performing the mash operation;
providing the portions of the RIA that are initially needed to a first client device of the plurality of client devices including providing the mashed up code and/or data from the different sources to the first client device only if the security test passes;
receiving a request at the content distribution network from the first client device after providing the portions of the RIA to the first client device, the request is for a specified piece of application code within the RIA; and
transferring the specified piece of application code of the modified RIA from the content distribution network to the first client device, the transferring includes transferring additional application code to allow the first client device to dynamically update the RIA during execution at the first client device.
2 Assignments
0 Petitions
Accused Products
Abstract
An edge computing platform that provides on-demand delivery of Rich Internet Applications and other applications is disclosed. One embodiment includes an optional manager node and content distribution network (CDN) that include one or more compute nodes. The CDN collects information pertaining to execution of a software application. The CDN aggregates the information and transfers the aggregated information to the manager node. The manager node analyzes the information from the CDN and transfers results of the analysis to the CDN. The CDN receives a software application that is designed to be dynamically updated when executed at the clients. The CDN modifies the software application based on the information from the manager node. The CDN receives a request that pertains to the software application from a client device. The CDN transfers at least a portion of the modified software application to the client.
-
Citations
14 Claims
-
1. A method of distributing content, the method comprising:
-
instrumenting a Rich Internet Application (RIA) with performance counters that are configured to collect runtime metrics with respect to performance at a client device that executes the RIA; providing the instrumented RIA to a plurality of client devices; collecting information at a content distribution network from the plurality of client devices, including collecting runtime metrics that describe execution of the RIA on the client devices, including the content distribution network receiving the runtime metrics from the instrumented RIA on the plurality of client devices, wherein the runtime metrics include one or more of a number of times a function is invoked, average running time of a function, memory utilization, and garbage collection (GC) frequency; analyzing the runtime metrics to develop a profile of the RIA'"'"'s behavior and usage at the plurality of client devices; modifying the RIA based on the profile, the modifying including breaking the RIA into smaller pieces based on what portions of the RIA are needed by a given one of the client devices initially and what portions of the RIA can be transferred later, the modifying is based on the runtime metrics that describe execution of the RIA on the plurality of client devices, the modifying further including; performing a mash operation at the content distribution network to combine code and/or data from different sources; and performing a security test at the content distribution after performing the mash operation; providing the portions of the RIA that are initially needed to a first client device of the plurality of client devices including providing the mashed up code and/or data from the different sources to the first client device only if the security test passes; receiving a request at the content distribution network from the first client device after providing the portions of the RIA to the first client device, the request is for a specified piece of application code within the RIA; and transferring the specified piece of application code of the modified RIA from the content distribution network to the first client device, the transferring includes transferring additional application code to allow the first client device to dynamically update the RIA during execution at the first client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A content distribution system comprising:
-
a manager node; and a plurality of content distribution networks in communication with the manager node, each content distribution network including one or more compute nodes, wherein the content distribution networks instrument a Rich Internet Application (RIA) with performance counters that are configured to collect runtime metrics with respect to performance at a client device that executes the RIA and provide the instrumented RIA to a plurality of client devices, wherein the content distribution networks collect information from the plurality of client devices, wherein the content distribution networks collect runtime metrics that describe execution of the RIA on the client devices, wherein the content distribution networks receive the runtime metrics from the instrumented RIA on the plurality of client devices, wherein the runtime metrics include one or more of a number of times a function is invoked, average running time of a function, memory utilization, and garbage collection (GC) frequency, wherein the content distribution networks aggregate the information and transfer the aggregated information to the manager node; wherein the manager node analyzes the information, including analyzing the runtime metrics, from the content distribution networks to develop a profile of behavior and usage of the RIA at the plurality of client devices and transfers the profile to the content distribution networks, the RIA including application code; wherein a first of the content distribution networks modifies the RIA based on the profile from the manager node including breaking the RIA into smaller pieces based on what portions of the RIA are needed by a given one of the plurality of client devices initially and what portions of the RIA can be transferred later, wherein the modifying is based on the runtime metrics that describe execution of the RIA on the plurality of client devices, wherein as a part of the modifying the RIA the first content distribution network performs a mash operation at the first content distribution network to combine code and/or data from different sources, and the first content distribution network performs a security test after performing the mash operation, wherein the first content distribution network provides portions of the RIA that are initially needed to a first client device of the plurality of client devices, including providing the mashed up code and/or data from the different sources to the first client device only if the security test passes, wherein the first content distribution network receives a request from the first client device for a specified piece of application code within the RIA after providing the portions of the RIA to the first client device, wherein the first content distribution network transfers the specified piece of application code of the modified RIA to the first client device, the specified piece of code including additional application code to allow the first client device to dynamically update the RIA during execution at the first client device. - View Dependent Claims (11, 12, 13, 14)
-
Specification