CN1744593B - A Selection Method of Transmission Link - Google Patents
A Selection Method of Transmission Link Download PDFInfo
- Publication number
- CN1744593B CN1744593B CN200410064285.1A CN200410064285A CN1744593B CN 1744593 B CN1744593 B CN 1744593B CN 200410064285 A CN200410064285 A CN 200410064285A CN 1744593 B CN1744593 B CN 1744593B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- transmission link
- transport layer
- processing
- application layer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 98
- 238000010187 selection method Methods 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 281
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 26
- 230000006854 communication Effects 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims 2
- 230000005856 abnormality Effects 0.000 claims 1
- 238000013523 data management Methods 0.000 abstract description 11
- 238000004883 computer application Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种传输链路的选择方法,该方法将负载分担算法和负载数据管理进行分离并分别设置于处理单元的应用层和传输层,通过应用层和传输层来协作完成分布式应用的处理任务分发过程。该方法包括:应用层首先检测是否存在到可以处理该任务的目的处理单元的传输链路,如果存在,则使用该传输链路完成处理任务分发过程;否则,应用层选择适当的负载分担算法,并通过传输接口向传输层请求可用的传输链路;传输层使用负载分担算法在其所维护的处理单元候选集中选择一个合适的处理单元,并建立到该处理单元的传输链路;应用层保存并使用传输层返回的传输链路完成处理任务的分发。本发明实现了处理任务的快速分发,提高了分布式应用的系统伸缩性。
The invention discloses a method for selecting a transmission link. The method separates the load sharing algorithm and the load data management and sets them respectively in the application layer and the transmission layer of the processing unit, and cooperates to complete the distributed application through the application layer and the transmission layer. The processing task distribution process. The method includes: the application layer first detects whether there is a transmission link to the destination processing unit that can process the task, and if it exists, uses the transmission link to complete the task distribution process; otherwise, the application layer selects an appropriate load sharing algorithm, And request an available transmission link from the transport layer through the transport interface; the transport layer uses a load sharing algorithm to select a suitable processing unit from the candidate set of processing units it maintains, and establishes a transmission link to the processing unit; the application layer saves And use the transmission link returned by the transport layer to complete the distribution of processing tasks. The invention realizes the rapid distribution of processing tasks and improves the system scalability of distributed applications.
Description
技术领域technical field
本发明涉及到计算机分布式应用系统的处理单元间通信技术,特别涉及到与多个目的处理单元通信时的传输链路选择的方法。The invention relates to the communication technology among processing units of a computer distributed application system, in particular to a method for selecting a transmission link when communicating with multiple purpose processing units.
背景技术Background technique
随着信息技术的不断发展,计算机应用系统的规模正在加速膨胀,为了满足计算机应用系统复杂程度不断上升的需要,应用程序的组件化和模块化已是大势所趋。很多计算机应用系统已经出现了越来越专门化的模块分工,将复杂的应用程序划分称为多个模块,由多个处理单元分别处理,其中的各个模块只关注应用系统一个很小的方面,例如,使用专门的处理单元接入用户、使用专门的处理单元管理状态数据等等。各个处理单元之间通过各种通信手段进行相互通信,将处理结果结合起来,对外形成一个整体,提供强大的服务功能。在此所述的处理单元也可以理解为通常所说的进程。With the continuous development of information technology, the scale of computer application systems is expanding rapidly. In order to meet the needs of increasing complexity of computer application systems, componentization and modularization of application programs has become the general trend. Many computer application systems have seen more and more specialized modular division of labor. The complex application program is divided into multiple modules, which are processed by multiple processing units. Each module only focuses on a small aspect of the application system. For example, use a dedicated processing unit to access users, use a dedicated processing unit to manage status data, and so on. Each processing unit communicates with each other through various communication means, combines the processing results, forms an external whole, and provides powerful service functions. The processing unit described here can also be understood as a so-called process.
上述这种类流水线的作业方式大大提高了计算机应用系统的伸缩性,即当计算机应用系统中的某个处理单元的性能出现了瓶颈,只要增加该处理单元的处理能力就可以满足系统的要求,因此,可以方便的对应用系统的处理能力进行实时的调整。The above-mentioned pipeline-like operation method greatly improves the scalability of the computer application system, that is, when the performance of a certain processing unit in the computer application system has a bottleneck, as long as the processing capacity of the processing unit is increased, the system requirements can be met. Therefore, , it is convenient to adjust the processing capacity of the application system in real time.
不过,计算机应用系统各处理单元的协作是依赖通信平台支持的,因此,上述类流水线的作业方式虽然降低了系统的复杂度,提高了系统的伸缩性,但同时也增加了各处理单元之间的通信压力,进而可能影响整个系统的性能。这样一来,提高各个处理单元之间协作的效率将成为提高计算机应用系统整体性能的一个重要的手段。However, the cooperation of each processing unit in the computer application system depends on the support of the communication platform. Therefore, although the above-mentioned operation mode of the pipeline reduces the complexity of the system and improves the scalability of the system, it also increases the communication between the processing units. communication pressure, which may affect the performance of the entire system. In this way, improving the efficiency of cooperation between various processing units will become an important means to improve the overall performance of the computer application system.
在这里,如何提高协作效率包括以下两个方面的问题:首先,如何将协作通知以最快的速度发送到目的处理单元;其次,如何在能够处理当前任务的处理单元中获得处理速度最快的目的处理单元。Here, how to improve cooperation efficiency includes the following two aspects: first, how to send the cooperation notification to the destination processing unit at the fastest speed; second, how to obtain the fastest processing speed among the processing units that can process the current task. destination processing unit.
针对上述提高协作效率的第一个问题,通常可以采用最普通,也是最基础的套接字(Socket)通信模式实现将协作通知以最快的速度发送到目的处理单元的目的。Socket可以有效的实现进程之间快速通信,但是直接应用Socket实现进程间通信限制了系统的伸缩性,灵活性较差,而且软件重用能力不好。为此,网络编程人员通常将Socket作为通信的基础模块封装在通信单元中,而在实际的进程间通信过程中,直接调用通信单元,这样可以灵活、简单的实现进程间通信。For the above-mentioned first problem of improving cooperation efficiency, usually the most common and basic socket (Socket) communication mode can be used to realize the purpose of sending the cooperation notification to the destination processing unit at the fastest speed. Socket can effectively realize fast communication between processes, but the direct application of Socket to realize inter-process communication limits the scalability of the system, the flexibility is poor, and the software reuse ability is not good. For this reason, network programmers usually encapsulate Socket as the basic module of communication in the communication unit, and in the actual process of inter-process communication, directly call the communication unit, so that inter-process communication can be realized flexibly and simply.
针对上述提高协作效率的第二个问题,即解决如何在可以处理当前任务的处理单元中选择处理速度最快的处理单元的问题,一般可以引入负载分担机制,即在进程通信前,先通过负载分担机制选择当前负载最轻的处理单元进行处理。Aiming at the above-mentioned second problem of improving cooperation efficiency, that is, to solve the problem of how to select the processing unit with the fastest processing speed among the processing units that can handle the current task, a load sharing mechanism can generally be introduced, that is, before the process communicates, first pass the load The sharing mechanism selects the processing unit with the lightest current load for processing.
当前在分布式应用中有效结合上述两方面的解决方案一般是采用分层的形式实现,即抽象出一个传输层来专门负责管理处理单元之间的通信。整个系统的应用模块将基于该传输层的通信支持进行开发,传输层向上为应用程序提供通信服务接口,应用模块通过这一接口,使用传输层提供的服务,完成处理单元之间的数据传输。The current solutions that effectively combine the above two aspects in distributed applications are generally implemented in a layered form, that is, a transport layer is abstracted to be responsible for managing communication between processing units. The application modules of the entire system will be developed based on the communication support of the transport layer. The transport layer provides communication service interfaces for applications upwards. Through this interface, the application modules use the services provided by the transport layer to complete data transmission between processing units.
图1显示了当前一种典型的计算机应用系统实现处理单元之间通信的抽象模型。从图1可以看出,该模型的各个处理单元可以抽象成以下几层模块:底层模块、传输层以及应用层。其中,底层模块包括操作系统、中间件以及各种通用的模块;传输层负责管理和维护处理单元之间的传输链路,并使用定制的负载分担算法从候选集中选择处理单元;应用层实现业务逻辑,应用传输层服务完成数据通信。Figure 1 shows an abstract model of communication between processing units in a typical computer application system. As can be seen from Figure 1, each processing unit of the model can be abstracted into the following layers of modules: the underlying module, the transport layer and the application layer. Among them, the underlying modules include operating system, middleware, and various common modules; the transport layer is responsible for managing and maintaining the transmission links between processing units, and uses a customized load sharing algorithm to select processing units from the candidate set; the application layer implements business Logic, application transport layer services to complete data communication.
在系统的运行过程中,应用层向传输层提交传输请求,传输层分析请求的任务,应用负载分担算法选择一个可以处理本次任务的处理单元,并通过建立和使用到该处理单元的传输链路来完成传输过程。During the operation of the system, the application layer submits a transmission request to the transport layer, the transport layer analyzes the requested task, applies the load sharing algorithm to select a processing unit that can handle this task, and establishes and uses the transmission chain to the processing unit way to complete the transfer process.
可以看出,在图1所示的处理单元进行通信的过程中,每一次通信过程都要首先应用已经确定的负载分担算法从可以处理本次任务的处理单元的中选择一个处理单元,然后再通过到该处理单元的传输路径完成数据通信。It can be seen that in the communication process of the processing units shown in Figure 1, each communication process must first apply the determined load sharing algorithm to select a processing unit from the processing units that can handle this task, and then Data communication is done through the transmission path to the processing unit.
这样一来,每一次通信过程所花费的时间就都将包括:检索可以处理本次任务的目的处理单元,并确定到相应处理单元的传输路径所需的时间;以及在该传输路径上传输数据包所用的时间。这里检索和定位传输链路只是辅助处理单元协作,并不是分布式系统处理单元协作必须花费的时间。In this way, the time spent in each communication process will include: the time required to retrieve the destination processing unit that can handle this task, and determine the transmission path to the corresponding processing unit; and transmit data on the transmission path The time taken by the package. Here, retrieving and locating the transmission link is only an auxiliary processing unit cooperation, and it is not the necessary time for the distributed system processing unit cooperation.
另外,一个大型计算机应用系统的特点是多样的,因此,在传输层应用预先确定的负载分担算法并不总是对所有的通信情况都能有效的发挥作用。例如,在现有技术中,负载分担通常是通过传输层在可以处理本次任务的目的处理单元中随机选择,这种随机选择算法在总体上表现为所有处理单元负载平均的效果,即传输层在候选集中所有的处理单元中平均分配请求处理的任务。这种负载分担算法虽然简单、易于实现,并且可以基本上平均发挥各个处理单元的处理能力,但是,在实际的应用中是有一定局限性的。例如,在系统动态加入某个新的处理单元或者升级某个处理单元时,该处理单元的处理能力,包括中央处理器以及内存等,都可能与原有的处理单元有较大的偏差,在这种情况下,随机选择算法显然不能充分发挥新加入或者新升级处理单元的处理能力。造成新加入或者新升级的处理单元无法快速和整个系统融合的问题。In addition, the characteristics of a large-scale computer application system are diverse, so applying a predetermined load sharing algorithm at the transport layer does not always work effectively for all communication situations. For example, in the prior art, load sharing is usually randomly selected among the destination processing units that can handle this task through the transport layer. This random selection algorithm generally shows the effect of load averaging of all processing units, that is, the transport layer The task of request processing is evenly distributed among all processing units in the candidate set. Although this load sharing algorithm is simple, easy to implement, and can basically utilize the processing capabilities of each processing unit on an average basis, it has certain limitations in practical applications. For example, when the system dynamically adds a new processing unit or upgrades a certain processing unit, the processing capability of the processing unit, including the central processing unit and memory, may have a large deviation from the original processing unit. In this case, the random selection algorithm obviously cannot fully utilize the processing capability of the newly added or newly upgraded processing unit. This causes the problem that newly added or newly upgraded processing units cannot be quickly integrated with the entire system.
发明内容Contents of the invention
为了解决上述技术问题,本发明提供了一种传输链路的选择方法,可以最大程度的减少检索处理单元的时间,实现快速的处理任务分发。In order to solve the above technical problems, the present invention provides a method for selecting a transmission link, which can minimize the time for retrieving processing units and realize rapid processing task distribution.
本发明进一步的目的是更有效的在处理单元间分配负载,提高各个处理单元的协作性能。A further object of the present invention is to more effectively distribute load among processing units and improve the cooperation performance of each processing unit.
本发明所述传输链路的选择方法,将负载分担算法处理和负载数据管理分离并分别设置于处理单元的应用层和传输层,并在应用层和传输层之间通过传输接口传递负载分担算法信息,协作完成处理任务的分发过程;The transmission link selection method of the present invention separates the load sharing algorithm processing from the load data management and sets them respectively in the application layer and the transmission layer of the processing unit, and transmits the load sharing algorithm through the transmission interface between the application layer and the transmission layer Information, collaboratively complete the distribution process of processing tasks;
该方法包括以下步骤:The method includes the following steps:
a、应用层检测是否存在可以处理本次任务的处理单元的传输链路,如果存在,则使用该传输链路完成本次任务的分发过程,然后结束;否则,执行步骤b;a. The application layer detects whether there is a transmission link of the processing unit that can process this task, if it exists, use this transmission link to complete the distribution process of this task, and then end; otherwise, execute step b;
b、应用层根据应用程序的特点选择适合的负载分担算法;并通过传输接口请求传输层提供合适的传输链路,然后执行步骤c;b. The application layer selects a suitable load sharing algorithm according to the characteristics of the application program; and requests the transmission layer to provide a suitable transmission link through the transmission interface, and then performs step c;
c、传输层判断是否存在可以处理本次任务的处理单元,如果存在,则根据应用层选择的负载分担算法从可以处理本次任务的处理单元中选择合适的处理单元,然后,使用到所选择处理单元的传输链路完成处理单元之间的通信;否则,进行异常处理,然后结束。c. The transport layer judges whether there is a processing unit that can handle this task. If it exists, select an appropriate processing unit from the processing units that can handle this task according to the load sharing algorithm selected by the application layer, and then use the selected The transmission link of the processing unit completes the communication between the processing units; otherwise, it performs exception handling and ends.
所述方法进一步包括:在传输层建立传输链路并返回传输层链路标记后,应用层创建应用层路由标记,并通过智能指针建立到该传输链路的关联。The method further includes: after the transmission layer establishes the transmission link and returns the transmission layer link label, the application layer creates the application layer routing label, and establishes an association to the transmission link through a smart pointer.
并且,在传输链路状态发生变化时,传输层修改其保存的传输层链路标记状态;应用层路由标记通过智能指针自动获知该传输链路状态的变化。Moreover, when the state of the transmission link changes, the transport layer modifies the state of the transport layer link mark saved by it; the application layer routing mark automatically learns the change of the state of the transmission link through the smart pointer.
步骤a所述检测是否存在到可以处理本次任务的处理单元的传输链路的方法具体为:应用层检测应用层路由标记的智能指针是否有效。The method for detecting whether there is a transmission link to the processing unit capable of processing this task in step a is specifically: the application layer detects whether the smart pointer of the application layer routing mark is valid.
步骤b所述的根据应用的特点选择适合的负载分担算法具体为:应用程序根据应用所需的处理器能力,或所需的内存资源,或所需的网络带宽资源,或三者的任意组合选择适合的负载分担算法。The selection of a suitable load sharing algorithm according to the characteristics of the application described in step b is specifically: the application program is based on the processor capacity required by the application, or the required memory resources, or the required network bandwidth resources, or any combination of the three Select an appropriate load sharing algorithm.
步骤c进一步包括:在所述传输层选择目的处理单元之后,传输层首先判断是否存在到所选择处理单元的传输链路,如果存在,则使用该传输链路完成处理单元之间的通信过程;否则,传输层建立到所选择处理单元的传输链路,然后使用建立的传输链路完成处理单元之间的通信过程。Step c further includes: after the transport layer selects the destination processing unit, the transport layer first judges whether there is a transmission link to the selected processing unit, and if so, uses the transmission link to complete the communication process between the processing units; Otherwise, the transport layer establishes a transmission link to the selected processing unit, and then uses the established transmission link to complete the communication process between the processing units.
所述方法进一步包括:处理单元接收其他处理单元广播的负载数据,并根据其他处理单元的负载数据进行分类汇总,生成处理单元候选集合;步骤c所述从可以处理本次任务的处理单元选择目的处理单元具体为:在可以处理本次任务的处理单元候选集合中选择目的处理单元。The method further includes: the processing unit receives the load data broadcast by other processing units, and classifies and summarizes the load data of other processing units to generate a processing unit candidate set; in step c, select the target from the processing unit that can handle this task Specifically, the processing unit is: selecting the target processing unit from the processing unit candidate set that can process the current task.
所述负载数据包括处理单元可以处理的任务类型、处理单元的处理能力以及处理单元的当前负载量。The load data includes the types of tasks that the processing unit can process, the processing capability of the processing unit, and the current load of the processing unit.
步骤c所述的负载分担算法为:当前处理单元的传输层在所有可以处理本次任务的处理单元候选集合中搜索负载最轻的处理单元。The load sharing algorithm described in step c is: the transport layer of the current processing unit searches for the processing unit with the lightest load in all the processing unit candidate sets that can process this task.
处理单元在进行步骤c所述负载分担之前设置搜索步长值;并在可以处理本次任务的处理单元候选集合中设置一个搜索基准指针,指向搜索起始位置的处理单元;所述步骤b所述的负载分担算法包括以下步骤:The processing unit sets the search step size value before carrying out the load sharing described in step c; and sets a search reference pointer in the processing unit candidate set that can handle this task, pointing to the processing unit at the starting position of the search; The load sharing algorithm described includes the following steps:
b1、本处理单元在可以处理本次任务的处理单元候选集合中,从所述搜索基准指针所指的处理单元开始,比较搜索步长值个数的处理单元的负载情况,并从中选择负载最轻的处理单元;b1. In the processing unit candidate set that can handle this task, the processing unit starts from the processing unit pointed to by the search reference pointer, compares the load conditions of the processing units with the number of search step values, and selects the load with the lowest load. light processing unit;
b2、将所述搜索基准指针向前移动所述搜索步长值的一半,指向下次搜索起始位置的处理单元。b2. Move the search reference pointer forward by half of the search step value to point to the processing unit at the starting position of the next search.
由此可以看出,应用本发明所述的传输链路选择方法可以获得以下有益效果:It can be seen that the application of the transmission link selection method of the present invention can obtain the following beneficial effects:
1、本发明通过使用传输链路标记,在处理任务分发时,选择使用应用层路由标记所保存的传输链路,而不用重复检索处理单元,从而减少了传输链路选择的时间,实现了快速的传输链路选择,同时也避免了传输链路的二次建立过程;1. The present invention selects the transmission link saved by the application layer routing label by using the transmission link label when processing task distribution, without repeatedly retrieving the processing unit, thereby reducing the time for transmission link selection and realizing fast The selection of the transmission link, and also avoid the secondary establishment process of the transmission link;
2、本发明通过让应用程序实现负载分担算法功能,而在传输层实现负载数据管理的功能,可以充分根据进程的特点灵活的引入各种负载分担算法,从而更有效的发挥各处理单元的处理能力,提高处理单元之间的协作性能,以及分布式应用的系统伸缩性。2. The present invention implements the load sharing algorithm function by the application program, and realizes the load data management function at the transport layer, and can flexibly introduce various load sharing algorithms according to the characteristics of the process, thereby more effectively utilizing the processing of each processing unit Capability, improved collaboration performance between processing units, and system scalability for distributed applications.
附图说明Description of drawings
图1显示了目前典型的计算机应用系统处理单元之间通信的抽象模型;Figure 1 shows the abstract model of communication between the processing units of a typical computer application system at present;
图2显示了本发明一个优选实施例所述的应用系统实现处理单元之间通信的抽象模型;Fig. 2 has shown the abstract model that the application system described in a preferred embodiment of the present invention realizes the communication between the processing units;
图3为本发明一个优选实施例所述的应用层通信方法的流程图;Fig. 3 is a flow chart of the application layer communication method described in a preferred embodiment of the present invention;
图4为本发明一个优选实施例所述的处理单元应用层路由标记和传输层链路标记的关系示意图;4 is a schematic diagram of the relationship between the processing unit application layer routing mark and the transport layer link mark described in a preferred embodiment of the present invention;
图5为本发明一个优选实施例所述的负载分担算法流程图。Fig. 5 is a flowchart of a load sharing algorithm according to a preferred embodiment of the present invention.
具体实施方式Detailed ways
下面结合附图以及具体的实施例对本发明作进一步的详细说明。The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
为了实现分布式应用系统各处理单元更好的协作,本发明的一个优选实施例对现有的负载分担处理方法进行了改进。图2显示了该实施例所述的计算机应用系统实现处理单元之间通信的抽象模型。如图2所示,所述实施例将负载分担算法处理和负载数据管理分离并分别设置于处理单元的应用层和传输层,并在应用层和传输层之间通过传输接口(TI,Transport Interface)传递负载分担算法信息,协作完成处理任务的分发过程。In order to achieve better cooperation among processing units of the distributed application system, a preferred embodiment of the present invention improves the existing load sharing processing method. Fig. 2 shows the abstract model of the communication between the processing units implemented by the computer application system described in this embodiment. As shown in Figure 2, the embodiment separates the load sharing algorithm processing and the load data management and is respectively arranged in the application layer and the transport layer of the processing unit, and between the application layer and the transport layer through a transport interface (TI, Transport Interface) ) transfer the load sharing algorithm information, and cooperate to complete the distribution process of processing tasks.
其中,位于应用层的负载分担算法处理模块可以根据应用自身的特点选择适合的负载分担算法。例如,某个应用对处理能力以及内存资源的要求很高,应用程序所设计的负载分担算法就可以选择当前处理能力最强、内存资源最空闲的处理单元;而如果某个进程对带宽资源要求比较高,应用程序所设计的负载分担算法就可以选择到本处理单元传输链路带宽最宽的处理单元。应用层的负载分担算法处理模块甚至可以考虑随着处理单元候选集合中处理单元负载状况的变化更新负载分担算法,比如,如果处理单元候选集合处理单元负载普遍较轻,就没有必要选择太精确的负载分担算法。Wherein, the load sharing algorithm processing module at the application layer can select a suitable load sharing algorithm according to the characteristics of the application itself. For example, if an application has high requirements on processing power and memory resources, the load sharing algorithm designed by the application can select the processing unit with the strongest processing power and the most idle memory resources; If it is relatively high, the load sharing algorithm designed by the application program can select the processing unit with the widest transmission link bandwidth to this processing unit. The load sharing algorithm processing module of the application layer may even consider updating the load sharing algorithm as the load status of the processing units in the candidate set of processing units changes. Load sharing algorithm.
而位于传输层的负载数据管理模块用于收集和管理其他处理单元的负载数据,例如,其他处理单元可以处理的任务类型,正在运行的任务数目以及最大处理能力等等,然后对其他处理单元的负载数据进行分类汇总,形成针对各类处理目标的处理单元候选集合,并生成其他处理单元的负载指标。每个处理单元候选集合实时的反映了当前可为某种处理目标服务的处理单元的数量以及状态。The load data management module located in the transport layer is used to collect and manage the load data of other processing units, for example, the types of tasks that other processing units can handle, the number of tasks that are running, and the maximum processing capacity, etc., and then analyze the load data of other processing units The load data is classified and summarized to form a processing unit candidate set for various processing targets, and generate load indicators for other processing units. Each processing unit candidate set reflects the number and status of processing units that can currently serve a certain processing target in real time.
这样,通过图2所述的抽象模型,改变了现有技术中由于负载分担功能在传输层实现而带来的种种限制,在分布式应用系统中可以更有效的发挥各个处理单元的处理能力,提高处理单元之间的协作性能。In this way, through the abstract model described in Figure 2, various limitations in the prior art due to the realization of the load sharing function at the transport layer are changed, and the processing capabilities of each processing unit can be more effectively utilized in the distributed application system. Improve collaboration performance between processing units.
另外,为了进一步降低建立及选择到目的处理单元的传输链路所需的时间,实现快速的链路选择及通信过程,本发明的优选实施例在处理单元应用层的负载分担算法处理模块引入了应用层路由标记,该应用层路由标记用于记录该处理单元到相应目的处理单元的传输路由,以作为后续传输过程是否重选传输链路的依据。In addition, in order to further reduce the time required for establishing and selecting the transmission link to the destination processing unit and realize fast link selection and communication process, the preferred embodiment of the present invention introduces An application layer routing mark, which is used to record the transmission route from the processing unit to the corresponding destination processing unit, as a basis for whether to reselect the transmission link in the subsequent transmission process.
下面结合图2进行说明,如果处理单元1建立与处理单元2的传输链路,则处理单元1应用层的负载分担算法处理模块将保存一个到处理单元2的应用层路由标记。而如果处理单元1到处理单元2的传输链路出现异常,则处理单元1应用层的负载分担算法处理模块应该释放该到处理单元2的应用层路由标记。这样,在下一次处理单元1与处理单元2的通信过程中,处理单元1的应用层可以首先检测相应的应用层路由标记是否有效,如果该应用层路由标记有效,则处理单元1就可以直接通过该应用层路由标记所记录的已经建立的传输链路进行数据通信,而无需再次启动负载分担过程,从而节省了搜索、选择处理单元的时间,实现了快速的传输链路选择。由此,应用程序就可以充分利用已建立的传输链路进行数据传输,而不需要在每一次的通信过程中都检索并选择处理单元,进而实现了进程间的快速通信。It will be described below in conjunction with FIG. 2 . If the processing unit 1 establishes a transmission link with the processing unit 2 , the load sharing algorithm processing module of the application layer of the processing unit 1 will save an application layer routing mark to the processing unit 2 . And if the transmission link from processing unit 1 to processing unit 2 is abnormal, the load sharing algorithm processing module of the application layer of processing unit 1 should release the application layer routing label to processing unit 2 . In this way, in the next communication process between processing unit 1 and processing unit 2, the application layer of processing unit 1 can first detect whether the corresponding application layer routing flag is valid, and if the application layer routing flag is valid, then processing unit 1 can directly pass through The established transmission link recorded by the application layer routing mark performs data communication without restarting the load sharing process, thereby saving time for searching and selecting processing units, and realizing fast transmission link selection. Thus, the application program can make full use of the established transmission link for data transmission, without the need to retrieve and select a processing unit during each communication process, thereby realizing fast communication between processes.
图3显示了本发明一个优选实施例所述传输链路的选择过程。如图3所示,本发明所述传输链路的选择过程包括如下步骤:Fig. 3 shows the selection process of the transmission link according to a preferred embodiment of the present invention. As shown in Figure 3, the selection process of the transmission link of the present invention includes the following steps:
步骤301:应用程序发送传输请求到处理单元应用层的负载分担算法处理模块,该传输请求中包含待其他处理单元处理的任务;Step 301: the application program sends a transfer request to the load sharing algorithm processing module of the application layer of the processing unit, and the transfer request includes tasks to be processed by other processing units;
步骤302:负载分担算法处理模块检测是否存在与可以处理步骤301所述任务的处理单元相对应的应用层路由标记,如果有,则执行步骤306;否则,则执行步303;Step 302: The load sharing algorithm processing module detects whether there is an application layer routing mark corresponding to the processing unit that can process the task described in
步303:负载分担算法处理模块选择适合的负载分担算法,使用本次任务的特征信息通过传输接口向传输层请求传输链路;传输层判断是存在相应的处理单元候选集合,如果有,则执行步304;否则,执行步307;Step 303: The load sharing algorithm processing module selects a suitable load sharing algorithm, uses the feature information of this task to request a transmission link from the transport layer through the transport interface; the transport layer judges that there is a corresponding processing unit candidate set, and if so, executes
步304:传输层根据选择的负载分担算法,选择适合的处理单元,并判断是否存在到所选择处理单元的传输链路,如果存在,则执行步305;否则,传输层建立到所选择处理单元的传输链路,然后,执行步305;Step 304: The transport layer selects a suitable processing unit according to the selected load sharing algorithm, and judges whether there is a transmission link to the selected processing unit, and if so, executes
步305:负载分担算法处理模块保存该应用层路由标记,然后,执行步306;Step 305: the load sharing algorithm processing module saves the application layer routing mark, and then executes
步306:负载分担算法处理模块使用该应用层路由标记所记录的传输链路完成进程间通信;Step 306: The load sharing algorithm processing module uses the transmission link recorded by the application layer routing label to complete the inter-process communication;
步307:应用程序进行异常处理,标志本次处理任务分发过程失败。Step 307: The application program handles the exception, marking the failure of the current processing task distribution process.
为了实现图3所示的方法,必须保证处理单元应用层的负载分担算法处理模块所保存的应用层路由标记实时的反映当前本处理单元与其他处理单元之间传输链路的状态。但是,由于处理单元的分层结构以及系统设计的通信单元封装原则,虽然负责管理和维护处理单元之间传输链路的传输层可以实时的获得传输链路的状态,但是传输层没有直接的接口可以通知应用层传输链路的状态已经改变。这样,就很可能会产生应用层的负载分担算法处理模块所保存的应用层路由标记与实际的链路状态不一致的情况。很明显,这将导致通信过程的失败。In order to realize the method shown in FIG. 3 , it must be ensured that the application layer routing flag saved by the load sharing algorithm processing module of the processing unit application layer reflects the current state of the transmission link between the processing unit and other processing units in real time. However, due to the hierarchical structure of processing units and the encapsulation principle of communication units in system design, although the transport layer responsible for managing and maintaining transmission links between processing units can obtain the status of transmission links in real time, the transport layer has no direct interface The application layer can be notified that the state of the transport link has changed. In this way, it is very likely that the application layer routing label saved by the load sharing algorithm processing module of the application layer is inconsistent with the actual link state. Obviously, this will lead to the failure of the communication process.
为了决这一问,本发明的一个优选实施例在建立传输链路时,处理单元的传输层也建立一个传输层链路标记,记录该处理单元到相应处理单元的传输链路。图4为该优选实施例所述的处理单元应用层路由标记和传输层链路标记关系的示意图。如图4所示,处理单元的传输层链路标记具体为传输层的连接对象,应用层路由标记具体为应用层的路由对象,这两个对象均标记同一个传输链路。其中,应用层的路由对象进一步包括一个指向传输层连接器对象的智能指针,通过该智能指针,保证传输层链路标记和应用层路由标记状态一致,实现传输层传输链路状态向应用层隐式透传的目的,即如果该智能指针不为空,则该应用层路由标记为有效状态;而如果该智能指针为空,则该应用层路由标记为无效状态。In order to solve this problem, when a transmission link is established in a preferred embodiment of the present invention, the transmission layer of the processing unit also creates a transmission layer link mark to record the transmission link from the processing unit to the corresponding processing unit. Fig. 4 is a schematic diagram of the relationship between the application layer routing label and the transport layer link label of the processing unit described in this preferred embodiment. As shown in FIG. 4 , the transport layer link tag of the processing unit is specifically the connection object of the transport layer, and the application layer routing tag is specifically the routing object of the application layer, and both objects mark the same transport link. Among them, the routing object of the application layer further includes a smart pointer pointing to the connector object of the transport layer. Through the smart pointer, the state of the link mark of the transport layer and the routing mark of the application layer are guaranteed to be consistent, and the transmission link state of the transport layer is hidden from the application layer. The purpose of transparent transmission is that if the smart pointer is not empty, the application layer route is marked as valid; and if the smart pointer is empty, the application layer route is marked as invalid.
在传输层建立传输链路时,处理单元在传输层和应用层分别建立一个连接器对象、一个路由对象,并且应用层的路由对象的智能指针指向相对应的传输层连接器对象。这两个对象都标记了到对应处理单元的传输链路。这样,在传输链路正常的情况下,应用程序可以通过其应用层路由对象的智能指针找到所标记的传输链路,并通过该传输链路完成数据通信。而当传输链路不可用时,传输层释放相应连接器对象的操作将导致应用层的路由对象变为无效状态。这样应用层路由标记就可以通过检测其智能指针实时的获得相应传输链路的状态。When establishing a transmission link at the transport layer, the processing unit establishes a connector object and a routing object at the transport layer and the application layer respectively, and the smart pointer of the routing object at the application layer points to the corresponding transport layer connector object. Both objects mark the transport link to the corresponding processing unit. In this way, when the transmission link is normal, the application program can find the marked transmission link through the smart pointer of its application layer routing object, and complete data communication through the transmission link. When the transmission link is unavailable, the operation of the transport layer to release the corresponding connector object will cause the routing object of the application layer to become invalid. In this way, the application layer routing tag can obtain the status of the corresponding transmission link in real time by detecting its smart pointer.
由此,负载分担算法处理模块通过检测应用层的路由对象的智能指针是否有效就可以实现步骤302所述的检测应用层路由标记是否存在的操作。Thus, the load sharing algorithm processing module can realize the operation of detecting whether the application layer routing mark exists in
另外,在本发明所述方法的步骤304,负载分担算法处理模块可以选择现有技术中的随机分担算法,也可以选择多种其他的负载分担算法,本发明并没有对负载分担算法的选择给予限制。In addition, in
本发明的一个优选实施例提供了一种负载分担算法以及负载数据管理的方法,该实施例的负载分担算法适于应用对负载分担精度要求较高的情况。另外,该实施例的负载数据管理利用目的处理单元的处理能力以及当前负载情况的负载数据等,在处理单元候选集合中实际负载与处理能力比值最小的处理单元,即当前负载最轻的处理单元。其中,处理单元候选集合是由传输层的负载数据管理模块建立并维护的。A preferred embodiment of the present invention provides a load sharing algorithm and a method for managing load data. The load sharing algorithm of this embodiment is suitable for applications requiring high load sharing accuracy. In addition, the load data management in this embodiment utilizes the processing capability of the target processing unit and the load data of the current load situation, etc., and the processing unit with the smallest ratio of actual load to processing capability in the processing unit candidate set, that is, the processing unit with the lightest current load . Wherein, the processing unit candidate set is established and maintained by the payload data management module of the transport layer.
为了实时获得其他处理单元的负载情况,处理能力以及可以处理的任务类型,每个处理单元会周期的广播这些值到其他处理单元的负载数据管理模块,广播的周期越短,传输层链路标记记录的数据就越准确,进而负载分担算法就越有效。但是,另一方面,广播周期的缩短将会导致处理单元之间传送的状态信息量加大,造成网络的负载变重,降低系统协作性能。该广播周期一般根据应用所期望的负载信息精确度来设定。In order to obtain the load status, processing capability and the types of tasks that can be processed by other processing units in real time, each processing unit periodically broadcasts these values to the load data management module of other processing units. The shorter the broadcast period, the higher the transport layer link mark The more accurate the recorded data, the more effective the load sharing algorithm will be. However, on the other hand, the shortening of the broadcast period will lead to an increase in the amount of status information transmitted between processing units, resulting in heavy loads on the network and reduced system collaboration performance. The broadcast period is generally set according to the load information accuracy expected by the application.
从上述负载分担算法以及负载数据管理方法可以看出,本实施例所述的负载数据管理并不会对处理单元候选集合的大小进行限制,因此,可以在系统中不断加入新的处理单元。另外,由于新加入系统的处理单元或新升级的处理单元当前负载为零,会在一段时间内成为处理任务分配的主要目标,直到该处理单元的负载与其他处理单元的负载逐渐持平为止,因此本实施例能够保证新的处理单元快速、无缝的融入整个分布式系统。It can be seen from the above load sharing algorithm and load data management method that the load data management described in this embodiment does not limit the size of the processing unit candidate set, therefore, new processing units can be continuously added to the system. In addition, because the current load of a newly added processing unit or a newly upgraded processing unit is zero, it will become the main target of processing task allocation for a period of time until the load of this processing unit is gradually equal to the load of other processing units, so This embodiment can ensure that the new processing unit is quickly and seamlessly integrated into the entire distributed system.
但是,在整个处理单元候选集合中搜索负载最轻的目的处理单元的时间复杂度是线性的,这样就会随着分布式应用系统规模的扩展出现算法退化的问题。因此,在本发明的另一个实施例中,其负载分担算法采用了次优搜索的算法,即搜索算法不再在整个处理单元候选集的范围内进行搜索,而是根据事先约定的经验搜索步长值Step,每次仅搜索指定步长Step个数的处理单元,并在这个搜索步长内找出一个负载最轻的处理单元作为该次处理任务分发的目的处理单元。该负载分担算法也适合当前任务分发处理单元负载较高的情况,这样就可以尽快将任务分发出去,降低处理能力占用。However, the time complexity of searching for the lightest-loaded destination processing unit in the entire processing unit candidate set is linear, so the problem of algorithm degradation will appear as the scale of the distributed application system expands. Therefore, in another embodiment of the present invention, its load sharing algorithm adopts a suboptimal search algorithm, that is, the search algorithm no longer searches within the scope of the entire processing unit candidate set, but searches according to the predetermined empirical search step A long value of Step, each time only searches for the number of processing units with the specified step size, and finds a processing unit with the lightest load within the search step as the target processing unit for the distribution of the processing task. This load sharing algorithm is also suitable for the current situation where the load of the task distribution processing unit is high, so that the tasks can be distributed as soon as possible to reduce the occupation of processing capacity.
图5为该优选实施例所述的负载分担算法流程图。如图5所示,本发明所述的负载分担算法在可以处理本次任务的处理单元候选集合中,设置一个搜索基准指针,指示本次搜索的起始位置,并通过控制该指针的移动实现候选集中每个处理单元均等的被选择机会;另外算法设定了一个经验搜索步长值Step,本实施例中该值被置为5;本发明所述负载分担算法包括以下步骤:Fig. 5 is a flow chart of the load sharing algorithm described in this preferred embodiment. As shown in Figure 5, the load sharing algorithm of the present invention sets a search reference pointer in the processing unit candidate set that can handle this task to indicate the starting position of this search, and realizes the task by controlling the movement of the pointer. Each processing unit in the candidate set has an equal chance of being selected; in addition, the algorithm sets an empirical search step value Step, which is set to 5 in the present embodiment; the load sharing algorithm of the present invention includes the following steps:
步骤501:从搜索基准指针所指的处理单元开始,比较步长值Step个处理单元的负载情况,并从中选择一个当前负载与处理能力比值最小的处理单元,即负载最轻的处理单元;Step 501: start from the processing unit pointed by the search reference pointer, compare the load conditions of Step processing units, and select a processing unit with the smallest ratio of current load to processing capacity, that is, the processing unit with the lightest load;
步骤502:将搜索基准指针向前移动步长值的一半,即移动Step/2个处理单元,作为下一次搜索的起始搜索点;Step 502: Move the search reference pointer forward by half of the step value, that is, move Step/2 processing units, as the starting search point for the next search;
步骤503:建立到该处理单元的传输链路,实现数据传输。Step 503: Establish a transmission link to the processing unit to realize data transmission.
在这一实施例中,通过多次的负载分担搜索过程,搜索基准指针可以在处理单元的候选集合中循环,使得处理单元候选集合中所有的处理单元都能够参与负载分担,因而保证了负载分担算法的公平性,基本实现充分发挥所有处理单元处理能力,实现各个处理单元之间有效的协作的目的。In this embodiment, through multiple load sharing search processes, the search reference pointer can circulate in the candidate set of processing units, so that all processing units in the candidate set of processing units can participate in load sharing, thus ensuring load sharing. The fairness of the algorithm basically realizes the purpose of giving full play to the processing capabilities of all processing units and realizing effective cooperation between each processing unit.
另外,所述负载分担算法是在预先设定的Step个处理单元之间选择负载最轻的处理单元,而不是在整个处理单元候选集合中检索,这样,就使得检索的时间大大减少,进而提高了应用程序搜索目的处理单元的效率。In addition, the load sharing algorithm is to select the processing unit with the lightest load among the preset Step processing units, rather than searching in the entire processing unit candidate set, so that the retrieval time is greatly reduced, thereby improving It improves the efficiency of the application program to search for the destination processing unit.
需要说明的是,上述处理单元处理能力为虚拟的处理能力,这个处理能力可能是系统的标称指标,也可能是系统的一个配置参数,甚至有可能是在一个硬件系统上实现多个处理单元的情况下,将该硬件系统的实际处理能力以某种方式分配到上述多个处理单元时,每个处理单元所配置的处理能力。It should be noted that the processing capacity of the above-mentioned processing units is a virtual processing capacity. This processing capacity may be the nominal index of the system, or it may be a configuration parameter of the system, and it is even possible to implement multiple processing units on one hardware system. In the case of , when the actual processing capacity of the hardware system is allocated to the above-mentioned multiple processing units in a certain way, the processing capacity configured by each processing unit.
由上述实施例可以看出,本发明所述的方法通过将负载分担算法处理功能移到处理单元的应用层,并且在传输层增加负载数据管理的功能,可以充分根据应用的特点灵活的引入各种负载分担算法,从而更有效的发挥了处理单元的处理能力,提高了处理单元之间的协作性能。It can be seen from the above embodiments that the method of the present invention can flexibly introduce various load sharing algorithms according to the characteristics of the application by moving the processing function of the load sharing algorithm to the application layer of the processing unit and adding the function of load data management at the transport layer. A load sharing algorithm is used to more effectively utilize the processing capacity of the processing unit and improve the cooperation performance between the processing units.
另外,本发明所述方法通过为传输链路设立标记的方法,可以在数据传输的时候使用保存在应用层路由标记的传输链路,而不用二次检索目的处理单元,从而减少了选择传输链路的时间,实现了快速有效的处理单元间协作。In addition, the method of the present invention can use the transmission link stored in the routing label of the application layer during data transmission by setting up a label for the transmission link, without retrieving the target processing unit twice, thereby reducing the number of selected transmission links. It realizes fast and effective collaboration among processing units.
以上举优选的实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所述为本发明的优选实施例而已,并不用以显示本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The preferred embodiments above are cited to further describe the purpose, technical solutions and advantages of the present invention in detail. It should be understood that the above descriptions are only preferred embodiments of the present invention, and are not intended to show the present invention. Within the spirit and principles of the present invention, any modifications, equivalent replacements, improvements, etc., shall be included in the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200410064285.1A CN1744593B (en) | 2004-08-30 | 2004-08-30 | A Selection Method of Transmission Link |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200410064285.1A CN1744593B (en) | 2004-08-30 | 2004-08-30 | A Selection Method of Transmission Link |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1744593A CN1744593A (en) | 2006-03-08 |
| CN1744593B true CN1744593B (en) | 2010-04-28 |
Family
ID=36139787
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200410064285.1A Expired - Fee Related CN1744593B (en) | 2004-08-30 | 2004-08-30 | A Selection Method of Transmission Link |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1744593B (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011141580A (en) * | 2010-01-05 | 2011-07-21 | Sony Corp | Access control device, data processing device, access control method and program |
| US8874751B2 (en) | 2011-12-01 | 2014-10-28 | International Business Machines Corporation | Candidate set solver with user advice |
| US10554782B2 (en) | 2011-12-01 | 2020-02-04 | International Business Machines Corporation | Agile hostpool allocator |
| US8898505B2 (en) | 2011-12-01 | 2014-11-25 | International Business Machines Corporation | Dynamically configureable placement engine |
| CN103023815B (en) * | 2012-12-26 | 2015-05-13 | 杭州华三通信技术有限公司 | Aggregation link load sharing method and device |
| CN114338390B (en) * | 2022-03-10 | 2022-07-12 | 广东统信软件有限公司 | A server configuration method, computing device and storage medium |
| US12489809B2 (en) | 2023-03-24 | 2025-12-02 | Samsung Electronics Co., Ltd. | Method, device, and system for optimizing load balancing algorithm according to application |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1030484A2 (en) * | 1999-01-29 | 2000-08-23 | Nortel Networks Corporation | Data link layer quality of service for UMTS |
| CN1504036A (en) * | 2001-03-12 | 2004-06-09 | �����ɷ� | Method and apparatus for providing multiple quality of service classes in a wireless packet data service connection |
-
2004
- 2004-08-30 CN CN200410064285.1A patent/CN1744593B/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1030484A2 (en) * | 1999-01-29 | 2000-08-23 | Nortel Networks Corporation | Data link layer quality of service for UMTS |
| CN1504036A (en) * | 2001-03-12 | 2004-06-09 | �����ɷ� | Method and apparatus for providing multiple quality of service classes in a wireless packet data service connection |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1744593A (en) | 2006-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Meng et al. | Dedas: Online task dispatching and scheduling with bandwidth constraint in edge computing | |
| US8769034B2 (en) | Query performance data on parallel computer system having compute nodes | |
| US8949847B2 (en) | Apparatus and method for managing resources in cluster computing environment | |
| CN102624881B (en) | Mobile-device-oriented service cache system architecture and development method | |
| CN110365787A (en) | Edge calculation optimization layout method based on micro-service framework and applied to container | |
| CN103210374A (en) | Dynamic creation and destruction of IO resources based on actual load and resource availability | |
| CN103516744A (en) | A data processing method, an application server and an application server cluster | |
| US11563690B2 (en) | Low latency queuing system | |
| EP2944072A2 (en) | System for service allocation | |
| CN102662754A (en) | Multi-field supportable virtual machine dispatching device and multi-field supportable virtual machine dispatching method | |
| Wang et al. | Hybrid pulling/pushing for i/o-efficient distributed and iterative graph computing | |
| CN105187327A (en) | Distributed message queue middleware | |
| CN117633102A (en) | Blockchain data integration methods, devices, computer equipment and storage media | |
| EP4323872A1 (en) | Hardware accelerator service aggregation | |
| CN107291544A (en) | Method and device, the distributed task scheduling execution system of task scheduling | |
| CN1744593B (en) | A Selection Method of Transmission Link | |
| US12259828B2 (en) | Forwarding incoming IO to SCM namespaces | |
| CN108519987A (en) | A kind of data persistence method and apparatus | |
| CN117234681A (en) | Data processing method, apparatus, device, storage medium, and program product | |
| CN116339640A (en) | Data handling method, system and related device | |
| CN101018122B (en) | Mode matching processing method and system | |
| Ali et al. | Probabilistic normed load monitoring in large scale distributed systems using mobile agents | |
| CN114157619A (en) | Message cache management method and device and network processor | |
| CN104331326A (en) | Scheduling method and system for cloud computing | |
| KR20030014513A (en) | Meshod and System of Sharing Client Data For Distributing Load of Server |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| ASS | Succession or assignment of patent right |
Owner name: CHINA POTEVIO CO., LTD. Free format text: FORMER OWNER: PUTIAN IT TECH INST CO., LTD. Effective date: 20130924 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| C56 | Change in the name or address of the patentee |
Owner name: PUTIAN IT TECH INST CO., LTD. Free format text: FORMER NAME: PUTIAN INST. OF INFORMATION TECHNOLOGY |
|
| CP03 | Change of name, title or address |
Address after: 100080 Beijing, Haidian, North Street, No. two, No. 6, No. Patentee after: PETEVIO INSTITUTE OF TECHNOLOGY Co.,Ltd. Address before: 100085, No. two, 2 street, base of information industry, Beijing Patentee before: POTEVIO Institute of Information Technology |
|
| TR01 | Transfer of patent right |
Effective date of registration: 20130924 Address after: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District Patentee after: CHINA POTEVIO CO.,LTD. Address before: 100080 Beijing, Haidian, North Street, No. two, No. 6, No. Patentee before: PETEVIO INSTITUTE OF TECHNOLOGY Co.,Ltd. |
|
| ASS | Succession or assignment of patent right |
Owner name: PUTIAN IT TECH INST CO., LTD. Free format text: FORMER OWNER: CHINA POTEVIO CO., LTD. Effective date: 20131205 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20131205 Address after: 100080 Beijing, Haidian, North Street, No. two, No. 6, No. Patentee after: PETEVIO INSTITUTE OF TECHNOLOGY Co.,Ltd. Address before: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District Patentee before: CHINA POTEVIO CO.,LTD. |
|
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100428 Termination date: 20210830 |