CN101501676B - 通过周期分布时间的资源管理 - Google Patents

通过周期分布时间的资源管理 Download PDF

Info

Publication number
CN101501676B
CN101501676B CN200680017363.XA CN200680017363A CN101501676B CN 101501676 B CN101501676 B CN 101501676B CN 200680017363 A CN200680017363 A CN 200680017363A CN 101501676 B CN101501676 B CN 101501676B
Authority
CN
China
Prior art keywords
equipment
resource
service
time domain
network
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.)
Active
Application number
CN200680017363.XA
Other languages
English (en)
Other versions
CN101501676A (zh
Inventor
G·克里萨瑟科普洛斯
D·M·格雷三世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN101501676A publication Critical patent/CN101501676A/zh
Application granted granted Critical
Publication of CN101501676B publication Critical patent/CN101501676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Power Sources (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

公开了用于在分布式网络中提供资源管理的系统和方法。网络中设备的松散集合可能不了解其它设备的功率限制。壁式电源供电设备通常具有与电池供电移动设备显著不同的电源设置。本发明可用来从属于负责了解网络上的每个设备(或节点)的本地资源需求的本地服务。在这种分布式时间系统中,特定时域中的所有服务可加速、减速或完全停止。

Description

通过周期分布时间的资源管理
技术领域
本发明一般涉及用于在分布式网络中提供资源管理的系统和方法,尤其涉及采用了时间联合策略的系统和方法,这种策略可用来从属于负责了解网络节点的本地资源需求的服务。
背景技术
网络中设备的松散集合可能无法觉察到网络中其它设备的某些限制。例如,壁式电源供电(wall-powered)设备与电池供电移动设备在电源设置方面有很大不同。然而,当这些设备相互作用的时候,没有基于远程设备功率消耗设置的、在架构上一致的方式使设备加速或减速。
例如,壁式电源供电设备可能需要减缓发送给电池供电设备的工作量,因为每一个分组的发送都需要有限电池的远程设备耗费较多的无线电功率和CPU能量。类似地,电池供电设备可能希望将计算或存储卸载到其它设备,因为其执行本地计算工作将花费过多(在能量消耗方面)。
因此,在构成分布式网络的节点中,如果系统和方法可用于诸如电池寿命、带宽利用和处理电源的管理资源,则将是令人感到满意的。
发明内容
本发明提供了在分布式网络中管理设备资源的系统和方法。这些资源的示例可以包括:电池寿命、网络带宽、CPU利用等。具体地,本发明提供了一个分布式和联合式方法来管理诸如设备网络(其每一个可认为是网络节点)上的资源。如本文所用的术语“联合”不仅指其中设备可被本地控制的系统,还指其中若干设备具有通用性的一些主要形式。
在这样的一个系统中,时间联合策略可用来从属于负责了解设备所需的本地服务。这种时间联合策略早先已经被公开。例如,美国专利申请09/836,834公开并要求一种分布式时间系统,其中多个设备或服务可受控于一个主时钟。在这样的一个分布式时间系统中,给定时域内的所有服务可以加速、减速或完全停止。例如,可发送时钟滴答声的信号源作为控制服务多快地运行的周期事件。使多个服务与一个分布式时钟同步可使得时域中的大量服务以锁步(lockstep)方式进行,甚至在极缓慢的速度或零速度下。
另外,可提供一个“租赁者(leaseholder)”服务,其中服务可被给予一给定持续时间的“租期”。如果一旦期满后服务不进行续期,则可认为该服务不运行并视其为来自其它节点的可用远程服务列表的回收垃圾。根据本发明的一个方面,因为采用了不同的时域,所以可管理资源同时确保租期不过早地届满。
根据本发明,基于本地设备的当前策略和当前状态,本地设备可影响一个或多个本地或远程服务的控制,以便管理本地设备的一个或多个的资源。例如,管理电池寿命可控制电源利用。例如,管理网络带宽可管理分组带宽。例如,管理CPU利用可并管理工作项目调度和电源利用。因此,本地设备可引发时间服务和租赁者服务来改变(即减速、加速或停止)进入的消息通信量以便控制电池电源或CPU,或者改变(即减小或增加)I/O带宽,从而管理网络带宽。
特定I/O模式可受控于本地设备的电源状态或电源策略。这种I/O模式可以包括工作项目的调度、活跃度速率(或租赁者服务的任意周期信令)、存储器分配速率(以及存储器保持多长时间通电)以及边界传输服务(即实际使用硬件来获得I/O输入和输出系统的服务,诸如网络控制器及其上的堆栈、串行总线控制器等等)的I/O速率。
根据本发明的一个示例系统可包括分布式时钟服务和资源利用协调器。分布式时钟运行保持各个时域,这些时域的每一个可与特定资源或活动相关联。资源利用协调器可引发分布式时钟服务来改变时基的至少一个以便改变网络上的设备利用资源的速率。
附图说明
图1是示出了其中可实现本发明的各个方面的示例计算环境的框图。
图2示出了分布式网络的一个示例。
图3示出了可能在分布式网络环境中采用的时间服务。
图4A和4B由序列发生器管理的定时事件。
图5是在分布式网络中管理设备资源的一个示例系统的功能流程图。
图6是在分布式网络中管理设备资源的一个示例方法的流程图。
具体实施方式
计算环境举例
图1和以下讨论旨在提供对其中可实现本发明的一个示例实施例的合适的计算环境的简要通用的描述。然而,应当理解,可考虑连同使用手持式、便携式以及所有其它类型的计算设备和本发明。虽然以下描述了通用计算机,但其仅仅是一个示例。本发明还可在具有网络服务器的瘦客户机上进行配合以及互动操作。因此,可在其中包含很少或最小的客户机资源的网络化托管服务的环境中实现本发明的一个示例实施例,例如,其中客户机设备服务仅作为针对万维网的浏览器或接口的网络化环境。应当理解,这样的一个计算设备不需要任何直接的人机接口,并且可以仅经由网络访问。
虽然并非必需,本发明可经由程序程序设计按口(API)实现和/或包括在网络浏览软件之中以便由开发者或测试者使用,本发明将在通过一个或多个计算机(例如客户机工作站、服务器或其它设备)执行的诸如程序模块的计算机可执行指令的通用上下文中进行描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,在各个实施例中,程序模块的功能可按需组合或分配。此外,本领域技术人员应当理解,可使用其它计算机系统配置来实践本发明。适用于本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机(PC)、自动柜员机、服务器计算机、手持型或膝上设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、微型计算机、大型计算机等。也可在其中通过经由通信网络或其它数据传输介质链接的远程处理设备执行任务的分布式计算环境中实践本发明的实施例。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地或远程计算机存储介质中。因而,图1示出了其中可实现本发明的计算系统环境100的一个示例,尽管以上已进行了清晰的描述,但是计算系统环境100仅作为合适的计算环境的一个示例,而非旨在对本发明的用途范围或功能性做任何限制。计算环境100也不应当解释成对示例性操作环境100中所示元件的任何一个或其组合有任何的依赖性或要求。
参看附图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括但不限于:处理单元120;系统存储器130;以及将包括将系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是包括使用各种总线架构中的任一种的存储器总线或存储器控制器、外围总线以及局域总线在内的若干类型总线结构中的任意一种。作为示例而非限制,这些架构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线、以及外设部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任意方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储技术、紧致磁盘只读存储器(CDROM)、数字通用光盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者可被用来存储所需信息并可由计算机110访问的任意其它介质。通信介质通常以诸如载波或其它传送机制的已调制数据信号的方式体现计算机可读指令、数据结构、程序模块或者其它数据,并且包括任意信息传输介质。术语“已调制数据信号”是指以在信号中编码信息的方式设置或改变了其特性中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接连接的有线介质、以及诸如声波、RF、红外线和其它无线介质的无线介质。以上介质的任意组合应当也可包括在计算机可读介质的范围内。
系统存储器130包括诸如ROM 131和RAM 132的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于诸如在启动期间在计算机110内的元件之间传递信息的基本例程的基本输入/输出系统(BIOS)133通常存储在ROM 131中。RAM 132通常包含通过处理单元120直接存取和/或立即操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。RAM 132可以包含其它数据和/或程序模块。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了对不可移动的非易失性磁性介质读或写的硬盘驱动器141、对可移动的非易失性磁盘152读或写的磁盘驱动器151、以及对诸如CD ROM或其它光学介质的可移动的非易失性光盘156读或写的光盘驱动器155。可被用在示例操作环境中的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字通用光盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动器141通常经由诸如接口140的不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155通常经由诸如接口150的可移动存储器接口连接到系统总线121。
以上所述以及图1中所示的驱动器以及与它们相关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146以及程序数据147。注意:这些组件可与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。这里,操作系统144、应用程序145、其它程序模块146和程序数据147被赋予不同附图标记,以便最低限度说明它们是不同的副本。用户可通过诸如键盘162和通常称之为鼠标、跟踪球或触摸板的定点设备161向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些或其它输入设备常常经由耦合于系统总线121的用户输入接口160连接到处理单元120a-f,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。
监视器191或其它类型的显示设备也经由诸如视频存储器190的视频接口的接口连接到系统总线121。除监视器191之外,计算机还可包括诸如扬声器197和打印机196的其它外围输出设备,它们可经由输出外围接口195连接。
计算机110可工作在使用到诸如远程计算机180的一个或多个远程计算机的逻辑连接的网络化环境中。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上就计算机110所描述的组件中的许多或所有组件,尽管图1仅示出了存储器存储设备181。图1中所示逻辑连接包括(LAN)171和(WAN)173,但也可包括其它网络。这些网络环境在办公室、企业计算机网络、内联网和因特网中是普遍的。
当用在LAN网络环境中时,计算机110经由网络接口或适配器170连接到LAN 171。当用在WAN网络环境中时,计算机110通常包括调制解调器172或在诸如因特网的WAN 173上建立通信的其它装置。或为内置式或为外置式的调制解调器172可经由用户输入接口160或其它适当的机制连接到系统总线121。在网络化环境中,关于计算机110所述的程序模块或其一部分可被存储在远程存储器存储设备中。作为示例而非限制,图1示出了驻留在存储设备181的远程应用程序185。应当理解,所示网络连接仅是示例性的,并且也可使用在计算机之间建立通信链接的其它装置。
本领域技术人员可理解,计算机110或者其它客户机设备部署成计算机网络的一部分。在这点上,本发明适于具有任意数量的存储器或存储器单元、以及存在于任意数量存储单元或容积上的任意数量的应用程序的任何计算机系统。本发明的一个实施例可以应用于具有部署在具有远程或本地存储的网络环境中的服务器计算机和客户机的环境。本发明也可以应用于具有程序设计语言功能、解释和执行能力的独立计算设备。
示例分布式网络
图2示出了分布式网络的一个示例,这种分布式网络包括多个网络节点10A-H。例如,这种节点可以是个人电脑,或者包括处理和数据存储能力的其它任意网络设备,比如:服务器、路由器、网络PC、对等设备等等。例如,节点10A-H可以是在诸如内联网或因特网的局域网或者广域网上彼此互连的对等体。
可对每一个节点10A-H分配唯一的地址。可选自地址长度以便确保每个节点具有唯一的地址。在一个示例中,其中期望网络包括千万个节点的基于因特网的系统中可采用160位的地址。这种编址方案可形成覆盖于传输控制协议(“TCP”)之上的路由选择。
分配在这些节点10A-H之间的进程可经由简单对象访问协议(“SOAP”)消息在网络上彼此通信。SOAP是众所周知的基于XML的轻型的分布式计算协议。SOAP消息是包括SOAP封套的XML文档。封套包括任选的SOAP报头和强制的SOAP主体。SOAP报头表示消息的元数据并且提供了扩展SOAP的方法。SOAP消息主体是实际消息的有效载荷。分布式进程可以通过把SOAP分组上传到网络来彼此通信。
进程可以是消息始发者(例如在所示的节点10A上)、期望的消息接收者(例如在所示的节点10G上)或中间物(例如在所示的节点10C上)。消息始发者是最初把SOAP消息上传到网络上的进程。期望的消息接收者是消息最终到达的进程。因此,源自消息始发者的SOAP消息可包括与期望的消息接收者相关联的地址。
分布式时间管理
图3示出了分布式时钟服务,其中时间服务可以在分布式环境中使用。分布式时钟服务的各方面可集成到任意或者所有的网络节点上的服务代码内,从而可以一致的方式影响多个分布式服务。如所示,每一个节点可具有作为核心服务的基数计时器服务。基数计时器(base timekeeper)服务可以是在节点中采用NTP实时管理的服务。基数计时器服务可以跟踪可以是独立时区(例如,国际时间代码-UTC)的“实时”。
如果节点是独立的,则时间的概念可以是本地机器系统时钟。如果节点是工作环(active ring)的一部分,则可基于最高时间精度使用服务器选择进程来选择基数计时器主控装置。网络时间协议(NTP)用于同步节点。然后,NTP运算法则可用于同步同一环上的所有基数计时器。
在一个示例性实施例中,基数计时器最初可以是孤立的,并采用本地机器UTC来自启动。当在孤立状态时,基数计时器可以周期性地尝试搜索其它节点。当发现其它节点时,基数计时器可对其它节点进行服务器选择进程以确定哪一个节点的基数计时器是最佳的时间主控装置。如果此节点加入到一成熟的环(例如具有多于两个的节点在其内并运行的环)中,则基数计时器主控装置可能已存在。在此情况下服务器选择程序可能仍在运行,但是随着更多的节点加入环,当前主控装置将会失效的可能性会减小。
每一个节点可具有追踪节点上的特定时域的至少一个计时器服务。时域是相对于实时的时间表示。它可能快于、慢于或等于实时。它可被暂停或调节。无论合适,当期望唯一的时间通道概念时,可使用时域。例如,可以生成时域来管理特殊资源。对于很多节点而言,可能对单个时域有兴趣。而且,单个节点可以对很多时域有兴趣。因此,节点可以具有多个的计时器。对于精确的本地定时而言,可在节点内对该节点感兴趣的每一个时域生成一个相应的计时器。为了调试或其它目的,可通过允许定时调节基于基数计时器的特征来扩展计时器服务。计时器的状态可以包括表示计时器与实时(表示为本地基数计时器)之间的线性关系的值。
“序列发生器”是在给定时域内的节点中调度定时事件的服务。如果一个节点中的一些实体使用了相同的时域,并且期望周期通知,则序列发生器可通过与适当的计时器(多个)交互操作来提供这种功能。不同的时域可能需要不同的序列发生器。对于,序列发生器可以包括计时器,并且用作周期或非周期警报的共用服务。其它服务可包括序列发生器以管理超时或其它时间信号。序列发生器可查询相关联的计时器(即表示期望时域的计时器)以获知当前时间。为了生成的期满警报,序列发生器可预订相关联的计时器。以这种形式,可通过序列发生器管理定时事件,同时通过底层计时器来控制时间前进。
时间管理器是可负责在多个节点上管理时域的服务。时间管理器可保持预订一给定时域的一组或多组计时器。环上的所有计时器可能在同一个组中。然而,在特定情况下,可能期望管理不同的时域。因此,时间可在机器上减速、停止、或者反向进行。每一个时域可只需要一个时间管理器。
在图3所示的示例中,在一个时域中引入两个节点(指定为“A”和“B”),并且节点B中的计时器作为主控装置,而节点A中的计时器作为从动装置。第三个节点(指定为C)保持单独的时域。尽管未在图3中明确示出,但是应当理解,单个节点可按需保持多个计时器和序列发生器。
为了支持消息重现,所有的消息用时间戳作标记。时间戳可由基数计时器生成,因为其可真实地表示消息的次序。因此,多个CPU可受控于一个分布式主时钟,从而使机器上的时间戳合理化。否则,机器之间的时钟移位可使时间轨迹的对照毫无意义。
图4A和4B示出了序列发生器的操作。如图4A中所示,一个或多个服务(例如SVC C、SVC D和SVC E)可使用相同的序列发生器。如所示,SVC C每隔一个时钟滴答声(Δt)将发送一次消息。SVC D每隔四个时钟滴答声将发送一次消息。SVC E每隔七个时钟滴答声将发送一次消息。序列发生器将来自若干服务的消息设备中置入一个序列,并在适当的时间将它们分配到网络中。
如图4A中所示,在同一时域中执行所有服务。然而,如图4B所示,SVC C的时域已经被改变(例如降至半速)。例如,不同于每隔两个时钟滴答声发送一次消息,SVC C以降速至每隔四个时钟滴答声发送一次消息。序列发生器可知道SVCC应当以半速发出消息,因此,以半数频率将来自SVC C的消息设置在时序中。因此,序列发生器可向同一时域中运行的任意数量的服务提供排列。
经由周期性分布式时间的资源管理
图5是示例性系统200的功能流程图,而图6是示例性方法300的流程图,它们经由周期分布时间在分布式网络中管理设备资源。
在步骤302,本地设备202检测对由设备所使用的受管理的资源产生影响的状态变化。这些本地设备的示例包括:无线电话、个人数字助理(“PDA”)、膝上计算机、桌面个人计算机(“PC”)等等。这些状态变化的示例包括:无线电话或者PDA从支架上移开、膝上计算机被断开等等。这些资源的示例包括例如:电池寿命、网络带宽、CPU利用等等。
在步骤304,本地设备202上的服务可向判定装置204通知状态变化。尽管本地设备上的服务可使用任意消息格式通知判定装置,但在一个实施例中,执行web服务应用协议(WSAP)通知(NOTIFY)操作。在美国专利申请10/856,399中公开并要求的WSAP定义了与如何观测并传送状态变化相关联的大量基本动词(verb),该申请通过引用全部结合于此。例如,WSAP定义了基于通知操作的简单事件通知模型。通知操作可用于报告已发生的状态变化。因而,本地设备可呈现其状态,从而分布在网络上的其它设备可看到它。在美国专利申请10/85639中更加详细地描述了通知操作。
判定装置可与诸如电池寿命、网络带宽、CPU利用等的一个或者多个受管理的资源相关联。较佳地,判定装置仅与一个受管理的资源相关联,从而对于各个资源可具有不同的判定装置。因此,本地设备可以与任意数量的判定装置通信。当在本地设备上发生状态变化时,本地设备202向一个或多个判定装置的每一个通知状态变化。判定装置204可以设置在本地设备202上,或者在任意其它网络节点上,并且可向网络中的任意数量的设备提供服务。
设备上的服务可通知判定装置而无需判定装置请求被通知,或者判定装置204可“预订”特定事件。即,判定装置204可告诉本地设备当特定事件发生时通知它。
WSAP提供了预订(SUBSCRIBE)操作,其中订户对事件源发出请求。请求包括一查询,该查询标识了事件通知源中订户希望看到其状态变化的部分。如果预订操作被认可,则事件通知源启动指示该源的当前状态的通知操作。在启动通知操作之后,无论事件通知源何时适当地变化,事件通知源都发出新的通知操作。因而,预订操作可以用来预订服务状态中的变化。这种预订可能受到期限的限制,或者可使用取消预订(UNSUBSCRIBE)操作来在任何时间终止,其中取消订户(unsubscriber)对事件源发出取消预订操作以取消进一步的通知。在美国专利申请10/856,399中对预订操作和取消预订操作进行了更详细的描述。
在步骤306中,判定装置204接收状态变化通知并基于状态变化和被管理的资源按需决定做什么。判定装置204可基于设备的当前状态以及与该设备所用的资源相关联的资源管理策略来识别对资源的利用产生影响的服务。
例如,如果判定装置和管理电池寿命相关联,则判定装置可以决定如何最好地控制被本地设备使用的电源(例如通过控制本地设备发送或发送到其的消息的速率)。如果被管理的资源是网络带宽,则判定装置可确定如何最好地控制分组带宽(例如通过控制发送分组的速率)。如果被管理的资源是CPU,则判定装置可以确定如何最好地控制功率消耗和处理需求(诸如工作项目调度)。
在判定装置204基于状态变化和被管理的资源按需决定做什么之后,在步骤308中,判定装置204可通知协调器206其希望改变什么。例如,假定设备B是刚从其支架上移开的无线设备。设备B上的服务可通知控制电池寿命的判定装置其状态已变化。然后,判定装置可基于用于控制电池寿命控制的预定义资源管理策略来确定设备应当减速至例如其用于发出工作项目的标称速率(即唤醒进行工作并再次返回休眠的频率)的10%。因而,当插入设备时,时间被定标为实时并100%运行。然而,如果当以电池电源工作时,时间可被按比例调节至较低的百分比。因而,资源寿命(例如电池寿命)可延长,因为设备较缓慢地运行。
判定装置204可通知协调器206发送一消息,该消息指示判定装置204已适当地基于本地设备的状态以及与受管理的资源相关联的资源管理策略决定采取什么动作来管理资源。例如,判定装置204可向协调器206发送指示本地设备处于低电模式以及远程设备应当减少它们发送给本地设备的消息的数量或类型的消息。
在步骤310中,协调器206引发要采取的动作。协调器206可向一个或多个设备发送一个或多个消息以便实现由判定装置204作出的决定所导致的变化。这种消息可以包括诸如URI的与本地设备相关联的标识符。从协调器接收这些消息的设备(多个)可以包括本地设备或者网络上其它任何设备。这种消息还可包括一信息,该信息使得受控制的设备能够了解其需要做什么(或不做什么)以便遵照协调器的命令。例如,信息可以包括速率信息,该信息使得受控制的设备能够了解到本地设备处于低电模式以及藉此远程设备应当降低消息发送到该本地设备的速率(例如,通过减少远程设备用于此通信量的时间)。
可将消息从协调器发送到管理相关联的时域的时间管理器(TimerManager)。然后,时间管理器可把速率变化通知给被预订的计时器。然后,此计时器将常常唤醒与受影响的服务或多或少相关联的序列发生器以便增加或降低受影响的服务生成消息通信量的速率。
调协器206还可尽力地调协“上游”通信量,以便避免网络任意位置上的“通信量阻塞”。即,调协器206可向上游设备(发送消息的设备)发送消息以便告知上游设备下游的设备(接收消息的设备)运行缓慢。消息还可以包括诸如速率信息的信息,该信息使得上游的设备能够知道其应该降低向下游设备发送消息的速率(再次例如通过减少上游设备用于此通信量的时间)。
协调器可与诸如电池寿命、网络带宽、CPU等的受管理的资源相关联。较佳地,协调器仅与一个受管理的资源相关联,从而每一个资源可存在不同的协调器。因此,判定装置可以仅与一个协调器通信,并且一个协调器可以仅与一个判定装置通信。然而,应当理解,协调器可以与多个受管理的资源相关联,判定装置可以与多个受管理的资源相关联,因此,任意数量的判定装置可以与任意数量的协调器通信。
协调器可以驻留在本地设备上,或者驻留在其它任意网络节点上。因而,本地设备自身可以作为协调器,或者它可以将责任委托给将作为协调器的其它设备。在低功率模式中可能尤其期望这种委托,因为这使得本地设备能够仅发送一个消息
(即委托消息),而非发送协调若干远程设备协调所需的所有消息。
协调器可觉察任何在使用中或将被使用的设备、与协调器相关联的资源。协调器给每个设备通知关于其上事项应当进行的速率。因此,每个设备可具有一致的时域图。
较佳地,每个受管理的资源都有一个时域。例如,可存在用于管理数据存储的电池使用的一个时域,以及用于管理带宽的电池所用、语音的电池所用、对网络的数据存储等的其它时域。多个时域使得系统能够保持不同的相对时间。例如,一个本地设备可能使用IP语音(voice-over-IP)。如果在低带宽环境中工作,则这种设备可能希望对声音给予高于数据的优先权。如果这种设备并非用于在特定时间打电话,则这种设备希望增加数据可用的带宽。关于本地设备希望做什么的决定取决于场所、当前电源状态等等。这种决定可基于周期或临时来变化。例如,设备可每豪秒重新估算其状态并通知判定装置。每个时域可需要每个节点至少一个时间管理器和一个计时器。
另外,可以提供“租赁者”服务,在其中服务可被给予一给定持续时间的“租期”。当租约要到期的时候服务没有对租约进行更新,这种运行将被假定死亡,并且可以当作垃圾回收到合适的远程运行的节点目录中。如果一旦期满后服务不进行续期,则可认为该服务不运行并视其为来自其它节点的可用远程服务列表的“回收垃圾”。
根据本发明的一个方面,因为采用了不同的时域,所以可控制设备资源并在同时确保租期不过早到期。因为对于特定设备上的特定租用服务而言时间可能相对较慢地运行,所以在到期之前,租用服务可能不会续期(根据在相对于租用服务运行的时域较快的时域中运行的远程设备来确定)。然而,对于在同一时域内运行的租期的所有方面,即使在时域变化时续期速率也可适当地定标。
根据本发明的一个方面,例如,可以是电池供电设备的第一设备可能希望将计算或存储卸载到到其他设备上。在一个示例实施例中,服务是可重分配的。因此,卸载是决定移动多少服务并且将它们放置在哪里的一个简单进程。因为所有的名字可全局编址并且可观测所有的服务状态,所以可启用重分配。这就意味着任何服务都可以被停止、其状态被保存、生成新的位置、并被替代(使用被保存的版本)。然后,合作服务可被告知新名字,该名字可能被改变或未被改变。
经由周期分布时间使用资源管理的示例系统
考虑作为分布式网络中的一部分的无线电话的示例。在2005年4月20日提交的、题为“Systems And Methods For Providing Distributed,Decentralized Data StorageAnd Retrieval(用于提供分布式、分散式数据存储和检索的系统和方法)”的共同待批的美国专利申请11/110,128中公开并要求保护分布式存储网络,该公开通过引用全部结合于此。如果无线电话工作在一个相对高带宽的环境(例如在其支架上),则该电话可能倾向于将所有数据一次上载以便在网络各处分布式存储。然而,如果电话工作在无线环境(以及因此为窄带宽)中,则可能选择保障电池寿命而非上载数据,从而电池可用于进行拨打电话而非用于数据同步,后者可在当电话放回充电器之后再进行。
在这样的一个示例中,电话可能希望通知管理电池使用的协调器本地设备假定期望在25%的数据存储程序、70%的宽带连接带宽以及100%的语音下工作。然后,协调器可将这些信息输出到直接或间接地具有与电话的一些联系的所有设备。因而,协调器可降低执行数据同步的速率。当然,应当理解,可根据本地设备感兴趣的任意算法将这些资源按优先次序排列。
在另一个示例中,用户可能使用膝上计算机。即使膝上计算机被插入壁装电源插座,用户可能希望将系统资源按优先次序排列。例如,当用户工作的时候,用户可能希望使计算机将附加处理电源专用于用户正在使用工具(例如文字处理器)。例如,在当用户工作时,并非用户直接感兴趣的后台处理可接收对处理资源的更少共享。如果用户休息(系统探测到HMI已持续一时间段闲置),则可分配附加资源来以执行后台任务直到计算机探测到用户已返回。因而,本发明的原理可以应用在单个设备,并且并非必需通过网络应用。在这样的应用中,判定装置和协调器将驻留在本地设备上。
因而,已经对经由周期分布时间的分布式电源管理的系统和方法进行描述。尽管联系不同附图中所示的优选实施例对本发明进行了描述,但是应当理解其它类似实施例也可使用,并且可对所述用于实践本发明的实施例作出修改或添加而不背离本发明。因此,本发明应当不仅限于任意单个实施例,而是应当根据以下权利要求的广度和范围来进行解释。

Claims (17)

1.一种用于管理由分布式网络上的设备使用的资源的系统,每一设备是所述分布式网络中的节点,所述系统包括:
分布式时钟服务,所述分布式时钟服务包括所述分布式网络中的每一个节点上的用于跟踪所述节点上的时域的计时器服务,每一时域与网络上的设备所使用的一资源相关联,所述时域是相对于实时的时间表示;以及
资源利用协调器,它引发所述分布式时钟服务来改变所述时域以便改变所述设备使用所述资源的速率,其中所述资源利用协调器引发所述计时器服务来改变所述时域以便改变所述设备使用所述资源的速率。
2.如权利要求1所述的系统,其特征在于,所述计时器服务在所述设备上。
3.如权利要求1所述的系统,其特征在于,所述计时器服务在远离所述设备的网络节点上。
4.如权利要求1所述的系统,其特征在于,所述资源与电源相关联,并且所述资源利用协调器引发所述分布式时钟服务来改变所述时域以便改变所述设备消耗电源的速率。
5.如权利要求1所述的系统,其特征在于,第一网络节点向所述设备发送消息,并且其中所述资源利用协调器引发所述分布式时钟服务来改变所述时域以便改变所述第一网络节点向所述设备发送消息的速率。
6.如权利要求5所述的系统,其特征在于,第二网络节点向所述第一网络节点发送消息,并且其中所述资源利用协调器引发所述分布式时钟服务来改变第二时域以便改变所述第二网络节点向所述第一网络节点发送消息的速率。
7.如权利要求1所述的系统,其特征在于,所述分布式时钟服务包括管理由运行于所述设备上的一个或多个服务生成的定时事件的序列发生器。
8.一种用于管理分布式网络中的设备的资源利用的方法,每一设备是所述分布式网络中的节点,所述方法包括:
接收向设备提供当前状态的指示的信息;
基于与所述设备的所述当前状态以及与由所述设备使用的资源相关联的资源管理策略,识别影响所述资源的使用的服务;以及
改变所述服务对所述资源的使用产生影响的速率,其中改变所述速率包括改变与所述服务相关联的时域,所述时域是相对于实时的时间表示,且每一时域与网络上的设备所使用的一资源相关联。
9.如权利要求8所述的方法,其特征在于,改变所述时域影响所述服务生成消息的速率。
10.如权利要求9所述的方法,其特征在于,改变所述时域影响所述服务向所述设备发送消息的速率。
11.如权利要求9所述的方法,其特征在于,改变所述时域影响所述服务向对所述设备生成消息的远程设备生成消息的速率。
12.如权利要求8所述的方法,其特征在于,改变所述时域影响所述服务引发将要被使用的所述设备上的中央处理单元的速率。
13.如权利要求8所述的方法,其特征在于,改变所述服务对所述资源的使用产生影响的所述速率包括改变由所述服务使用的带宽。
14.如权利要求8所述的方法,其特征在于,改变所述服务对所述资源的使用产生影响的所述速率包括改变由所述服务使用的带宽。
15.如权利要求8所述的方法,其特征在于,所述资源与电源相关联,并且改变所述服务对所述资源的使用产生影响的所述速率包括改变所述服务对所述设备的电池使用产生影响的速率。
16.一种用于管理分布式网络上的设备的资源利用的方法,每一设备是所述分布式网络中的节点,所述方法包括:
检测设备的状态的变化;
识别受到所述设备的所述状态的所述变化的影响的资源;以及
通过改变与对所述资源的使用产生影响的服务相关联的时域来影响所述资源被使用的速率,所述时域是相对于实时的时间表示,且每一时域与网络上的设备所使用的一资源相关联。
17.如权利要求16所述的方法,其特征在于,还包括:
基于所述设备的所述状态以及与所述资源相关联的资源管理策略,识别对所述资源的使用产生影响的服务。
CN200680017363.XA 2005-05-23 2006-04-14 通过周期分布时间的资源管理 Active CN101501676B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/135,134 US8881233B2 (en) 2005-05-23 2005-05-23 Resource management via periodic distributed time
US11/135,134 2005-05-23
PCT/US2006/014126 WO2006127174A2 (en) 2005-05-23 2006-04-14 Resource management via periodic distributed time

Publications (2)

Publication Number Publication Date
CN101501676A CN101501676A (zh) 2009-08-05
CN101501676B true CN101501676B (zh) 2016-09-21

Family

ID=37449731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680017363.XA Active CN101501676B (zh) 2005-05-23 2006-04-14 通过周期分布时间的资源管理

Country Status (7)

Country Link
US (1) US8881233B2 (zh)
EP (1) EP1875652B1 (zh)
JP (1) JP4724748B2 (zh)
KR (1) KR101433945B1 (zh)
CN (1) CN101501676B (zh)
ES (1) ES2637233T3 (zh)
WO (1) WO2006127174A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428411B2 (en) * 2000-12-19 2008-09-23 At&T Delaware Intellectual Property, Inc. Location-based security rules
US20060294049A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Back-off mechanism for search
US20070067455A1 (en) * 2005-08-08 2007-03-22 Microsoft Corporation Dynamically adjusting resources
US8015249B2 (en) * 2006-10-10 2011-09-06 Microsoft Corporation Mitigating data usage in messaging applications
US8856314B1 (en) 2006-12-28 2014-10-07 Perftech, Inc. System, method and computer readable medium for determining users of an internet service
US7937451B2 (en) 2007-01-08 2011-05-03 Mspot, Inc. Method and apparatus for transferring digital content from a computer to a mobile handset
US9317179B2 (en) 2007-01-08 2016-04-19 Samsung Electronics Co., Ltd. Method and apparatus for providing recommendations to a user of a cloud computing service
US8271988B2 (en) * 2007-11-09 2012-09-18 Xerox Corporation System-generated resource management profiles
US8218177B2 (en) * 2007-11-09 2012-07-10 Xerox Corporation Resource management profiles
JP5053414B2 (ja) * 2010-05-13 2012-10-17 株式会社バッファロー 無線通信装置および無線通信装置の制御方法
US9134873B2 (en) 2010-09-28 2015-09-15 Qualcomm Incorporated Apparatus and methods for presenting interaction information
US9426097B1 (en) * 2010-12-09 2016-08-23 Qlogic, Corporation Facilitating communication between devices in a network
KR102500223B1 (ko) * 2015-07-14 2023-02-15 주식회사 엘지유플러스 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법
CN109861922B (zh) * 2019-02-21 2022-03-29 北京百度网讯科技有限公司 用于控制流量的方法和装置
CN112019448B (zh) * 2020-10-29 2021-02-19 北京安盟信息技术股份有限公司 一种基于单向数据传输的可靠性控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076183A1 (en) * 2001-10-22 2003-04-24 Tam Simon M. Adaptive variable frequency clock system for high performance low power microprocessors
US20030086515A1 (en) * 1997-07-31 2003-05-08 Francois Trans Channel adaptive equalization precoding system and method

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577075A (en) * 1991-09-26 1996-11-19 Ipc Information Systems, Inc. Distributed clocking system
US6282561B1 (en) 1995-12-07 2001-08-28 Microsoft Corporation Method and system for resource management with independent real-time applications on a common set of machines
JPH09167141A (ja) 1995-12-18 1997-06-24 Hitachi Ltd 負荷分散制御方法
US5960181A (en) * 1995-12-22 1999-09-28 Ncr Corporation Computer performance modeling system and method
US5889989A (en) * 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US5826239A (en) * 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
US6009473A (en) * 1997-04-30 1999-12-28 Oracle Corporation Using callbacks to effectively manage resources
US6263359B1 (en) * 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
US5938728A (en) * 1997-10-30 1999-08-17 Advanced Micro Devices, Inc. Apparatus and method for selectively controlling clocking and resetting of a network interface
JP4051510B2 (ja) * 1998-07-16 2008-02-27 ソニー株式会社 データ記憶装置およびデータ記憶方法
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
US6661810B1 (en) * 1999-03-19 2003-12-09 Verizon Laboratories Inc. Clock skew estimation and removal
US7111297B1 (en) * 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
DE60140276D1 (de) 2000-08-03 2009-12-03 Infineon Technologies Ag Dynamisch, rekonfigurierbares, universelles Sendersystem
JP2002071219A (ja) 2000-08-29 2002-03-08 Toto Ltd 給湯機ヒータ電力管理装置
US6735709B1 (en) * 2000-11-09 2004-05-11 Micron Technology, Inc. Method of timing calibration using slower data rate pattern
JP2002208962A (ja) * 2000-12-28 2002-07-26 Fujitsu Ltd メディア配信資源管理装置および記録媒体
US6904537B1 (en) * 2001-08-27 2005-06-07 Network Elements, Inc. Data transmission across asynchronous time domains using phase-shifted data packet
US7325050B2 (en) * 2001-09-19 2008-01-29 Dell Products L.P. System and method for strategic power reduction in a computer system
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7308714B2 (en) * 2001-09-27 2007-12-11 International Business Machines Corporation Limiting the output of alerts generated by an intrusion detection sensor during a denial of service attack
US7328261B2 (en) * 2001-11-21 2008-02-05 Clearcube Technology, Inc. Distributed resource manager
US6996728B2 (en) * 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
JP2004246862A (ja) 2002-09-30 2004-09-02 Matsushita Electric Ind Co Ltd リソース管理装置
US7500152B2 (en) * 2003-12-05 2009-03-03 Freescale Semiconductor, Inc. Apparatus and method for time ordering events in a system having multiple time domains
US7177728B2 (en) * 2003-12-30 2007-02-13 Jay Warren Gardner System and methods for maintaining power usage within a set allocation
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
JP2005196601A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ
US7281148B2 (en) * 2004-03-26 2007-10-09 Intel Corporation Power managed busses and arbitration
US7784054B2 (en) * 2004-04-14 2010-08-24 Wm Software Inc. Systems and methods for CPU throttling utilizing processes
US20060026268A1 (en) * 2004-06-28 2006-02-02 Sanda Frank S Systems and methods for enhancing and optimizing a user's experience on an electronic device
US7698705B1 (en) * 2004-10-19 2010-04-13 Oracle America, Inc. Method and system for managing CPU time consumption
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
US8526524B2 (en) * 2007-03-27 2013-09-03 Qualcomm Incorporation Orthogonal reference signal permutation
US7530072B1 (en) * 2008-05-07 2009-05-05 International Business Machines Corporation Method to segregate suspicious threads in a hosted environment to prevent CPU resource exhaustion from hung threads
CN101359238B (zh) * 2008-09-02 2012-01-18 中兴通讯股份有限公司 一种多核系统的时间同步方法及系统
US8345546B2 (en) * 2010-07-13 2013-01-01 Verizon Patent And Licensing Inc. Dynamic machine-to-machine communications and scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030086515A1 (en) * 1997-07-31 2003-05-08 Francois Trans Channel adaptive equalization precoding system and method
US20030076183A1 (en) * 2001-10-22 2003-04-24 Tam Simon M. Adaptive variable frequency clock system for high performance low power microprocessors

Also Published As

Publication number Publication date
WO2006127174A2 (en) 2006-11-30
KR101433945B1 (ko) 2014-08-25
EP1875652A4 (en) 2015-01-28
ES2637233T3 (es) 2017-10-11
US8881233B2 (en) 2014-11-04
US20060265738A1 (en) 2006-11-23
WO2006127174A3 (en) 2009-04-16
EP1875652B1 (en) 2017-05-17
JP4724748B2 (ja) 2011-07-13
KR20080022080A (ko) 2008-03-10
EP1875652A2 (en) 2008-01-09
CN101501676A (zh) 2009-08-05
JP2008546274A (ja) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101501676B (zh) 通过周期分布时间的资源管理
US9268384B2 (en) Conserving power using predictive modelling and signaling
KR101593765B1 (ko) 네트워크 저장 시스템의 셋업 및 구성
US9509632B2 (en) Workload prediction for network-based computing
CN103270466B (zh) 经由对定时器相关任务的协调和选择性操作的功率管理
KR101645149B1 (ko) 데이터 동기화
CN1811704B (zh) 用于知晓上下文的平台的系统和方法
CN101223513B (zh) 网关设备后的后台网络带宽共享
US8560639B2 (en) Dynamic placement of replica data
CN103095691B (zh) 物联网节点访问控制方法
US20080084977A1 (en) Mitigating data usage in messaging applications
CN103595566A (zh) 一种检测空闲ip地址的方法及装置
CN110249355A (zh) 请勿打扰状态的暴露和基于其的应用行为设置
Jin et al. A sleep-awake scheme based on CoAP for energy-efficiency in Internet of Things
CN103559080B (zh) 移动设备上的后台应用代码的受约束执行
WO2016181104A1 (en) Apparatus and methods for load balancing across a network of nodes
Ganchev et al. A cloud-based service recommendation system for use in UCWW
Fei et al. Rule execution and event distribution middleware for PROSEN-WSN
Dowling et al. Decentralized reinforcement learning for the online optimization of distributed systems
US20230251914A1 (en) Sustainability-aware device configuration visibility and management
US20230251701A1 (en) Sustainability-aware computing device behavior management
Zhang et al. An information-based dynamic extrapolation model for networked virtual environments
Akana et al. Dynamic resource allocation in computing clouds through distributed multiple criteria decision analysis using PROMETHEE method
WO2023154091A1 (en) Sustainability-aware device configuration visibility and management
WO2023154087A1 (en) Sustainability-aware computing device behavior management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant