CN101103342A - 网络设备系统 - Google Patents
网络设备系统 Download PDFInfo
- Publication number
- CN101103342A CN101103342A CNA2006800022790A CN200680002279A CN101103342A CN 101103342 A CN101103342 A CN 101103342A CN A2006800022790 A CNA2006800022790 A CN A2006800022790A CN 200680002279 A CN200680002279 A CN 200680002279A CN 101103342 A CN101103342 A CN 101103342A
- Authority
- CN
- China
- Prior art keywords
- function
- network equipment
- variable
- storage
- execution
- 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
Images
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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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/465—Distributed object oriented systems
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本发明的网络设备系统是一种函数处理系统,其中每个网络设备执行被分配给自身的函数,从而从总体上执行预定操作。每个网络设备配置有:函数存储部10、变量存储交换器11、执行函数选择器12和函数执行部13。该变量存储交换器11通过电信线路与每个网络设备相连,存储用以执行在每个网络设备的所述函数存储部中存储的函数所必需的变量,以及在网络设备中共享所述变量。该执行函数选择器引用在该变量存储交换器中存储的变量,以及从存储于其自身网络设备的函数存储部中的函数中选择可执行函数。该函数执行部执行由执行函数选择器选择的函数以及根据执行结果来更新在所述变量存储交换器中存储的变量。
Description
技术领域
本发明关于一种网络设备系统,更具体地,关于一种分布式函数处理系统的网络设备系统。
背景技术
现有技术提供了一种网络设备系统,其中多个网络设备通过电信线路(例如互联网)彼此相互连接,并且这些网络设备执行彼此相关的预定操作。例如,现有技术提供了这样一种系统,在家中的家庭服务器和各种家用设备(例如,信息显示设备、空调控制设备等等)通过互联网彼此连接,并且该系统通过互联网来控制在家中的多种设备和/或监控该家庭的电力供应。
迄今为止,为了设计上述系统,面向对象语言已经得到了广泛的应用。面向对象语言具有例如封装性、继承性和多态性等特点,并且面向对象语言对于大型软件开发十分有效。
当有新的网络设备加入到通过面向对象语言构成的网络设备系统中时,必须要检查该新加入的网络设备对于整个系统的影响,由于系统变得复杂,所以需要大量的时间和精力。这是因为面向对象语言中对象在运行时彼此交互,当有对象加入时,其它对象的状态将受到该新加入对象的影响。如果对该系统的调查不完善,则可能发生所谓的死锁。因此,由于系统变得复杂,所以难以向通过面向对象语言构成的网络设备系统增加新的网络设备。此外,因为对象具有很多内部状态信息,所以如果在系统调查时出现问题,则必须识别该内部状态信息,并重建状态,从而再次出现问题,因此调试起来不容易。
另外,日本未审查专利申请No.8-137697公开了一种自动分布式系统,其中多个代理相互通信并一起运行,以根据预定的系统特性处理任务。在上述的分布式系统中,将整个系统的问题分解(划分)为能够被单独解决的子问题,并且每个代理通过协商确定其子问题的共享情况。配置每个子问题,使其不依赖其它子问题以及每个子问题不需要其它子问题的结果。在上述的自动分布式系统中,其描述了:由于每个代理自动解决问题,所以很容易对系统进行管理,例如改变系统配置。
因此,为了容易地应对系统改变,可以想到的是将该自动分布式系统应用到上述网络设备系统。然而,在上述网络设备系统中,难以将整个系统的问题分解为多个子问题并且被分解的子问题之间存在依赖关系,所以难以采用上述公开文件中的自动分布式系统。
发明内容
有鉴于以上问题,本发明的目的是提供一种网络设备系统,该网络设备系统能够容易地应对系统改变和系统扩展,在该系统中不用担心出现死锁,并且该系统还能够进行系统优化。
为了解决上述问题,本发明的发明人将注意力集中在所谓的函数语言上。该函数语言是一种具有数学语言规范的编程语言(例如Haskell语言),该函数语言不具有状态的概念,其结果仅由一个参数(或多个参数)确定,该函数语言不具有负面影响并引用透明性。
本发明的网络设备系统是这样一种网络设备系统,其中与电信线路连接的多个网络设备执行彼此相关的预定操作,通过多个函数的组合来配置整个系统。以及,将整个系统的函数适当地分配给每个网络设备,以使每个网络设备执行被分配给自身的函数,从而该系统作为整体来执行所述预定操作。
每个网络设备包括:函数存储部、变量存储交换器、执行函数选择器和函数执行部。该函数存储部存储需要由其自身网络设备执行的函数。该变量存储交换器通过电信线路与每个网络设备相连,存储用以执行在每个网络设备的所述函数存储部中存储的函数所必需的变量,以及在网络设备中共享所述变量。该执行函数选择器引用在该变量存储交换器中存储的变量,从存储于其自身网络设备的所述函数存储部中的函数中选择可执行函数。该函数执行部使用在变量存储交换器中存储的变量执行由该执行函数选择器选择的函数,以及将存储于所述变量存储交换器中的变量更新为通过执行该函数所获得的变量。
在该函数语言中,键控用以执行函数所必需的变量,以及当用以执行函数所必需的所有变量均受到约束时,该函数可以被执行。在传统研究的函数处理系统中,因为每个函数都主要是在计算机内部处理,所以很容易监控用以执行函数所必需的变量。然而,如果将该函数处理系统应用到作为本发明的在远程安装网络设备的网络设备系统中,则如何监控这些变量就成为一个问题。本发明的发明人通过在每个网络设备中配置上述的函数存储部、变量存储交换器、执行函数选择器和函数执行部来解决此问题。
也就是说,在本发明的网络设备系统中,在每个网络设备的变量存储交换器中存储并共享用以执行整个系统的函数所必需的变量,其中这些网络设备通过电信线路彼此相连。该执行函数选择器引用由变量存储交换器共享的变量,并且如果在其自身网络设备的函数存储部中存储的函数中存在可执行函数,则选择该函数。该函数执行部执行由执行函数选择器选择的函数并且使用执行结果来更新(或约束)在该变量存储交换器中存储的变量。由另一函数使用该更新的变量,并根据该函数的执行结果,再次更新在变量存储交换器中存储的变量。
通过以上的配置,实现了这样一种分布式函数处理系统的网络函数系统,其中将函数处理系统应用到分布式网络设备中。因为通过函数处理系统配置这种网络设备系统,所以尽管增加了新函数,也不会产生负面影响,因此其可以容易地应对系统的改变。此外,因为该函数处理系统不依赖于执行顺序,所以不用担心产生死锁。另外,还可通过将函数适当地分配给每个网络设备来进行系统优化。无论怎样分配这些函数,可以从数学计算的角度确保整个系统的性能不变。
优选地,该函数存储部至少存储自身网络设备特有的函数。该自身网络设备特有的函数是仅可以被其自身网络设备执行的函数,在许多情况下,它是一种关于输入和输出的函数,例如读取传感器数值的函数。在该网络设备系统中,每个网络设备均具有自身网络设备特有的函数,例如读取传感器数值的函数,在许多情况下,不能将所有函数分配给整个系统。因此,通过在其自身网络设备的函数存储部中至少存储该网络设备特有的函数,以及通过将不是其自身网络设备特有的其它函数分布和分配给每个网络设备,可以实现这样一种函数处理系统的网络设备系统,其中根据输入和输出按时间顺序执行处理。
优选地,该网络设备还包括函数分布协商部。该函数分布协商部通过电信线路与其它网络设备相连,并具有将所述函数存储部中存储的函数中除该函数存储部所在的网络设备特有的函数之外的函数委托给其它网络设备执行的功能。该函数存储部存储由该函数分布协商部从其它网络设备委托执行的函数。在这种情况下,可以动态地改变函数的计算代理,从而能够以分布的方式对系统进行优化以及提升系统能力。
优选地,所述函数分布协商部向每个网络设备询问关于其处理负载的情况,从每个网络设备接收应答,以及基于该应答确定被委托以执行该函数的网络设备。在这种情况下,可以对该函数进行委托执行的期望的网络设备。此外,上述的处理负载包括每个网络设备的负载状态、用以执行函数所所需的处理时间,等等。
优选地,所述多个网络设备中的至少一个具有函数存储库,该函数存储库用来存储在该网络设备系统中使用的函数的实现部分,函数实现部分增加部,其从所述函数存储库中获得由所述函数分布协商部从其它网络设备委托执行的函数中未存储在所述函数实现部分存储部中的函数的实现部分。在这种情况下,系统的改变和扩展变得容易。
优选地,每个网络设备还包括变量发布控制器,其对存储于所述变量存储交换器中的变量分类为可以在该网络设备中共享的共享变量和不可以在该网络设备中共享的非共享变量,该变量存储交换器通过电信线路仅共享在网络设备中的所述共享变量。在这种情况下,可以防止不必要地共享变量,从而可以降低用以共享变量的网络负载。
优选地,所述多个网络设备至少包括中心服务器、安装在家中的家庭服务器以及安装在家中的设备。在这种情况下,可以建立这样一种家庭系统,其中中心服务器、在家中的家庭服务器和设备彼此互连,还可以通过将多个函数分配给具有高处理能力的中心服务器和家庭服务器来增加系统的处理能力。
附图说明
图1为显示根据本发明实施例的网络设备系统配置的示意图;
图2为显示在图1中的网络设备系统中使用的每个网络设备配置的框图;
图3为说明在图1中的网络设备系统中执行函数过程的流程图;
图4A为说明在图1中的网络设备系统中对函数进行委托执行的示意图;
图4B为说明在图1中的网络设备系统中对函数进行委托执行的示意图。
具体实施方式
在下文中,将参照附图对本发明进行更具体的说明。
图1为显示根据本发明实施例的分布式函数处理系统的网络设备系统配置的示意图。在这个网络设备系统中,中心服务器1、在家H中安装的家庭服务器3和在家H中安装的例如信息显示设备4和空调控制设备5各种设备作为网络设备通过互联网2和局域网相互连接。当然为了便于理解,在本实施例中仅采用上述网络设备作为实例,当然网络设备并非仅限于此。
中心服务器1可以配置为具有网络功能的通用计算机设备,并且该中心服务器1具有函数实现部分存储库6,其用于存储在该网络设备系统中使用的函数的实现部分。
家庭服务器3通过LAN向家中的每一设备提供了关于中心服务器1的各种功能(函数)。家庭服务器3可以具有网关功能,网络服务器功能等等。
信息显示设备4具有显示器,该信息显示设备能够在该显示器上显示各种信息。
空调控制设备5具有用于检测家中温度的温度传感器(未显示),其可以在室内或室外通过互联网来控制家中的空调。当用户控制在家中的空调控制设备5时,在信息显示设备4的显示器上显示该空调控制设备5的操作屏幕,并且用户可用在观察该信息显示设备4的显示器的同时控制该空调控制设备5。
该网络设备系统是这样一种函数处理系统,其整个系统是通过函数的组合来构成的。也就是说,通过函数语言的函数组合来描述整个系统的功能。在该函数处理系统的系统中,任何网络设备均可以执行除其它网络设备特有的函数之外的函数。换句话说,在该网络设备系统中,不考虑函数执行的位置,即计算实体。因此,在该网络设备系统中,将整个系统所必须的函数适当地分布在每个网络设备,且每个网络设备执行被分配给自己的函数,从而该系统从总体上执行预定操作。
关于分配函数的方法,例如,可在中心服务器1或家庭服务器3中存储根据网络设备的组合而被分配给每个网络设备的函数的列表,并且中心服务器1或家庭服务器3可以在参考函数列表的同时根据网络设备的组合来静态分配函数给每个网络设备。或者,当列表中不包括网络设备的组合时,或者当中心服务器1和家庭服务器3不具有列表时,中心服务器1或家庭服务器3可以从每个网络设备获取每个网络设备的处理能力(或规范),并且可以基于每个网络设备的处理能力来仿真优化分配方法,以及还可以基于该仿真结果来动态地分配函数给每个网络设备。或者,如下文所具体描述的一样,每个网络设备可以通过协商来彼此动态地分配函数。
如图2所示,家庭服务器3、信息显示设备4和空调控制设备5均具有函数存储部10、变量存储交换器11、执行函数选择器12、函数执行部13、函数分布协商部14、函数实现部分存储部15、函数实现部分增加部16和变量发布控制器17。
函数存储部10存储需要由自身网络设备执行的函数。对于需要由自身网络设备执行的函数,大概有以下三种函数。
第一种,是不能由另一个网络设备执行的对于自身网络设备特有的函数。例如,如果存在用以读取空调控制设备5的温度传感器数值的函数,则仅具有温度传感器的空调控制设备5可执行该函数。如上所述,函数存储部10至少存储自身网络设备特有的函数。
第二种,是根据与中心服务器1、或家庭服务器3、或其它网络设备协商的结果受其它网络设备委托执行的函数。
第三种,是在网络设备制造时存储在函数存储部10中的并且不能由另一个网络设备委托执行的函数。
变量存储交换器11通过电信线路(例如LAN和互联网连接)与每个网络设备相连,并且其存储用以执行在每个网络设备的函数存储部10中存储的函数所必需的变量,并且变量存储交换器11在网络设备中共享该变量。关于共享变量的方式,例如,在其中更新共享变量的变量存储交换器11可通过群播向每个网络设备的变量存储交换器11传送共享变量的更新列表,并且接收该共享变量的更新列表的每个变量存储交换器11可以存储在更新列表中列出的共享变量。
执行函数选择器12引用由变量存储交换器11共享的变量,并且从自身网络设备的函数存储部10中存储的函数中选择可执行函数。
函数执行部13利用(换句话说,通过使用)在变量存储交换器11中存储的变量执行由执行函数选择器12选择的函数。此外,函数执行部13将存储于变量存储交换器中的一个或多个变量更新为通过执行函数所获得的变量。
函数实现部分存储部15存储对于函数执行部13执行在函数存储部10中存储的函数所必需的函数实现部分。
在下文中,将参考附图3中的流程图详细描述变量存储交换器11、执行函数选择器12、函数执行部13和函数实现部分存储部15。
现在,假设如下两个函数存储于某一网络设备的函数存储部10中。换句话说,假设将如下两个函数分配给某一网络设备。
c=f(a,b); (函数1)
e=g(d); (函数2)
其中“a”“b”“c”和“d”均为变量,f(a,b)表示其参数为变量“a”和“b”的函数,g(d)表示其参数为变量“d”的函数。
在步骤S1,执行函数选择器12引用由变量存储交换器11共享的变量,并且检查用以执行在自身网络设备的函数存储部10中存储的函数f(a,b)和g(d)所必需的变量“a”、“b”和“d”是否受到约束。具体来说,执行函数选择器12在用以执行其所在的网络设备(或称自身网络设备)的函数存储部10中存储的函数f(a,b)和g(d)所必需的变量“a”、“b”和“d”与变量存储交换器11中存储的变量之间执行模式匹配。
现在,假设在某个时刻变量“a”和“b”在变量存储交换器11中均受到约束。当该执行函数选择器12根据该模式匹配检测到用以执行自身网络设备的函数存储部10中存储的函数f(a,b)所必需的变量“a”和“b”在变量存储交换器11中受到约束时,在步骤S2,执行函数选择器12选择变为可执行的函数f(a,b)。
当由执行函数选择器12选择函数f(a,b)时,函数执行部13从函数实现部分存储部15获得用以执行函数f(a,b)所必需的实现部分,并在步骤S3,函数执行部13使用在变量存储交换器11中存储的变量“a”和“b”执行函数f(a,b)。并且,在步骤S4,函数执行部13将变量存储交换器11中存储的变量更新为通过执行该函数所获得的变量“c”(c=f(a,b))。据此,变量“c”是最新存储在变量存储交换器11中的,并且在网络设备中间共享该变量。
该变量“c”不能被该网络设备使用,但是能被另一个网络设备使用,以及通过该变量“c”的使用,对新变量受到约束(或更新),以及类似地,以连锁反应的方式逐个执行这些函数。
同时,该网络设备返回到步骤S1,其再次引用由变量存储交换器11共享的变量,检查用以执行在自身网络设备的函数存储部10中存储的函数g(d)所必需的变量“d”是否受到约束。当在某个时刻变量“d”受到约束时,在步骤S2,选择变为可执行的函数g(d)。并且,函数执行部13从函数实现部分存储部15获得用以执行函数g(d)所必需的实现部分,并在步骤S3,函数执行部13执行该函数g(d)。并且,在步骤S4,函数执行部13将变量存储交换器11中存储的变量更新为所获得的变量“e”(e=g(d))。
如上所述,在该函数处理系统的网络设备系统中,在整个系统的函数中用以执行函数所必需的变量受到约束的函数按照顺序逐个执行,结果整个系统的所有函数被执行。
与执行函数选择器12以规则的时间间隔引用该变量存储交换器11的情况不同,当更新变量时,该更新操作可以触发变量存储交换器11向本设备的执行函数选择器12信号传输一个事件。或者,与执行部分选择器12引用在变量存储交换器11中共享的所有变量的情况不同,执行函数选择器12只是仅仅部分地引用被预先定义的必要变量。在这种情况下,与执行函数选择器12引用在变量存储交换器11中存储的所有变量的情况相比,可以降低执行函数选择器12的负载,并且可以加快该执行函数选择器12的引用速度。
接下来,将详细说明函数分布协商部14。函数分布协商部14通过LAN等与其它网络设备的函数分布协商部14相连,并且函数分布协商部14具有将函数存储部10中存储的函数委托给其它网络设备执行的功能。
如前面所述,因为该网络设备系统是函数处理系统,所以任何网络设备可以执行除自身网络设备特有的函数之外的函数,并且其可以通过对每个网络设备适当分配函数来进行优化和增强系统功能。
与通过中心服务器1或家庭服务器3来集中分配函数的情况不同,可配置函数分布协商部14,以通过每个网络设备将分配给自身网络设备的函数动态且分散地分布至其它网络设备。
函数分布协商部14被激活的时间没有被特别限制,但是,例如,当自身网络设备的处理能力接近极限时(在这种情况下,每个设备具有检测装置,用以检测自身网络设备的CPU的能力利用率),或者当向系统中增加新网络设备时,或者网络设备的软件被更新时,等等,可以激活函数分布协商部14。
当函数分布协商部14被激活时,函数分布协商部14与其它网络设备的函数分布协商部协商在自身网络设备的函数存储部10中存储的函数中除了每个网络设备特有的函数之外的函数计算本体。具体来说,函数分布协商部14通过群播向每个网络设备询问其处理负载的情况(包括处理时间、处理能力等等),以及该函数分布协商部14从每个网络设备接收应答。然后,根据该应答,函数分布协商部14最终确定被委托以执行函数的最合适的网络设备。优选地,该函数分布协商部14通过考虑处理负载以及例如通信开销的一些条件来确定被委托以执行该函数的网络设备。如果函数分布协商部14根据应答判断出自身网络设备为执行该函数的最优选的网络设备,则函数分布协商部14不对该函数进行委托执行,而是由自身网络设备来执行。
被委托以执行函数的网络设备在函数存储部10中存储被委托执行的函数。从此刻起,由该网络设备执行该函数。
如上所述,可以根据负荷状态、处理时间和处理能力动态地改变函数的计算实体,从而进行优化并动态且分散地提升系统能力。
在下文中,将通过具体的实例来详细地说明函数分布协商部14。
在图4A中,假设空调控制设备5和信息显示设备4均安装在家中。空调控制设备5和信息显示设备4通过LAN彼此相连,并且当用户使用空调控制设备5时,在信息显示设备4地显示器上显示空调控制设备5的操作屏幕,用户可以在观察信息显示设备4的显示器的同时操作空调控制设备5。
还假设将函数A、B和C分配给空调控制设备5,并且这些函数存储于空调控制设备5中。函数A是空调控制设备5所特有的函数(这里,假设函数A是用以读取空调控制设备5的温度传感器数值的函数。),而函数B和C不是空调控制设备5所特有的函数,因此可以将它们委托给其它的网络设备执行。假设函数C是用以产生将在信息显示设备4上显示的空调控制设备5的操作屏幕(在下文中,称为图形产生函数C)。
在图4A所示的情况中,首先,通过空调控制设备5来执行空调控制设备5的函数A(即,用以读取温度传感器数值的函数)。接下来,基于执行函数A而受到约束的变量,执行信息显示设备4的函数B、C或另一函数。然后,基于执行该函数而受到约束的变量,执行另一函数;类似地,按时间顺序相应地逐个执行信息显示设备4和空调控制设备5的所有函数。
在另一个实例中,例如,在家庭安全系统中,人体检测传感器、照明装置、相机设备、信息显示设备、家庭服务器等等用作网络设备运行。首先,人体检测传感器执行人体检测函数,并且其约束根据执行本变量存储交换器11中的函数而获得的变量,以及人体检测传感器与其它网络设备共享该变量。接下来,响应于该变量的约束,将被约束的变量在照明装置和相机设备中用作输入的函数被执行,并且作为结果,例如,照明装置可以发光,或者相机设备可以开始照相。此外,当相机设备约束变量时(例如,表示照相时间等等的变量),作为函数处理结果,相机设备在网络设备中共享该变量,家庭服务器通过将该变量用作输入来执行用以在信息显示设备(例如具有网络浏览器的电视机)上显示照相时间的函数。如上所述,可以实现该家庭安全系统。
另外,在图4A的情况下,因为将图形产生函数C分配给空调控制设备5,所以空调控制设备5本身产生空调控制设备5的操作屏幕。然而,因为空调控制设备5具有的处理能力较差,所以在信息显示设备4上其仅显示简单的操作屏幕。
这里,如图4B所示,假设将具有高处理能力的家庭服务器3加入到图4A中的网络设备系统中。当在该系统中新安装家庭服务器3时,空调控制设备5、家庭服务器3和信息显示设备4的函数分布协商部14通过将网络设备新安装到该系统而产生的触发器开始协商函数的计算实体。
空调控制设备5通过群播向家庭服务器3和信息显示设备4询问关于执行在函数存储部10中存储的函数B和C所必需的处理时间和其处理能力。因为函数A为空调控制设备5所特有,所以它不是协商的对象。
作为询问结果,如果发现,对于该函数C(即,图形产生函数C),家庭服务器3比空调控制设备5和信息显示设备4具有更佳的处理时间和处理能力,则空调控制设备5将函数C委托给家庭服务器3执行。
被委托执行函数C的家庭服务器3存储该函数C于家庭服务器3的函数存储部10中,从此刻起,由家庭服务器3执行函数C。因为家庭服务器3可以在很短的时间内绘制图形且具有高处理能力,所以其可以在信息显示设备4的显示器上高速显示彩色的操作屏幕。
所以,由空调控制设备5执行没有被委托执行的函数A和B。
如上所述,可以通过函数分布协商部14来动态改变函数的计算实体,从而可以对系统进行优化并提升系统能力。此外,因为函数处理系统的函数不具有负面影响,所以尽管对函数进行委托执行,也不会影响目标网络设备的原始操作。即,在图4B的情况下,尽管对空调控制设备5的图形产生函数C进行委托执行,也可以保证家庭服务器3的原始操作。当然,也可以保证空调控制设备5的原始操作。
尽管通过图4A和图4B中的函数分布协商部14可以提高处理时间和图形产生能力,当然也可以通过函数分布协商部14来提高其它能力,例如用以引用操作条件历史的历史引用能力以及降低电能消耗的能力。
另外,在图4A和图4B中,尽管函数分布协商部14的协商范围仅包括在家中安装的网络设备3、4和5,但是如果将家中的网络设备通过如图1所示的互联网2与中心服务器1相连,则每个函数分布协商部14可以在包括中心服务器1的范围内进行协商。如果将函数委托给该中心服务器1执行,则可以进一步提高处理能力。
另外,当通过函数分布协商部14对新函数进行委托执行时,可能发生该函数的实现部分并未存储于本函数实现存储部15中的情况。可将系统中使用的所有函数的实现部分存储于函数执行部分存储部15中,但是会造成存储空间的浪费,而且不实用。而且,不可以处理新增加的函数。因此,如图2所示,优选地是每个网络设备均具有函数执行部分增加部16。函数执行部分增加部16通过互联网2与中心服务器1的函数实现部分存储库6相连。当通过函数分布协商部14对于在本函数实现部分存储部15中没有存储实现部分的函数进行委托执行时,函数执行部分增加部16通过互联网从函数实现部分存储库6中获得该函数的执行部分。通过这种方法,尽管该函数的实现部分未存储于函数执行部13的函数实现部分存储部15中,函数执行部13也可以执行该函数。此外,尽管仅通过在该函数实现部分存储库6中存储新网络设备的实现部分将该新网络设备增加到系统中,任何网络设备均能够执行该函数。该函数实现部分增加部16可以从函数实现部分存储库6以及该函数被委托执行的网络设备中获得该函数的实现部分。
如图2所示,在优选的系统配置中,每个网络设备均具有变量发布控制器17。该变量发布控制器17将存储于变量存储交换器11中的变量分类为可以在网络设备中共享的共享变量和不可以在网络设备中共享的非共享变量,并且变量存储交换器11通过电信线路仅共享在网络设备中的共享变量。
更具体地,随着系统变大,在变量存储交换器11中共享的变量个数增加。然而,没有必要共享所有的变量。例如,在由另一函数Y使用一变量a的情况下,其中该变量a是通过执行某一函数X来约束的,如果由同一网络设备执行上述两个函数X和Y,则没有必要开放(换句话说,共享)该变量a。因此,在这种情况下,变量发布控制器17将变量a分类为非共享变量,并且变量存储交换器11在网络设备中不共享该变量a。如果由不同的网络设备执行上述两个函数X和Y,则有必要开放(共享)该变量a,因此变量发布控制器17将变量a分类为共享变量,并且变量存储交换器11通过电信线路在网络设备中共享该变量a。此外,函数分布协商部14的协商结果显示哪一个变量应该作为共享变量。通过配置该变量发布控制器17,可以防止不必要地共享变量,从而可以降低用以共享变量的网络负载。
通过如上所述构成每个网络设备,可以实现分布式函数处理系统的网络设备系统。因为通过该函数处理系统的函数组合来配置该网络设备系统,所以即使当增加新网络设备时,新网络设备的功能(函数)不会对现有的网络设备造成负面影响,因此可以更容易地应对系统的变化。此外,通过将整个系统的函数适当地分配给每个网络设备(图1中的中心服务器1、家庭服务器3、信息显示设备4和空调控制设备5)来对整个系统进行优化并提升整个系统的能力。例如,当将安全设备(未显示)增加到图1中的系统中时,因为在安全设备中设置的函数不会对现有网络设备的函数带来负面影响,所以很容易地将安全设备增加到系统中,以及还可以根据每个网络设备的处理负载将除了安全设备的检测功能之外的主要功能的安全设备的函数委托给每个网络设备执行。关于分配这些函数的方法,中心服务器1或家庭服务器3可以集中分配这些函数,或者每个网络设备可以通过函数分布协商部14以某一种分配方式彼此分配函数。无论怎样分配函数,可以从数学计算的角度确保整个系统的性能不变。此外,因为该函数处理系统不依赖于执行顺序,因此不存在产生死锁的危险。
如上所述,在不脱离本发明的精神和范围的情况下可以包含许多清楚的具有较大不同的实施例,可以理解的是,本发明不限于其中的特定实施例,而是由所附的权利要求来限定。
Claims (7)
1.一种网络设备系统,其中与电信线路连接的多个网络设备执行彼此相关的预定操作,
通过多个函数的组合来配置整个系统,并且所述网络设备系统被配置为使得每个网络设备执行被分配给自身的函数,从而该系统作为整体来执行所述预定操作,
每个网络设备包括:
函数存储部,该函数存储部存储需要由其所在的网络设备执行的函数;
变量存储交换器,该变量存储交换器通过电信线路与每个网络设备相连,存储用以执行在每个网络设备的所述函数存储部中存储的函数所必需的变量,以及在所述网络设备中共享所述变量;
执行函数选择器,该执行函数选择器引用在该变量存储交换器中存储的变量,从存储于其自身网络设备的所述函数存储部中的函数中选择可执行函数;
函数执行部,该函数执行部使用在所述变量存储交换器中存储的变量执行由该执行函数选择器选择的函数,以及将存储于所述变量存储交换器中的变量更新为通过执行该函数所获得的变量。
2.如权利要求1所述的利用分布式函数处理系统的网络设备系统,其中
该函数存储部至少存储其所在的网络设备特有的函数。
3.如权利要求1所述的利用分布式函数处理系统的网络设备系统,其中
每个网络设备还包括函数分布协商部,该函数分布协商部通过电信线路与其它网络设备相连,并具有将所述函数存储部中存储的函数中除该函数存储部所在的网络设备特有的函数之外的函数委托给其它网络设备执行的功能,
该函数存储部存储由该函数分布协商部从其它网络设备委托执行的函数。
4.如权利要求3所述的利用分布式函数处理系统的网络设备系统,其中
所述函数分布协商部向每个网络设备询问关于其处理负载的情况,从每个网络设备接收应答,以及基于该应答确定被委托以执行该函数的网络设备。
5.如权利要求3所述的利用分布式函数处理系统的网络设备系统,其中
所述多个网络设备中的至少一个具有函数存储库,该函数存储库用来存储在该网络设备系统中使用的函数的实现部分,
每个网络设备还包括:
函数实现部分存储部,其用来存储对于所述函数执行部执行预定函数所必需的该预定函数的实现部分;以及
函数实现部分增加部,其从所述函数存储库中获得由所述函数分布协商部从其它网络设备委托执行的函数中未存储在所述函数实现部分存储部中的函数的实现部分。
6.如权利要求1所述的利用分布式函数处理系统的网络设备系统,其中
每个网络设备还包括:变量发布控制器,其对存储于所述变量存储交换器中的变量分类为可以在所述网络设备中共享的共享变量和不可以在所述网络设备中共享的非共享变量;
该变量存储交换器通过电信线路仅共享在所述网络设备中的所述共享变量。
7.如权利要求1所述的利用分布式函数处理系统的网络设备系统,其中
所述多个网络设备至少包括中心服务器、安装在家中的家庭服务器以及安装在家中的设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005379947 | 2005-12-28 | ||
JP379947/2005 | 2005-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101103342A true CN101103342A (zh) | 2008-01-09 |
CN100514314C CN100514314C (zh) | 2009-07-15 |
Family
ID=38218126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006800022790A Expired - Fee Related CN100514314C (zh) | 2005-12-28 | 2006-12-28 | 网络设备系统 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1890238B1 (zh) |
JP (1) | JP4966004B2 (zh) |
KR (1) | KR100928913B1 (zh) |
CN (1) | CN100514314C (zh) |
WO (1) | WO2007074905A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662420B (zh) * | 2008-08-29 | 2012-09-05 | 国际商业机器公司 | 用于整合网络设备的系统和方法 |
CN108304492A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10551928B2 (en) | 2012-11-20 | 2020-02-04 | Samsung Electronics Company, Ltd. | GUI transitions on wearable electronic device |
US10185416B2 (en) | 2012-11-20 | 2019-01-22 | Samsung Electronics Co., Ltd. | User gesture input to wearable electronic device involving movement of device |
US10423214B2 (en) | 2012-11-20 | 2019-09-24 | Samsung Electronics Company, Ltd | Delegating processing from wearable electronic device |
US11157436B2 (en) | 2012-11-20 | 2021-10-26 | Samsung Electronics Company, Ltd. | Services associated with wearable electronic device |
US11237719B2 (en) * | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Controlling remote electronic device with wearable electronic device |
JP6463598B2 (ja) * | 2012-11-20 | 2019-02-06 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 着用式電子デバイスからのプロセッシングの委任 |
US8994827B2 (en) | 2012-11-20 | 2015-03-31 | Samsung Electronics Co., Ltd | Wearable electronic device |
US11372536B2 (en) | 2012-11-20 | 2022-06-28 | Samsung Electronics Company, Ltd. | Transition and interaction model for wearable electronic device |
US10691332B2 (en) | 2014-02-28 | 2020-06-23 | Samsung Electronics Company, Ltd. | Text input on an interactive display |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137697A (ja) | 1994-11-15 | 1996-05-31 | Kobe Steel Ltd | 自律分散型システム |
JP2988462B2 (ja) * | 1998-02-12 | 1999-12-13 | 三菱電機株式会社 | 自律協調処理装置、自律協調処理方法、並びに、その記録媒体 |
EP1336137A2 (en) * | 1999-01-07 | 2003-08-20 | IQ Netsolutions, Inc. | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
JP2002057785A (ja) * | 2000-08-11 | 2002-02-22 | Kenwood Corp | 自動車電話装置 |
JP2004126896A (ja) * | 2002-10-02 | 2004-04-22 | Hitachi Ltd | 自律分散データ計算処理サーバーシステム |
JP2005251068A (ja) * | 2004-03-08 | 2005-09-15 | Nippon Telegr & Teleph Corp <Ntt> | 分散機能連携システム、分散機能管理装置、分散機能連携方法、およびプログラム |
JP2004265425A (ja) | 2004-03-08 | 2004-09-24 | Fuji Xerox Co Ltd | メッセージ通信方法及び装置 |
-
2006
- 2006-12-28 CN CNB2006800022790A patent/CN100514314C/zh not_active Expired - Fee Related
- 2006-12-28 KR KR1020077013003A patent/KR100928913B1/ko not_active IP Right Cessation
- 2006-12-28 EP EP06843636A patent/EP1890238B1/en not_active Expired - Fee Related
- 2006-12-28 WO PCT/JP2006/326258 patent/WO2007074905A1/ja active Application Filing
- 2006-12-28 JP JP2006356100A patent/JP4966004B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662420B (zh) * | 2008-08-29 | 2012-09-05 | 国际商业机器公司 | 用于整合网络设备的系统和方法 |
CN108304492A (zh) * | 2018-01-09 | 2018-07-20 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及系统 |
WO2019136839A1 (zh) * | 2018-01-09 | 2019-07-18 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及系统 |
CN108304492B (zh) * | 2018-01-09 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 一种搜索列表更新方法、存储介质、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100514314C (zh) | 2009-07-15 |
JP4966004B2 (ja) | 2012-07-04 |
EP1890238A1 (en) | 2008-02-20 |
KR100928913B1 (ko) | 2009-11-30 |
EP1890238B1 (en) | 2011-10-19 |
WO2007074905A1 (ja) | 2007-07-05 |
EP1890238A4 (en) | 2009-07-15 |
KR20070090911A (ko) | 2007-09-06 |
JP2007200313A (ja) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514314C (zh) | 网络设备系统 | |
US8635628B2 (en) | Systems and methods providing intelligent routing of data between software system | |
CN101258530B (zh) | 自主传感器网络生态系统中分配资源 | |
US7185046B2 (en) | Submitting jobs in a distributed computing environment | |
CN103202049B (zh) | 自组织网络中的冲突处理 | |
US8626354B2 (en) | Approach for normalizing automated demand response events in energy management control systems | |
US9153001B2 (en) | Approach for managing distribution of automated demand response events in a multi-site enterprise | |
CN101179516B (zh) | 基于有向图的数据分发方法 | |
CN100499455C (zh) | 数据通信方法 | |
Birman et al. | Programming your way out of the past: ISIS and the META Project | |
US20220011753A1 (en) | Generating and distributing configuration data structures for control systems | |
US8805557B2 (en) | Control system, control device, and control method | |
CN102710792A (zh) | 一种具有远程服务功能的嵌入式通用节点设计方法 | |
CN109657813A (zh) | 一种省级汽车维修电子健康档案管理系统及方法 | |
CN103916428A (zh) | 私有云内部的数据传输方法、私有云平台及私有云系统 | |
US7877467B2 (en) | Network equipment system | |
KR20140122966A (ko) | 자율 컴퓨팅 장치들간의 토픽을 공유하는 장치 및 그 방법 | |
KR0146669B1 (ko) | 컴퓨터네트워크계에서 단말기의 상태점검방법 | |
RU2809474C1 (ru) | Система управления "умным поселком" | |
CN116203855B (zh) | 换电柜仓位控制方法、装置、设备及存储介质 | |
Allawi | DEVELOPMENT OF OPTIMIZED MOBILE AGENT TASK PATTERN USING PUSH-ALL-DATA STRATEGY | |
Pires et al. | Homogeneous wireless sensor network programming using muffin | |
Geng et al. | Implementation of fully distributed inference in multiagent MSBN systems | |
Loy et al. | Programming Model | |
JP2002014848A (ja) | 保守監視システムおよび保守監視方法 |
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 | ||
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: 20090715 Termination date: 20171228 |