CN106462463A - 分配异构资源的装置、系统和方法 - Google Patents
分配异构资源的装置、系统和方法 Download PDFInfo
- Publication number
- CN106462463A CN106462463A CN201580023865.2A CN201580023865A CN106462463A CN 106462463 A CN106462463 A CN 106462463A CN 201580023865 A CN201580023865 A CN 201580023865A CN 106462463 A CN106462463 A CN 106462463A
- Authority
- CN
- China
- Prior art keywords
- resource
- client device
- server host
- direct
- request
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
一种用于分配异构资源的系统可包括客户端设备、多个异构资源和服务器主机。客户端设备可被配置成请求对一个或多个具体资源的访问,并且服务器主机可被配置成:响应于服务器主机确定一个或多个请求的资源的可用性而向客户端设备分配一个或多个请求的资源。客户端设备然后可建立对一个或多个请求的资源的直接和/或排他访问,并且绕过服务器主机而向一个或多个请求的资源传送命令并与其交换数据。服务器主机还可被配置成:将对不可用资源的请求排队,并且稍后在所述资源变得可用时授权对所述资源的访问。作为其它方面,还提供分配异构资源的方法。
Description
技术领域
本发明一般涉及在计算机联网的环境中分配异构资源。
背景技术
在一些计算机联网的环境中,用户可通过向服务器主机提交请求而经由客户端设备请求对一个或多个异构资源的访问。客户端设备例如可以是个人计算机,并且异构资源可包括各种电子组件、软件和/或其它物理设备或资产,诸如例如存储设备、处理器、可编程逻辑控制器(PLC)、用于装配线的部件、计算机程序和/或数据。如果资源可用,服务器主机可向用户(即向客户端设备)分配请求的资源。在一些已知的计算机联网的环境中,如果资源不可用,可拒绝请求,并且用户可能必须在一个或多个稍后时间重新提交请求,直到请求的资源可用。除了延迟涉及请求的资源的用户的任务之外,必须重新提交对该资源的一个或可能多个请求的不便还可防止用户参加其它任务。
在一些已知的计算机联网的环境中,服务器主机可将来自第一用户的对多个异构资源的请求作为分离的单独请求来处理。随着那些分离的单独请求被顺序处理,来自另一个用户的对相同资源中的一个或多个的中间请求可导致第一用户被拒绝对第一用户的请求的资源中的一个或多个的访问。此外,第一用户可能必须不便地重新提交一个或可能多个请求,直到授权对所有请求的资源的访问,从而延迟涉及多个资源的第一用户的任务。
此外,在一些已知的计算机联网的环境中,用户可能不能够请求对一个或多个具体资源的访问,而是仅仅能够请求对一个或多个一般类型的资源的访问。例如,用户可能仅仅能够请求对“可编程逻辑控制器”(PLC)的访问,但是不能够请求对以某一方式配置的或具有与用户的任务相关的某些特征的一个或多个具体PLC的访问。这可显著地延迟用户的任务,同时用户可能必须重复地请求对一般类型的期望的资源的访问,直到授权对那种类型的一个或多个具体期望的资源的访问。
此外,在一些已知的计算机联网的环境中,授权给用户的对请求的资源的访问可能不会导致用户具有对该资源的直接和/或排他访问,而是相反,可能仅仅导致服务器主机具有对请求的资源的访问,以执行由用户提交的任务。虽然用户可监视状态并最终审查执行的任务的结果,但是当任务正由服务器主机执行时,用户例如可能不能够对任务进行实时改变或添加。
相应地,期望在计算机联网环境中分配异构资源的改进的装置、系统和方法。
发明内容
根据一个方面,提供一种资源分配系统,该资源分配系统包括:包括处理器和存储器的客户端设备,包括第一资源的多个异构资源,以及包括处理器和存储器的服务器主机,该服务器主机与客户端设备通信。该服务器主机被配置成:从客户端设备接收对第一资源的请求,确定第一资源是否可用,响应于服务器主机确定第一资源不可用而将请求排队,以及响应于服务器主机确定第一资源可用而授权客户端设备对第一资源的直接或排他访问。
根据另一个方面,提供一种分配异构资源的方法。该方法包括:在服务器主机处接收来自第一客户端设备的对多个异构资源的第一资源的请求,由服务器主机确定第一资源是否可用,响应于服务器主机确定第一资源不可用而在服务器主机处将请求排队,以及响应于服务器主机确定第一资源可用而授权第一客户端设备对第一资源的直接或排他访问。
根据另一个方面,提供一种分配异构资源的第二方法。该方法包括:从第一客户端设备向服务器主机发送对多个异构资源的第一资源的请求,在第一客户端设备处接收来自服务器主机的授权对第一资源的直接或排他访问的第一通信,响应于接收第一通信而由第一客户端设备建立对第一资源的直接或排他访问,响应于建立直接或排他访问、绕过服务器主机而在第一客户端设备和第一资源之间传送命令和数据,以及响应于第一客户端设备终止直接或排他访问而从第一客户端设备向服务器主机发送释放第一资源的第二通信。
本发明的其它方面、特征和优点仍可易于从下面的具体实施方式中显而易见,在下面的具体实施方式中描述和图示许多示例性实施例和实现方式,包括预期用于实施本发明的最佳模式。本发明还可包括其它和不同实施例,并且可在各种方面修改其若干细节而全部都不脱离本发明的范围。相应地,附图和描述将被认为本质上是说明性的,而不是限制性的。本发明覆盖落入本发明的范围内的所有修改、等同物和替代物。
附图说明
本领域技术人员将理解:下面所述的附图仅仅用于说明目的。附图不一定按比例绘制,并且不旨在以任何方式限制本公开的范围。
图1图示根据实施例的用于分配异构资源的系统的框图。
图2图示根据实施例的客户端设备的框图。
图3图示根据实施例的服务器主机的框图。
图4A和4B各自图示根据实施例的分配异构资源的方法的流程图。
图5图示根据实施例的分配异构资源的示例的图。
图6图示根据实施例的分配异构资源的另一个方法的流程图。
具体实施方式
现在将对附图中图示的本公开的示例性实施例进行详细参考。在任何可能的情况下,将在整个附图中使用相同的附图标记来指代相同或相似的部件。
在已知的计算机联网的环境中分配异构资源的前述问题可由本发明的一个或多个实施例来克服。在一个方面,可基于客户端-服务器模型或其它分布式应用结构的系统可包括被配置成向请求那些资源的客户端分配一个或多个请求的异构资源的服务器。但是代替服务器如在一些已知系统中执行由客户端提交的任务,服务器可被配置成向客户端分配一个或多个请求的资源,使得客户端可直接和/或排他地访问一个或多个请求的资源,以直接和/或排他地执行涉及一个或多个请求的资源的任务。即,客户端可直接和/或排他地访问并且控制已由服务器授权客户端来访问的一个或多个资源。因此,服务器可不用于执行涉及分配的资源的客户端任务。
在另一个方面,服务器可被配置成将不可以被授权的任何请求排队,例如因为请求的资源中的一个或多个不可用。在不可用资源变得可用时,诸如例如在服务器从另一个客户端接收到资源正被释放的通信时,服务器然后可向其对该资源的请求已经被排队的客户端授权访问。
在进一步的方面,服务器可被配置成在单个操作中处理从第一客户端接收的对多个异构资源的请求。即,服务器可将该请求作为一个请求而不是作为一系列分离的单独请求来处理,一系列分离的单独请求可受到对来自另一个客户端的相同资源中的一个或多个的中间请求,中间请求可防止第一客户端被授权对第一客户端的所有请求的资源的访问。从而,服务器可在处理任何其它资源请求之前确定多个请求的异构资源中的每一个是否可用。这可避免对于相同资源的不期望的竞争条件,并且可导致比在一些已知资源分配系统中更高效地分配资源的系统。
在另一个方面,一个或多个具体的单独资源可由客户端请求。对一个或多个具体的单独资源的请求可包括各种选择标准,例如包括资源模型编号、资源地址、资源中可用的存储器数量、资源的I/O(输入/输出)配置和/或附连到资源的模块的选择。可使用其它合适的选择标准。因此,例如在具有作为资源的可编程逻辑控制器(PLC)的系统中,客户端可请求具有某些期望的特征的专门配置的PLC。
在一些实施例中,在以上方面的一个或多个中的服务器(在下文中被称为服务器应用程序)可驻留在服务器主机上,并且客户端的副本(在下文中被称为客户端应用程序)可驻留在与服务器主机通信的一个或多个客户端设备中的每一个上。客户端设备中的任何一个或多个例如可以是个人计算机、智能设备等等。服务器主机可以是任何合适的计算机、控制器等等。在其它实施例中,组合的客户端-服务器应用程序可驻留在单个计算机或类似设备上。
在其它方面,提供分配异构资源的方法,如将在下面结合图1-6更详细解释的。
图1图示根据一个或多个实施例的用于分配异构资源的系统100。系统100可以是可包括多个客户端设备102A-C、服务器主机104、网络106和多个异构资源108A-C的基于客户端-服务器的系统。客户端设备102A-C和服务器主机104可经由到网络106的一个或多个有线和/或无线连接而与彼此通信。网络106例如可以是以太网、任何合适的LAN(局域网)、因特网、任何合适的WAN(广域网)或其任何合适的组合。在其它实施例中,客户端设备102A-C中的一个或多个可替代地直接连接到服务器主机104(即,没有到网络106的连接)。在一些实施例中,资源108A-C可经由一个或多个有线和/或无线连接而连接到网络106,允许客户端设备102A-C和/或服务器104中的任一个与其通信。在其它实施例中,如下所述,资源108A-C可不连接到网络106(图1中的虚线相应地指示资源108A-C中的每一个可能或可能不连接到网络106)。可在系统100中包括比图1中所示的更多或更少的客户端设备102A-C和/或资源108A-C。
在一些实施例中,资源108A-C可包括一个或多个存储设备、处理器、可编程逻辑控制器(PLC)等等。例如,在一些实施例中,资源可包括超过200个PLC。在其它实施例中,资源108A-C可以是其它类型的异构设备和/或资产。例如,资源108A-C可以是机动车辆车队或用于装配线的一组部件。资源108A-C中的一个或多个可以是与资源108A-C中的其它不同的设备或资产。资源108A-C还可以是全部相同类型的设备或资产,但是所述资源108A-C中的一个或多个可被不同地配置或具有与其它资源108A-C中的一个或多个不同的特征。即,资源108A-C中的一个或多个可具有与其它资源108A-C中的一个或多个不同的能力、容量和/或特征组合。
客户端设备102A-C可各自包括处理器和存储器,并且例如可以是个人计算机、智能设备等等。客户端设备102A-C中的每一个可具有在其上存储和可执行的各自的客户端应用程序103A-C。客户端应用程序103A-C可彼此相同。客户端设备102A-C中的任何一个或多个可被配置成在执行各自的客户端应用程序103A-C时执行以下中的任何一个或多个:(1)向服务器主机104发送对一个或多个资源108A-C的请求;(2)从服务器主机104接收授权对一个或多个请求的资源的直接和/或排他访问的通信;(3)建立对一个或多个请求的资源的直接和/或排他访问;(4)绕过与服务器主机104的任何通信和/或由其控制,向一个或多个请求的资源传送命令和数据并从其接收数据;(5)终止对一个或多个请求的资源的直接和/或排他访问;和/或(6)响应于终止直接和/或排他访问,向服务器主机104发送释放一个或多个请求的资源的通信。
图2图示根据一个或多个实施例的可在系统100中使用的客户端设备202。客户端设备202可以是个人计算机、智能设备或能够执行本文所述功能的任何合适的通用或专用设备。客户端设备202可包括用户接口210、输入/输出设备212、硬件处理器214(其可以是微处理器、数字信号处理器、控制器等)、存储器216(其可包括RAM(随机存取存储器)、ROM(只读存储器)、一个或多个硬盘、一个或多个可移动盘等)以及网络接口218。用户接口210例如可包括图形用户接口,并且输入/输出设备212例如可包括显示单元和软键、键盘和/或键区。硬件处理器214可执行可存储在存储器216中的编程指令。存储器216可适合于存储一个或多个程序220、数据222以及可与客户端应用程序103A-C中的任何一个相同的客户端应用程序203。在一些实施例中,程序220可包括被配置成在资源108A-C中的一个或多个上运行的一个或多个测试程序。网络接口218可被配置成建立与网络106和/或任何其它合适的通信网络的通信。在一些实施例中,客户端设备202还可包括用于与资源、其它设备、服务器/计算机和/或外围设备直接通信的其它合适的通信接口。客户端设备202可另外或可替代地包括其它合适的组件。在一些实施例中,客户端设备202结合客户端应用程序203、一个或多个程序220和数据222可被配置成例如测试在一个或多个资源108A-C上的资源固件。
返回到图1,服务器主机104可包括处理器和存储器,并且可以是任何合适的计算机、控制器或类似设备。服务器主机104可具有存储在其中的记录库,该记录库唯一地标识多个异构资源108A-C中的每一个。在一些实施例中,每个记录可唯一地标识各自的资源。服务器主机104可具有驻留在其上的服务器应用程序105,服务器应用程序105在由服务器主机104的处理器执行时可配置服务器主机104以执行以下的任何一个或多个:(1)从客户端设备102A-C中的任一个接收对资源108A-C中的一个或多个的请求;(2)确定一个或多个请求的资源是否可用;(3)响应于确定请求的资源中的一个或多个不可用,将请求排队;以及(4)响应于确定一个或多个请求的资源可用,授权请求的客户端设备102A-C对一个或多个请求的资源的直接和/或排他访问。
图3图示根据一个或多个实施例的可在系统100中使用的服务器主机304。服务器主机304可以是能够执行本文所述功能的任何合适的通用或专用设备。服务器主机304可包括用户接口310、输入/输出设备312、硬件处理器314(其可以是微处理器、数字信号处理器、控制器等)、存储器316(其可包括RAM、ROM、一个或多个硬盘、一个或多个可移动盘等)、可选数据库317和网络接口318。硬件处理器314可执行可存储在存储器316中的编程指令。存储器316可适合于存储服务器应用程序305和一个或多个程序和/或数据(未示出)。服务器应用程序305可与服务器应用程序105相同。数据库317可包含可唯一地标识资源108A-C中的每一个的记录320。在不具有数据库317的那些实施例中,唯一地标识资源108A-C中的每一个的记录320可替代地存储在存储器316中。在一些实施例中,记录320可包括用于每个资源108A-C的标识/选择标准,包括例如资源模型编号、资源地址(其可以是IP(互联网协议)地址)、资源中可用的存储器数量、资源的I/O(输入/输出)配置和/或附连到资源的可选模块的选择中的任何一个。在服务器主机304中可使用任何合适的数据库应用程序。网络接口318可建立与网络106和/或任何其它合适的通信网络的通信。在一些实施例中,服务器主机304还可包括用于与资源、客户端设备、其它设备、服务器/计算机和/或外围设备直接通信的其它合适的通信接口。服务器主机304可另外或可替代地包括其它合适的组件。服务器主机304结合服务器应用程序305可被配置成向请求所述一个或多个资源108A-C的客户端设备102A-C授权一个或多个资源108A-C的直接和/或排他访问和/或一个或多个资源108A-C的控制。
图4A图示根据一个或多个实施例的分配异构资源的方法400A的流程图。方法400A可包括:在过程块402处,服务器主机从第一客户端设备接收对多个异构资源中的第一资源的请求。服务器主机例如分别可以是图1和3的服务器主机104或304,并且服务器主机可正在执行服务器应用程序105或305。请求例如可包括资源模型编号、资源地址、资源中可用的存储器数量、资源的I/O(输入/输出)配置或附连到资源的模块的选择中的一个或多个。第一客户端设备例如分别可以是图1和2的客户端设备102A-C或202中的任何一个。第一资源例如可以是图1的资源108A-C中的任何一个。在一些实施例中,请求的资源可以是特别配置的可编程逻辑控制器。在一些实施例中,服务器主机和客户端设备可以是相同的物理设备。即,客户端-服务器应用程序可驻留在相同的计算机设备上。
在判定块404处,方法400A可包括:服务器主机确定第一资源是否可用。在一些实施例中,服务器主机可通过检查如在由服务器主机维护的记录中指示的请求的资源的状态来确定请求的资源的可用性。例如,服务器主机可以是维护记录320的服务器主机304。除了唯一地标识每个资源之外,记录320还可指示每个资源的当前可用性状态。随着每个资源被分配给客户端设备并从客户端设备释放,服务器主机304可更新记录320以指示当前的可用性。从而,当接收到对资源的请求时,服务器主机304可经由服务器应用程序305而被配置成检查记录320以确定所述请求的资源的可用性。在一些实施例中,服务器主机可轮询满足选择标准的一个或多个资源以确定资源可用性。所述一个或多个资源可或者直接地或者经由诸如网络106之类的网络与服务器主机通信。在一些实施例中,服务器主机可轮询每个客户端设备以确定轮询的客户端设备中的任何一个是否正在访问请求的资源。可替代地,可使用确定资源的可用性的任何合适的技术。
如果服务器主机在判定块404处确定第一资源不可用,方法400A可进行到过程块406,其中服务器主机可将请求排队。在一些实施例中,排队的请求可被存储在服务器主机处。例如,服务器主机可以是服务器主机304,并且排队的请求可响应于服务器主机确定第一资源不可用而被存储在存储器316或数据库317中。可替代地,可在另一个合适的位置或设备处将请求排队。可使用任何合适的排队算法或技术。在一些实施例中,方法400A可响应于从另一个客户端设备接收到资源的释放而返回到判定块404以处理排队的请求。例如,如果第一资源先前已经被分配给第二客户端设备,并且服务器主机从第二客户端设备接收到第一资源的释放,则方法400A可返回到判定块404,以处理对从第一客户端设备接收的第一资源的排队的请求。在一些实施例中,方法400A可与一个或多个排队的请求一起返回到判定块404,以基于或者合适的周期性或者预定的时间日程和/或优先级方案(其中,例如,某些客户端设备和/或任务具有优于其它客户端设备和/或任务的优先级)而检查请求的资源的可用性。
如果服务器主机在判定块404确定第一资源可用,或者响应于接收到请求,或者在过程块406处已经将请求排队之后的稍后时间,方法400A可进行到过程块408。在过程块408处,方法400A可包括:响应于服务器主机确定第一资源可用,服务器主机授权第一客户端设备对第一资源的直接和/或排他访问。这种访问的授权可使得第一客户端设备能够绕过服务器主机并且与第一资源直接交互。例如,参考图1的系统100,响应于服务器主机104授权客户端设备102B对资源108A的访问,客户端设备102B可绕过服务器主机104并且经由网络106建立对资源108A的直接和/或排他访问,以与分配的资源108A直接和/或排他地交互。在一些实施例中,客户端设备102B可独立于服务器主机104和网络106而建立对资源108A的直接和/或排他访问。
在一些实施例中,诸如例如可移动存储盘或设备之类的非暂时性计算机可读介质可包括能够在处理器中被执行并且执行方法400A的计算机指令。
图4B图示根据一个或多个实施例的分配异构资源的另一个方法400B的流程图。方法400B可包括:在过程块410,服务器主机从客户端设备接收对一个或多个资源的直接和/或排他访问的释放。如上对于方法400A所述,服务器主机例如分别可以是图1和3的服务器主机104或304。客户端设备例如分别可以是图1和图2的客户端设备102A-C或202中的任何一个,并且一个或多个释放的资源例如可以是图1的资源108A-C中的任何一个或多个。在一些实施例中,一个或多个释放的资源可各自是专门配置的可编程逻辑控制器。在一些实施例中,服务器主机和客户端设备可以是相同的物理设备。即,客户端-服务器应用程序可驻留在相同的计算机设备上。
响应于在过程块410处接收到释放,方法400B可进行到判定块412,其中服务器主机可确定一个或多个释放的资源是否完全满足排队的请求。例如,如果第一排队的请求包括对资源A、B和C的请求,并且资源A、B和D在过程块410处被释放,并且资源C当前可用,则可以完全满足第一排队的请求。例如,如果第二排队的请求包括对资源E和F的请求,并且资源E在过程块410处被释放,但资源F不可用,则不可以完全满足第二排队的请求。在一些实施例中,可在方法400A的过程块406处将排队的请求排队。
如果服务器主机在判定块412处确定一个或多个释放的资源或者先前尚未被请求或者不完全满足排队的请求,方法400B可进行到过程块414,其中服务器主机可更新资源记录以指示一个或多个释放的资源可用。例如,服务器主机可以是维护记录320的服务器主机304。响应于在过程块410处接收到释放并且确定没有可以完全满足的排队的请求,服务器主机304可在过程块414处更新记录320以指示一个或多个释放的资源现在可用。
如果服务器主机在判定块412处确定一个或多个释放的资源中的至少一个完全满足排队的请求,方法400B可进行到过程块416。在过程块416处,服务器主机可将排队的请求解除排队。例如,服务器主机可以是服务器主机304,并且排队的请求可存储在存储器316或数据库317中。响应于服务器主机在判定块412处确定排队的请求可以被完全满足,服务器主机304可从队列移除排队的请求。任何合适的排队算法或技术可结合方法400B和过程块416来使用。
从过程块416中,方法400B可进行到过程块418,其中可以完全满足其对一个或多个资源的排队的请求的客户端设备可以由服务器主机授权对所述资源的直接和/或排他访问。已经被授权直接和/或排他访问的一个或多个资源可包括释放的资源和可能的其它可用资源中的一个或多个。例如,如果排队的请求包括对资源Y和Z的请求,并且资源X和Y在过程块410处被释放,并且资源Z当前可用,则对资源Y和Z的直接和/或排他访问可由服务器主机授权。这种访问的授权可使得客户端设备能够绕过服务器主机并且如上结合方法400A的过程块408所述的与一个或多个资源直接交互。方法400B可从过程块418进行到过程块414,以更新释放的和/或授权的资源的记录。从而,继续以上示例,服务器主机可更新授权的资源Y和Z的记录以指示它们不可用,并且更新释放的资源X的记录以指示其可用。
在一些实施例中,诸如例如可移动存储盘或设备之类的非暂时性计算机可读介质可包括能够在处理器中被执行并且执行方法400B的计算机指令。
图5图示根据一个或多个实施例的分配异构资源的示例500。示例500包括客户端设备502A和502B、服务器主机504和可用异构资源508。客户端设备502A和502B可各自与客户端设备102A-C或202相似或相同。服务器主机504可与服务器主机104或304相似或相同。在一些实施例中,客户端设备502A或502B中的一个和服务器主机104可以是相同的计算机设备。可用的异构资源508可类似地由以下三个不同类型和数量的形状表示:正方形1和2、三角形3和4以及圆形5和6。正方形1和2可彼此相同或不同,三角形3和4可彼此相同或不同,和/或圆形5和6可彼此相同或不同。
示例500可始于客户端设备502A发出对正方形1和2、三角形3和圆形5的请求524。因为正方形1和2、三角形3和圆形5可用,服务器主机504可向客户端设备502A发送向其分配所述资源的通信526。可用资源508现在可包括三角形4和圆形6。接下来,客户端设备502B可发出对三角形3和4的请求528。然而,因为三角形3不可用,服务器主机504可对请求528排队。然后客户端设备502A可发出对任何一个资源的请求530。作为响应,服务器主机504可向客户端设备502A发送分配圆形6的通信532。在客户端设备502A不再需要正方形1和2、三角形3和圆形5时,客户端设备502A可发出释放所述资源的释放534。通过向客户端设备502B发送向其分配三角形3和4的通信536,服务器主机504现在可满足客户端502B的排队的请求528。如所图示的,客户端设备502A和502B中的每一个可请求,并且服务器主机504可分配可用的正方形1和2、三角形3和4以及圆形5和6中的任何具体的一个或多个(即,授权对其的直接和/或排他访问)。继续类似的形状,可根据一个或多个实施例采用更复杂的选择标准。例如,可请求某个尺寸的特定形状和/或颜色。
图6图示根据一个或多个实施例的分配异构资源的另一个方法的流程图。方法600可包括:在过程块602处,从第一客户端设备向服务器主机发送对来自多个异构资源的第一资源的请求。在一些实施例中,请求可包括资源模型编号、资源地址、资源中可用的存储器数量、资源的I/O(输入/输出)配置或附连到资源的模块的选择中的任何一个或多个。例如,如果资源包括可编程逻辑控制器(PLC),一个或多个PLC可用适合于操作输送带、机器人臂或其它机械,打开和关闭各种阀门,或测量不同电压或压力的附连模块来配置。因此,对这些PLC中的一个或多个的请求可包括用于标识这些PLC的合适的选择标准。任何合适的资源选择标准可另外或可替代地包括在对一个或多个资源的请求中。在一些实施例中,客户端应用程序可被配置成基于期望的资源特征来自动生成和发送资源请求。例如,如果期望的资源需要如例如在测试程序中指示的某个I/O配置,诸如客户端应用程序103A-C或203之类的客户端应用程序可自动地生成并发送包括合适的选择标准的对期望的I/O配置的资源请求。
在过程块604处,方法600可包括在第一客户端设备处从服务器主机接收授权对第一资源的直接和/或排他访问的第一通信。在一些实施例中,第一通信可包括第一资源的地址。地址可以是IP(互联网协议)地址。第一通信可包括使得第一客户端设备能够获得对第一资源的直接和/或排他访问的任何合适的可替代或附加信息。
在过程块606处,响应于接收到第一通信,第一客户端设备可建立由第一客户端设备对第一资源的直接或排他访问。例如,用户可执行存储在第一客户端设备处的计算机程序,第一客户端设备经由诸如例如网络106之类的网络连接到第一资源以建立与第一资源的直接和/或排他通信。在一些实施例中,第一客户端设备和第一资源之间的连接可不包括网络。
在过程块608处,方法600可包括:响应于建立直接和/或排他访问,绕过服务器主机而在第一客户端设备和第一资源之间传送命令和数据。在第一客户端设备和第一资源之间交换的命令和数据可源于例如涉及第一资源的一个或多个测试程序的执行。在一些实施例中,操作第一客户端设备的用户可测试例如第一资源上的资源固件,该资源固件可以是配置有与待测试的固件相关的某些特征的可编程逻辑控制器。来自第一客户端设备的命令和数据可被传送到第一资源,并且来自第一资源的结果数据可被传送回到第一客户端设备。在第一客户端设备和第一资源之间的这些通信可以是直接和/或排他的(即,没有服务器主机的参与)。
在判定块610处,响应于第一客户端设备终止直接和/或排他访问,第一客户端设备可向服务器主机发送释放第一资源的第二通信。第一客户端设备可在由第一客户端设备和/或第一资源执行的一个或多个程序或任务完成时终止对第一资源的直接和/或排他访问。其它事件可另外或可替代地触发第一客户端设备以终止对第一资源的直接和/或排他访问。在一些实施例中,对第一资源的访问的终止可由用户手动执行。在一些实施例中,响应于第一客户端设备终止对其的直接和/或排他访问,执行驻留在其上的诸如例如客户端应用程序103A-C或203之类的客户端应用程序的第一客户端设备可自动地通知服务器主机释放第一资源。这可防止不再由客户端设备需要的资源具有不可用状态,因为尚未以其它方式通知服务器主机。
在一些实施例中,诸如例如可移动存储盘或设备之类的非暂时性计算机可读介质可包括能够在处理器中被执行并且执行方法600的计算机指令。
在一些实施例中,诸如例如可移动存储盘或设备之类的非暂时性计算机可读介质可包括能够在处理器中被执行并且执行方法400A、400B和/或600中的一个或多个的计算机指令。
本领域技术人员应当容易认识到:本文所述的发明能够容许广泛的效用和应用。在不脱离本发明的实质或范围的情况下,除了本文所述的那些之外的本发明的许多实施例和改变以及许多变化、修改和等效布置将从本发明及其前述描述中显而易见或由其合理地推荐。例如,虽然一般结合分配异构电子资源来描述,但是本发明的一个或多个实施例可用在具有其它类型资源的其它联网环境中,其它联网环境诸如例如是库存管理系统、装配过程系统、空中交通管理系统和车队管理系统。相应地,虽然本文已经详细地描述了关于具体实施例的本发明,但是应当理解的是:本公开仅仅是说明性的,并且呈现本发明的示例,并且仅仅是为了提供本发明的完整和能够实现的公开的目的而做出的。本公开不旨在将本发明限于公开的特定装置、设备、组件、系统和方法,而是相反,本发明将覆盖落入如由以下权利要求限定的本发明的范围内的所有修改、等同物和替代方案。
Claims (20)
1.一种资源分配系统,包括:
包括处理器和存储器的客户端设备;
包括第一资源的多个异构资源;以及
包括处理器和存储器的服务器主机,服务器主机与客户端设备通信,服务器主机被配置成:
从客户端设备接收对第一资源的请求;
确定第一资源是否可用;
响应于服务器主机确定第一资源不可用,将请求排队;以及
响应于服务器主机确定第一资源可用,授权客户端设备对第一资源的直接或排他访问。
2.根据权利要求1所述的系统,其中客户端设备被配置成:响应于服务器主机向客户端设备授权直接或排他访问,建立对第一资源的直接或排他访问。
3.根据权利要求2所述的系统,其中客户端设备被配置成:响应于客户端设备建立直接或排他访问,绕过服务器主机而经由直接或排他访问来测试第一资源上的固件。
4.根据权利要求1所述的系统,其中对第一资源的请求包括:资源模型编号、资源地址、资源中可用的存储器数量、资源的I/O(输入/输出)配置或附连到资源的模块的选择中的至少一个。
5.根据权利要求1所述的系统,其中多个异构资源包括多个可编程逻辑器件(PLC),多个可编程逻辑器件(PLC)中的至少两个PLC与彼此以及多个PLC中的其它PLC不同地被配置。
6.根据权利要求1所述的系统,其中服务器主机包括唯一地标识多个异构资源中的每一个的记录。
7.根据权利要求1所述的系统,其中服务器主机被进一步配置成:响应于客户端设备终止直接或排他访问,从客户端设备接收指示第一资源可用的通信。
8.一种分配异构资源的方法,包括:
在服务器主机处接收来自第一客户端设备的对多个异构资源的第一资源的请求;
由服务器主机确定第一资源是否可用;
响应于服务器主机确定第一资源不可用,在服务器主机处将请求排队;以及
响应于服务器主机确定第一资源可用,授权第一客户端设备对第一资源的直接或排他访问。
9.根据权利要求8所述的方法,进一步包括:响应于授权第一客户端设备直接或排他访问,由第一客户端设备建立对第一资源的直接或排他访问。
10.根据权利要求9所述的方法,进一步包括:响应于建立直接或排他访问,绕过服务器主机而在第一客户端设备和第一资源之间传送命令和数据。
11.根据权利要求8所述的方法,其中:
所述请求包括:对多个异构资源的第一资源和至少一个其它资源的请求;
所述确定包括:由服务器主机在单个操作中确定第一资源和至少一个其它资源是否可用;
所述排队包括:响应于服务器主机确定第一资源和至少一个其它资源中的任何一个不可用,将请求排队;以及
所述授权包括:响应于服务器主机确定第一资源和至少一个其它资源可用,授权第一客户端设备对第一资源和至少一个其它资源的直接或排他访问。
12.根据权利要求8所述的方法,其中对第一资源的请求包括对专门配置的可编程逻辑控制器的请求。
13.根据权利要求8所述的方法,其中授权第一客户端设备对第一资源的直接或排他访问包括:从服务器主机向第一客户端设备传送第一资源的地址。
14.根据权利要求8所述的方法,其中授权第一客户端设备对第一资源的直接或排他访问包括:响应于服务器主机从第二客户端设备接收到指示第一资源可用的通信,授权第一客户端设备对第一资源的直接或排他访问。
15.一种非暂时性计算机可读介质,包括能够在处理器中被执行并且执行权利要求8的方法的计算机指令。
16.一种分配异构资源的方法,包括:
从第一客户端设备向服务器主机发送对多个异构资源的第一资源的请求;
在第一客户端设备处接收来自服务器主机的授权对第一资源的直接或排他访问的第一通信;
响应于接收到第一通信,由第一客户端设备建立对第一资源的直接或排他访问;
响应于建立直接或排他访问,绕过服务器主机而在第一客户端设备和第一资源之间传送命令和数据;以及
响应于第一客户端设备终止直接或排他访问,从第一客户端设备向服务器主机发送释放第一资源的第二通信。
17.根据权利要求16所述的方法,其中对第一资源的请求包括对具体的单独资源的请求。
18.根据权利要求16所述的方法,进一步包括:响应于服务器主机确定第一资源不可用,在服务器主机处将请求排队。
19.根据权利要求16所述的方法,进一步包括:响应于服务器主机从第一客户端设备接收到指示第一资源可用的第二通信,由服务器主机授权第二客户端设备对第一资源的直接访问。
20.一种非暂时性计算机可读介质,包括能够在处理器中被执行并且执行权利要求16的方法的计算机指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/273,001 US10079777B2 (en) | 2014-05-08 | 2014-05-08 | Apparatus, systems, and methods of allocating heterogeneous resources |
US14/273001 | 2014-05-08 | ||
PCT/US2015/025273 WO2015171256A1 (en) | 2014-05-08 | 2015-04-10 | Apparatus, systems, and methods of allocating heterogeneous resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462463A true CN106462463A (zh) | 2017-02-22 |
CN106462463B CN106462463B (zh) | 2020-04-14 |
Family
ID=53051908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580023865.2A Active CN106462463B (zh) | 2014-05-08 | 2015-04-10 | 分配异构资源的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10079777B2 (zh) |
EP (1) | EP3140737B1 (zh) |
CN (1) | CN106462463B (zh) |
WO (1) | WO2015171256A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014108483A1 (de) * | 2014-06-17 | 2015-12-17 | Datenlotsen Informationssysteme Gmbh | Client-Server-System und Endgerät |
US11281493B2 (en) * | 2018-05-30 | 2022-03-22 | Texas Instruments Incorporated | Real-time context specific task manager for multi-core communication and control system |
US11258848B1 (en) * | 2018-08-09 | 2022-02-22 | Amazon Technologies, Inc. | Load balancing requests such that target resources serve a single client |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071464A (zh) * | 2006-05-08 | 2007-11-14 | 国际商业机器公司 | 保护计算机上的租用资源的方法和系统 |
US20130091089A1 (en) * | 2011-10-07 | 2013-04-11 | Microsoft Corporation | Extensible and generic framework for managing resources for data warehousing loads |
CN103052922A (zh) * | 2010-07-07 | 2013-04-17 | Abb股份公司 | 用于配置控制设备的方法 |
CN103577266A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于对现场可编程门阵列资源进行分配的方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412492B1 (en) * | 2001-09-12 | 2008-08-12 | Vmware, Inc. | Proportional share resource allocation with reduction of unproductive resource consumption |
US7673031B1 (en) * | 2006-12-18 | 2010-03-02 | Emc Corporation | Resource mapping in a network environment |
US20090327303A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Intelligent allocation of file server resources |
US9146837B2 (en) * | 2012-05-23 | 2015-09-29 | Landis+Gyr Innovations, Inc. | Automated build, deploy, and testing environment for firmware |
US9917869B2 (en) * | 2013-09-23 | 2018-03-13 | Spotify Ab | System and method for identifying a segment of a file that includes target content |
-
2014
- 2014-05-08 US US14/273,001 patent/US10079777B2/en active Active
-
2015
- 2015-04-10 CN CN201580023865.2A patent/CN106462463B/zh active Active
- 2015-04-10 WO PCT/US2015/025273 patent/WO2015171256A1/en active Application Filing
- 2015-04-10 EP EP15720505.5A patent/EP3140737B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071464A (zh) * | 2006-05-08 | 2007-11-14 | 国际商业机器公司 | 保护计算机上的租用资源的方法和系统 |
CN103052922A (zh) * | 2010-07-07 | 2013-04-17 | Abb股份公司 | 用于配置控制设备的方法 |
US20130091089A1 (en) * | 2011-10-07 | 2013-04-11 | Microsoft Corporation | Extensible and generic framework for managing resources for data warehousing loads |
CN103577266A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 用于对现场可编程门阵列资源进行分配的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20150326498A1 (en) | 2015-11-12 |
CN106462463B (zh) | 2020-04-14 |
EP3140737A1 (en) | 2017-03-15 |
US10079777B2 (en) | 2018-09-18 |
WO2015171256A1 (en) | 2015-11-12 |
EP3140737B1 (en) | 2019-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652319B2 (en) | Method and system for forming compute clusters using block chains | |
CN103297456B (zh) | 一种分布式系统下共享资源的访问方法及分布式系统 | |
JP2019530034A (ja) | ロボットフリート派遣要求システム | |
CN106354544A (zh) | 虚拟机创建方法、系统以及主机 | |
US20130036198A1 (en) | Method for improving the operation of machines or appliances | |
US20220269539A1 (en) | Redistributing update resources during update campaigns | |
CN104583960A (zh) | 在线服务的事务级健康监控 | |
CN106357598B (zh) | 用于提供用户权限认证服务的方法 | |
US20110153079A1 (en) | Apparatus and method for distributing and monitoring robot application and robot driven thereby | |
CN112230677B (zh) | 无人机族群任务规划方法及终端设备 | |
US20140201356A1 (en) | Monitoring system of managing cloud-based hosts and monitoring method using for the same | |
CN106462463A (zh) | 分配异构资源的装置、系统和方法 | |
US11005925B2 (en) | Load balancing with power of random choices | |
CN108521459A (zh) | 交通工具的诊断方法、相关设备和系统 | |
CN108509256B (zh) | 调度运行设备的方法、设备和运行设备 | |
CN110178117A (zh) | 控制装置 | |
CN110532077A (zh) | 任务处理方法、装置及存储介质 | |
CN111597024B (zh) | 跨域集群处理方法、装置、电子设备及存储介质 | |
CN107465644A (zh) | 数据传输方法、数据传送客户端及数据传送执行器 | |
CN106502796A (zh) | 一种软件开发测试平台、系统及使用方法 | |
JP2006344068A5 (zh) | ||
JP2020013347A (ja) | 履歴管理方法、及び履歴管理装置 | |
CN108628712A (zh) | 一种应用程序测试方法及终端设备 | |
CN104765644B (zh) | 基于智能体Agent的资源协作演化系统及方法 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170707 Address after: Munich, Germany Applicant after: Siemens AG Address before: American Georgia Applicant before: Siemens Building Tech AG |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |