自适应人工神经网络选择技术的制作方法

文档序号:15307291发布日期:2018-08-31 21:12阅读:143来源:国知局

本申请要求2016年3月28日提交的美国申请第15/082,653号的优先权。上述申请的全部公开内容通过引用并入本文。

本公开涉及分布式客户端-服务器处理,并且更具体地涉及自适应人工神经网络(ann)选择技术。



背景技术:

这里提供的背景描述是为了总体上呈现本公开的背景。目前指定的发明人的工作,在本背景技术部分中描述的程度,以及在提交时可能不具有现有技术资格的描述的各方面,既不明示也不暗示地被认为是针对本公开的现有技术。

客户端计算设备(例如,移动电话)能够与被配置为执行处理任务的至少一部分的远程服务器计算设备通信。在服务器计算设备上执行的处理程度可以取决于各种因素。一个示例因素是客户端和服务器计算设备之间的网络连接的质量或强度。当网络连接具有低质量/强度时,客户端计算设备能够处理更大量的处理任务。然而,对于某些密集处理任务(例如,机器学习模型),服务器计算设备更有能力并因此更优选地处理所述处理任务的某些部分。在这些情况下,尽管网络连接的质量/强度低,可能希望在服务器计算设备中进行处理。为了在低质量/强度网络连接上传送所需数据,客户端计算设备因此可对要传送到服务器计算设备的任何数据应用压缩。但是,这种压缩会导致数据丢失,从而对处理任务的最终结果产生负面影响。



技术实现要素:

提出了一种计算机实施的技术和计算系统,其具有一个或多个处理器和存储用于该技术的一组可执行指令的计算机可读存储器(例如,非暂时性计算机可读存储器)。该技术能够包括:由具有一个或多个处理器的客户端计算设备获得数字媒体项目和对数字项目的处理任务的请求;由客户端计算设备基于(i)所述客户端计算设备处的可用计算资源和(ii)网络状况来确定一组操作参数,其中所述客户端计算设备和服务器计算设备被配置用于基于该组操作参数经由网络彼此进行通信;选择多个人工神经网络(ann)中的一个,每个ann定义处理任务的哪些部分将由客户端和服务器计算设备执行,根据选定的ann协调处理任务在所述客户端和所述服务器计算设备之间的处理;由客户端计算设备获取对应于处理任务的最终评估的最终处理结果;由客户端计算设备基于最终处理结果生成输出。

在一些实施例中,每个ann定义处理任务的第一部分和第二部分,第一部分要在(ii)通过网络进行通信、使得客户端和服务器计算设备中的另一个执行第二部分之前由(i)客户端和服务器计算设备之一执行。在一些实施例中,客户端计算设备(i)选择选定的ann,(ii)执行处理任务的第一部分以获得中间处理结果,(iii)向服务器计算设备发送中间处理结果,并且(iv)经由网络,从服务器计算设备接收最终处理结果。

在一些实施例中,客户端计算设备处的可用计算资源包括(i)客户端计算设备的电池的充电量,(ii)客户端计算设备的处理能力水平中的至少一个。在一些实施例中,客户端计算设备处的可用计算资源包括(i)客户端计算设备的电池的充电量(ii)客户端计算设备的处理能力水平两者。在一些实施例中,数字媒体项目是音频文件或视频文件,并且处理任务是语音识别或语音转文本。在其他实施例中,数字媒体项目是图像文件或视频文件,并且处理任务是图像识别或文本识别。在其他实施例中,数字媒体项目是一串文本或文本文件,并且其中处理任务是文本转语音。

在一些实施例中,该技术还包括:从该客户端计算设备向该服务器计算设备传输该组操作参数,其中,该组操作参数的接收使得所述服务器计算设备(i)选择选定的ann并且(ii)执行处理任务的第一部分用于获得中间处理结果,并且由客户端计算设备经由网络从服务器计算设备接收中间处理结果。在一些实施例中,客户端计算设备使用中间处理结果来执行处理任务的第二部分以获得最终处理结果。

本文描述的主题的其他方面提供了一种计算机可读介质和一种计算系统,该计算机可读介质存储一组指令,该指令在由处理器执行时使得处理器执行根据本文描述的任何实施方式的方法,该计算系统包括一个或多个处理器和计算机可读存储器,该计算机可读存储器其上存储有一组指令,当由一个或多个处理器执行时,使得计算系统执行包括根据本文描述的任何实现的方法的操作。

