CN1969280A - 使用命令行环境的远程系统管理 - Google Patents

使用命令行环境的远程系统管理 Download PDF

Info

Publication number
CN1969280A
CN1969280A CNA2004800012535A CN200480001253A CN1969280A CN 1969280 A CN1969280 A CN 1969280A CN A2004800012535 A CNA2004800012535 A CN A2004800012535A CN 200480001253 A CN200480001253 A CN 200480001253A CN 1969280 A CN1969280 A CN 1969280A
Authority
CN
China
Prior art keywords
remote
computer
readable medium
session
command
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
Application number
CNA2004800012535A
Other languages
English (en)
Other versions
CN100545851C (zh
Inventor
D·W·雷
J·P·斯诺弗
R·钱德拉齐卡拉恩
M·C·S·沙斯特里
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN1969280A publication Critical patent/CN1969280A/zh
Application granted granted Critical
Publication of CN100545851C publication Critical patent/CN100545851C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

命令行环境被配置用以接收隐含多个远程节点的命令行。该命令行环境被配置以建立对于每个隐含远程节点都持续的会话,并起动远程命令在这些节点上的执行。会话可赋以变量,且远程执行可并发地进行。远程执行的结果可接收并聚集到阵列中。命令行环境可将建立会话的任务分发到其它系统中以改进性能。

Description

使用命令行环境的远程系统管理
技术领域
本发明涉及网络系统管理,尤其涉及用于远程网络系统管理的命令行环境。
背景技术
今天的计算系统和网络是复杂的,并且常常是巨大的。某些大企业可具有在局域网和广域网上相互连接的数千个独立计算系统。使所有这些计算系统保持平稳运行对于企业的成功是至关重要的。为此,系统开发者努力提供用于系统管理的有用管理性工具。
由于典型的系统管理器是非常复杂的用户,管理工具常常比面向消费大众的应用程序更为复杂。例如,命令行环境仍然在系统管理器中流行,尽管图形用户界面更为普通用户所钟爱。通常,管理器使用命令行可比使用图形界面更快地执行相对复杂的任务。
典型的命令行环境由在计算系统上操作的外壳程序提供。通常,命令行环境提供一些管理器可执行的核心命令。对于更复杂的任务,典型的命令行环境使命令能“连接成流水线”,意思是可在系统命令行上输入两个或多个命令,且每个命令的结果都“连接”或传递给流水线中的下一命令。
无论它们对管理器的流行性如何,很少关注使命令行环境更便于使用和更强大,尤其是远程系统管理。例如,情形常常是管理器必须在远程计算机上执行某些动作或使用在一个或多个远程计算机上收集的信息。然而,即使是相对简单的任务在要求远程执行时也会是令人头痛的。另外,最新技术的计算系统的复杂性是重新定义“远程”的含义。例如,今天“远程”系统可以是同一计算机上执行的不同过程,而现有命令行环境则略去这些情形。
至今,提供复杂远程系统管理的命令行环境已使本领域技术人员感到困惑。
发明内容
本发明涉及用于复杂远程系统管理的机制和技术。简言之,命令行环境被配置用以接收隐含多个远程节点的命令行。该命令行环境被配置以建立对于每个隐含远程节点都持续的会话,并起动远程命令在这些节点上的执行。该会话可赋以一变量,且远程执行可并发地进行。远程执行的结果可接收并聚集到一数组中。命令行环境可将建立会话的任务分发到其它系统中以改进性能。
附图说明
图1是一般示出获益于结合本发明描述的机制和技术的计算环境的功能框图。
图2是更详细示出图1中介绍的命令行环境操作的功能框图。
图3是可由所述命令行环境管理的网络化环境中计算系统分级拓扑的功能框图。
图4是一般示出可由过程执行用于远程执行命令行指令的至少一部分的步骤的流程图。
图5是一般示出当向大量远程装置发出远程命令时用于增强命令行环境性能的过程的逻辑流程图。
图6是可用于示例性命令行环境的示例性计算装置。
具体实施方式
以下详细说明书涉及用于执行远程命令的命令行环境的一说明性实现。本揭示仅用于说明,且并不被视为实现本发明的仅有方法。
图1是一般示出获益于结合本发明描述的机制和技术的计算环境100的功能框图。所示是经网络110连接的若干计算系统。更具体地,网络110把“管理器”112计算系统连接到若干个计算系统(例如远程A 120、远程B 121以及远程C 122)。该若干计算系统可以是企业网络的一部分或者是任何受管理的网络环境。这些远程计算系统物理上可位于任何地方。
网络110可以是用于连接不同计算系统的任何机制,诸如局域网、广域网、或者因特网。每个远程计算系统可以是由诸如雇员或订户的终端用户所使用的独立计算系统。
管理器112是由系统管理器等等使用的用以维护计算环境100的计算系统。换言之,管理器112运行命令,且执行可查询状态或计算环境中其它计算系统状态的任务,并改变一个或多个其它计算系统。管理器112还可查询或改变网络110的状态。管理器112包括支持诸如过程A 113和过程B 114的一个或多个过程的执行环境。每个过程主管至少一个程序或应用程序。另外,一个过程(例如过程A 113)可支持一个或多个应用程序领域,诸如App1 115和App2 116。应用程序领域是一种相对较新的机制,它使多个应用程序可在同一过程中执行却仍与其它应用程序隔离。应用程序领域是由运行时环境创建在应用程序周围的逻辑和物理边界。每个应用程序领域防止其相应程序的配置、安全或稳定性影响其它应用领域中的其它应用程序。
计算环境100中每个计算系统都支持实现在此所述的机制和技术的命令行环境。如下结合图2进行更详细描述,管理器112包括使用户能本地和远程地执行命令的命令行环境。管理器112被配置用以在其本地命令行环境(也称为“外壳”)和任意一个或多个远程系统之间建立会话。在此实现中,远程系统包括远程计算装置(例如远程A 120)以及本地计算系统上的其它过程或应用领域(即管理器112)。因此,不象现有系统,管理器112的用户可建立连接,并在远程计算装置上或在本地计算装置上的另一过程或应用领域中执行命令。另外,管理器112创建与每个远程系统的单独会话,并因此可起动用于在多个远程系统上同步执行的命令,这在此前并未完成。
图2是更详细示出图1中介绍的命令行环境操作的功能框图。在图2中示出的是管理器112和若干远程系统201。在此例中,两个远程系统(即远程A 120和远程B 121)是远程计算装置。相反,另一远程系统(即远程N 220)可以是本地计算机上的另一过程,另一应用领域中的执行代码等等。在此实现中,管理器112在远程系统201上执行远程管理。
每个远程系统包括若干“命令”(例如cmd 222)。命令是用以执行系统管理性任务的相对较小代码组件。实例可包括用于标识在计算装置上执行的每个过程的“process”命令、用于标识计算装置上目录中文件的“dir”命令、以及许多其它命令。然而,命令可包括在远程系统上的任意可执行组件。
每个远程系统201还包括远程代理(例如代理224),它是响应于远程请求要执行一个或多个命令(例如cmd 222)的组件。另外,代理被配置用以取得一个或多个命令的执行结果,并创建返回到请求装置的包。在一实现中,该包取包括执行结果以及诸如调用日期和时间的元信息的经串行化对象的形式,来标识有关结果所源自的特定远程系统的信息,以及有关请求实体的信息。该信息和可能的其它信息被打包成返回包226,用于传送回请求实体(例如管理器112)。
管理器112包括支持命令行环境200的组件。更具体地,管理器112包括类似于驻留于远程系统上命令的在系统管理中使用的命令250。该命令行环境200的操作由内核引擎251管理,该内核引擎251被配置用以管理若干组件的每一个之间,以及管理器112和每个远程系统201之间的操作和信息流动。内核引擎使用户输入能以命令行指令的形式接收(诸如通过外壳等等)和动作。这种命令行指令的特定形式以及用于处理它的技术如下进行详述。
另外,命令行环境200包括会话管理器253功能。命令行环境200被配置以在多个远程系统上并发地执行远程命令。为了完成它,在管理器112和在命令行指令标识的任意远程系统201之间建立了不同的“会话”。“会话”230代表了管理器112和相关联的远程系统201之间的连接。响应于隐含远程系统的命令行指令,会话管理器253与远程系统上的代理(例如代理224)交互,以调用远程系统上的一过程并创建到该过程的连接。该连接被称为“会话”。可使用特定命令从命令行建立有关或多个会话,诸如可采用以下形式:
$C=new/sessoion-node N1,N2,N3-creds{XXX}-session yes
在该示例中,短语“new/session”指示要创建的新会话。参数“-node N1,N2,N3”指示正在与之创建会话的节点(远程系统)。作为“-node”参数的另一选项,“-workerprocess”可用来与本地机器上一可选过程创建会话,或者“-appdomain”可用以与同一过程中不同应用领域内另一应用程序创建会话。参数“-creds{XXX}”标识用以与远程系统201连接的任何特定登录证明。最后,参数“-session yes”被用以指示是否要保持会话。在使用不同命令行远程调用多个命令的情形中,保持会话是有用的。不象现有系统,会话使远程过程能对多个命令行指令重复使用。该能力改进了自动化管理和脚本。
再参看以上的示例命令行,“$C=”语法的使用以及创建新会话将该新会话赋以环境变量“$C”。环境参数275实质上是由对其它任务可用的外壳所维持的变量,且常被用以在过程或应用程序之间共享信息。通过将会话赋以环境变量,不同命令可通过简单引用该环境变量来利用该会话。还有,由于单个会话可包括与多个远程系统的连接,若干命令可通过向单个环境变量发出而发出,因而大大简化了较大规模(1:多个)的管理性任务。以下是可用来利用该能力的说明性命令行:
$A=rcmd$C get/process
通过调用具有在环境变量“$C”中所标识会话的远程系统上的远程命令(rcmd)get/process,该示例在前面示例上建立。根据以上命令行,同时起动每个远程命令。该特征是现有命令行环境上的巨大增强,在现有命令行环境中需要循环或类似操作的编码以起动每个远程系统上的命令。这样,该实现技术获得了并发命令处理的性能优点,而不必串行地执行每个远程命令。
另外,由聚合器255将每个单一远程命令的结果聚集到环境变量“$A”中。换言之,当具有在会话“$C”中所引用连接的一远程系统返回其返回包(例如返回包226)时,聚合器255在指定环境变量(在此例中为“$A”)中包括该数据。这样,随后的命令和任务可访问在多个远程系统上执行该命令的结果。这些结果在环境变量中被存储为经聚集阵列。聚合器255存储将每个结果包的源与环境变量中特定索引相关联的信息。这样,如果需要或请求,命令行环境200的组件可按每个机器、每个过程、或者每个应用程序领域为基础访问结果。在一实现中,经聚集结果同时可用,例如当所有结果返回时。或者,当收到结果时,通过环境变量它们可用。
类似地,内核引擎251可使命令行以非聚集方式执行,从而在返回结果时命令可访问远程执行的结果。例如,如果用户对查找具有一定量多余空闲存储器的多个远程计算装置的任一个感兴趣,则一旦找到第一个这种装置就可适时中止该命令的执行。在此情形中,聚合器255和内核引擎251可交互使得结果可异步地进行估算。这样,结果的原始信息仍然可用。
可以想像当命令旨在于很多远程装置上(诸如数百或数千)执行时的情形。这样,不一次同时起动所有命令可能就更好了。如果这样,可使用“节流阀”功能257可用于性能增强。节流阀257与内核引擎251和可能会话管理器253交互以限制会话中的连接数量,从而网络或者管理器112的资源不会超负荷。例如,可在命令行上使用“-throttle 50”参数以指示任何时间不应有超过50个连接是活动的。该增强帮助防止管理器112的资源或网络超载。或者,节流阀257也可与其它基于性能的机制交互以调节远程命令执行的性能影响。例如,节流阀257可与QOS(服务质量)机制交互以限制网络带宽上的影响。另外,可配置节流阀257以与每个远程代理交互以调节每个远程系统上的性能影响,诸如处理器或存储器负载等等。
图3是可由上面所述命令行环境管理的网络化环境中计算系统分级拓扑300的功能框图。可以想像,上述系统可用来向许多诸如大型企业网络的远程装置发出远程命令。相应地,命令行系统实现分级拓扑300以避免在作大量连接时使管理器112超载。
如图所示,拓扑300包括管理器112和计算装置的分布式网络301。分布式网络301包括分级布局:由服务器(即服务器A 302、服务器B 303、和服务器C 304)组成的计算装置的第一级310,而每个服务器控制第二级312上的一组子计算装置。第二级上的有关或多个计算装置(例如服务器D 361)可具有它自己在第三级314上的子装置等等。如图3所示的分布式网络301仅仅是说明性的,可以理解复杂的企业网络可具有多层服务器和数千计算装置。
在该实现中,分布式网络301中的若干计算装置包括可用合作方式与管理器112交互的组件(例如代理308),以帮助分配命令指令的性能。更具体地,在管理器112上发出的命令行指令可影响分布式网络301中的极大量计算装置。相应地,管理器112不是本地地起动执行该指令所必须的所有连接,而是将该任务分配给分布式网络301中的若干子装置。可用至少两种方法执行该分配。
首先,在管理器112不知道分布式网络301布局的情形中,管理器112可向第一级310中的每个服务器发出命令指令,而用另外的指令使命令在受影响节点的经标识集合中的每个子装置或任一子装置上执行。这样,真正起动每个连接的任务被分配给其它计算装置。第一级310中的计算装置可另外将某些执行委托给第二级312中的下级计算装置,诸如服务器D 361。
其次,在管理器112知道分布式网络301布局并且能标识哪些叶节点由哪些服务器控制时,管理器112可将命令分解成子命令,用于具有受影响节点的分布式网络301的每个分支。然后管理器112直接向控制器发出那些子命令用于受影响节点。实质上,该技术使得管理器112能对分布式网络301中哪个服务器或节点实行命令指令的真正执行保持控管。另外,该技术简化了要由下级计算装置执行的任务,因为它们不需要发现它们是否具有受影响子装置。
应当注意,每个这些技术都简化了,因为返回结果(参见图2)包括用以标识结果源的充足信息以及结果与之相关的命令指令。没有该信息,管理器112和每个代理将需要协调以确保可将返回结果归属于特定节点(如果需要该信息)。
图4是一般示出可由过程400执行用于远程执行命令行指令至少一部分的步骤的流程图。过程400在步骤401开始,其中命令行由命令行执行环境接收。尽管可接受任何适于实现所述技术的命令行执行环境,但在共同待决的申请号为10/693,785题为“Administrative Tool Environment”(管理性工具环境)的于2003年10月24日提交的美国专利特别适合。该美国专利申请特别在此全部引入作为参考。
在步骤403,确定接收命令行包括要在一个或多个远程系统上执行的至少一个命令。远程执行包括在远程计算装置上的执行、本地计算装置上的另一过程、或者同一本地过程中另一应用领域的任务。
在步骤405和407,命令行环境使得对每个经标识远程系统的持续会话起动,并使每个远程系统执行该远程命令。或者,可使用包括对每个远程装置的单独连接的单个会话。如上所述,可对持续会话分配环境变量。另外,可使会话中的每个连接串行或并发地执行远程命令。对这些步骤的性能增强如图5所示并如下所述。
在步骤409,接收到命令远程执行的结果。如上所述,所作结果必须是返回包或经串行化对象的形式,该返回包或经串行化对象包括执行结果以及有关哪个远程节点执行命令等等的其它标识信息。
图5是一般示出当向大量远程装置发出远程命令时用于增强命令行环境性能的过程500的逻辑流程图。过程500在步骤501开始,其中基于哪些受影响节点由控制器集合中的哪个控制器控管而将命令行分解成众多子命令。然后,在步骤503,每个子命令被发给每个经标识控制器用于特定的控制器所影响的节点。最后,在步骤505,聚集从每个控制器返回的结果。因为每个结果包括有关起源节点的信息,聚集步骤不丢失有关哪个节点产生哪些结果的有价值信息(如果必需该信息)。
上述命令行环境具有比现有系统好的若干优点。能持续会话的能力使远程过程能被多个命令重复使用。可将多个连接聚集成会话,允许不借助工作线程等等而进行远程命令的简单并发处理。而且执行远程命令的任务可被分配给其它系统以增强性能。这些和其它优点对本领域技术人员将变得显然。
图6示出了可在示例性管理工具环境中使用的示例性计算装置。在非常基本的配置中,计算装置600通常包括至少一个处理单元602和系统存储器604。取决于计算装置的准确配置和类型,系统存储器604可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等等)、或两者的某些组合。系统存储器604通常包括操作系统605、一个或多个应用程序606,也可包括程序数据607。操作系统606包括基于组件的框架620,该框架支持组件(包括属性和事件)、对象、继承、多形性、反映,并提供基于面向对象的组件应用编程接口(API),诸如华盛顿州Redmond的微软公司制造的.NETTM框架。操作系统605还包括与基于组件的框架620交互以支持管理工具(未示出)开发的管理工具框架200。基本配置在图6中由虚线608内的那些组件示出。
计算装置600可具有附加特征或功能。例如,计算装置600还可包括诸如磁盘、光盘、或磁带的其它数据存储装置(可移动和/或不可移动)。这种其它存储器在图6用可移动存储器609和不可移动存储器610示出。计算机存储介质可包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。系统存储器604、可移动存储609和不可移动存储610都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储器、磁卡、磁带、磁盘存储器或其它磁性存储装置、或可用来存储所需信息并可由计算装置600访问的任何其它介质。任何这种计算机存储介质可以是装置600的一部分。计算装置600还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等等的输入装置612。还可包括诸如显示器、扬声器、打印机等等的输出装置614。这些装置在本领域中是众所周知的,无需在此赘述。
计算装置600还可包含使装置能与其它计算装置618诸如在网络上进行通信的通信连接616。通信连接616是通信介质的一个示例。通信介质通常体现为计算机可读指令、数据结构、程序模块、或其它诸如载波或其它传输机制的已调制数据的信号,并包括任何信息传输介质。术语“已调制数据信号”意指具有以这种在信号中编码信息的方式来设置或改变的一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。在此所用的术语计算机可读介质包括存储介质和通信介质。
尽管特定实现和实施例的细节已如上作了描述,这样的细节旨在满足法律声明义务而不是限制以下权利要求的范围。因而,由权利要求书定义的本发明不受以上所述的特定特征的限制。相反,根据等效法令的适当解释,本系统和方法以所附权利要求书适当范围内的任何形式或者变体进行权利要求的声明。

Claims (32)

1.一种具有计算机可执行指令的计算机可读介质,所述指令使能命令的远程执行,其特征在于,所述指令包括:
接收包括远程命令的命令行指令,所述远程命令标识要在远程系统上执行的执行任务;
起动与至少两个远程系统的会话;以及
使所述远程命令在所述至少两个远程系统的每一个上执行。
2.如权利要求1所述的计算机可读介质,其特征在于,所述会话包括在其上接收所述命令行指令的系统之间的连接。
3.如权利要求1所述的计算机可读介质,其特征在于,所述会话被起动为执行随后可供远程命令使用的持续会话。
4.如权利要求3所述的计算机可读介质,其特征在于,还包括接收具有第二远程命令的第二命令行指令,并使所述第二远程命令能使用所述持续会话来执行。
5.如权利要求1所述的计算机可读介质,其特征在于,所述远程系统包括远程计算装置。
6.如权利要求1所述的计算机可读介质,其特征在于,所述远程系统包括一备选过程。
7.如权利要求1所述的计算机可读介质,其特征在于,所述远程系统包括一备选应用程序领域。
8.如权利要求1所述的计算机可读介质,其特征在于,使所述远程命令能够被执行包括把使所述远程命令能够被执行的步骤委托给一控制器,所述控制器与所述至少两个远程系统的子集相关联。
9.如权利要求8所述的计算机可读介质,其特征在于,所述两个远程系统的每一个包括分级网络拓扑中的一节点,且所述控制器保留在所述至少两个远程系统的子集和接收所述命令行指令的所述系统之间等级中的位置。
10.如权利要求1所述的计算机可读介质,其特征在于,所述远程命令在所述至少两个远程系统的每一个上并发地执行。
11.如权利要求1所述的计算机可读介质,其特征在于,还包括聚集执行每个远程命令的结果。
12.如权利要求11所述的计算机可读介质,其特征在于,所述结果被聚集到一数组中。
13.如权利要求11所述的计算机可读介质,其特征在于,所述结果包括标识所述结果所源自的远程系统的信息。
14.一种远程执行命令的计算机可执行方法,其特征在于,包括:
在本地系统上接收标识远程系统的第一命令行;
使会话在所述本地系统和远程系统之间被创建,所述会话包括与驻留于所述远程系统上的远程过程的连接;
使远程命令在所述远程过程上执行;以及
把所述远程命令的结果存储在与所述会话相关联的环境变量中。
15.如权利要求14所述的计算机可执行方法,其特征在于,还包括使第二远程命令在所述远程过程中执行并把所述第二远程命令的结果存储在所述环境变量中。
16.如权利要求14所述的计算机可执行方法,其特征在于,使所述会话被创建包括创建所述环境变量,以及使所述会话与所述环境变量相关联。
17.如权利要求16所述的计算机可执行方法,其特征在于,所述第一命令行还包括标识与所述会话相关联的所述环境变量的参数。
18.如权利要求14所述的计算机可执行方法,其特征在于,所述命令行还标识多个远程系统。
19.如权利要求14所述的计算机可执行方法,其特征在于,所述命令行还标识在创建所述本地系统和远程系统之间会话中使用的证明。
20.一种具有计算机可执行指令的计算机可读介质,所述指令用于执行如权利要求14所述的方法。
21.一种具有计算机可执行指令的计算机可读介质,其特征在于,包括:
一会话管理器,其被配置用以创建和维护本地系统和一个或多个远程系统之间的会话,每个会话能够主控所述本地系统和远程系统之间的多个连接;
一聚合器,其被配置用以接收命令的远程执行的结果,所述结果的每一个与远程系统相关联,所述聚合器还被配置用以将所述结果聚集成一数组;以及
一节流阀,其被配置用以在请求之后,限制在每个会话中活动连接的数量。
22.如权利要求21所述的计算机可读介质,其特征在于,所述数组中的每个结果与所述结果所源自的远程系统相关联。
23.如权利要求21所述的计算机可读介质,其特征在于,所述聚合器还被配置用以使所述结果以非聚集方式可供使用。
24.如权利要求21所述的计算机可读介质,其特征在于,所述聚合器还被配置用以将所述结果聚集到环境变量中,所述环境变量与由所述会话管理器所创建的会话相关联。
25.如权利要求21所述的计算机可读介质,其特征在于,所述节流阀还被配置用以与其它基于性能机的制交互,以调节远程命令执行的性能影响。
26.如权利要求25所述的计算机可读介质,其特征在于,所述其它基于性能机制包括服务质量机制。
27.如权利要求25所述的计算机可读介质,其特征在于,所述其它基于性能机制包括远程系统上的代理,所述代理被配置用以调节所述远程系统上资源的影响。
28.如权利要求21所述的计算机可读介质,其特征在于,还包括被配置用以管理所述若干组件的每一个之间信息流的内核引擎。
29.如权利要求28所述的计算机可读介质,其特征在于,所述内核引擎还被配置用以把起动一会话的任务委托给远程系统等级中的另一系统。
30.如权利要求21所述的计算机可读介质,其特征在于,所述远程系统包括远程计算装置。
31.如权利要求21所述的计算机可读介质,其特征在于,所述远程系统包括一备选过程。
32.如权利要求21所述的计算机可读介质,其特征在于,所述远程系统包括一备选应用程序领域。
CNB2004800012535A 2004-01-16 2004-07-21 使用命令行环境的远程系统管理 Expired - Lifetime CN100545851C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/759,738 2004-01-16
US10/759,738 US7698359B2 (en) 2004-01-16 2004-01-16 Remote system administration using command line environment

Publications (2)

Publication Number Publication Date
CN1969280A true CN1969280A (zh) 2007-05-23
CN100545851C CN100545851C (zh) 2009-09-30

Family

ID=34749755

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800012535A Expired - Lifetime CN100545851C (zh) 2004-01-16 2004-07-21 使用命令行环境的远程系统管理

Country Status (16)

Country Link
US (1) US7698359B2 (zh)
EP (2) EP1723569B1 (zh)
JP (2) JP2007518186A (zh)
KR (1) KR101085765B1 (zh)
CN (1) CN100545851C (zh)
AU (1) AU2004279197B8 (zh)
BR (1) BRPI0406425A (zh)
CA (1) CA2502682C (zh)
ES (1) ES2567438T3 (zh)
HK (1) HK1097066A1 (zh)
MX (1) MXPA05006622A (zh)
MY (1) MY165459A (zh)
RU (1) RU2357289C2 (zh)
TW (1) TWI360323B (zh)
WO (1) WO2005074408A2 (zh)
ZA (1) ZA200503162B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105408866A (zh) * 2013-07-18 2016-03-16 微软技术许可有限责任公司 远程脚本环境中的上下文关联性
CN105653371A (zh) * 2015-12-29 2016-06-08 曙光云计算技术有限公司 用于PaaS环境下的资源池管理方法和装置
CN111221605A (zh) * 2019-11-18 2020-06-02 杭州安恒信息技术股份有限公司 基于RDP协议的控制Windows主机的方法及装置

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698359B2 (en) * 2004-01-16 2010-04-13 Microsoft Corporation Remote system administration using command line environment
US7770181B2 (en) * 2004-01-16 2010-08-03 Microsoft Corporation System and method for transferring computer-readable objects across a remote boundary
US7493563B2 (en) * 2004-03-05 2009-02-17 International Business Machines Corporation Using content aggregation to build administration consoles
US7444633B2 (en) * 2004-03-05 2008-10-28 International Business Machines Corporation Federating legacy/remote content into a central network console
US8327290B2 (en) * 2004-04-06 2012-12-04 International Business Machines Corporation User task interface in a web application
US7769859B1 (en) 2005-04-15 2010-08-03 Cisco Technology, Inc. Controlling access to managed objects in networked devices
US7810041B2 (en) * 2006-04-04 2010-10-05 Cisco Technology, Inc. Command interface
US7631168B1 (en) 2006-05-10 2009-12-08 The Math Works, Inc. Graphical interface for grouping concurrent computing units executing a concurrent computing process
US9405564B2 (en) * 2006-05-10 2016-08-02 The Mathworks, Inc. System and method for targeting commands to concurrent computing units executing a concurrent computing process
GB2446608B (en) * 2007-02-17 2011-03-02 Paul Tapper Multi-machine shell
EP2066101B1 (en) * 2007-11-28 2012-10-17 Alcatel Lucent System and method for an improved high availability component implementation
US8627342B2 (en) 2008-01-31 2014-01-07 Paul Michael Tapper Multi-machine shell
US8793398B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8793339B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
WO2011075117A1 (en) * 2009-12-14 2011-06-23 Hewlett-Packard Development Company, L.P. Modifying computer management request
US9274815B2 (en) 2010-03-26 2016-03-01 Qualcomm Incorporated Method and apparatus for portable self-contained node computer
JP5761555B2 (ja) * 2011-03-17 2015-08-12 日本電気株式会社 管理サーバ、分散システム、サーバ管理方法、及びプログラム
WO2012134453A2 (en) 2011-03-29 2012-10-04 Empire Technology Development Llc "go home" feature for roaming applications
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
US9254409B2 (en) 2013-03-14 2016-02-09 Icon Health & Fitness, Inc. Strength training apparatus with flywheel and related methods
US9403047B2 (en) 2013-12-26 2016-08-02 Icon Health & Fitness, Inc. Magnetic resistance mechanism in a cable machine
US10433612B2 (en) 2014-03-10 2019-10-08 Icon Health & Fitness, Inc. Pressure sensor to quantify work
CN106470739B (zh) 2014-06-09 2019-06-21 爱康保健健身有限公司 并入跑步机的缆索系统
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
US11782748B2 (en) * 2021-05-14 2023-10-10 Oracle International Corporation Cloud shell extension framework
US11625339B1 (en) 2022-01-21 2023-04-11 Rapid7, Inc. Large scale responsive and generic endpoint command invocation mechanism

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0404505B1 (en) * 1989-06-19 1997-08-20 Digital Equipment Corporation Arrangement for integrating application in a digital processing system
US5680548A (en) * 1994-12-02 1997-10-21 Xcellenet, Inc. Systems and methods for work assignment and distribution from a server to remote/mobile nodes
US6808472B1 (en) * 1995-12-14 2004-10-26 Paul L. Hickman Method and apparatus for remote interactive exercise and health equipment
US5946463A (en) * 1996-07-22 1999-08-31 International Business Machines Corporation Method and system for automatically performing an operation on multiple computer systems within a cluster
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
JP3528558B2 (ja) * 1997-12-25 2004-05-17 富士通株式会社 複数計算機操作装置
JP3149924B2 (ja) * 1998-06-19 2001-03-26 日本電気株式会社 ネットワーク監視制御方法とそのシステム
KR100298627B1 (ko) * 1999-05-20 2001-09-26 양 딩유안 개인용컴퓨터가 하나 이상의 기기들을 제어하게 하는 방법 및 장치
US6477701B1 (en) * 1999-09-30 2002-11-05 Seiko Epson Corporation Version-adaptive serialization and deserialization of program objects in an object-oriented environment
US6675193B1 (en) * 1999-10-29 2004-01-06 Invensys Software Systems Method and system for remote control of a local system
US7140025B1 (en) * 1999-11-16 2006-11-21 Mci, Llc Method and apparatus for providing a real-time message routing communications manager
GB2357226B (en) * 1999-12-08 2003-07-16 Hewlett Packard Co Security protocol
US7039724B1 (en) * 2000-03-09 2006-05-02 Nortel Networks Limited Programmable command-line interface API for managing operation of a network device
US20020019844A1 (en) * 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US7027975B1 (en) * 2000-08-08 2006-04-11 Object Services And Consulting, Inc. Guided natural language interface system and method
US6686932B2 (en) * 2001-03-28 2004-02-03 International Business Machines Corporation System and method for sharing data across frames using environment variables
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US7103656B2 (en) * 2001-02-20 2006-09-05 Research In Motion Limited System and method for administrating a wireless communication network
EP1347394B1 (en) * 2002-03-21 2011-07-13 CoreMedia AG Schema-oriented content management system
US7159224B2 (en) * 2002-04-09 2007-01-02 Sun Microsystems, Inc. Method, system, and articles of manufacture for providing a servlet container based web service endpoint
US7246358B2 (en) * 2002-04-09 2007-07-17 Sun Microsystems, Inc. Methods, system and articles of manufacture for providing an extensible serialization framework for an XML based RPC computing environment
US7150004B2 (en) * 2002-08-21 2006-12-12 International Business Machines Corporation Programmatically serializing complex objects using self-healing techniques
US20040078341A1 (en) * 2002-10-15 2004-04-22 Steichen Terril John System and method for selling digital information online
US20040139305A1 (en) * 2003-01-09 2004-07-15 International Business Machines Corporation Hardware-enabled instruction tracing
CA2419311A1 (en) * 2003-02-20 2004-08-20 Ibm Canada Limited - Ibm Canada Limitee Mapping between native data type instances
US20050154978A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Programmatic creation and access of XML documents
US7698359B2 (en) * 2004-01-16 2010-04-13 Microsoft Corporation Remote system administration using command line environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105408866A (zh) * 2013-07-18 2016-03-16 微软技术许可有限责任公司 远程脚本环境中的上下文关联性
US10191887B2 (en) 2013-07-18 2019-01-29 Microsoft Technology Licensing, Llc Context affinity in a remote scripting environment
CN105408866B (zh) * 2013-07-18 2019-04-12 微软技术许可有限责任公司 远程脚本环境中的上下文关联性
CN105653371A (zh) * 2015-12-29 2016-06-08 曙光云计算技术有限公司 用于PaaS环境下的资源池管理方法和装置
CN111221605A (zh) * 2019-11-18 2020-06-02 杭州安恒信息技术股份有限公司 基于RDP协议的控制Windows主机的方法及装置

Also Published As

Publication number Publication date
EP1723569B1 (en) 2016-03-16
AU2004279197B8 (en) 2010-07-08
AU2004279197B2 (en) 2010-05-20
CA2502682C (en) 2012-03-13
MXPA05006622A (es) 2005-10-21
MY165459A (en) 2018-03-22
ES2567438T3 (es) 2016-04-22
TW200525938A (en) 2005-08-01
KR101085765B1 (ko) 2011-11-21
KR20060112185A (ko) 2006-10-31
AU2004279197A1 (en) 2005-08-04
EP2400386A2 (en) 2011-12-28
US20050198648A1 (en) 2005-09-08
JP2014089744A (ja) 2014-05-15
CA2502682A1 (en) 2005-07-16
BRPI0406425A (pt) 2005-10-25
WO2005074408A3 (en) 2006-08-03
EP1723569A2 (en) 2006-11-22
RU2005118770A (ru) 2006-01-27
US7698359B2 (en) 2010-04-13
WO2005074408A2 (en) 2005-08-18
RU2357289C2 (ru) 2009-05-27
ZA200503162B (en) 2006-11-29
EP1723569A4 (en) 2009-05-13
JP5777692B2 (ja) 2015-09-09
JP2007518186A (ja) 2007-07-05
HK1097066A1 (zh) 2007-06-15
CN100545851C (zh) 2009-09-30
TWI360323B (en) 2012-03-11
EP2400386A3 (en) 2012-04-18

