CN103959270A - 用于在计算装置处采用和便于动态和远程存储器协作的机制 - Google Patents
用于在计算装置处采用和便于动态和远程存储器协作的机制 Download PDFInfo
- Publication number
- CN103959270A CN103959270A CN201180075360.2A CN201180075360A CN103959270A CN 103959270 A CN103959270 A CN 103959270A CN 201180075360 A CN201180075360 A CN 201180075360A CN 103959270 A CN103959270 A CN 103959270A
- Authority
- CN
- China
- Prior art keywords
- memory
- client
- storer
- server
- calculation elements
- 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
-
- 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/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- 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
- G06F9/5016—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 the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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
- 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
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本发明的一个实施例,描述了一种用于便于在计算装置处的动态和远程存储器协作的机制。本发明实施例的方法包含将多个计算装置中的计算装置动态分类为存储器服务器,其中多个计算装置通过网络彼此耦合。该方法还可包含:由存储器服务器提供要由多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器,并且由存储器服务器向一个或多个存储器客户端远程许可存储器。
Description
技术领域
本领域一般涉及计算装置,并且更具体地说,涉及采用用于在计算装置采用和便于动态和远程存储器协作的机制。
背景技术
随着每一个新软件生成,软件应用的存储器足迹正在成指数增长,诸如速度上超过当前存储器系统(例如随机存取存储器(RAM))容量的增长。这通常使操作系统(OS)开始各种存储器盘(例如硬盘驱动器(HDD)、固态驱动器(SDD)等)的进页面和出页面,所述存储器盘比RAM慢若干数量级操作。用更大的本地存储器改进性能具有过多成本和功率牵涉。进一步说,当前存储器技术通常操作在静态配置,并且不能够处置工作负荷条件的动态改变。
附图说明
在附图中通过示例的方式而非通过限制的方式图示本发明的实施例,附图中相似的标记指示类似的元素,并且附图中:
图1图示了根据本发明一个实施例采用存储器协作机制的计算装置;
图2图示了根据本发明一个实施例在计算装置采用的存储器协作机制;
图3A-3B图示了根据本发明一个实施例便于在计算装置处的动态和远程存储器协作的存储器协作机制;
图4A图示了根据本发明一个实施例用于动态和远程存储器协作的计算装置的事务序列分类;
图4B-4C图示了根据本发明一个实施例用于动态和远程协作存储器的存储器服务器与存储器客户端之间的事务序列;
图4D-4E图示了根据本发明一个实施例用于便于计算装置之间的动态和远程存储器协作的方法;以及
图5图示了根据本发明一个实施例的计算系统。
具体实施方式
本发明的实施例提供了根据本发明的一个实施例的一种用于便于在计算装置处的动态和远程存储器协作的机制。本发明实施例的方法包含将多个计算装置中的计算装置动态分类为存储器服务器,其中所述多个计算装置通过网络彼此耦合。该方法还可包含:由存储器服务器提供要由多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器,并且由存储器服务器向一个或多个存储器客户端远程许可存储器。
在一个实施例中,使集群中和/或网络内的各种计算节点(例如计算装置)能够彼此动态发现、分配和解除分配远程存储器。此技术大大增加了性能、能量效率,并降低了存储器供应成本等。例如,节点可通过通信网络(例如数据中心网络/内联网、云计算、因特网等)或网络互连(例如以太网、Infiniband?、Light Peak?等)彼此连接,允许它们通信和存取远程存储器。在计算节点的网络设置中,一些计算节点在某些时段可具有大量自由存储器,并且缺少存储器的其它节点可使用。在一个实施例中,在可用于参与存储器共享的计算节点采用和运行存储器协作机制。存储器协作机制,如将参考后续附图进一步描述的,允许监视本地存储器动态(例如使用节点分类算法),与远程计算节点传递存储器要求,并基于运行时间条件动态协调在计算节点之间的存储器共享来便于远程存储器存取,以例如实现更好的性能和能量效率。
图1图示了根据本发明一个实施例采用存储器协作机制的计算装置。在一个实施例中,主机/计算装置100被图示为具有存储器协作机制108以便于在多个计算装置的动态存储器共享。计算装置100可包含移动计算装置,诸如蜂窝电话(包含智能电话(例如iPhone?、BlackBerry?等))、手持计算装置、个人数字助理(PDA)等、平板计算机(例如iPad?、Samsung?、GalaxyTab?等)、膝上型计算机(例如笔记本计算机、上网本等)、电子阅读器(例如Kindle?、Nook?)等。计算装置100还可包含机顶盒(例如基于因特网的有线电视机顶盒等)以及更大的计算装置,诸如台式计算机、服务器计算机、基于集群的计算机等。
计算装置100包含充当计算装置100的任何硬件或物理资源与用户之间的接口的操作系统106。计算装置100还包含一个或多个处理器102、存储器装置104、网络装置、驱动器等等,以及输入/输出源,诸如触摸屏、触摸板、触摸垫、虚拟键盘或常规键盘、虚拟鼠标或普通鼠标等。要指出,比如“节点”、“计算节点”、“客户端”、“存储器客户端”、“服务器”、“存储器服务器”、“机器”、“装置”、“计算装置”、“计算机”、“计算系统”、“基于集群的计算机”等术语在此文档通篇可互换地并且同义地使用。
图2图示了根据本发明一个实施例在计算装置采用的存储器协作机制。在一个实施例中,存储器协作机制108包含各种组件202、212、214、216、218、220、222、232以便于各种计算装置之间的动态存储器共享,各种计算装置包含远程计算装置(例如移动计算装置、平板计算机、膝上型计算机、台式计算机、服务器计算机、基于集群的计算机等)。在所图示的实施例中,存储器协作机制108包含用于将计算装置分类为服务器或客户端的分类模块202,这参考图4A进一步描述。例如,一个或多个存储器量阈值可由计算装置的用户定义,所述计算装置代表网络(例如云计算、局域网(LAN)、无线LAN (WLAN)、广域网(WAN)、城域网(MAN)、个域网(PAN)、因特网、内联网等)内的计算节点集群。
如果例如计算装置的存储器落到最小存储器阈值以下,则计算装置可被自动分类为存储器客户端(例如缺少存储器并且愿意获得它的计算装置),并且相反,如果计算装置的存储器大于最大存储器阈值,则计算装置可被自动视为存储器服务器(例如具有过多存储器并且愿意共享它的计算装置)。可能存在可将计算装置自动分类在中立区域(例如既不是存储器客户端也不是存储器服务器)的其它多个阈值,诸如当存储器量大于存储器最小高阈值但低于存储器最大低阈值时。这些阈值可由用户或动态或自动使用一个或多个控制算法根据需要或根据期望以任何方式修改、添加、移除或操纵。换句话说,计算装置(或节点)的分类可随着每个计算装置的改变的存储器量而动态执行或自动执行,每个计算装置的改变的存储器量对应于由那个计算装置处理的改变的工作负荷,因此存储器客户端能动态变成存储器服务器,并且反之亦然,或者基于对应于待定和/或预期工作负荷的可用存储器量而保持在中立区域或无改变区域中的某个地方。
存储器协作机制108还包含存储器获取协议212,它的组件214、216、218、220、222提供各种功能性,诸如存储器服务器使用提供模块214提供其存储器。存储器服务器在从存储器客户端接收到对于存储器的请求时使用许可模块218向存储器客户端许可其存储器。存储器客户端使用请求模块216来请求存储器,并且一旦接收到存储器,存储器客户端就通过确认模块220确认所接收的存储器。该确认由存储器服务器通过它自己的确认模块220实现。在一个实施例中,使用提供模块214,存储器服务器可向集群中的任何数量的存储器客户端广播其存储器提供,因此它们可全都知道存储器服务器具有特定量的存储器提供给有兴趣接收它的任何存储器客户端。在另一实施例中,使用提供模块214,存储器提供可基于之前传递到存储器服务器的有关寻找附加存储器的一个或多个存储器客户端的知识,从存储器服务器发送到一个或多个存储器客户端(在一对一直接通信的基础上,与向所有存储器客户端广播该存储器提供相反)。此知识可基于在存储器服务器使用请求模块216从一个或多个存储器客户端接收的存储器请求。与存储器服务器一样,存储器客户端也可使用请求模块216或者向集群中的任何数量的存储器服务器广播其接收附加存储器的存储器请求,或者基于某些先前知识,诸如由具体存储器服务器广播的存储器提供,向各个存储器服务器发出存储器请求。
在一个实施例中,存储器协作机制108还提供收回模块222,使得如果以及当存储器服务器被重新分类为存储器客户端时,在需要存储器时,它可收回之前许可给一个或多个存储器客户端的存储器。进一步说,通信模块232由存储器协作机制108用于便于存储器服务器与存储器客户端之间的双向和多向通信以执行上面提到的功能性和任务(例如提供存储器、请求存储器、许可存储器、接收存储器、确认接收到存储器、收回之前许可的存储器等)。通信模块232可与任何数量或类型的接口和互连(诸如光峰、无限带宽、以太网、网络接口控制器(NIC)等等)关联并使用它们。
预期任何数量和类型的组件可被添加到存储器协作机制108,或从存储器协作机制108移除来便于计算装置之间存储器的动态和远程共享。为了理解的简洁、清晰、容易,并且为了聚焦在存储器协作机制108上,计算装置的许多标准或已知组件在此未示出或讨论。
图3A图示了根据本发明一个实施例便于在计算装置处的动态和远程存储器协作的存储器协作机制。在所图示的实施例中,计算装置300A、300B、300C通过网络302在集群中连接;例如,每个计算装置300A、300B、300C类似于图1的计算装置100,或与之相同。预期集群可具有任何数量、类型和大小的计算装置,并且为了理解的简洁、清晰、容易,在此图示了计算装置300A、300B、300C的这个集群。每个计算装置300A、300B、300C被示出为已经采用了存储器协作机制108A、108B、108C。在一个实施例中,存储器协作机制108可跨集群中的所有计算装置300A、300B、300C分布,或者在另一实施例中,存储器协作机制108D例如可在服务器计算装置处通过网络302集中采用,并且通过云计算等对计算装置300A、300B、300C可接入。在又一实施例中,计算装置中的一个或多个,诸如计算装置300A和300B,可接入存储器协作机制108D,而计算装置300C可采用它自己的存储器协作机制108C。例如,存储器协作机制108D可负责根据需要管理和判定集群的计算装置300A、300B、300C中的所有或一些装置。
在所图示的实施例中,并且例如,计算装置300A被分类为存储器客户端,其采用一个或多个软件应用或程序、操作系统(如图1中所示的)、虚拟机(VM)管理器、页面、扩展、其它相关和必要组件等,以及如上面提到的存储器协作机制108A。其它两个计算装置300B、300C分别使用存储器协作机制108B和108D分类为存储器服务器,以使用其存储器协作机制108A并通过网络连接技术诸如网络互连332(例如光峰、无限带宽、以太网等)向存储器客户端300A(分类为存储器客户端)传递和许可存储器。如参考图2所描述的,存储器协作机制108A、108B、108C、108D的各种组件可用于执行计算装置300A、300B和300C之间的这种远程存储器共享。如同存储器客户端300A,存储器服务器300B、300C中的每个可采用一个或多个软件应用或程序、操作系统(如图1中所示的)、虚拟机(VM)管理器、页面、扩展、其它相关和必要组件等,以及如上面提到的存储器协作机制108A。
在一个实施例中,如上面提到的,计算装置300A、300B、300C之间的通信(包含许可和/或接收存储器、传送和接收存储器请求以及确认消息等)可由一个或多个存储器协作机制108A、108B、108C的一个或多个通信模块并通过互连(例如光峰等)以及在这些计算装置300A、300B、300C处采用的分页和/或扩展组件促进。例如,存储器客户端300A与存储器服务器300C之间的任何通信都可通过它们的相应分页组件和互连332执行;类似地,存储器客户端300A与存储器服务器300B之间的通信可通过它们的相应扩展组件和互连332执行。进一步说,三个计算装置300可经由互连332与存储装置334通信和/或具有对存储装置334的接入。
现在参考图3B,它图示了具有例如使用NIC 352、354、356、远程存储空间交换等通过网络连接的计算装置350A、350B、350C的集群的另一实施例。在一个实施例中,每一个计算装置350A、350B和350C分别托管存储器协作机制108A、108B和108C来便于计算装置350A、350B和350C之间的动态和远程存储器共享。在所图示的实施例中,存储器服务器350B、350C向存储器客户端350A捐献一部分它们的存储空间。如果存储器客户端350A短期运行在其本地存储器、缓冲器高速缓存342上,则它可换出页面到远程服务器350B、350C(例如具有RAM盘362、364)而不是本地硬盘驱动。存储器客户端350A还示出为具有其它相关组件,诸如操作系统、管理虚拟机的VM管理器314、用于存储数据、应用等的块装置驱动器等等。每个计算装置350A、350B、350C类似于图1的计算装置100,或与之相同。
图4A图示了根据本发明一个实施例用于动态和远程存储器协作的计算装置的事务序列分类。事务序列400可由处理逻辑执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或其组合。在一个实施例中,事务序列400可由图1的存储器协作机制以及参考图2描述的其组件执行。
在一个实施例中,用户可预定和设置多个存储器量阈值412、414、416、418以影响计算装置分类为存储器客户端402或存储器服务器404。这些阈值412、414、416、418可基于计算装置的用户期望或系统需求(诸如运行在计算机装置上的软件应用类型等)设置。在所图示的实施例中,并且例如,如果计算装置的存储器量落在低最小值412的阈值存储器量以下,则计算装置归类(或重新归类)为存储器客户端402,如图2中所示出的存储器协作机制的分类模块所确定的。如果计算装置的存储器量大于高最小值414的预定阈值,则计算装置可被视为中立406,因为它被认为既不缺少存储器,也不具有过多存储器。如果计算装置的存储器量保持在低最小值412与高最小值414之间,则计算装置不被视为需要改变,并且从而保持不变408。
在一个实施例中,分类模块也考虑高端最大存储器阈值416、418。例如,如果计算装置保持在低最大值416存储器量以下(但高于高最小阈值414),则计算装置被晋升为中立408(例如它既不分类为存储器客户端402也不分类为存储器服务器404)。相反,在一个实施例中,如果计算装置得到高最大阈值418以上的存储器,则计算装置被分类(或重新分类)为存储器服务器404。类似于低最小阈值412和高最小阈值414,如果计算装置的存储器量落(或上升)在低最大阈值416与高最大阈值418之间,则存储器服务器404经历不改变410。
图4B图示了根据本发明一个实施例用于动态和远程协作存储器的存储器服务器与存储器客户端之间的事务序列。事务序列420可由处理逻辑执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或其组合。在一个实施例中,事务序列420可由图1的存储器协作机制以及参考图2所描述的其组件执行。
在一个实施例中,一旦分类,存储器服务器422就提供426其存储器用于由任何数量的可用存储器客户端使用。存储器服务器422可广播其向多个存储器客户端提供存储器的意图,这是通过例如使用图2的存储器协作机制的提供模块来广播该意图或提供426而实现。在一个实施例中,存储器客户端424使用存储器协作机制的请求模块向若干存储器服务器(包含存储器服务器422)广播其对于存储器的请求428。响应于该请求428,存储器服务器422向存储器客户端424许可430某个量的存储器,而存储器客户端424向存储器服务器422发出确认消息432以确认从存储器服务器422接收到存储器。在一个实施例中,许可存储器430和传送确认432分别由图2的存储器协作机制的许可模块和确认模块执行。
图4C图示了根据本发明一个实施例用于动态和远程协作存储器的存储器服务器与存储器客户端之间的事务序列。事务序列440可由处理逻辑执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或其组合。在一个实施例中,事务序列440可由图1的存储器协作机制以及参考图2所描述的其组件执行。
在一个实施例中,存储器客户端444使用图2的存储器协作机制的请求模块向任何数量的存储器服务器广播对于存储器的存储器请求446。响应于该存储器请求446,存储器服务器442向存储器客户端444许可存储器448,而存储器客户端444用确认消息450响应回存储器服务器442以便确认在存储器客户端444接收到存储器。在一个实施例中,许可存储器448和发送确认450分别由图2的存储器协作机制的许可模块和确认模块执行。
图4D图示了根据本发明一个实施例用于便于计算装置之间的动态和远程存储器协作的方法。方法460可由处理逻辑执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或其组合。在一个实施例中,方法460可由图1的存储器协作机制以及参考图2所描述的其组件执行。
方法460开始于块462,其中通过网络彼此连接或通信的计算装置集群中的计算装置被分类为存储器服务器。在块464,所分类的存储器服务器向分类为存储器客户端的任何数量的计算装置提供存储器。在块466,在存储器服务器从存储器客户端中的一个或多个接收对于存储器的请求。在块468,存储器服务器向一个或多个存储器客户端许可存储器。在块470,存储器服务器然后从一个或多个存储器客户端接收确认消息。
在一个实施例中,在块472,进行关于存储器服务器是否重新分类为存储器客户端(或者例如中立等)的确定。如果存储器服务器保持作为存储器服务器,则可什么也不改变,或者过程可在块464继续,其中存储器服务器提供更多存储器。如果存储器服务器被重新分类为存储器客户端,则过程可在块474继续进行有关重新分类的存储器客户端是否要求或需要存储器的另一确定。如果否,则可什么也不改变,或者过程可在块474继续。如果在块474为是,则在块476,重新分类的存储器客户端收回之前向一个或多个存储器客户端许可的存储器。收回可使用图2的存储器协作机制的收回模块222执行。在块478,进行关于重新分类的存储器客户端是否被重新分类为存储器客户端的另一确定。如果否,则过程以许多方式继续,诸如用块474。如果是,则过程可在块464继续提供存储器。
图4E图示了根据本发明一个实施例用于便于计算装置之间的动态和远程存储器协作的方法。方法480可由处理逻辑执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或其组合。在一个实施例中,方法480可由图1的存储器协作机制以及参考图2所描述的其组件执行。
方法480在块482开始于将通过网络连接的计算装置的集群中的计算装置分类为存储器客户端。在块484,存储器客户端向集群中分类为存储器服务器的计算装置广播其对于存储器的请求。在块486,存储器客户端接收来自一个或多个存储器服务器并由其许可的存储器。在块488,存储器客户端向给它许可了它们的存储器的一个或多个存储器服务器发送确认消息。在块490,进行关于存储器客户端是否被重新分类为存储器服务器的确定。如果否,则过程可保持不变,或者在块484继续请求更多存储器。如果是,则在块492,重新分类的存储器服务器可将之前接收的存储器释放回一个或多个许可存储器服务器。进一步说,在块494,新近重新分类的存储器服务器可将其过多存储器提供给任何数量的存储器客户端。
图5图示了根据本发明一个实施例采用和便于存储器协作机制的计算系统500。示范计算系统500可分别与图1、3A和3B的计算装置100、300A、300B、300C和350A、350B、350C相同或类似。计算机系统500包含用于传递信息的总线或其它通信构件501以及用于处理信息的处理装置,诸如与总线501耦合的微处理器502。计算机系统500可用通过并联管线再现图形的图形处理器503放大,并可被合并到一个或多个中央处理器502中,或提供作为一个或多个单独处理器。
计算系统500还包含主存储器504(诸如RAM或其它动态数据存储装置),其耦合到总线501用于存储信息以及要由处理器502执行的指令。主存储器也可用于在由处理器执行指令期间存储临时变量或其它中间信息。计算机系统500也可包含非易失性存储器506,诸如只读存储器(ROM)或耦合到总线501用于存储静态信息和处理器的指令的其它静态数据存储装置。
大容量存储器507诸如磁盘、光盘或固态阵列及其对应驱动也可耦合到计算机系统500的总线501,用于存储信息和指令。计算机系统500也可经由总线耦合到显示装置或监视器521,诸如液晶显示器(LCD)或有机发光二极管(OLED)阵列,用于向用户显示信息。例如,安装状态、操作状态以及其它信息的图形和文本指示可在显示装置521上呈现给用户,此外还有上面讨论的各种视图和用户交互。
通常,用户输入装置522,诸如具有字母、功能以及其它键等的键盘,可耦合到总线501用于向处理器502传递信息和命令选择。附加用户输入装置522可包含光标控制输入装置,诸如鼠标、跟踪球、跟踪板,或者光标方向键可耦合到总线用于向处理器502传递方向信息和命令选择,并控制显示器521上的光标移动。
相机和麦克风阵列523耦合到总线501以观察姿势、记录音频和视频并接收如上面所提到的视觉和音频命令。
通信接口525也耦合到总线501。通信接口可包含调制解调器、网络接口卡或其它众所周知的接口装置,诸如用于耦合到以太网、令牌环或其它类型物理有线或无线附件以便提供例如支持LAN或WAN的通信链路的接口装置。以这种方式,计算机系统500也可经由常规网络基础设施(例如包含内联网或因特网)耦合到若干外围装置、其它客户端或控制面或控制台或者服务器。
要认识到,比上面描述的示例更少或更多配备的系统对于某些实现可能是优选的。因此,计算系统500的配置可根据许多因素诸如价格约束、性能要求、技术改进或其它环境而从一个实现到另一个实现有所不同。
实施例可实现为如下任一项或其组合:使用母板互连的一个或多个微芯片或集成电路、硬布线逻辑、由存储器装置存储并由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑”作为示例可包含软件或硬件和/或软件和硬件的组合,诸如固件。
例如,实施例可提供为计算机程序产品,其可包含其上存储有机器可执行指令的一个或多个机器可读介质(诸如非暂态机器可读介质),机器可执行指令当由一个或多个机器诸如计算机、诸如继续系统500、计算机网络或其它电子装置执行时可导致一个或多个机器执行根据本发明实施例的操作。机器可读介质可包含但不限于软盘、光盘、压缩盘ROM (CD-ROM)和磁光盘、ROM、RAM、可擦除可编程只读存储器(EPROM)、EEPROM、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存或适合于存储机器可执行指令的其它类型介质/机器可读介质,诸如固态存储装置、快速且可靠的DRAM子系统等。
而且,实施例可下载为计算机程序产品,其中程序可通过在载波或其它传播介质中实施和/或由其调制的一个或多个数据信号,经由通信链路(例如调制解调器和/或网络连接)从远程计算机(例如服务器)传送到请求计算机(例如客户端)。因而,如本文所使用的,机器可读介质可以包括此类载波,但并不要求。
提及“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等指示如此描述的本发明实施例可包含具体特征、结构或特性,但不是每一个实施例都必须包含这些具体特征、结构或特性。进一步说,一些实施例可具有对于其它实施例描述的特征的一些特征、所有特征,或没有这些特征。
在如下说明书和权利要求书中,可使用术语“耦合”连同其派生词。“耦合”用于指示两个或更多元件彼此协同操作或交互,但它们之间可以具有或可以不具有中间物理或电气组件。
如权利要求书中所用的,除非另有规定,否则使用序数形容词“第一”、“第二”、“第三”等来描述公共元件,仅仅指示相似元件的不同实例被提及,并不打算暗指如此描述的元件必须在时间上、空间上、排序上或者以任何其它方式按照给定顺序。
附图和之前描述给出了实施例的示例。本领域技术人员将认识到,所描述元件的一个或多个可很好地组合到单个功能元件中。备选地,某些元件可被分成多个功能元件。来自一个实施例的元件可被添加到另一实施例。例如,本文描述的过程次序可以改变,并不限于本文所描述的方式。而且,任何流程图的动作都不必按所示出的次序实现;也不是所有的动作都一定需要执行。还有,不依赖于其它动作的那些动作可与其它动作并行执行。实施例的范围决不受这些特定示例的限制。无论在说明书中是否明确给出,许多变化,诸如结构、尺寸和材料使用上的差异都是有可能的。实施例的范围至少与随附权利要求书所给出的范围一样广泛。
在附图中示出的技术可使用在一个或多个电子装置(例如终端站、网络元件)上存储和执行的代码和数据来实现。此类电子装置使用计算机可读介质,诸如非暂态计算机可读存储介质(例如磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和暂态计算机可读传送介质(例如电、光、声或其它形式传播信号——诸如载波、红外信号、数字信号)来存储和传递(在内部和/或通过网络与其它电子装置)代码和数据。此外,此类电子装置通常包含耦合到一个或多个其它组件,诸如一个或多个存储装置(非暂态机器可读存储介质)、用户输入/输出装置(例如键盘、触摸屏和/或显示器)和网络连接的一个或多个处理器的集合。处理器集合与其它组件的耦合通常通过一个或多个总线和桥(也称为总线控制器)。从而,给定电子装置的存储装置通常存储代码和/或数据用于在那个电子装置的一个或多个处理器的集合上执行。当然,本发明实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。
在前述说明书中,本发明已经参考其特定示范实施例进行了描述。然而,将显而易见的是,在不脱离所附权利要求书中所阐述的本发明的更广的精神和范围的情况下,可对其进行各种修改和改变。说明书和附图因而要被视为说明性的而非限制意义。
Claims (30)
1.一种方法,包括:
将多个计算装置中的计算装置动态分类为存储器服务器,其中所述多个计算装置通过网络彼此耦合;
由所述存储器服务器提供要由所述多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器;以及
由所述存储器服务器向所述一个或多个存储器客户端远程许可所述存储器。
2.如权利要求1所述的方法,还包括:
在所述存储器服务器从所述一个或多个存储器客户端接收对于所述存储器的一个或多个请求;以及
在所述存储器服务器从所述一个或多个存储器客户端接收一个或多个确认消息以确认在所述一个或多个存储器客户端接收到所述存储器。
3.如权利要求1所述的方法,其中动态分类包括:在所述存储器服务器检测到存储器量的改变时,将所述存储器服务器重新分类为存储器客户端,其中所述改变包含所述存储器量降到预定最小存储器阈值以下,其中重新分类的存储器客户端从所述一个或多个存储器客户端收回许可的存储器。
4.如权利要求3所述的方法,其中当所述存储器量保持在所述预定最小存储器阈值与预定最大存储器阈值之间时,所述存储器服务器保持中立。
5.如权利要求1所述的方法,其中动态分类还包括在所述一个或多个存储器客户端检测到存储器量的改变时将所述一个或多个存储器客户端重新分类为一个或多个存储器服务器,其中所述改变包含所述存储器量升到所述预定最大存储器阈值以上。
6.如权利要求1所述的方法,其中提供包括由所述存储器服务器向所述一个或多个存储器客户端中的所有存储器客户端广播,其中提供还包括由所述存储器服务器向所述一个或多个存储器客户端中的每个存储器客户端直接并且有选择地传递所述提供。
7.如权利要求1所述的方法,还包括:在所述多个计算装置中的一个或多个计算装置处或在通过网络或经由云计算与所述多个计算装置进行通信的另一计算装置处采用存储器协作逻辑单元。
8.如权利要求1所述的方法,其中所述多个计算装置包括移动计算装置、个人数字助理(PDA)、手持计算机、电子阅读器、平板计算机、笔记本计算机、上网本、台式计算机、服务器计算机、基于集群的计算机以及机顶盒中的一个或多个。
9.一种系统,包括:
计算装置,具有存储便于动态和远程存储器协作的指令的存储器以及执行所述指令的处理装置,其中所述指令使所述处理装置:
将多个计算装置中的所述计算装置动态分类为存储器服务器,其中所述多个计算装置通过网络彼此耦合;
提供要由所述多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器;以及
向所述一个或多个存储器客户端远程许可所述存储器。
9.如权利要求8所述的系统,其中所述处理装置还要:
在所述存储器服务器从所述一个或多个存储器客户端接收对于所述存储器的一个或多个请求;以及
在所述存储器服务器从所述一个或多个存储器客户端接收一个或多个确认消息以确认在所述一个或多个存储器客户端接收到所述存储器。
10.如权利要求8所述的系统,其中动态分类包括:在所述存储器服务器检测到存储器量的改变时,将所述存储器服务器重新分类为存储器客户端,其中所述改变包含所述存储器量降到预定最小存储器阈值以下,其中重新分类的存储器客户端从所述一个或多个存储器客户端收回许可的存储器。
11.如权利要求10所述的系统,其中当所述存储器量保持在所述预定最小存储器阈值与预定最大存储器阈值之间时,所述存储器服务器保持中立。
12.如权利要求8所述的系统,其中动态分类还包括在所述一个或多个存储器客户端检测到存储器量的改变时,将所述一个或多个存储器客户端重新分类为一个或多个存储器服务器,其中所述改变包含所述存储器量升到所述预定最大存储器阈值以上。
13.如权利要求8所述的系统,其中提供包括由所述存储器服务器向所述一个或多个存储器客户端中的所有存储器客户端广播,其中提供还包括由所述存储器服务器向所述一个或多个存储器客户端中的每个存储器客户端直接并且有选择地传递所述提供。
14.如权利要求8所述的系统,其中所述处理装置还要在所述多个计算装置中的一个或多个计算装置处或在通过网络或经由云计算与所述多个计算装置进行通信的另一计算装置处采用存储器协作逻辑单元。
15.如权利要求8所述的系统,其中所述多个计算装置包括移动计算装置、个人数字助理(PDA)、手持计算机、电子阅读器、平板计算机、笔记本计算机、上网本、台式计算机、服务器计算机、基于集群的计算机以及机顶盒中的一个或多个。
16.一种计算机可读介质,具有存储在其上的指令,所述指令如果由计算机执行则使所述计算机:
将多个计算装置中的计算装置动态分类为存储器服务器,其中所述多个计算装置通过网络彼此耦合;
由所述存储器服务器提供要由所述多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器;以及
由所述存储器服务器向所述一个或多个存储器客户端远程许可所述存储器。
17.如权利要求16所述的计算机可读介质,其中所述计算机还要:
在所述存储器服务器从所述一个或多个存储器客户端接收对于所述存储器的一个或多个请求;以及
在所述存储器服务器从所述一个或多个存储器客户端接收一个或多个确认消息以确认在所述一个或多个存储器客户端接收到所述存储器。
18.如权利要求16所述的计算机可读介质,其中动态分类包括:在所述存储器服务器检测到存储器量的改变时,将所述存储器服务器重新分类为存储器客户端,其中所述改变包含所述存储器量降到预定最小存储器阈值以下,其中重新分类的存储器客户端从所述一个或多个存储器客户端收回许可的存储器。
19.如权利要求18所述的计算机可读介质,其中当所述存储器量保持在所述预定最小存储器阈值与预定最大存储器阈值之间时,所述存储器服务器保持中立。
20.如权利要求16所述的计算机可读介质,其中动态分类还包括:在所述一个或多个存储器客户端检测到存储器量的改变时,将所述一个或多个存储器客户端重新分类为一个或多个存储器服务器,其中所述改变包含所述存储器量升到所述预定最大存储器阈值以上。
21.如权利要求16所述的计算机可读介质,其中提供包括由所述存储器服务器向所述一个或多个存储器客户端中的所有存储器客户端广播,其中提供还包括由所述存储器服务器向所述一个或多个存储器客户端中的每个存储器客户端直接并且有选择地传递所述提供。
22.如权利要求16所述的计算机可读介质,其中所述计算机还要在所述多个计算装置中的一个或多个计算装置处或在通过网络或经由云计算与所述多个计算装置进行通信的另一计算装置处采用存储器协作逻辑单元。
23.如权利要求16所述的计算机可读介质,其中所述多个计算装置包括移动计算装置、个人数字助理(PDA)、手持计算机、电子阅读器、平板计算机、笔记本计算机、上网本、台式计算机、服务器计算机、基于集群的计算机以及机顶盒中的一个或多个。
24.一种设备,包括:
处理器,在计算装置处的操作系统上运行,所述操作系统耦合到执行存储器协作的存储器协作逻辑单元,其中所述存储器协作逻辑单元包括:
分类模块,用于将多个计算装置中的所述计算装置动态分类为存储器服务器,其中所述多个计算装置通过网络彼此耦合;
提供模块,用于提供要由所述多个计算装置中分类为一个或多个存储器客户端的一个或多个计算装置使用的存储器;以及
许可模块,用于向所述一个或多个存储器客户端远程许可所述存储器。
25.如权利要求24所述的设备,其中所述存储器协作逻辑单元还包括:
通信模块,用于在所述存储器服务器从所述一个或多个存储器客户端接收对于所述存储器的一个或多个请求;以及
所述通信模块在所述存储器服务器从所述一个或多个存储器客户端接收一个或多个确认消息以确认在所述一个或多个存储器客户端接收到所述存储器。
26.如权利要求24所述的设备,其中所述分类模块还要在所述存储器服务器检测到存储器量的改变时将所述存储器服务器重新分类为存储器客户端,其中所述改变包含所述存储器量降到预定最小存储器阈值以下,其中重新分类的存储器客户端从所述一个或多个存储器客户端收回许可的存储器。
27.如权利要求26所述的设备,其中当所述存储器量保持在所述预定最小存储器阈值与预定最大存储器阈值之间时,所述存储器服务器保持中立。
28.如权利要求24所述的设备,其中所述分类模块还要在所述一个或多个存储器客户端检测到存储器量的改变时,将所述一个或多个存储器客户端重新分类为一个或多个存储器服务器,其中所述改变包含所述存储器量升到所述预定最大存储器阈值以上。
29.如权利要求24所述的设备,其中所述提供模块还要由所述存储器服务器向所述一个或多个存储器客户端中的所有存储器客户端广播,其中提供还包括由所述存储器服务器向所述一个或多个存储器客户端中的每个存储器客户端直接并且有选择地传递所述提供。
30.如权利要求24所述的设备,其中在所述多个计算装置中的一个或多个计算装置处或在通过网络或经由云计算与所述多个计算装置进行通信的另一计算装置处采用所述存储器协作逻辑单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/055484 WO2013052068A1 (en) | 2011-10-07 | 2011-10-07 | Mechanism for employing and facilitating dynamic and remote memory collaboration at computing devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103959270A true CN103959270A (zh) | 2014-07-30 |
CN103959270B CN103959270B (zh) | 2018-08-21 |
Family
ID=48044039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075360.2A Expired - Fee Related CN103959270B (zh) | 2011-10-07 | 2011-10-07 | 用于在计算装置处采用和便于动态和远程存储器协作的机制 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130290546A1 (zh) |
CN (1) | CN103959270B (zh) |
WO (1) | WO2013052068A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243030A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种备份服务器选择管理方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166628B (zh) * | 2013-05-17 | 2018-05-18 | 华为技术有限公司 | 管理内存的方法、装置和系统 |
US10372335B2 (en) | 2014-09-16 | 2019-08-06 | Kove Ip, Llc | External memory for virtualization |
US9626108B2 (en) | 2014-09-16 | 2017-04-18 | Kove Ip, Llc | Dynamically provisionable and allocatable external memory |
US10275171B2 (en) | 2014-09-16 | 2019-04-30 | Kove Ip, Llc | Paging of external memory |
US10110707B2 (en) | 2015-12-11 | 2018-10-23 | International Business Machines Corporation | Chaining virtual network function services via remote memory sharing |
US11086525B2 (en) | 2017-08-02 | 2021-08-10 | Kove Ip, Llc | Resilient external memory |
WO2019029831A1 (en) * | 2017-08-11 | 2019-02-14 | Nokia Technologies Oy | EQUITY IN SHARING RESOURCES |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868193A (zh) * | 2003-09-05 | 2006-11-22 | 高通股份有限公司 | 通信缓冲管理器和通信缓冲管理方法 |
CN101399832A (zh) * | 2007-09-27 | 2009-04-01 | 国际商业机器公司 | 用于客户机-服务器网络中协作应用的方法和系统 |
US20090198791A1 (en) * | 2008-02-05 | 2009-08-06 | Hitesh Menghnani | Techniques for distributed storage aggregation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5550694A (en) * | 1993-07-12 | 1996-08-27 | Western Digital Corporation | Magnetic memory disk storage system |
US7103684B2 (en) * | 2003-12-02 | 2006-09-05 | Super Talent Electronics, Inc. | Single-chip USB controller reading power-on boot code from integrated flash memory for user storage |
US7930531B2 (en) * | 2000-01-06 | 2011-04-19 | Super Talent Electronics, Inc. | Multi-partition USB device that re-boots a PC to an alternate operating system for virus recovery |
US6898634B2 (en) * | 2001-03-06 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Apparatus and method for configuring storage capacity on a network for common use |
US20030154236A1 (en) * | 2002-01-22 | 2003-08-14 | Shaul Dar | Database Switch enabling a database area network |
US20040117621A1 (en) * | 2002-12-12 | 2004-06-17 | Knight Erik A. | System and method for managing resource sharing between computer nodes of a network |
US7069370B2 (en) * | 2003-01-31 | 2006-06-27 | Toshiba Corporation | USB memory storage apparatus with integrated circuit in a connector |
US20050247796A1 (en) * | 2004-05-05 | 2005-11-10 | Chen I M | Memory-card type USB mass storage device |
US7386687B2 (en) * | 2005-01-07 | 2008-06-10 | Sony Computer Entertainment Inc. | Methods and apparatus for managing a shared memory in a multi-processor system |
CN100489815C (zh) * | 2007-10-25 | 2009-05-20 | 中国科学院计算技术研究所 | 一种内存共享的系统和装置及方法 |
US20090144388A1 (en) * | 2007-11-08 | 2009-06-04 | Rna Networks, Inc. | Network with distributed shared memory |
US20090222509A1 (en) * | 2008-02-29 | 2009-09-03 | Chao King | System and Method for Sharing Storage Devices over a Network |
US9614924B2 (en) * | 2008-12-22 | 2017-04-04 | Ctera Networks Ltd. | Storage device and method thereof for integrating network attached storage with cloud storage services |
US8037187B2 (en) * | 2009-12-11 | 2011-10-11 | International Business Machines Corporation | Resource exchange management within a cloud computing environment |
TWI592805B (zh) * | 2010-10-01 | 2017-07-21 | 傅冠彰 | 網路儲存與計算資源分享系統與方法 |
US20120151067A1 (en) * | 2010-12-09 | 2012-06-14 | International Business Machines Corporation | Method and System for Extending Memory Capacity of a Mobile Device Using Proximate Devices and Multicasting |
-
2011
- 2011-10-07 CN CN201180075360.2A patent/CN103959270B/zh not_active Expired - Fee Related
- 2011-10-07 US US13/977,692 patent/US20130290546A1/en not_active Abandoned
- 2011-10-07 WO PCT/US2011/055484 patent/WO2013052068A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868193A (zh) * | 2003-09-05 | 2006-11-22 | 高通股份有限公司 | 通信缓冲管理器和通信缓冲管理方法 |
CN101399832A (zh) * | 2007-09-27 | 2009-04-01 | 国际商业机器公司 | 用于客户机-服务器网络中协作应用的方法和系统 |
US20090198791A1 (en) * | 2008-02-05 | 2009-08-06 | Hitesh Menghnani | Techniques for distributed storage aggregation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243030A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种备份服务器选择管理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013052068A1 (en) | 2013-04-11 |
CN103959270B (zh) | 2018-08-21 |
US20130290546A1 (en) | 2013-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959270A (zh) | 用于在计算装置处采用和便于动态和远程存储器协作的机制 | |
JP6882511B2 (ja) | ブロックチェーンコンセンサスのための方法、装置およびシステム | |
EP3080720B1 (en) | Social-driven recaching of accessible objects | |
CN104106060B (zh) | 支持通知阻塞的功率高效代理通信 | |
US20130275781A1 (en) | Mechanism for facilitating power and performance management of non-volatile memory in computing devices | |
CN105190567A (zh) | 用于管理存储系统快照的系统和方法 | |
US11948191B1 (en) | Device-to-device microlending within a distributed system | |
CN104616138A (zh) | 资源转移方法、系统及装置 | |
CN102495742A (zh) | Bios的刷新方法和装置、以及计算机 | |
CN102308274A (zh) | 一种访问关机硬盘的方法、网卡和硬盘卡 | |
Prabhakaran et al. | Cost-benefit Analysis of Public Clouds for offloading in-house HPC Jobs | |
CN103500108A (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
CN103530253A (zh) | 集群多全局缓冲池系统、中心节点、计算节点及管理方法 | |
EP3499378A1 (en) | Method and system of sharing product data in a collaborative environment | |
CN103946832A (zh) | 促进远程访问用于远程处理计算设备之间的设备活动的用户和设备证书的机构 | |
CN102301359B (zh) | 通过计算机之间的网络提供用户接口装置处的变化的指示 | |
CN104956345A (zh) | 基于响应定时优化在多处理器系统中执行频率协调 | |
CN103618625A (zh) | 一种微博中网络资源的控制方法、装置和系统 | |
US20170150443A1 (en) | Simultaneous Power Control Among Multiple Devices Per Context | |
EP3234786B1 (en) | Scalable synchronization mechanism for distributed memory | |
US8799421B1 (en) | Dynamic application configuration | |
US20220035753A1 (en) | Input/output device selection system | |
CN104123261A (zh) | 一种电子设备及信息传送方法 | |
CN1816034B (zh) | 用于当使用限制访问的缓冲器时保存会话状态的方法和系统 | |
US11348052B2 (en) | Cloud computing account management and control aggregation of notifications and service limits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180821 Termination date: 20201007 |
|
CF01 | Termination of patent right due to non-payment of annual fee |