根据下文提供的详细描述,本公开的进一步应用领域将变得显而易见。应该理解的是,详细描述和具体示例仅旨在用于说明的目的,而不旨在限制本公开的范围。应当理解,可以组合方面和实现,并且在一个方面或实现的上下文中描述的特征可以在其他方面或实现的上下文中实现。

附图说明

从详细描述和附图将更全面地理解本公开,其中:

图1是根据本公开的一些实施方式的示例计算系统的图;

图2是图1的示例计算设备的功能框图;

图3a-3c是根据本公开的一些实施方式的服务器侧层,客户端侧层和瓶颈层的各种人工神经网络(ann)配置的图;和

图4是根据本公开的一些实施方式的示例自适应ann选择技术的流程图。

具体实施方式

如前所述,客户端计算设备(例如,移动电话)能够对于要被发送到远程服务器计算设备、用于处理任务(processingtask)的至少一部分的数据应用压缩。高水平的压缩可能导致数据丢失,这可能会对服务器计算设备执行的处理的结果产生负面影响。例如,开放式语音识别是一项处理任务,其计算成本昂贵,并且通过执行识别服务器侧可以获得最佳准确性。因此,广泛采用语音识别相关功能的一个限制因素是相关的网络带宽和延迟要求。

人工神经网络(ann)涉及深度学习以获得大型机器学习模型,其通常在服务器计算设备上实施。由ann执行的处理任务的示例包括语音识别(例如,语音转文本或转录)、图像识别、文本识别(例如光学字符识别或ocr)以及文本转语音变换。尽管ann在模型方面取得了巨大的进步,并且导致质量有了很大的提高,但它并没有减少由于数据在网络(其中客户端计算设备是电池供电的设备,例如移动设备)之上传输导致的往返延迟和电池影响。然而,这些处理任务的至少一些部分能够由客户端计算设备在本地执行。

因此,提出了自适应人工神经网络选择技术。该技术涉及客户端计算设备获得数字媒体项目(文本、音频、图像、视频等)和对数字媒体项目上的处理任务的请求。客户端计算设备能够获得一组操作参数(电池水平、处理能力、网络速度等),该参数影响在客户端计算设备和服务器计算设备之间处理任务的分布。根据处理任务,客户端和服务器计算设备中的一个可以选择多个ann中的一个,每个ann定义处理任务的分布。根据选定的ann,客户端和服务器计算设备可以执行处理任务的一部分,并且可以在客户端计算设备处输出最终评价。

现在参考图1,示出了根据本公开的一些实施方式的示例计算系统100的图。计算系统100能够包括与用户108相关联的客户端计算设备104。客户端计算设备104可以是任何合适的计算设备(台式计算机、膝上型计算机、平板计算机、移动电话等)。客户端计算设备104可以经由网络116与服务器计算设备112进行通信。网络116可以是局域网(lan)、广域网(wan),例如互联网,或其组合。这里使用的术语“服务器计算设备”可以指以并行或分布式体系结构操作的两个或更多个服务器计算设备以及单个服务器计算设备。例如,机器学习模型可以分布在多个服务器计算设备上。

现在参考图2,示出了示例计算设备200。在一个实施方式中,计算设备200可以包括通信设备204、处理器208、存储器212、输入/输出设备216、麦克风220和相机224。为了本公开的目的,计算设备200可以表示客户端计算设备104和/或服务器计算设备112。然而,应该理解的是,这些设备104、112可以具有稍微不同的配置(例如,服务器计算设备112可以不包括输入/输出设备216、麦克风220和相机224)。通信设备204可以是被配置为用于经由网络116进行通信的任何合适的设备(例如,收发器)。存储器212可以是被配置为在计算设备200处存储信息的任何合适的存储介质(闪存、硬盘等),诸如由处理器208执行的一组指令。

这里使用的术语“处理器”可以指以并行或分布式架构工作的两个或更多个处理器和单个处理器两者。当由处理器208执行时,该组指令可以使得计算设备200执行本公开的技术的至少一部分。输入/输出设备216可以是触摸显示器、物理键盘/按钮、扬声器或其某种组合。麦克风220可以是被配置为捕获音频数据(例如,音频流)的任何合适的设备。相机224可以是被配置为捕获图像/视频数据(例如,静态图像或视频流)的任何合适的设备(例如,电荷耦合设备或ccd)。计算设备200还可以包括用于为其操作供电的电池228(例如,用于移动计算设备)。如上所述,计算设备200可以被配置为执行本公开的技术的至少一部分,现在更详细地讨论该技术。

再次参考图1,并继续参考图2,客户端计算设备104可以获得数字媒体项目和对处理任务的请求。数字媒体项目可以由操作客户端计算设备104(由麦克风220捕获的音频、经由输入/输出设备216获得的文本、由相机224捕获的图像/视频等)的用户108获得。数字媒体项目也可以被另一个计算设备捕获并且随后由客户端计算设备104获得。数字媒体项目的非限制性示例包括一串文本或整个文本文件、图像文件、音频文件和视频文件。处理任务的非限制性示例包括语音识别(例如语音转文本或转录)、文本识别(例如ocr)、图像识别和文本转语音变换。

这里使用的术语“人工神经网络”和“ann”可以指代跨客户端计算设备104和服务器计算设备112的机器学习模型或模型族。每个机器学习模型都能够被训练,例如,使用类似的数据作为使用机器学习模型执行的处理任务。例如,声学数据可以用于训练机器学习的声学模型。每个ann可以被描述为分成不同的层。每个层可以代表要由客户端计算设备104和服务器计算设备112中的一个执行的任务或一组任务。然后可以将每个任务或一组任务的结果传递到后续层,以此类推。然后最后一层可以输出最终评价,其也可以被称为最终处理结果。瓶颈层可以表示使得从一个设备到另一个设备(例如,从客户端计算设备104到服务器计算设备112)传输信息(例如激活)的层。换句话说,瓶颈层可以表示设备的指定层(assignedlayers)的结论,并且激活可以包括由初始设备完成的处理任务的部分的结果,以及在其他设备上完成处理任务的附加信息。

这项任务可以被描述为训练ann,使得从质量的角度来看,它们可以最佳地工作,同时还可以平衡其他目标。例如,另一个目标可以是将客户端侧计算限制在设备上可行的范围内。这例如能够通过有多少预瓶颈层和每层的大小来确定,这与增加的计算成本相对应。另一个示例目标可以是限制通信量/网络成本和延迟。这例如能够通过瓶颈层中的信息量(保真度水平)和节点的数量来确定。其他设备(例如,服务器计算设备112)能够接收瓶颈层,该瓶颈层能够包括激活,该激活使得设备执行层的其余部分并因此获得最终评估。然后可以将最终评价返回到初始设备(例如,客户端计算设备104),用于生成输出。下面将更详细地讨论示例ann和它们各自的层,并在图3a-3c中示出。

客户端计算设备104能够确定一组操作参数,其可以用于选择多个ann中的一个用于执行处理任务。每个操作参数可以影响并因此可以指示客户端计算设备104和服务器计算设备112之间处理任务的期望的分布。如前所述,服务器计算设备112能够更好地装备以处理广泛的处理(extensiveprocessing),但是网络状况能够影响该服务器计算设备112能够处理全部或大部分处理任务的可行性,例如,由于输入的高维度。操作参数的非限制性示例包括(i)客户端计算设备104处的可用计算资源(电池228的充电量,处理能力水平(例如,处理器208的类型)等),和(ii)在客户端计算设备104和服务器计算设备112之间经由网络116的连接(在下文中称为“网络连接”)条件。

例如,电池228的较低水平的电荷能够表示期望在客户端计算设备104处执行处理任务的较小部分。类似地,客户端计算设备104的较低级别的处理能力能够表示期望在客户端计算设备104处执行处理任务的较小部分。另一方面,网络状况的条件可能是处理任务的期望的分布的更重要的因素。更具体地,更快的网络连接能够表示对服务器计算设备112执行尽可能多的处理任务的期望。类似地,较慢的网络连接能够表示期望客户端计算设备104处理至少一些处理任务。尽管讨论了网络速度,但其他网络连接条件(带宽、数据成本等)也会影响期望的分布。另一个示例因素例如是服务器计算设备112上的负载(例如,繁重的网络流量),且在这些情况下,客户端计算设备104能够处理较大部分的处理任务。

如前所述,基于该组操作参数,可以选择多个ann中的一个。每个ann能够定义处理任务的哪些部分将由客户端计算设备104和服务器计算设备112执行。通过训练多个不同的ann并且通过在两侧(客户端和服务器)具有用于客户端和服务器的相关层,本文公开的技术可以提供压缩级别、延迟和计算成本的动态选择。取决于处理任务,客户端计算设备104或服务器计算设备112能够选择ann,以获得选定的ann用于处理任务的分布式处理。通过使用瓶颈层激活作为压缩表示,能够以对识别任务最有效的方式对数据进行压缩。此外,可以在系数本身上应用无损或有损压缩以进一步减少查询负载(querypayload)。

在一个示例性实施方式中,可以存在三个不同的ann,其在图3a-3c中示出并在下面进行描述。尽管在此示出和描述了三个ann,但可以理解,可以训练任意多个ann(两个ann、四个或更多ann等)并从其中选择。每个ann能够说明两个自由度:(1)一些瓶颈前的客户端侧层和(2)瓶颈的宽度。这也可以被描述为二维参数表面。在图3a中,例如示出了第一示例ann300,其能够在网络连接速度/带宽为高/好(例如,高于阈值)时使用。在一些实施例中,不管客户端计算设备104的处理能力如何(即,因为网络连接是如此好),都可以使用该ann300。处理任务被分为少量客户端侧层304和大量服务器侧层308,其间具有瓶颈层312。在客户端计算设备104处执行的客户端侧层304可以从接收输入316开始,并以瓶颈层312结束,这能够使得激活向服务器计算设备112的传输。层高度指示符320指示少量客户端侧层304,并且瓶颈宽度指示符324指示对应于高质量网络连接的宽瓶颈。

在图3b中,示出了另一个示例性ann330。再次,处理任务被划分为由瓶颈层342划分的客户端侧层334和服务器侧层338。例如,当网络状况速度/带宽为较低/较差时(例如,低于阈值)并且客户端计算设备104的处理能力也较低/较差(例如,低于阈值)时,可以利用该ann330。与图3a相比,低质量网络连接由更窄的瓶颈宽度指示符346指示。尽管客户端计算设备104响应于输入350而执行与图3a相比更多的客户端侧层334(如由层高度指示符354所指示的),由于客户端计算设备104的有限处理能力,仍然存在相对大量的服务器侧层338。与图3b相比,图3c示出了具有低质量网络连接(由瓶颈宽度指示符364指示)的另一个示例ann360,但是客户端计算设备104具有更大的处理能力(例如,大于阈值)。因此,响应于输入368,与图3a和3b相比,客户端计算设备104可以执行更多数量的客户端侧层372(如层高度指示符376所指示的)。因此,在瓶颈层380之后,服务器计算设备112仅执行少数的服务器侧层384。

在获得选定的ann之后,客户端计算设备104和服务器计算设备112可根据选定的ann来协调处理任务的处理。这可以包括,例如,要被应用于经由网络116传输的任何数据的压缩级别/类型。虽然客户端处理能力和网络质量是上述的重点,但是ann的选择可以进一步基于如本文先前所述的其他因素。例如,在有限的电池情况下,该选择可以平衡网络流量的能量成本(电池充电)与额外的客户端侧计算的能量成本。类似地,如果可以做出客户端计算设备104正在漫游或支付高数据成本的自动检测,则ann的选择可以进一步偏向于小瓶颈架构。

对于大多数处理任务,客户端计算设备104可以选择选定的ann并且可以执行处理任务的第一部分(例如,第一数量的层)以获得中间处理结果。客户端计算设备104然后能够经由网络116与服务器计算设备112通信(例如,通过发送激活,诸如用于完成处理任务的附加信息和中间处理结果,诸如选定的ann的唯一标识符(id)),这可以使服务器计算设备112执行处理任务的第二部分(例如,其余层)以获得最终处理结果,然后将其返回给客户端计算设备104以生成输出。为允许对由特定ann定义的堆栈的所有层进行持续改进,可以执行对输入样本或所有原始初始数据(即在压缩之前)的记录,诸如对于网络116限制的情况。在这种情况下的这种异步记录而后允许当网络116的状况改善后进行后续改进。

然而,对于一些处理任务(例如,文本转语音变换),服务器计算设备112能够选择选定的ann,执行处理任务的第一部分以获得中间处理结果,并将激活(例如,用于完成处理任务的附加信息和中间处理结果)发送到客户端计算设备104。客户端计算设备104然后能够执行处理任务的第二部分以获得最终处理结果。换句话说,用于某些处理任务(例如,文本转语音变换)的处理可以被认为是其他处理任务的处理的逆过程。客户端计算设备104可以基于最终处理结果来生成输出。

由客户端计算设备104生成的输出的非限制性示例可以包括文本、图像和声音。该输出可以使用客户端计算设备104的各种组件(诸如触摸显示器的输入/输出设备216、麦克风220等等)来生成。例如,当处理任务是语音转文本时,输出可以是表示原始数字媒体项目的文本(音频或视频文件)。作为另一示例,当处理任务是图像或文本识别时,输出可以是代表原始数字媒体项目的文本或另一图像(图像或视频文件)。作为又一示例,当处理任务是文本转语音变换时,输出可以是代表原始数字媒体项目的声音或音频流(一串文本或文本文件)。应该理解,对于相同或相似的识别处理任务,例如音乐/歌曲识别,也可以产生其他可能的输出。

现在参考图4,示出了示例自适应ann选择技术400的流程图。在404处,客户端计算设备104可以获得数字媒体项目(一串文本或文本文件、音频文件、图像文件、视频文件等)以及对数字项目的处理任务的请求。在408处,客户端计算设备104可以确定影响处理任务的期望分布的一组操作参数。在412处,客户端计算设备104可以确定处理任务是文本转语音(“tts”)变换还是涉及服务器计算设备112选择ann的另一类似处理任务。如果任务不是文本转语音变换,则技术400可以前进到416。然而,如果任务是文本转语音变换,则技术400可以前进到432。

在416处,客户端计算设备104可以基于该组操作参数来选择多个ann中的一个。在420处,客户端计算设备104可执行由选定的ann指定的处理任务的第一部分(例如,直至并包括瓶颈层)以获得中间处理结果。在424处,客户端计算设备104可以向服务器计算设备112发送激活(例如,用于完成处理任务的附加信息和中间处理结果)。激活的接收可以使得服务器计算设备112完成由所选定的ann指定的处理任务的第二部分并且使用接收到的激活来获得最终处理结果。在428处,客户端计算设备104可以从服务器计算设备112接收最终处理结果。技术400然后可以进行到444。

在432处,客户端计算设备104可以将该组操作参数(以及可能的其他信息)传输到服务器计算设备112。接收该组操作参数可以使得服务器计算设备112(i)选择多个ann中的一个,(ii)执行由选定的ann指定的文本转语音变换的第一部分(例如,直到并包括瓶颈层)以获得中间处理结果,并且(iii)将激活(例如,用于完成处理任务的附加信息和中间处理结果)发送到客户端计算设备104。在436,客户端计算设备104可以接收中间处理结果。在440处,客户端计算设备104完成由选定的ann所指定的处理任务的第二部分(即剩余部分),并使用所接收到的激活来获得最终处理结果。在444,客户端计算设备104能够基于最终处理结果来生成输出(文本、音频流、图像等)。技术400然后可以结束或返回到404。

除了以上描述之外,可以向用户提供允许用户选择是否以及何时在此描述的系统、程序或特征能够收集用户信息(有关用户的当前位置的信息、有关用户的蜂窝计费计划的信息等)以及用户是否从服务器发送内容或通信的控件。另外,某些数据在存储或使用之前可能会以一种或多种方式进行处理,以便删除个人身份信息。例如,可以对用户的身份进行处理,使得不能为用户确定个人身份信息,或者可以在获得位置信息(例如城市、邮政编码或州级)的情况下将用户的地理位置概括化,以至于不能确定用户的特定位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息。

提供示例实施例是为了使本公开彻底,并且将范围充分传达给本领域技术人员。阐述了许多具体细节,诸如具体组件、设备和方法的示例,以提供对本公开的实施例的全面理解。对于本领域技术人员来说显而易见的是,不需要采用具体细节,示例实施例能够以许多不同的形式来体现,并且都不应该被解释为限制本公开的范围。在一些示例实施例中,没有详细描述公知的过程,公知的设备结构和公知的技术。

这里使用的术语仅用于描述特定示例实施例的目的,而不旨在限制。如本文所使用的,除非上下文另外清楚地表明,否则单数形式“一”、“一个”和“该”也可能旨在包括复数形式。术语“和/或”包括一个或多个相关所列项目的任何和所有组合。术语“包括”、“组成”、“包含”和“具有”是包含性的,因此指定存在所陈述的特征、整体、步骤、操作,元件和/或组件,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组合。这里描述的方法步骤,过程和操作,除非特别指定为执行顺序,不应被解释为必须要求它们以所讨论或示出的特定顺序执行。还应该理解的是可以采用附加的或替代的步骤。

