WO2015176650A1 - Method for optimizing network traffic engineering and system thereof - Google Patents

Method for optimizing network traffic engineering and system thereof Download PDF

Info

Publication number
WO2015176650A1
WO2015176650A1 PCT/CN2015/079291 CN2015079291W WO2015176650A1 WO 2015176650 A1 WO2015176650 A1 WO 2015176650A1 CN 2015079291 W CN2015079291 W CN 2015079291W WO 2015176650 A1 WO2015176650 A1 WO 2015176650A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
nodes
constraints
server
information
Prior art date
Application number
PCT/CN2015/079291
Other languages
French (fr)
Inventor
Dhruv Dhody
Udayasree Palle
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2015176650A1 publication Critical patent/WO2015176650A1/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed are a method and system for optimizing network traffic engineering. Network status information is provided to the client device for optimizing the network traffic engineering. The one or more client devices provide an information request to the server. The server identifies one or more source nodes and one or more destination nodes and /or one or more network constraints from the information request. Based on the identified source nodes and destination nodes and/or the network constraints, the server generates network status information. Thereafter, the server transmits the network status information to the client device for optimizing the network traffic engineering. The server also identifies the service type from the information request. The server provides service to the client device based on the service type.

Description

[Title established by the ISA under Rule 37.2] METHOD FOR OPTIMIZING NETWORK TRAFFIC ENGINEERING AND SYSTEM THEREOF
The present application claims priority to I. N. Non-Provisional Patent Application IN2503/CHE/2014, filed on May 20, 2014 and entitled “AMETHOD FOR OPTIMIZING NETWORK TRAFFIC ENGINEERING AND A SYSTEM THEREOF” , which is incorporated herein by reference as if reproduced in its entirety.
TECHNICAL FIELD
The present subject matter is related, in general to networking technologies. More particularly, but not exclusively to a method and system for optimizing network traffic engineering by providing network status information. .
BACKGROUND
The distributed applications such as, but are not limited to, file sharing, content delivery network, real-time communication, live media streaming and on-demand media streaming use a significant amount of network resources. Such applications often transfer large amounts of data through connections established between nodes distributed across the network with little knowledge of the underlying network topology. Therefore, the applications select peers (specific participant in an application) randomly based on information they deduce from partial observations which may, in some situations, lead to suboptimal choices. For example, one of the peer-selection algorithms is based only on the measurements such as round-trip time during initial connection establishment between two peers, since the actual data transmission has not begun yet. The round-trip time is the time taken for a signal to be sent plus time taken for an acknowledgment of that signal to be received. Hence, the algorithm cannot reliably deduce the actual throughput between the peers. Thus, such peer-selection algorithm that simply uses round-trip time may result in a suboptimal choice of peers and therefore the applications may not use the network efficiently.
Many of today′s Peer-to-Peer (P2P) systems use an overlay network consisting of direct peer connections. Such connections often do not account for the underlying network  topology. In addition to having suboptimal choice of peers, such networks can lead to congestion and cause serious inefficiencies.
Recent studies show a possible solution to the aforesaid problem. Internet Service Providers (ISPs) , network operators, or third parties may collect more reliable network information by providing an Application-Layer Traffic Optimization (ALTO) protocol service. The network information provided by the ALTO service may include information associated with network map and corresponding cost map. The network map contains network location identifiers which represent one or more network devices in a network. The cost map contains cost entries for pair of network devices represented in the network map and an associated value that represents a cost to traverse a network path between the network devices. Using the network map and cost map provided by the ALTO service, the applications and the content request routers select serving resources to minimize costs, as specified by the ALTO maps, between content requesting clients and available resources.
In view of the above, the network map provides a simplified view of the network for the applications. But the network map does not provide the information about the bottlenecks in the network and does not provide network status information using which the applications may utilize the network efficiently and thereby improve the performance.
Hence, there exists a need for a method and system to provide network status information to the applications for optimizing network traffic engineering.
SUMMARY OF THE INVENTION
One or more shortcomings of the prior art are overcome and additional advantages are provided through the present disclosure. Additional features and advantages are realized through the techniques of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed disclosure.
The present disclosure provides method for optimizing network traffic engineering. The method comprising receiving, at a server, an information request from one or more client devices. Upon receiving the information request of each of the one or more client devices, the server  identifies one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request. Thereafter, the server generates network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints and transmits the network status information to the client device for optimizing the network traffic engineering.
Further, the present disclosure provides a server for optimizing network traffic engineering. The server comprises at least one processor and a memory storing instructions executable by the at least one processor, wherein the instructions configure the at least one processor to receive an information request from one or more client devices, identify one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices, generate a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints and transmit the network status information to the client device for optimizing the network traffic engineering.
Further, the present disclosure provides a non-transitory computer readable medium including operations stored thereon that when processed by at least one processor cause a system to perform the acts of receiving an information request from one or more client devices, identifying one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices, generating a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints and transmitting the network status information to the client device for optimizing the network traffic engineering.
Furthermore, the present disclosure provides a computer program for optimizing network traffic information. The computer program comprising a code segment for receiving an information request from one or more client devices, code segment for identifying one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices, code segment for generating a  network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints and code segment for transmitting the network status information to the client device for optimizing the network traffic engineering.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles. In the figures, the left-most digit (s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which:
Figs. 1a, 1b and 1c illustrate an exemplary network environment for optimizing network traffic engineering in accordance with some embodiments of the present disclosure;
Fig. 2 shows an exemplary network environment illustrating a process of providing network status information in accordance with some embodiments of the present disclosure;
Fig. 3 shows another exemplary network environment illustrating a process of providing network status information in accordance with some embodiments of the present disclosure;
Fig. 4a shows another exemplary network environment illustrating a process of providing network status information in accordance with some embodiments of the present disclosure;
Figs. 4b, 4c and 4d illustrate an exemplary network topology for identifying a best effort path between one or more source nodes and one or more destination nodes in accordance with some embodiment of the present disclosure;
Fig. 5 shows a flowchart illustrating method for optimizing network traffic engineering in accordance with some embodiments of the present disclosure; and
Fig. 6 shows a flowchart illustrating method of providing a service to one or more client devices based on network status information in accordance with some embodiments of the present disclosure.
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
The foregoing has broadly outlined the features and technical advantages of the present disclosure in order that the detailed description of the disclosure that follows may be better understood. Additional features and advantages of the disclosure will be described hereinafter  which form the subject of the claims of the disclosure. It should be appreciated by those skilled in the art that the conception and specific aspect disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure.
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration. " Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The terms “comprises” , “comprising” , or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a setup, device or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by “comprises…a” does not, without more constraints, preclude the existence of other elements or additional elements in the system or apparatus.
As used herein, the term “ALTO server” refers to a logical entity that provides ALTO service, the term “ALTO client” refers to the logical entity that sends ALTO queries, the term “ALTO service” refers to providing network resource information by several resource providers. The ALTO service gives guidance to resource consumer about which resource provider (s) to select in order to optimize the ALTO client′s performance or quality of experience, while improving resource consumption in the underlying network infrastructure. The term “ALTO query” refers to a message sent from an ALTO client to an ALTO server for guidance from ALTO service, the term “ALTO response” refers to a message that contains guiding information  from the ALTO server as a reply to an ALTO query, the term “peer” refers to a participant in the peer-to-peer (P2P) network.
Embodiments of the present disclosure relate to a method and system for optimizing network traffic engineering. More particularly, a method and system for providing network status information to the client device for optimizing network traffic engineering. The method includes receiving at a server, an information request from one or more client devices. Upon receiving the information request, the server identifies the one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request. Based on the identified one or more source nodes and one or more destination nodes and/or one or more network constraints, the server generates network status information in response to the information request. The generated network status information is provided to the client device for optimizing the network traffic engineering.
In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense.
Figs. 1a and 1b illustrate a network environment 100 for optimizing network traffic engineering in accordance with some embodiments of the present disclosure.
As shown in Fig. 1a, the environment 100 includes one or more client devices, client device 1 1011 to client device N 101N (collectively referred to as one or more client devices 101) ,  a communication network 103 and a server 105. In one embodiment, the one or more client devices 101 are Application layer Traffic Optimization (ALTO) client and the server 105 is an ALTO server. Examples of the one or more client devices 101 include, but are not limited to, a desktop computer, a portable computer, a mobile phone, a handheld device, a workstation. The client devices 101 may be used by various stakeholders or end users of the organization, such as project managers, database administrators and application developers. As shown in the Fig. 1a, such client devices 102 are communicatively coupled to a server 105 through a network 103 for facilitating one or more client devices 102 to access and/or operate a various modules of the server 102.
The communication network 103 may be a wireless network, wired network or a combination thereof. The communication network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN) , wide area network (WAN) , Internet, and such.
The peer-to-peer applications, such as, but are not limited to, file sharing, real-time communication, content delivery network and live and on-demand media streaming, use a significant amount of network resources. If the applications are provided with information of the network topology, the applications may use the network efficiently. Therefore, in order to obtain the information of the network topology, the applications uses ALTO service. The ALTO service basically provides guidance to the applications for selecting a particular peer connected to the network 103 such that the performance of the applications is improved while improving the resource consumption in the network. In order to obtain the ALTO service, the applications in some embodiments use ALTO client through which the request is transmitted to the ALTO server. In some other embodiments, the ALTO client may itself use the ALTO service.
In one implementation, the ALTO server or the server 105, as shown in Fig. 1b includes a central processing unit ( “CPU” or “processor” ) , a memory for storing instructions executable by the at least one processor and an Interface. Processor may comprise at least one data processor for executing program components and for executing user-or system-generated requests. A user may include a person, a person using a device such as those included in this disclosure, or such a device itself. The processor may be configured to execute program components that implement the functionality described for the ALTO server. The processor may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc. The processor may include a microprocessor, such as AMD Athlon, Duron or Opteron, ARM’s application, embedded or secure processors, IBM PowerPC, Intel’s Core, Itanium, Xeon, Celeron or other line of processors, etc. The processor may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies like application-specific integrated circuits (ASICs) , digital signal processors (DSPs) , Field Programmable Gate Arrays (FPGAs) , etc. Among other capabilities, the processor is configured to fetch and execute computer-readable instructions stored in the memory. The memory can include any non-transitory computer-readable medium known in the art including, for example, volatile memory (e.g., RAM) , and/or non-volatile memory (e.g., EPROM, flash memory, etc. ) . In some embodiments, the ALTO server may use routing table to store routing information which includes routes from one or more source nodes to destination nodes. In some other embodiments, the ALTO server may use one or more databases to store network status information and to update the network status information dynamically. In some  other embodiment, the ALTO server may be associated with a Path Computation Element (PCE) that peers with routing protocol speaker to receive network status information.
The interface (s) may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, etc. The interface is coupled with the processor and an I/O device. The I/O device is configured to receive inputs from user via the interface and transmit outputs for displaying in the I/O device via the interface.
In one implementation, the server 105 further comprises data and modules. In one example, the data and the modules may be stored within the memory. In one example, the modules, amongst other things, include routines, programs, objects, components, and data structures, which perform particular tasks or implement particular abstract data types. The modules may also be implemented as, signal processor (s) , state machine (s) , logic circuitries, and/or any other device or component that manipulate signals based on operational instructions. Further, the modules can be implemented by one or more hardware components, by computer-readable instructions executed by a processing unit, or by a combination thereof.
In one implementation, the data may include, for example, Network Traffic information, link information, and nodes information. In one embodiment, the data may be stored in the memory in the form of various data structures. Additionally, the aforementioned data can be organized using data models, such as relational or hierarchical data models. The other data may be used to store data, including temporary data and temporary files, generated by the modules for performing the various functions of the server 105.
In operation, the client devices 101 transmit an information request to the server 105 through the communication network 103. In some embodiments, the client devices 101 may provide the information request using a protocol which includes, but is not limited to, Hyper  Text Transfer Protocol (HTTP) Protocol, Transmission Control Protocol/Internet Protocol (TCP/IP) and Wireless Application Protocol (WAP) . The information request includes, but is not limited to, one or more source nodes and destination nodes in a distributed network, one or more network constraints, service type, cost-mode and a request identification number associated with the information request. The one or more network constraints, includes but are not limited to, bandwidth associated with a path from the source node to the destination node, jitter associated with the path from the source node and the destination node, packet loss associated with the path from the source node to the destination nodes, number of intermediate nodes between the source nodes and the destination nodes and cost associated with the path from the source node to the destination node i.e the cost associated to traverse from the source node to the destination node. The cost-mode indicates the format in which the network information has to be provided. The service type indicates the type of service to be provided for the client device 101.
As illustrated in Fig. 1b, the distributed network 107 may be represented as an association of different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP) , Transmission Control Protocol/Internet Protocol (TCP/IP) , Wireless Application Protocol (WAP) , etc., to communicate with each other. Further, the distributed network 107 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, one or more data centres (collectively referred as 111) which are geographically distributed across the network 107 and one or more user devices (collectively referred as 109) . In one embodiment, the distributed network 107 includes, but is not limited to a Multiprotocol Label Switching (MPLS) network. In an exemplary embodiment, the distributed network 107 includes three data centres namely DC1 1111, DC2 1112 and DC3 1113 and two user devices namely a user device 1091 associated with user UR1 and the user  device 1092 associated with user UR2. The data centres 111 may include servers and storage equipment that run application software and process and store the data and content.
The one or more source nodes may be at least one of the user device 1091 and the user device 1092. The one or more destination nodes may be at least one of DC1, DC2 and DC3. The client device 101 may request the server 105 by sending an information request to provide network status information of the distributed network 107. The one or more network constraints provided in the information request may include bandwidth, jitter, packet loss, number of intermediate nodes between the source nodes and the destination nodes and the cost. Based on these network constraints, the server 105 generates network status information. In some embodiments, the network status information is presented in at least one of ordinal format, summary format and graph format. In ordinal format, the ranking of the destination nodes are provided to the client device 101. Based on the ranking order, the destination nodes may be selected for transmitting data. In summary format, the detailed information associated with each constraint is provided. The server 105 transmits the generated network status information to the client device 101. In graph format, the detailed information associated with each constraint between each link or an abstract link from the one or more source nodes to the one or more destination nodes is provided. In some embodiments, the internal node is connected to only one incoming link and one outgoing link in the network. These links are combined to form one abstract link.
Based on the network status information, the client device may decide to select any type of service as provided in the information request. For the purpose of this illustration, the type of service is categorized into three classes namely a “gold-class” , a “silver-class” and a “bronze-class” . Alternatively, these classes may be referred as Type-I, Type-II and Type-III respectively.  If the service type is either “gold-class” or “silver-class” , the server 105 identifies a path between the one or more source nodes and the destination nodes such that network constraints associated with the path matches with the network constraints provided in the information request. Alternatively the word “match” is also referred as “meet” , for example, network constraints associated with the path meet with the network constraints provided in the information request. Thereafter, the server 105 provides information associated with the path to the client device 101. If the service type is “bronze-class” then the server 105 identifies a best effort path between the one or more source nodes and the destination nodes and provides information associated with the identified best effort path to the client device 101. In some exemplary embodiment, the client device 101 may use any service type to transmit data from one or more source nodes to one or more destination nodes. The one or more destination nodes may either store the data or process the data based on the requirement of the applications.
Fig. 2 shows a block diagram illustrating an exemplary process of providing network status information in accordance with some embodiments of the present disclosure. In one embodiment, the client device 1 1011 provides an information request to the server 105 through the communication network 103. The information request is provided to the server 105 in order to obtain the network status information of the network 107. Thereafter, the client device 101 may select any type of service between the source node and the destination node. In an exemplary embodiment, the information request may be provided using HTTP protocol.
The server 105 may identify the information request identification number, service requirement, one or more source nodes and the one or more destination nodes, one or more network constraints and cost-mode from the information request. In an exemplary embodiment, the server 105 identifies that the request identification number is “1” , the service requirement is  “gold-class” , the one or more network constraints are bandwidth to be greater than 20, jitter to be less than 10, packet loss to be less than 0.03, and hop-count to be less than 5. Further, the server 105 identifies that the source node is the user device 1091 and the destination nodes are DC1, DC2 and DC3. The cost-mode provided in the information request is “ordinal” . The server 105 generates network status information based on the information request. The server 105 ranks the paths from the source node 1091 to each of the destination nodes DC1, DC2 and DC3 based on the network constraints. As an example, DC1, DC2 and DC3 may meet all the network constraints provided in the information request. But, the cost associated with the path from the source node 1091 to the destination node DC3 is less when compared with the cost associated with the path from the source node 1091 to DC2 and DC3 Therefore, DC2 is ranked in first position, DC3 is ranked in second position and DC1 is ranked in third position. The server 105 provides the network status information to the client device 1 1011.
Based on the network status information, the client device 1 1011 may select DC2 as the peer node for transmitting data. Further, the service type provided in the information request is “gold-class” . Therefore, server 105 identifies a path between the source node 1091 and the destination node DC2 and provides the path information to the client device 1 1011.
Fig. 3 shows a block diagram illustrating an exemplary process of providing network status information in accordance with some other embodiments of the present disclosure. In one embodiment, the client device 2 1012 provides an information request to the server 105 through the communication network 103. The information request may be provided using HTTP protocol.
The server 105 may identify information request identification number, service type, one or more source nodes and the one or more destination nodes in the network, one or more network constraints and cost-mode from the information request. The server 105 identifies that the  request identification number is “2” , the service type is “silver-class” , the one or more network constraints are bandwidth to be greater than 20, jitter to be less than 10, packet loss to be less than 0.04, jitter to be less than 10 and hop-count to be less than 8, the source nodes are user device 1091 and user device 1092 and the destination nodes are DC1, DC2 and DC3. The cost-mode provided in the information request is “summary” . The server 105 generates network status information based on the information request. The generated network status information is in summary format. In summary format, a detailed information associated with each network constriant is provided as shown in Fig. 3 i.e.
UR1, DC1→Delay 5, jitter 3, pktloss 0.01, hop count 8, cost 100
UR1, DC2→Delay 9, jitter 3, pktloss 0.02, hop count 10, cost 500
UR1, DC3→Delay 4, jitter 6, pktloss 0.02, hop count 12, cost 200
UR2, DC1→Delay 4, jitter 2, pktloss 0.03, hop count 6, cost 300
UR2, DC3→Delay 6, jitter 4, pktloss 0.04, hop count 8, cost400
The server 105 provides the network status information to the client device 2 1012. Based on the network status information, the client device 2 1012 may select any of the destination nodes DC1 , DC2 and DC3. Further, the service type provided in the information request is “silver-class” . Therefore, server 105 may identify a path between UR1-DC1, UR1-DC2 and UR1-DC3. Similarly, the server 105 may identify a path between UR2-DC1 and UR2-DC3. The server provides the information of the identified paths to the client device 2 1012.
Fig. 4a shows a block diagram illustrating an exemplary process of providing network status information in accordance with further embodiments of the present disclosure. In one embodiment, the client device 3 1013 provides an information request to the server 105 through  the communication network 103. In an exemplary, embodiment, the information request may be provided using HTTP protocol.
The server 105 may identify the information request identification number, service type, one or more source nodes and the one or more destination nodes in the network and the cost-mode from the information request. The server 105 identifies that the information request identification number is “3” , the service type is “bronze-class” , the cost-mode is “graph” and the source nodes are user device 1091 and user device 1092 and the destination nodes are DC1, DC2 and DC3. In some embodiments, if the service type is “bronze-class” the information request may or may not include the one or more network constraints. The server 105 identifies the best effort path between the source nodes and the destination nodes.
At first, one or more paths from the source nodes to destination nodes are determined. Node A and Node B are the source nodes and Node J and Node K are the destination nodes. The nodes, Node C, Node D, Node E, Node F, Node G, Node H and Node I are the intermediary nodes between the source nodes and the destination nodes as shown in Fig. 4a. Fig. 4b illustrates an exemplary network topology for identifying a best effort path between one or more source nodes and one or more destination nodes. By using the best path algorithm, the graph as shown in Fig 4c is obtained. In the below Table 1, “1” indicates the link between the nodes and “X” indicates no link between the nodes for the graph shown in Fig. 4c
  A B C D F H I J K
A x x x 1 x x x x x
B x x 1 x x x x x x
C x x x 1 x x x x x
D x x x x 1 x x x x
F x x x x x 1 x x x
H x x x x x x 1 x 1
I x x x x x x x 1 x
J x x x x x x x x x
K x x x x x x x x x
Table 1
Since a direct link may exist from D-B instead of D-C and C-B as shown in Fig. 4c, the Node C is deleted. Simlarly, the nodes F and I are deleted. The final graph is obtained as shown in Fig. 4d upon applying the abstraction algorithm to the Table 1. In the below Table 2, “1” indicates the link between the nodes and “X” indicates no link between the nodes for the graph shown in Fig. 4d.
  A B C D F H I J K
A x x x 1 x x x x x
B x x x 1 x x x x x
C x x x x x x x x x
D x x x x x 1 x x x
F x x x x x x x x x
H x x x x x x x 1 1
I x x x x x x x x x
J x x x x x x x x x
K x x x x x x x x x
Table 2
Node A is referred for the user device 1091 , Node B is referred for the user 1092, Node D is the intermediate node in the network, Node J is the destination node referred for DC1 and Node K is the destination Node referred for DC3. The server 105 determines the constraints which includes, but is not limited to, delay, jitter, packet loss, bandwidth and cost associated with each path between the source node and the destination node i.e, the path between, UR1-D1, the path between D1-DC1, the path between D1-DC2, the path between UR2-N2 and the path between N2-DC3. The server 105 generates the network status information and transmits the network status information to the client device 3 1013 as shown in Fig. 4a.
Further, the service type provided in the information request is “bronze-class” . Therefore, server 105 may identify a best effort path from among the paths UR1-DC1, UR1-DC2, UR2-DC2 and UR2-DC3 and provide the information associated with the best effort path to the client device 3 1013.
Fig. 5 shows a flowchart illustrating method for optimizing network traffic engineering in accordance with some embodiments of the present disclosure.
As illustrated in Fig. 5, the method comprises one or more blocks for optimizing network traffic engineering. The method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types. The order in which the method is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter  described herein. Furthermore, the method may be implemented in any suitable hardware, software, firmware, or combination thereof.
At block 501, the information request is received from one or more client devices 101. In one embodiment, the one or more client devices 101 provides information request to the server 105. The information request is provided in order obtain the information of the underlying topology of the network.
At block 503, the one or more source nodes and destination nodes and/or the one or more network constraints and the service type is identified. In one embodiment, upon receiving the information request, the server 105 identifies the one or more network constraints in the information request. The one or more network constraints includes, but are not limited to, delay, jitter , packet loss, bandwidth, number of intermediate nodes between the one or more source nodes and the one or more destination nodes and the cost.
At block 505, network status information is generated by the server 105. In one embodiment, the server 105 generates the network status information based on the identified one or more source nodes and the destination nodes and/or the one or more network constraints. The network status information provides information associated with the topology of the network. The network status information further provides the network constraints associated with each path between the source node and the destination node.
At block 507, the network status information is transmitted to the client device 101. In one embodiment, the server 105 transmits the network status information to the client device 101 based on the information request.
Fig. 6 shows a flowchart illustrating method of providing a service to one or more client devices 101 based on the network status information in accordance with some embodiments of the present disclosure.
As illustrated in Fig. 6, the method comprises providing a service to one or more client devices 101 based on the network status information. The method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types. The order in which the method is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the method may be implemented in any suitable hardware, software, firmware, or combination thereof.
At block 601, the service type is identified by the server 105 from the information request. In one embodiment, upon receiving the information request from the one or more client devices 101, the server 105 identifies the service type. For the purpose of this disclsoure, the service type is categorized into three classes namely “gold-class” , “silver-class” and “bronze-class” .
At block 603, a determination is made as to whether the service type is either “gold-class” or “silver class” . If the service type is either “gold-class” or “silver class” , then the method proceeds to block 605 via “Yes” . If the service type is neither “gold-class” nor” silver-class” then the method proceeds to block 607 via “No” .
At block 605, a path is identified between the one or more source nodes and the destination nodes. In one embodiment, if the service type provided in the information request is  either “gold-class” or “silver-class” , then the server 105 identifies a path between the source nodes and the destination nodes such that the network constraints associated with the path matches with the network constraints provided in the information request. Thereafter, the server 105 provides information asscoiated with the identified path to the client device 101.
At block 607, a best effort path is identified between the source nodes and the destination nodes. In one embodiment, if the service type provided in the information request is “bronze-class” , then the server 105 identifies the best effort path between the source node and the destination node and provides the information associted with the best effort path to the client device 101.
The described operations may be implemented as a method, system or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code maintained in a “non-transitory computer readable medium” , where a processor may read and execute the code from the computer readable medium.
Still further, the code implementing the described operations may be implemented in “transmission signals” , where transmission signals may propagate through space or through a transmission media, such as an optical fiber, copper wire, etc. The transmission signals in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc. The transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a non-transitory computer readable medium at the receiving and transmitting stations or devices. An “article of manufacture” comprises non-transitory computer readable  medium, hardware logic, and/or transmission signals in which code may be implemented. A device in which the code implementing the described embodiments of operations is encoded may comprise a computer readable medium or hardware logic. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the invention, and that the article of manufacture may comprise suitable information bearing medium known in the art.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate) , it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
Additionally, advantages of present disclosure are illustrated herein.
The present disclosure provides a method for optimizing the network traffic engineering by providing network status information. The network status information is generated based on the network constraints. Further, the present disclosure provides one or more services to the client devices based on the network status information. Also, the present disclosure provides a detailed view of the network topology, thereby improving the performance of the applications running in the client device and also improving the use of network efficiently.
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based here on. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments  disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Referral Numerals:
Figure PCTCN2015079291-appb-000001

Claims (19)

  1. A method for optimizing network traffic engineering, the method comprising:
    receiving, at a server, an information request from one or more client devices;
    identifying one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices;
    generating a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints; and
    transmitting the network status information to the client device for optimizing the network traffic engineering.
  2. The method as claimed in claim 1 further comprising identifying a service type from the information request.
  3. The method as claimed in claim 2, wherein the service type is at least one of:
    identifying a path between the one or more source nodes and the one or more destination nodes such that one or more network constraints associated with the path matches with the one or more network constraints provided in the information request and providing information associated with the path; and
    identifying a best effort path between the one or more source nodes and the one or more destination nodes and providing information associated with the best effort path.
  4. The method as claimed in claim 1, wherein the network status information is provided in at least one of ordinal format, summary format and graph format.
  5. The method as claimed in claim 4, wherein the ordinal format provides ranking of the one or more destination nodes identified in the information request based on the one or more constraints.
  6. The method as claimed in claim 4, wherein the summary format provides information associated with each of the one or more constraints between the one or more source nodes and the one or more destination nodes.
  7. The method as claimed in claim 4, wherein the graph format provides information associated with each of the one or more constraints between at least one of each link or abstract link from the one or more source nodes to the one or more destination nodes.
  8. The method as claimed in claim 4, wherein the graph format provides information without the one or more constraints between at least one of each link or an abstract link from the one or more source nodes to the one or more destination nodes.
  9. The method as claimed in claim 1, wherein the server is an Application layer Traffic optimization (ALTO) server and the one or more client devices is ALTO client.
  10. A server for optimizing network traffic engineering comprising:
    at least one processor; and
    a memory storing instructions executable by the at least one processor, wherein the instructions configure the at least one processor to:
    receive an information request from one or more client devices;
    identify one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices;
    generate a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints; and
    transmit the network status information to the client device for optimizing the network traffic engineering.
  11. The server as claimed in claim 10, wherein the instructions further configure the at least one processor to identify a service type from the information request.
  12. The server as claimed in claim 11, wherein the service type is at least one of:
    identifying a path between the one or more source nodes and the destination nodes such that one or more network constraints associated with the path matches with the one or more network constraints provided in the information request and providing information associated with the path; and
    identifying a best effort path between the one or more source nodes and the one or more destination nodes and providing information associated with the best effort path.
  13. The server as claimed in claim 10, wherein the instructions further configure the at least one processor to provide the network status information in at least one of ordinal format, summary format and graph format.
  14. The server as claimed in claim 13, wherein the ordinal format provides ranking of the one or more destination nodes in the information request based on the one or more constraints.
  15. The server as claimed in claim 13, wherein the summary format provides information associated with each of the one or more constraints between the one or more source nodes and the one or more destination nodes.
  16. The server as claimed in claim 13, wherein the graph format provides information associated with each of the one or more constraints between at least one of each link or an abstract link from the one or more source nodes to the one or more destination nodes.
  17. The server as claimed in claim 13, wherein the graph format provides information without the one or more constraints between at least one of each link or an abstract link from the one or more source nodes to the one or more destination nodes.
  18. A non-transitory computer readable medium including operations stored thereon that when processed by at least one processing unit cause a system to perform the acts of:
    receiving an information request from one or more client devices;
    identifying one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices;
    generating a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints; and
    transmitting the network status information to the client device for optimizing the network traffic engineering.
  19. A computer program for optimizing network traffic information, said computer program comprising:
    code segment for receiving an information request from one or more client devices, code segment for identifying one or more source nodes and one or more destination nodes and/or one or more network constraints from the information request of each of the one or more client devices, code segment for generating a network status information in response to the information request based on the identified one or more source nodes and the one or more destination nodes and/or the one or more network constraints and code segment for transmitting the network status information to the client device for optimizing the network traffic engineering.
PCT/CN2015/079291 2014-05-20 2015-05-19 Method for optimizing network traffic engineering and system thereof WO2015176650A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN2503CH2014 2014-05-20
ININ2503/CHE/2014 2014-05-20

Publications (1)

Publication Number Publication Date
WO2015176650A1 true WO2015176650A1 (en) 2015-11-26

Family

ID=54553427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/079291 WO2015176650A1 (en) 2014-05-20 2015-05-19 Method for optimizing network traffic engineering and system thereof

Country Status (1)

Country Link
WO (1) WO2015176650A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872053A (en) * 2016-03-30 2016-08-17 中国联合网络通信集团有限公司 Data migration method and system
WO2017101750A1 (en) * 2015-12-15 2017-06-22 Huawei Technologies Co., Ltd. Traffic engineering system and method for a communications network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296053A1 (en) * 2010-05-28 2011-12-01 Juniper Networks, Inc. Application-layer traffic optimization service spanning multiple networks
CN102404796A (en) * 2011-12-27 2012-04-04 中国电信股份有限公司 Flow control method and system
CN102546820A (en) * 2012-02-16 2012-07-04 华为技术有限公司 Transmission optimization method, and mapping information storage method, device and system
US20120281621A1 (en) * 2011-04-05 2012-11-08 Interdigital Patent Holdings, Inc. Wireless peer-to-peer network topology

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296053A1 (en) * 2010-05-28 2011-12-01 Juniper Networks, Inc. Application-layer traffic optimization service spanning multiple networks
US20120281621A1 (en) * 2011-04-05 2012-11-08 Interdigital Patent Holdings, Inc. Wireless peer-to-peer network topology
CN102404796A (en) * 2011-12-27 2012-04-04 中国电信股份有限公司 Flow control method and system
CN102546820A (en) * 2012-02-16 2012-07-04 华为技术有限公司 Transmission optimization method, and mapping information storage method, device and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017101750A1 (en) * 2015-12-15 2017-06-22 Huawei Technologies Co., Ltd. Traffic engineering system and method for a communications network
CN105872053A (en) * 2016-03-30 2016-08-17 中国联合网络通信集团有限公司 Data migration method and system

Similar Documents

Publication Publication Date Title
US11297140B2 (en) Point of presence based data uploading
US10805418B2 (en) Data management in an information-centric network
CN105024844B (en) A kind of method calculating cross-domain routing, server and system
US20170180217A1 (en) Use of virtual endpoints to improve data tranmission rates
US20150333930A1 (en) Dynamic service function chaining
US20150215400A1 (en) File Upload Method And System
TWI584194B (en) Finding services in a service-oriented architecture (soa) network
CN105721311A (en) System and method for efficient name-based content routing using link-state information in information-centric networks
US8271656B2 (en) Decreasing latency in anonymity networks
US10291512B2 (en) Interest message path steering and multi-path traceroute in information-centric networking
US10469362B1 (en) Network routing utilization of application programming interfaces
US10225201B2 (en) Scalable multicast for notification-driven content delivery in information centric networks
US11388058B2 (en) System and method for a distributed computing cluster architecture
US7656856B2 (en) Method and system for transmitting LSP fragments
JP6865593B2 (en) Content delivery across non-uniform networks
WO2015176650A1 (en) Method for optimizing network traffic engineering and system thereof
CN105978699B (en) The method and system of tracking features is carried out for across a network
Han et al. NDN-based Pub/Sub system for scalable IoT cloud
JP2011055236A (en) Communication system, mapping information notification device, mapping information notification method and program
Dash et al. Flooding control in named data networking
US9860171B2 (en) Large scale message routing in a distributed network
Munir et al. Smart agent based dynamic data aggregation for delay sensitive smart city services
JP5506640B2 (en) Content delivery method and system
Cai et al. Realtime vehicle routes optimization by cloud computing in the principle of TCP/IP
JP2016046785A (en) Cache server selection device, distributed cache system, and cache server selection method

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: 15795917

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15795917

Country of ref document: EP

Kind code of ref document: A1