Managing classified network streams
First Claim
1. A method performed by a single computer comprising storage, processing hardware, and a network interface, the method comprising:
- executing applications installed on the computing device, the applications comprising executable files installed on the computer and configuration settings stored on the computer, the applications having respective network streams managed by an operating system of the computer;
automatically determining first features of the applications, respectively, and/or automatically determining second features of the applications, respectively, wherein the determining is performed by an application profiler that executes on the computer, wherein the automatically determining the first features comprises the application profiler parsing the executable files and/or the configuration settings, wherein the automatically determining the second features comprises the application profiler monitoring execution of the applications, and wherein a first and/or second feature is determined for each of the respective applications;
accessing a mapping in the storage, the mapping comprising predefined application features and indicia of network stream classes that are implemented by the operating system of the computer, the mapping indicating which of the predefined application features are associated with which of the network stream classes, wherein the mapping is stored before the determining the first and/or second features, and wherein the predefined application features comprise at least some of the first and/or second features;
for each of the applications, determining which of the respective first and/or second features determined by the application profiler match which of the predefined application features in the mapping, and selecting a network stream class for each of the applications based on which network stream class the mapping indicates is associated with the respectively matched predefined application feature;
storing application classification information indicating which of the network stream classes were selected for the respective applications; and
regulating, by the operating system of the computing device, transmission of packets of the streams by the network interface, wherein the regulating of each stream is performed according to which network stream class the application classification information indicates was selected for the corresponding application.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments relate to classifying network streams and regulating behavior of the streams based on their respective classes. One technique for managing streams involves analyzing applications, obtaining indicia of features of the applications, and using those features to infer classes to which streams of the applications may be assigned. Another technique involves deploying beacon nodes at the edge of a network. The beacon nodes inform a stream manager about network conditions such as latencies with regard to network boundaries or regions. Another embodiment for facilitating management of streams involves a subscription service for UDP applications. A UDP application may subscribe to the service, which may be provided by an operating system hosting the application. Events are published to any subscribed UDP applications to inform the UDP applications of changes in networking conditions. The UDP applications, in turn, may adapt their internal transmission control logic.
-
Citations
18 Claims
-
1. A method performed by a single computer comprising storage, processing hardware, and a network interface, the method comprising:
-
executing applications installed on the computing device, the applications comprising executable files installed on the computer and configuration settings stored on the computer, the applications having respective network streams managed by an operating system of the computer; automatically determining first features of the applications, respectively, and/or automatically determining second features of the applications, respectively, wherein the determining is performed by an application profiler that executes on the computer, wherein the automatically determining the first features comprises the application profiler parsing the executable files and/or the configuration settings, wherein the automatically determining the second features comprises the application profiler monitoring execution of the applications, and wherein a first and/or second feature is determined for each of the respective applications; accessing a mapping in the storage, the mapping comprising predefined application features and indicia of network stream classes that are implemented by the operating system of the computer, the mapping indicating which of the predefined application features are associated with which of the network stream classes, wherein the mapping is stored before the determining the first and/or second features, and wherein the predefined application features comprise at least some of the first and/or second features; for each of the applications, determining which of the respective first and/or second features determined by the application profiler match which of the predefined application features in the mapping, and selecting a network stream class for each of the applications based on which network stream class the mapping indicates is associated with the respectively matched predefined application feature; storing application classification information indicating which of the network stream classes were selected for the respective applications; and regulating, by the operating system of the computing device, transmission of packets of the streams by the network interface, wherein the regulating of each stream is performed according to which network stream class the application classification information indicates was selected for the corresponding application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device comprising:
-
storage hardware storing information to enable a processor, when the computing device is operating, to execute an operating system; a network interface; the processor, when the computing device is operating, coupled with memory to execute the operating system; and the operating system, when executing, comprising a stream manager that manages network streams that provide transmission control protocol (TCP) packets between a network and applications installed on the computing device and executed by the operating system, the stream manager implementing a pre-defined set of stream classes, wherein each network stream is associated with one of the stream classes based on associations between the stream classes and the streams; the storage hardware storing instructions configured to form an association between a stream class and a network stream of an application by; executing application profiling code that (i) determines a first application feature of the application by parsing configuration settings and/or an executable file of the application, and/or (ii) determines second application features of the application by monitoring execution of the application; accessing a mapping comprising associations between predefined application features and the stream classes, the mapping indicating which predefined application features are associated with which stream classes, wherein the mapping exists prior to the forming the association between the stream class and the network stream; forming the association between the stream class and the network stream of the application by matching a predefined application feature in the mapping with the first and/or second application feature of the application as determined by the application profiling code, and selecting the stream class based on the mapping having an association between the matched predefined application feature and the stream class; storing the association between the stream class and the network stream; and regulating, by the operating system, transmission of the network stream by the network interface, wherein the regulating is performed based on the stored association between the stream class and the network stream. - View Dependent Claims (10, 11, 12, 13)
-
-
14. Computer readable storage device storing information configured to enable a computing device to perform a process, the process comprising:
-
storing applications installed on the computing device, the applications comprising executable files and configuration settings stored by the storage hardware; for each application, automatically determining respective first and/or second application features by executing an application profiler that (i) determines the first feature by parsing the executable file and/or the corresponding configuration settings of the respectively corresponding application, and/or (ii) determines the second feature by monitoring execution of the respectively corresponding application, wherein a first and/or second application feature is determined for each of the respective applications; accessing a feature-class mapping that is stored by the storage hardware prior to the automatically determining the first and/or second application features for each respective application, the feature-class mapping comprising first indicia of predefined application features and second indicia of network application classes, wherein the feature-class mapping indicates which of the application features are associated with which of the network application classes, and wherein the predefined application features comprise at least some of the first and/or second application features; for each of the applications, determining which of the respectively corresponding first and/or second application features correspond to which of the predefined application features of the feature-class mapping; for each of the applications, selecting a network application class that the feature-class mapping indicates is associated with the predefined application feature determined to correspond to the first and/or second application feature of the respectively corresponding application; storing application classification information indicating which of the network application classes were selected for the applications, respectively; and regulating, by an operating system of the computing device, transmission of packets of streams of the applications by the network interface, wherein the regulating of each stream is performed according to which network application class the application classification information indicates was selected for the respectively corresponding application. - View Dependent Claims (15, 16, 17, 18)
-
Specification