Similar Documents

Publication Publication Date Title
CN1969280A (zh) 使用命令行环境的远程系统管理
US20230291786A1 (en) Client-directed placement of remotely-configured service instances
JP4806357B2 (ja) プロビジョニングデータ処理システムにおいてリソースを識別、予約、および論理的にプロビジョニングする方法、システム、およびプログラム
US6976262B1 (en) Web-based enterprise management with multiple repository capability
CA3000422C (en) Workflow service using state transfer
US7739657B2 (en) Pipeline architecture for use with net-centric application program architectures
KR101376916B1 (ko) 소프트웨어 애플리케이션을 신규 버전의 소프트웨어 애플리케이션으로 점진적으로 업그레이드하기 위한 방법, 기계 판독가능 저장 매체를 포함하는 제품 및 장치
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
US8640149B2 (en) Method and apparatus for dynamic web service composition and invocation
US20070067440A1 (en) Application splitting for network edge computing
EP2893443B1 (en) Re-configuration in cloud computing environments
US20070239766A1 (en) Dynamic software performance models
US7698293B2 (en) System and methods for capturing structure of data models using entity patterns
US20020144256A1 (en) Method of deployment for concurrent execution of multiple versions of an integration model on an integration server
JPH09223116A (ja) 複数ミドルウェアに渡る分散オブジェクトの位置透過性
US6658644B1 (en) Services-based architecture for a telecommunications enterprise
US20030140126A1 (en) Method of deployment for concurrent execution of multiple versions of an integration model
US20090037902A1 (en) Transitioning From Static To Dynamic Cluster Management
CN110389765A (zh) 一种参数校验方法和参数校验系统
CN101727475A (zh) 一种获取数据库访问过程的方法、装置及系统
CN1577277A (zh) 管理程序应用
US20060106863A1 (en) System and/or method for implementing efficient techniques for testing common information model providers
CN111782363A (zh) 一种支持多业务场景调用的方法和流程系统
US20050076343A1 (en) Persistent storage of network management data using object references
van Gurp et al. Service grid variability realization

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

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

Effective date of registration: 20150506

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090930