System and method for providing an on-site service

09825871 ยท 2017-11-21

Assignee

Inventors

Cpc classification

International classification

Abstract

A system and method for providing an on-site service includes a plurality of nodes, each containing: a neighborhood node set generation module, for generating a neighborhood node set on the basis of the bidirectional link bandwidth between a local node and a neighboring node; a neighborhood information index table generation module, for generating a neighborhood information index table of the local node; a candidate service point selection module, for selecting according to a selection function a candidate service node from the set of neighboring nodes; the definition of the selection function being: for a current service request, computing the difference between the QoS of the neighboring node i executing the service request and the QoS of the local node executing the service request; if the computed difference is smaller than a set threshold, the neighboring node i serving as the candidate service node; a service scheduling module, for receiving status information and feedback information provided in real time by the candidate service node, and selecting, on the basis of this information, a candidate node or the local node to serve as the service-executing node.

Claims

1. A system for providing an on-site service, wherein the system comprises a plurality of nodes, and each node comprises: a neighborhood node set generation module, used for generating a neighborhood node set on the basis of the bidirectional link bandwidth information between a local node and a neighboring node, and ordering usable bandwidths of various neighboring nodes in the set from large to small or from small to large; a neighborhood information index table generation module, used for generating a neighborhood information index table of the local node, the neighborhood information index table is used for storing node status information of various neighboring nodes and description information of a service type provided by the nodes; a candidate service node selection module, used for selecting according to a selection function a candidate service node from a set of neighboring nodes; wherein the definition of the selection function is: for a current service request, a difference between QoS of the neighboring node i executing the service request and the QoS of the local node executing the service request is computed; the neighboring node i is used as the candidate service node if the computed difference is smaller than a set threshold; a service scheduling module, used for receiving status information and feedback information provided in real time by the candidate service nodes, and matching the status information and feedback information of various candidate service nodes with content in a service request command, then to select a service execution node from the candidate service nodes and the local node; wherein, the status information comprises: an idle resource status, an occupied resource status, a current resource margin, a currently hosted service type and history service information; the feedback information comprises: quality of service, service resource consumption and service status; the service request command comprises: content of the requested service, a type of the requested service, QoS demand of the requested service and information on a service result output destination.

2. The system for providing an on-site service according to claim 1, wherein said node further comprises: a receiving module, used for receiving the service request command and transmitting the received service request command to the candidate service point selection module.

3. The system for providing an on-site service according to claim 1, wherein said node further comprises: a measurement module, used for measuring connection characteristics of network to obtain information related to network connection, and inputting the obtained information related to network connection to the neighborhood node set generation module; wherein the information related to network connection comprises the bidirectional link bandwidth information and delay information between nodes; an information exchanging module, used for acquiring information of the neighboring nodes and inputting the acquired information of the neighboring nodes to the neighborhood information index table generation module; wherein the information of the neighboring nodes comprises: information related to network connection measured by the neighboring nodes, status information of the neighboring nodes and description information of the service types provided by the neighboring nodes.

4. The system for providing an on-site service according to claim 1, wherein the candidate service node selection module comprises: a first filtration submodule, used for selecting, from the neighborhood node set, a node with the service type required by the service request command or a node capable of dynamically loading the service type requested by the service request command, and composing all the selected nodes as a preliminary candidate service node set; a second filtration submodule, used for further selecting, from the preliminary candidate service node set, a neighboring node simultaneously meeting the following two conditions as a node in a second candidate service node set: condition one: the usable bandwidth between the neighboring node and a service receiving point is larger than the bandwidth required by the service request; condition two: the following equation is utilized to obtain a candidate service node for the local node p.sub.i:)
F.sub.1(.sub.i.sup.r)=.sub.i,1.sup.r={.sub.j.sub.i.sup.r|t.sub.i,j,k.sub.r=T(i,j,.sub.k.sub.r)+D(i,j,.sub.k.sub.r)min(T(i,i,.sub.k.sub.r),t.sub.k.sub.r)} the above described function T(i,j,.sub.k.sub.r) represents time spent if the requested service is processed on node p.sub.j after node p.sub.i receives the service request command r with a processing amount of .sub.k.sub.r; the above described function D(i,j,.sub.k.sub.r) represents the sum of time for transmitting data from node p.sub.i to execution node p.sub.j and time for transmitting a result from execution node p.sub.j to a destination after execution node p.sub.j executes and completes; the above described function T(i,i,.sub.k.sub.r) represents time spent for processing the request directly by node p.sub.i after the node p.sub.i receives the service request command r with the processing amount of .sub.k.sub.r; t.sub.k.sub.r represents a set service response time limit; a third service node set generation submodule, used for selecting, from the second candidate service node set, N.sub.k.sub.r nodes as a candidate service node set, the specific equation thereof is as follows:
F.sub.2.sub.i,1.sup.r)=.sub.i,2.sup.r={.sub.j.sub.i,1.sup.r| selecting the first N.sub.k.sub.r from .sub.i,1.sup.r ordered from small to large by t.sub.i,j,k.sub.r}

5. The system for providing an on-site service according to claim 1, wherein said service scheduling module further comprises: a status information and feedback information receiving submodule, used for receiving status information and feedback information of nodes returned by various candidate nodes in the candidate service node set, said status information comprises the idle resource status, the occupied resource status, the current resource margin, the currently hosted service type and the history service information; said feedback information comprises the quality of service, the service resource consumption and the service status; and a matching submodule, used for matching the requested service type with the service types that the local node and the candidate service nodes are capable of providing, and using one node of the candidate service nodes or the local node as a service execution node when the one node supports the requested service type and the resources of the one node is sufficient to support processing of the requested service.

6. A method for providing an on-site service which acquires the requested service, implemented in a system for providing an on-site service, wherein the system comprises a plurality of nodes, and each node comprises: a neighborhood node set generation module, used for generating a neighborhood node set on the basis of the bidirectional link bandwidth information between a local node and a neighboring node, and ordering usable bandwidths of various neighboring nodes in the set from large to small or from small to large; a neighborhood information index table generation module, used for generating a neighborhood information index table of the local node, the neighborhood information index table is used for storing node status information of various neighboring nodes and description information of a service type provided by the nodes; a candidate service node selection module, used for selecting according to a selection function a candidate service node from a set of neighboring nodes; wherein the definition of the selection function is: for a current service request, a difference between QoS of the neighboring node i executing the service request and the QoS of the local node executing the service request is computed; the neighboring node i is used as the candidate service node if the computed difference is smaller than a set threshold; a service scheduling module, used for receiving status information and feedback information provided in real time by the candidate service nodes, and matching the status information and feedback information of various candidate service nodes with content in a service request command, then to select a service execution node from the candidate service nodes and the local node; wherein, the status information comprises: an idle resource status, an occupied resource status, a current resource margin, a currently hosted service type and history service information; the feedback information comprises: quality of service, service resource consumption and service status; the service request command comprises: content of the requested service, a type of the requested service, QoS demand of the requested service and information on a service result output destination, the method comprises: step 101) considering node p.sub.i in a network as a service request accessing node, when the node p.sub.i receives a service request command r, wherein, said request command r comprises: a requested service type k.sub.r, a processing requirement .sub.k.sub.r of the requested service, a requested date volume .sub.k.sub.r, a set time limit t.sub.k.sub.r for the node to respond the service request command; step 102) extracting service type information and QoS demand regarding a request contained in the service request command, selecting a candidate service node by a candidate service point selection module, in conjunction with a neighborhood information index table and a neighborhood node set maintained by the node p.sub.i, and then to obtain a set of candidate service nodes .sub.i.sup.r with a size of N.sub.i,r; wherein said QoS demand comprises bandwidth and delay; step 103) selecting, according to the set time limit t.sub.k.sub.r for the node to respond the service request command, a service execution node from the candidate service nodes or the local node in accordance with a selection function; step 104) providing service directly by the current service request accessing node, if the service execution node selected in step 103) is the current service request accessing node; transmitting the service request command to a service execution node and executing the requested service by the service execution node, if the service execution node is a node from a candidate service node list.