虽然术语第一、第二、第三等可以在此用于描述各种元件、部件、区域、层和/或部分,但是这些元件、部件、区域、层和/或部分不应受这些术语的限制。这些术语可能仅用于区分一个元件、部件、区域、层或部分与另一个区域、层或部分。除非上下文明确指出,否则诸如术语“第一”、“第二”和其他数字术语在本文中使用时并不意味着次序或顺序。因此,在不脱离示例实施例的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。

如本文所使用的,术语模块可以指代、成为或包括以下的一部分:专用集成电路(asic);电子电路;组合逻辑电路;现场可编程门阵列(fpga);处理器或处理器的分布式网络(共享,专用或分组)以及存储在执行代码或过程的联网集群或数据中心中;提供所述功能的其他合适的部件;或者上述中的一些或全部的组合,例如在片上系统中。术语模块还可以包括存储由一个或多个处理器执行的代码的存储器(共享的、专用的或分组的)。

如上所使用的术语代码可以包括软件、固件、字节代码和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语共享意味着来自多个模块的一些或全部代码可以使用单个(共享)处理器来执行。另外,来自多个模块的部分或全部代码可以由单个(共享)存储器存储。上面使用的术语组意味着来自单个模块的一些或全部代码可以使用一组处理器来执行。另外,来自单个模块的一些或全部代码可以使用一组存储器来存储。

这里描述的技术可以通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在计算机可读介质上的处理器可执行指令,该计算机可读介质例如可以是非暂时性有形计算机可读介质。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例为非易失性存储器,磁存储器和光存储器。

以上描述的一些部分根据对信息进行操作的算法和符号表示来呈现本文描述的技术。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。这些操作虽然在功能上或逻辑上进行了描述,但理解为由计算机程序实现。此外,还证明有时方便将这些操作安排称为模块或功能名称,而不失一般性。

除非特别声明,否则从以上讨论中显而易见的是,应当理解,在整个说明书中,利用诸如“处理”或“计算”或“测算”或“确定”或“显示”等的术语的讨论涉及计算机系统或类似的电子计算设备的动作和过程,其操纵和转换在计算机系统存储器或寄存器或其他这样的信息存储,传输或显示设备内表示为物理(电子)量的数据。

所描述的技术的某些方面包括以算法的形式在此描述的处理步骤和指令。应该注意的是,所描述的过程步骤和指令可以用软件、固件或硬件来体现,并且当以软件来体现时,可以被下载以驻留在实时网络操作系统所使用的不同平台上并且可以从其操作。

本公开还涉及用于执行这里的操作的装置。该设备可以为了所需目的而专门构造,或者它可以包括通过计算机程序选择性地激活或重新配置的通用计算机,该计算机程序存储在计算机可读介质上,其可以被计算机访问。这样的计算机程序可以存储在有形的计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic)或适用于存储电子指令的任何类型的介质,并且各自耦合到计算机系统总线。此外,说明书中提到的计算机可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的架构。

这里给出的算法和操作并不固有地涉及任何特定的计算机或其他装置。根据本文的教导,各种通用系统也可以与程序一起使用,或者可以证明构造更专用的设备来执行所需的方法步骤是方便的。各种这些系统的所需结构,以及等同的变化,对于本领域技术人员来说将是显而易见的。另外,本公开没有参考任何特定的编程语言来描述。应当理解,可以使用各种编程语言来实现如本文所述的本公开的教导,并且提供对特定语言的任何参考以用于公开本发明的实现和最佳模式。

本公开很好地适用于许多拓扑结构上的各种计算机网络系统。在此领域内,大型网络的配置和管理包括通过网络(例如因特网)通信耦合到不同计算机和存储设备的存储设备和计算机。

为了说明和描述的目的已经提供了对实施例的上述描述。其目的不是穷举或限制公开。特定实施例的单独元件或特征,即使没有具体示出或描述,通常不限于该特定实施例,而是在适用的情况下可互换并且可用于选定实施例中。同样也可能在很多方面有所不同。这样的变化不被认为是背离本公开,并且所有这样的修改旨在被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1