This application claims priority to Chinese Patent Application No. 201310490126.7 filed on Oct. 18, 2013, the contents of which are incorporated by reference herein. This application is related to the following co-pending, commonly assigned patent applications, the disclosures of which are incorporated herein by reference in their entirety:
1. “NETWORK SYSTEM CAPABLE OF ENHANCING CONNECTION PERFORMANCE” by Zhou et al., whose Attorney Docket No is US53458.
2. “TRANSMISSION PATH CONTROL DEVICE” by Zhou et al., whose Attorney Docket No is US53454.
3. “TRANSMISSION PATH MANAGEMENT SYSTEM AND METHOD” by Zhou et al., whose Attorney Docket No is US53456.
4. “ TRANSMISSION PATH CONTROL SYSTEM” by Zhou et al., whose Attorney
Docket No is US53443.
5. “TRANSMISSION PATH MANAGEMENT DEVICE” by Zhou et al., whose Attorney Docket No is US53453.
6. “TRANSMISSION PATH MANAGEMENT SYSTEM AND METHOD” by Zhou et al., whose Attorney Docket No is US53457.
The present disclosure relates to transmission path systems, and particularly to a on-demand transmission path providing system, and a method thereof.
Electronic devices, such as mobile phones and tablet computers, are common and widespread in use. Generally, the electronic devices can communicate with each other via corresponding networks, such as the internet, a code division multiple access (CDMA) network, or a broadcasting network. However, in some situations, such as when a user is transmitting a large sized file with an electronic device but the electronic device is connected to a narrow bandwidth network, a resulting access speed may be very slow.
Implementations of the present technology will now be described, by way of example only, with reference to the attached figures.
It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures and components have not been described in detail so as not to obscure the related relevant feature being described. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features. The description is not to be considered as limiting the scope of the embodiments described herein.
Several definitions that apply throughout this disclosure will now be presented. The term “module” refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising” means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like. The connection can be such that the objects are permanently connected or releasably connected.
Referring to
In the embodiment, as shown in
The management server 100 includes a processor 101 and a storage unit 102. Each path control device 201 also includes a processor 211 and a storage unit 212. The management server 100 can be a single server or a server group. The path control device 201 can be a computing device, such as a personal computer or a server. The router device 202 can be a router, a switch, or a gateway.
The on-demand transmission path providing system 1 includes an interface providing module 11, a request receiving module 12, a path calculating module 13, a task assignment module 14, a task monitoring module 15, a path establishing module 16, and a transmission controlling module 17.
In the embodiment, the interface providing module 11, the request receiving module 12, the task assignment module 14, and the task monitoring module 15 can be collections of software instructions stored in the storage unit 102 of the management server 100 and executed by the processor 101 of the management server 100. The path calculating module 13 can be collections of software instructions stored in the storage unit 212 of the path control device 201 and executed by the processor 211 of the path control device 201. The path establishing module 16 and the transmission controlling module 17 can be collections of software instructions stored in the storage unit 102 of the management server 100 or the storage unit 212 of the path control device 201 and executed by the processor 101 of the management server 100 or the processor 211 of the path control device 201. The modules of the on-demand transmission path providing system 1 also can include functionality represented as hardware or integrated circuits, or as software and hardware combinations, such as a special-purpose processor or a general-purpose processor with special-purpose firmware.
In another embodiment, the all of modules of the on-demand transmission path providing system 1 can be collections of software instructions stored in the storage unit 102 of the management server 100 and executed by the processor 101 of the management server 100.
In one embodiment, each one of the processors 101, 211, can be a central processing unit, a digital signal processor, or a single chip, for example. In one embodiment, each one of the storage units 102, 212 can be an internal storage system, such as a flash memory, a random access memory (RAM) for temporary storage of information, and/or a read-only memory (ROM) for permanent storage of information. Each one of the storage units 102, 212 can also be a storage system, such as a hard disk, a storage card, or a data storage medium. Each one of the storage units 102, 212 can include volatile and/or non-volatile storage devices. In at least one embodiment, each one of the storage units 102, 212 can include two or more storage devices such that one storage device is a memory and the other storage device is a hard drive. Additionally, one or more of the storage units 102, 212 can be respectively located either entirely or partially external relative to the management server 100, and the path control device 201.
Referring also to
The request receiving module 12 is used to receive a VLL establishing request provided by an operation on the user interface 110 by the user. In detail, the operation on the user interface 110 by the user can be that the user inputs or selects the start area, the end area, the start time, and the end time respectively via the start input box 111, the end input box 112, the start time input box 113, and the end time input box 114. Therefore, when the user wants to establish the VLL 120, the user can input or select the start area, the end area, the start time, and the end time of the VLL 120 via the user interface 110 to produce the VLL establishing request. The VLL establishing request includes information of the start area, the end area, the start time, and the end time of the VLL 120.
The path calculating module 13 is used to determine which router devices 202 are transmission ports constituting the VLL 120 and which ports P of each router device 202 determined as the transmission nodes of the VLL 120 are ports P to be connected to another port P of the router devices 202 determined as the transmission nodes to form the VLL 120, and generate VLL establishing information including the ports P to be connected and connection relationships between the router devices 202 determined as the transmission nodes of the VLL 120. The related technology of generating the VLL establishing information are disclosed in a related patent applications whose attorney docket No. are US53456, US53457, and US53453. The connection relationships between the router devices 202 determined as the transmission nodes of the VLL 120 can include positions of the router devices 202 determined as the transmission nodes of the VLL and information of which router devices 202 determined as the transmission nodes of the VLL 120 are adjacent router devices for each router device 202 determined as the transmission nodes of the VLL 120.
Referring also to
In the embodiment, the user interface 110 also includes a VLL identifier code input box 115. The VLL identifier code input box 115 is provided to input or select one VLL identifier code for the VLL 120 to be established. For example, when the user generates the VLL establishing request to request to establish the VLL 120 via the user interface 110 as described above, the user can further input or select the VLL identifier code for the VLL 120 to be established. The task assignment module 14 associates the timed task of the VLL 120 with the VLL identifier code input or selected by the user and adds the associated timed task and VLL identifier code to the timed task list TL. In another embodiment, the task assignment module 14 can assign a unique VLL identifier code to the VLL 120 automatically, and then associates the VLL identifier code with the timed task of the VLL 120.
The task monitoring module 15 is used to monitor the timed task of each VLL 120 of the timed task list TL, and determine whether current time reaches the start time of one VLL 120.
When the current time reaches the start time of one VLL 120, the path establishing module 16 connects the ports P to be connected of the router device 202 determined as the transmission nodes of the corresponding VLL 120 one by one according to the VLL establishing information.
In detail, the path establishing module 16 labels the ports P to be connected of each router device determined as the transmission node of the VLL 120 by using the VLL identifier code, and connects the ports P labeled with the VLL identifier code one by one according to the connection relationships of the router devices 202 determined as the transmission nodes of the VLL 120. Namely, the path establishing module 16 connects the ports P labeled with the VLL identifier code of the corresponding router devices 202 adjacent to each other one by one to establish the VLL 120.
In the embodiment, the task monitoring module 15 further monitors the timed task of each VLL 120 of the timed task list TL to determine whether current time reaches the end time of one VLL 120. When the current time reaches the end time of one VLL 120, the path establishing module 16 controls to cancels the VLL 120. In detail, the task monitoring module 15 sends a cancelling command to the path establishing module 16, and the path establishing module 16 clears the corresponding VLL identifier code from the ports P of the router device 202 determined as the transmission nodes of the VLL 120, and recovers an initial configuration for the ports P, thus to cancel the VLL 120.
In one embodiment, the user interface 110 further includes a bandwidth input box 116, the bandwidth input box 116 is provided to input or select a bandwidth for the VLL 120 to be established. For example, the user can input or select the bandwidth as 10 megabit/second (M/s), 50 M/s, or the like.
In one embodiment, the timed task assigned by the task assignment module 14 further includes the bandwidth of the VLL 120 to be established.
The path establishing module 16 configures the ports P to be connected according to the bandwidth of the VLL 120 included in the timed task of the VLL 120. In detail, the path establishing module 16 configures the ports P to be connected can provide the corresponding bandwidth. Therefore, the VLL 120 constituted by connecting the ports P to be connected one by one can have the corresponding bandwidth.
Therefore, in the present disclosure, the VLL 120 can be established according to the required time period, namely during the start time and the end time input or selected by the user. The VLL 120 also can provide the corresponding bandwidth according to the requirement of the user.
As shown in
As shown in
In one embodiment, the task assignment module 14 further can change the start time and/or the end time of one VLL 120 of the timed task list TL in response to a change request for changing the start time and the end time of the VLL 120 from the user. In the embodiment, the task assignment module 14 can change the start time and the end time of one VLL 120 of the timed task list TL before the VLL 120 is established, and can change the end time of the VLL 120 of the timed task list TL after the VLL 120 is established. Accordingly, the path establishing module 16 controls to establish the VLL 120 or cancel the VLL 120 according to the changed start time and/or the end time of the VLL 120.
In one embodiment, the task assignment module 14 further can change the bandwidth of one VLL 120 of the timed task list TL in response to a change request for changing the bandwidth of the VLL 120 from the user. The path establishing module 16 can reconfigure the ports P to be connected according to the changed/updated bandwidth of the VLL 120 included in the timed task of the VLL 120, and the VLL 120 can provide the changed bandwidth accordingly.
The transmission controlling module 17 is used to label data transmitted by the user by using the VLL identifier code, and control the data to transmit via the ports P labeled with the same VLL identifier code when transmitting the data via the router device 202 constituting the VLL. In the embodiment, each VLL identifier code further corresponds to an identity of a user, when one user starts to transmit the data, the transmission controlling module 20 obtains the identity of the user and determines the VLL identifier code corresponding to the identity of the user, and then labels the data to be transmitted by using the VLL identifier code. The identity of the user can be a user name which the user used to log in the user interface 110, or an identity card number of the user.
In block 601, an interface providing module provides a user interface provided for a user to input a start area, an end area, a state time, and an end time of a VLL to be established. In detail, the user interface at least includes a start input box, an end input box, a start time input box, an end time input box. The start input box is provided to input or select the start area of the VLL, and the end input box is provided to input or select the end area of the VLL. The start time input box is provided to input or select the start time of the VLL, and the end time input box is provided to input or select the end time of the VLL.
In block 602, a request receiving module receives a VLL establishing request generated by an operation on the user interface by the user, the VLL establishing request includes information of the start area, the end area, the start time, and the end time of the VLL. In detail, the operation on the user interface by the user can be the user inputs or selects the start area, the end area, the start time, and the end time respectively via the start input box, the end input box, the start time input box, and the end time input box.
In block 603, a path calculating module determines which router devices are transmission ports constituting the VLL and which ports P of the determined router device are ports to be connected to another port P of other determined router devices, and generate VLL establishing information including the ports to be connected and connection relationships of the router devices determined as the transmission nodes of the VLL.
In block 604, a task assignment module assigns a timed task for the VLL to be established according to the start time and the end time of the VLL, and associates the timed task of the VLL with a VLL identifier code of the VLL and adds the associated timed task and VLL identifier code to a timed task list.
In block 605, a task monitoring module monitors the timed task of each VLL of the timed task list to determine whether current time reaches to the start time of one VLL. If not, the process returns to block 605, if yes, the process jumps to block 606.
In block 606, a path establishing module connects the ports to be connected of the router device determined as the transmission nodes of the corresponding VLL one by one according to the VLL establishing information. In detail, the path establishing module labels the ports to be connected of each router device determined as the transmission node of the VLL by using the VLL identifier code, and connects the ports labeled with the VLL identifier code one by one according to the connection relationships between the router devices determined as the transmission nodes of the VLL.
In the embodiment, the on-demand transmission path providing method further includes: the task monitoring module monitors the timed task of each VLL of the timed task list to determine whether current time reaches to the end time of one VLL; and if the current time reaches to the end time of the VLL, the path establishing module controls to cancels the VLL.
In one embodiment, the user interface further includes a bandwidth input box provided to input or select a bandwidth for the VLL to be established, the on-demand transmission path providing method further includes: the request receiving module receives a bandwidth input or selected by the user; the task assignment module adds the bandwidth to the timed task of the corresponding VLL; and the path establishing module configures the ports to be connected according to the bandwidth of the VLL included in the timed task of the VLL to ensure the ports to be connected to provide the corresponding bandwidth.
In one embodiment, the on-demand transmission path providing method further includes: the task assignment module changes the start time and/or the end time of one VLL of the timed task list TL in response to a change request for changing the start time and the end time of the VLL from the user; the path establishing module controls to establish the VLL or cancel the VLL according to the changed start time and/or the end time of the VLL.
In one embodiment, the on-demand transmission path providing method further includes: the task assignment module changes the bandwidth of one VLL of the timed task list in response to a change request for changing the bandwidth of the VLL from the user; the path establishing module reconfigures the ports to be connected according to the changed/updated bandwidth of the VLL included in the timed task of the VLL to ensure the VLL to provide the changed bandwidth.
In one embodiment, the on-demand transmission path providing method further includes: a transmission controlling module labels data transmitted by the user by using the VLL identifier code, and control the data to transmit via the ports labeled with the same VLL identifier code when transmitting the data via the router device constituting the VLL.
It is believed that the present embodiments and their advantages will be understood from the foregoing description, and it will be apparent that various changes may be made thereto without departing from the spirit and scope of the disclosure or sacrificing all of its material advantages, the examples hereinbefore described merely being exemplary embodiments of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201310490126.7 | Oct 2013 | CN | national |