7. The method for providing an on-site service according to claim 6, wherein, transmitting the processed result to a service result output destination in the service request in one of the following ways according to information on the service result output destination, after the execution node executes and completes the requested task: returning, by the execution node, a processing result to the service result output destination; or returning the processing result to the service request accessing node, and returning, by the service request accessing node, it back to the service result output destination; or returning the processing result to a specified node in the neighborhood node set, and returning, by the specified node, it back to the service result output destination.

8. The method for providing an on-site service according to claim 6, wherein the size N.sub.k.sub.r of node net is obtained by preset parameters or in a self-learning manner.

9. The method for providing an on-site service according to claim 6, wherein the candidate service point selection module selects a candidate service node utilizing the following selection function:
.sub.i.sup.r=F()=F.sub.3(F.sub.2(F.sub.1()))
where
F.sub.1(.sub.i.sup.r)=.sub.i,1.sup.r={.sub.j.sub.i.sup.r|t.sub.i,j,k.sub.r=T(i,j,.sub.k.sub.r)+D(i,j,.sub.k.sub.r)min(T(i,i,.sub.k.sub.r),t.sub.k.sub.r)}
F.sub.2.sub.i,1.sup.r)=.sub.i,2.sup.r={.sub.j.sub.i,1.sup.r| selecting the first N.sub.k.sub.r from .sub.i,1.sup.r ordered from small to large by t.sub.i,j,k.sub.r}
F.sub.3()=.sub.i.sup.r={.sub.j.sub.i,2.sup.r|.sub.j,k.sub.r=1 service type k.sub.r loadable by p.sub.j} the above described .sub.j={w.sub.i, s.sub.up, s.sub.cur, c.sub.up, c.sub.cur, v.sub.1, . . . , v.sub.k, . . . , v.sub.M}, where w.sub.j represents the usable bandwidth of node p.sub.j, s.sub.up and s.sub.cur represents respectively the maximum storage capacity and the currently occupied storage capacity of node p.sub.j, c.sub.up and c.sub.cur represents respectively the maximum computing ability and the currently occupied computing ability of node p.sub.j, v.sub.k represents the ability measurement of node p.sub.j when a service of type k is processed by the node p.sub.j, M is the amount of service types that all the nodes in the neighborhood node set are capable of supporting; the above described function T(i,j,.sub.k.sub.r) represents time spent if the requested service is processed on node p.sub.j, after node p.sub.i receives the service request command r with the processing amount of .sub.k.sub.r; the above described function D(i,j,.sub.k.sub.r) represents the sum of time for transmitting data from node p.sub.i to execution node p.sub.j and time for transmitting a result from execution node p.sub.j to a destination after execution node p.sub.j executes and completes.

10. The method for providing an on-site service according to claim 6, wherein after said step 104), the method further comprises: step 105) releasing resources of the execution node occupied for service processing, updating current status information of the service request accessing node and the execution node, and releasing the candidate service nodes for the service request accessing node.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a flow diagram of a method for flexibly and autonomously processing a on-site service implemented on a flexible and autonomous on-site service system.

DETAILED DESCRIPTION

(2) The present inventions will be described below in detail through the accompanying drawings and embodiments.

Embodiments

(3) It is supposed that, a network contains N nodes, a set of which P={p.sub.1, . . . , p.sub.i, . . . , P.sub.N}, a corresponding set of attributes of network nodes ={.sub.1, .sub.2, . . . , .sub.N}. Each .sub.i (1iN) maintains related information to node p.sub.i in real time, .sub.j={w.sub.i, s.sub.up, s.sub.cur, c.sub.up, c.sub.cur, v.sub.1, . . . , v.sub.k, . . . , v.sub.M}, where w.sub.i represents usable bandwidth of node p.sub.j, s.sub.up and s.sub.cur represents respectively a maximum storage capacity and currently occupied storage capacity of the node, c.sub.up and c.sub.cur represents respectively a maximum computing ability and currently occupied computing ability of the node, v.sub.k represents a ability measurement of node p.sub.i, when a service of type k is processed by node p.sub.i, M is the total amount of all service types that all the nodes in a service node set can implement. .sub.i,k represents whether node p.sub.i has the service ability of the service type k required by a current request, where

(4) i , k = { 1 node p i can execute the service type k 0 node p i can not execute the service type k .

(5) Step 1), considering a certain node p.sub.i in the network as a service request accessing node when the node p.sub.i receives a service request command information r;

(6) wherein the request command information r comprises: the requested service type k.sub.r, processing requirements of requested service, requested data volume .sub.k.sub.r, time limit t.sub.k.sub.r for a node to respond to a service request command.

(7) Step 2) selecting a candidate processing node from all neighboring nodes of node p.sub.i by a selection function, according to a task feature and QoS demand regarding the service request command r, on the basis of a neighborhood information index table and a neighborhood node set in the network maintained by node p.sub.i, thus to form a candidate service node set .sub.i.sup.r with a size of N.sub.i,r;

(8) optionally, the above described size of node set N.sub.k.sub.r may be obtained by preset parameters or in a self-learning manner, and the neighborhood node set is an ordered set ordered from large to small according to point-to-node p.sub.i usable bandwidth size in the neighborhood node set.

(9) Optionally, the above described selection function is described as follows:
.sub.i.sup.r=F()=F.sub.3(F.sub.2(F.sub.1()))
where
F.sub.1(.sub.i.sup.r)=.sub.i,1.sup.r={.sub.j.sub.i.sup.r|t.sub.i,j,k.sub.r=T(i,j,.sub.k.sub.r)+D(i,j,.sub.k.sub.r)min(T(i,i,.sub.k.sub.r),t.sub.k.sub.r)}
F.sub.2(.sub.i,1.sup.r)=.sub.i,2.sup.r={.sub.j.sub.i,1.sup.r| selecting the first N.sub.k.sub.r from .sub.i,1.sup.r ordered from small to large by t.sub.i,j,k.sub.r}
F.sub.3()=.sub.i.sup.r={.sub.j.sub.i,2.sup.r|.sub.j,k.sub.r1 service type k.sub.r loadable by p.sub.j}

(10) where

(11) the function T(i,j,.sub.k.sub.r) represents time spent if task r with a processing amount of .sub.k.sub.r is processed on node p.sub.j, after node p.sub.i receives the task r, the time includes queue waiting time.

(12) D(i,j,.sub.k.sub.r) represents time required for migrating a service by utilizing the usable bandwidth between node p.sub.i and node p.sub.j and returning a service result to a service result output destination, which is related to network bidirectional bandwidths, the total amount of data before and after processed, a service providing point and the service result output destination. If this time is small enough, the node belongs to the candidate service node set.

(13) Step 3) matching by a scheduling module, according to a set time limit t.sub.k.sub.r for a node to respond to a service request command, a service request with services which the candidate service nodes are capable of providing, to select a final service execution node; the scheduling module is implemented by a computing selection function, which may be implemented by utilizing: an random selection manner, a certain distribution selection, a combination selection of one or more parameter(s) or a customized selection function. Which selection function to choose belongs to the common knowledge in the art, thus no details thereof will be given here.

(14) Step 4), providing service directly by the current service request accessing node, if the service node selected in step 103) is the current service request accessing node; processing procedure of a node from a candidate service node list is as follows, if the execution node is the node from a candidate service node list:

(15) the service request accessing node transmits, according to the execution node selected by the scheduling module, control information and data required for service processing to the execution node, and the requested service is executed by the node. After the selected execution node executes and completes the requested task, the processed result is transmitted to an output destination in one of the following ways according to information on a service result output destination in the service request:

(16) 1) returning, by the execution node, the processing result to the service result output destination; 2) returning the processing result to the service request accessing node, and then returning, by the service request accessing node, it back to the service result output destination;

(17) 3) returning the processing result to a specified node in the neighborhood node set, and then returning, by the specified node, it back to the service result output destination.

(18) Step 5), releasing resources occupied for service processing, updating current status information of nodes and releasing the candidate service nodes for the service request accessing node, if the node selected in step 4) executes and completes the requested task and the service requesting end has achieved the task objective.

(19) In addition, the present embodiments further provide a non-volatile computer readable medium with computer readable instructions stored thereon which, upon executed by one or more processors, cause the one or more processors to perform the following steps:

(20) step 101) considering node p.sub.i in a network as a service request accessing node, when the node p.sub.i receives a service request command r;

(21) wherein, the request command r comprises: a requested service type k.sub.r, processing requirements .sub.k.sub.r of the requested service, a requested date volume .sub.k.sub.r, a time limit t.sub.k.sub.r for the node to respond the service request command;

(22) step 102) extracting service type information and QoS demand regarding a request contained in the service request command, selecting by means of a candidate service point selection module a candidate service node, in conjunction with a neighborhood information index table and a neighborhood node set maintained by the node p.sub.i, and then to obtain a set of candidate service nodes .sub.i.sup.r with a size of N.sub.i,r;

(23) step 103) matching by a scheduling module, according to the set time limit t.sub.k.sub.r for the node to respond the service request command, the service request with services which the candidate service nodes are capable of providing, to select a final service execution node;

(24) step 104) providing service directly by the current service request accessing node, if the service node selected in step 103) is the current service request accessing node;

(25) transmitting the service request command to the execution node and executing the requested service by the execution node, if the execution node is a node from a candidate service node list.

(26) Optionally, the above described candidate service point selection module selects a candidate service node utilizing the following selection function:
.sub.i.sup.r=F()=F.sub.3(F.sub.2(F.sub.1()))
where
F.sub.1(.sub.i.sup.r)=.sub.i,1.sup.r={.sub.j.sub.i.sup.r|t.sub.i,j,k.sub.r=T(i,j,.sub.k.sub.r)+D(i,j,.sub.k.sub.r)min(T(i,i,.sub.k.sub.r),t.sub.k.sub.r)}
F.sub.2(.sub.i,1.sup.r)=.sub.i,2.sup.r={.sub.j.sub.i,1.sup.r| selecting the first N.sub.k.sub.r from .sub.i,1.sup.r ordered from small to large by t.sub.i,j,k.sub.r}
F.sub.3()=.sub.i.sup.r={.sub.j.sub.i,2.sup.r|.sub.j,k.sub.r1 service type k.sub.r loadable by p.sub.j}

(27) the above described .sub.j={w.sub.i, s.sub.up, s.sub.cur, c.sub.up, c.sub.cur, v.sub.1, . . . , v.sub.k, . . . , v.sub.M}, where w.sub.j represents the usable bandwidth of node p.sub.j, s.sub.up and s.sub.cur represents respectively the maximum storage capacity and the currently occupied storage capacity of node p.sub.j, c.sub.up and c.sub.cur represents respectively the maximum computing ability and the currently occupied computing ability of node p.sub.j, v.sub.k represents the ability measurement of node p.sub.j when a service of type k is processed by the node p.sub.j, M is the total amount of all service types which all the nodes in the neighborhood node set are capable of implementing;

(28) the above described function T(i,j,.sub.k.sub.r) represents the time spent if the requested service is processed on node p.sub.j, after node p.sub.i receives the service request command r with a processing amount of .sub.k.sub.r;

(29) the above described function D(i,j,.sub.k.sub.r) represents the time required for returning a service result to a service result output destination by utilizing the usable bandwidth between the service request accessing node p.sub.i and any node p.sub.j in neighborhood node set thereof.

(30) Further optionally, after the above described step 104), the following step is further included:

(31) step 105) releasing resources of the execution node occupied for service processing, updating current status information of the service request accessing node and the execution node, and releasing the candidate service nodes for the service request accessing node.

(32) In a word, an objective of the technical solution provided in the present description lies in solving problems of network task efficient processing and nearby services, thereby providing a computing method through which the service node scope is flexible and adjustable, the service resource area is dynamic and autonomous, and the service provider is close to a source originating a request. With the above described embodiments, information on network edge node close to a service request may be detected and maintained to dynamically and flexibly construct a computing service network, high efficient on-site services may be provided to processing requests with low-delay service requirements, thereby meeting the increasing network processing demand and providing a new distributed network processing system.

(33) Finally, it should be explained that the aforementioned embodiments are merely used for illustrating, rather than limiting the technical solutions of the present claims. Although described in detail with reference to the embodiments, those skilled in the art will understand that modifications or equivalent substitutions can be made to the technical solutions without departing from the scope and spirit of the technical solutions, and thereby should all be encompassed within the scope of the claims.