CN102859512A - 可远程处理的项目 - Google Patents

可远程处理的项目 Download PDF

Info

Publication number
CN102859512A
CN102859512A CN2011800209933A CN201180020993A CN102859512A CN 102859512 A CN102859512 A CN 102859512A CN 2011800209933 A CN2011800209933 A CN 2011800209933A CN 201180020993 A CN201180020993 A CN 201180020993A CN 102859512 A CN102859512 A CN 102859512A
Authority
CN
China
Prior art keywords
project
software project
server
data
client
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.)
Pending
Application number
CN2011800209933A
Other languages
English (en)
Inventor
王恩宙
R·哈比卜海
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 CN102859512A publication Critical patent/CN102859512A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Abstract

这里所描述的主题的各方面涉及远程项目访问。在各个方面,被托管在服务器上的项目的项目数据被提供给客户机,以供在客户机的开发环境中使用。开发环境可被实例化并被配置成允许用户与该项目交互,就好像该项目只存在于客户机上。客户机和服务器上的组件负责转送来自和前往服务器的数据和消息,以确保用户体验是无缝的。

Description

可远程处理的项目
背景技术
一些服务器架构允许应用在服务器上运行,并且允许用户经由因特网浏览器、定制的客户机侧应用等来与该应用交互。例如,服务器可允许用户查看和/或编辑在物理上驻留在该服务器上的文档,而不将该文档下载到客户机器上。当文档与用户可能想要查看或改变的宏或一些其他可执行代码相关联时,提供无缝的用户体验是有问题的。
在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技术领域。
发明内容
简单来说,这里所描述的主题的各方面涉及远程项目访问。在各个方面,被托管在服务器上的项目的项目数据被提供给客户机,以供在客户机的开发环境中使用。开发环境可被实例化并被配置成允许用户与该项目交互,就好像该项目只存在于客户机上。客户机和服务器上的组件负责转送来自和前往服务器的数据和消息,以确保用户体验是无缝的。
提供本发明内容是为了简要地标识在以下详细描述中进一步描述的主题的一些方面。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
除非上下文清楚地指出,否则短语“此处所描述的主题”指的是具体实施方式中描述的主题。术语“方面”被当作“至少一个方面”。标识具体实施方式中所描述的主题的各方面不旨在标识所要求保护的主题的关键特征或必要特征。
上述各方面和此处所描述的主题的其它方面是借助于示例说明的,并且不受附图限制,附图中相同的标号指示相似的元素。
附图简述
图1是表示其中可结合本文所描述主题的各方面的示例性通用计算环境的框图;
图2是概括地表示此处所描述的主题的各方面可以在其中实现的示例性环境的框图;
图3是表示根据此处所描述的主题的各方面被配置成用作客户机的装置的框图;以及
图4-5是根据本文所描述的主题的各方面的概括地表示可在客户机上发生的示例性动作的流程图;以及
图6-7是根据本文所描述的主题的各方面的概括地表示可在服务器上发生的示例性动作的流程图。
具体实施方式
定义
如本文所使用的,术语“包括”及其变体被当作开放式术语,表示“包括但不限于”。除非上下文另外清楚地指示出,否则术语“或”被当作“和/或”。术语“基于”被当作“至少部分地基于”。术语“一个实施例”和“一实施例”被当作“至少一个实施例”。术语“另一实施例”被当作“至少一个其他实施例”。其他显式或隐式定义可包括在下文中。
示例性操作环境
图1示出可在其上实现本文所描述的主题的各方面的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并非旨在对本文所描述的主题的各方面的使用范围或功能提出任何限制。也不应该将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本文所描述的主题的各方面可与众多其他通用或专用计算系统环境或配置一起操作。可适用于这里所述的主题的各方面的已知计算系统、环境或配置的例子包括个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子设备、网络PC、微型计算机、大型计算机、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒,媒体中心或其他家电的家电设备、嵌入汽车或附加到汽车的计算设备、其他移动设备、包括任何上述系统或设备的分布式计算环境等等。
本文所描述的主题的各方面可在由计算机执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本文所描述的主题的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本文所描述的主题的各方面的示例性系统包括计算机110形式的通用计算设备。计算机可包括能够执行指令的任何电子设备。计算机110的组件可包括处理单元120、系统存储器130以及将包括系统存储器的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例,而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线、扩展外围部件互连(PCI-X)总线、高级图形端口(AGP)、以及PCI Express(PCIe)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EEPROM、闪存或其它存储器技术CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语已调制数据信号摂是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。包含诸如在启动期间帮助在计算机110内的元件之间传输信息的基本例程的基本输入/输出系统133(BIOS)通常储存储在ROM 131中。RAM 132通常包含处理单元120可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机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输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、触敏屏、写字板等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口160连接到处理单元120,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。
监视器191或其他类型的显示设备也通过诸如视频接口190之类的接口连接至系统总线121。除了监视器以外,计算机还可包括诸如扬声器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示出了远程应用程序185驻留在存储器设备181上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
远程项目访问
如前所述,当被托管在服务器上的文档与用户可能想要查看或改变的宏或一些其他可执行代码相关联时,提供无缝的用户体验是有问题的。图2是概括地表示此处所描述的主题的各方面可以在其中实现的示例性环境的框图。环境可包括服务器205、客户机210、和其他实体(未示出)。
服务器205和客户机210可以在一个或多个计算机(例如,结合图1描述的计算机110)上实现或被实现为一个或多个计算机。虽然此处有时使用术语“客户机”和“服务器”但应当理解,客户机可在具有硬件和/或通常与服务器相关联的软件的机器上实现,同样,服务器可在具有硬件和/或通常与台式、个人或移动计算机相关联的软件的机器上实现。此外,客户机有时候可以用作服务器,反之亦然。有时候,更频繁地用作客户机或服务器的两个或更多个实体可并发地成为对等体、服务器或客户机。在一个实施例中,客户机和服务器可在同一个物理机器上实现。
此外,如此处所使用的,术语“服务器”和“客户机”中的每个可以指一个或多个物理或虚拟实体、在一个或多个物理或虚拟实体上执行的一个或多个进程、等因此,服务器可包括一个或多个进程在其上执行的实际物理节点、一个或多个进程在其上执行的虚拟节点、在一个或多个节点上执行的服务、共同提供服务的一组节点、等。服务可包括在一个或多个物理或虚拟实体上执行的一个或多个进程。此外,单个进程可实现一个或多个服务器。
在此使用的术语“进程”及其变体可包括一个或多个传统的进程、线程、组件、库、执行任务的对象等等。可以硬件、软件、或硬件和软件的组合来实现进程。在一实施例中,无论如何命名,进程是能够执行或者用于执行动作的任何机制。进程可分布在多个设备上或可位于单个设备上。
服务器205可以托管项目组件215,该项目组件215可包括用于编译、执行、确认、修改、或以其他方式操纵软件项目的组件。项目组件内示出的是表示项目223的框。在服务器205的主存储器中,数据结构可用于表示项目230、项目文件夹231和代码文件232。这些数据结构可以是易于被程序使用的形式。例如,这些数据结构可包括被表示为一个或多个二进制比特的,采用适于被处理器处理的格式的元素。
在磁盘上,表示项目230的数据可驻留在一个或多个项目文件夹231中。每个项目文件夹231可包括关于一个或多个项的数据。项可包括,例如,对象、工作簿、表格、模块、类、文档页、用户界面对象、项目属性和设置、其他项等等。一个项可包括代码并且可被存储在诸如代码文件232的代码文件中。
客户机210可托管用于软件开发的开发环境220。在查看服务器205上的文档时,用户可以指示他想要查看与该文档相关联的代码。例如,用户可以按下因特网浏览器窗口中的一个按钮。
响应于该指示,可以创建允许用户查看、编辑、调试和以其他方式与文档代码交互的开发环境。该开发环境可驻留在服务器205、客户机210、或一个或多个其他实体(未示出)上,或者具有服务器205和客户机210上的组件。在一个实施例中,客户机210可通过执行该客户机210上的一个或多个进程来创建开发环境。在另一个实施例中,客户机210可经由因特网浏览器查看在另一个实体(例如,服务器205)上托管的开发环境。
在一个实施例中,开发控制器245可以负责调用和配置开发环境。为此,开发控制器245可联系代理240并获得关于项目223的数据。使用该数据,开发控制器245将项目224配置成与项目223相同或相似(例如,改变了文件位置、系统变量等)。例如,开发控制器245可将项目235配置成对应于项目230,将项目文件夹236配置成对应于项目文件夹231,并将代码文件237配置成对应于代码文件232。
开发控制器245可以创建或使用客户机210的文件系统的一个或多个文件夹,并且可以将与项目223相对应的数据放入该一个或多个文件夹中。为此,开发控制器245可在客户机的存储介质上创建文件夹,并将文件和其他数据放入文件夹中。在客户机上创建的文件夹可以对应于在服务器上存在的项目的文件夹(但它们可以被不同地命名)。类似地,客户机上的文件夹中的文件和其他数据对应于在服务器上存在的项目的文件和其他数据(但是如果需要,可进行改变以使文件中的数据适合于客户机的环境)。开发控制器245随后可启动开发环境220并将该开发环境220配置成使用一个或多个文件夹中的数据。
对于项目的设置,开发控制器245可对项目223中的对应设置进行一些改变。例如,项目223可指向服务器205专用的特定目录。通过配置开发环境220,开发控制器245可将服务器的目录映射到客户机210的目录。还可以映射服务器205专用的其他配置数据以便应用于客户机210。
在一个实施例中,开发控制器245可经由开发环境220的应用编程接口(API)所展示的对象模型(例如,对象集合或类的集合)来向开发环境220提供配置命令。在另一个实施例中,开发控制器245可被嵌入到开发环境220中,并且可以能够(例如,通过调用非展示对象)更加直接地配置开发环境220。
在一个实施例中,开发控制器245可在调用开发环境220之前下载项目223的全部项目数据,并将项目数据置于客户机210上的合适位置。在另一个实施例中,开发控制器可在按需的基础上从服务器205获得数据。在该实施例中,开发控制器245可被嵌入到开发环境220中,并且可以截取或接收特定调用(例如,打开文件的调用、关闭文件的调用、对附加数据的调用等)。例如,在该实施例中,在接收打开文件的调用时,开发控制器245可在允许该调用前进至文件系统I/O组件之前首先从服务器205检索所需要的文件。
在一个实施例中,开发控制器245可驻留于客户机210上。在另一个实施例中,开发控制器245可驻留在服务器205或另一个实体上(未示出)。
诸如代理240的代理可被包括在项目组件215中。代理240可用于从开发控制器245接收请求,并用于适当地满足这些请求。例如,代理240可从开发控制器245接收对项目数据的请求,可以找到所请求的数据并将所请求的数据提供给开发控制器。
在一个实施例中,代理240可以指示被提供给开发控制器245的项目或文件被登出(check out)或以其他方式无法供其他进程编辑或改变,直到开发控制器245指示不再使用该项目或文件。在另一个实施例中,代理240可将对服务器205上项目223的代码的改变通知给开发控制器245,并且开发控制器245可以由此更新开发环境220或者可以适时地执行用于解决冲突的更新的算法。
除了接收和响应来自开发控制器的请求以外,代理240可用于在允许关于服务器软件项目的预定义动作在服务器上发生之前尝试与开发控制器245通信。例如,代理240可以在允许改变项目内的项目或代码之前与开发控制器245通信。作为另一个示例,若用户未在客户机上打开特定的代码文件,则代理240可允许改变,但是若用户确实打开了代码文件,则不允许改变。
上面的示例不旨在是包含一切的或穷尽的在允许发生针对服务器软件项目的动作之前涉及代理240的全部情形。事实上,基于此处的教导,本领域技术人员可认识到代理240可适于允许或不允许针对服务器软件项目的动作的许多其他情形,而不背离此处所描述的主题的方面的精神或范围。
此外,为了确定何时需要涉及代理240,代理240可被配置成接收或截取项目组件215的一个或多个组件所生成的特定命令,并采取针对这些命令的额外动作。
代理240可将与项目相关联的文档的结构中的改变通知给开发控制器245。例如,新表可被添加到电子表格。在新表已被添加之后,代理240可向开发控制器245传递关于该新表的相关数据。作为响应,开发控制器可以配置开发环境220以识别该新表。这可允许例如使用开发环境220的软件开发者创建访问新表的代码。此外,这样做可允许智能编辑工具在经由自动完成或类似技术进行编辑期间,向软件开发者通知该新表。
在一个实施例中,在客户机上打开的服务器上的文档最初可能不具有相关联的项目。该文档在客户机中正在被查看时,该文档的软件项目可以被创建。在该实施例中,代理240可向开发控制器245发送数据,开发控制器可使用该数据在客户机210上为该项目创建和配置开发环境。
开发控制器245可在不同时间将已对项目224进行的改变发送到代理240。例如,当用户保存项目或其一部分时,开发控制器245可将被保存的项目或其一部分发送到代理240。作为另一示例,当用户尝试经由开发环境220来执行项目代码、或关闭开发环境220时,这可以是使开发控制器向代理240发送项目数据的触发器。当代理240接收这些改变时,代理可适时地更新项目223。
图3是表示根据此处所描述的主题的各方面被配置成用作客户机的装置的框图。图3中示出的组件是示例性的且不意味着包括一切的可能需要或包括的组件。在其他实施例中,结合图3描述的组件和/或功能可被包括在其他组件(示出或未示出)中或者被放置在子组件中而不背离此处所描述的主题的各方面的精神或范围。在某些实施例中,结合图3所描述的组件和/或功能可跨多个设备地分布。图3的组件可由诸如图1的处理单元120的处理器来实现或执行。
图3的装置可托管或实现图2的客户机210。转向图3,装置305可包括开发组件310、存储330、通信机制335、和其它组件(未示出)。装置305可包括一个或多个计算设备。这些设备可包括,例如,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、蜂窝电话、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒、媒体中心或其他电器在内的电器、汽车嵌入式或附连的计算设备、其他移动设备、包括以上系统或设备中的任一种的分布式计算环境等。可被配置成用作装置305的示例性设备包括图1的计算机110。
通信机制335允许装置305和其它实体通信。例如,通信机制335可允许装置305与托管服务器软件项目的服务器进行通信。通信机制335可以是结合图1描述的网络接口或适配器170、调制解调器172或用于建立通信的任何其它机制。
存储330是能够提供对与软件开发相关联的数据的访问的任何存储介质。此处使用的访问可包括读数据、写数据、删除数据、更新数据、以及包括以上两个或更多个的组合等。存储330可包括文件系统、数据库、诸如RAM等易失性存储器、其它存储、以上的某种组合等,并可以分布在多个设备中。存储330可以是外部的、内部的、或包括对于装置305而言内部的以及外部的组件。
开发组件310可包括开发环境315、开发控制器320、用户界面325、以及其他组件(未示出)。如这里所使用的,术语组件要被当作包括以下的全部或一部分来理解:设备、一个或多个软件模块或其部分的集合、一个或多个软件模块或其部分与一个或多个设备或其部分的某种组合等等。
用户界面325用于接收指示被托管在服务器上的软件项目的输入。如前所述,在一个实施例中,用户可经由因特网浏览器来浏览服务器上的文档。当用户已经发现了他对软件项目进行修改的文档,该用户可通过点击(作为用户界面325来显示的)因特网浏览器的按钮、选择菜单项、或以其他方式与因特网浏览器交互,来指示他想要查看或编辑与文档相关联的软件项目。
开发环境315可用于托管客户机软件开发项目,并经由用户界面325来提供对客户机软件开发项目的访问。开发环境315可包括可通过其配置开发环境315的界面317。如前所述,该界面可展示允许外部实体(诸如开发控制器320)配置和控制开发环境315的对象、类、功能的集合等。
开发控制器320用于建立与服务器的通信通道,并经由该通信通道获得关于服务器软件项目的项目数据。项目数据指示软件项目的结构和代码。结合获得项目数据,开发控制器320还用于创建与服务器软件项目相对应的客户机软件项目。该客户机软件项目可以与服务器软件项目不同(例如,不同的目录、不同的系统变量等),使得开发环境315可在不必知晓服务器上的软件项目的布局的情况下访问装置305上的客户机软件项目。结合创建客户机软件项目,开发控制器320还可用于经由界面317来配置开发环境315以访问客户机软件项目。
开发控制器320可用于向服务器提供指示对客户机软件项目进行的更新的数据。如前所述,这可针对特定事件(例如,来自服务器的对任何更新的请求,用户关闭开发环境315,用户点击开发环境315的保存按钮,用户点击开发环境315的执行按钮,其他事件等)而发生。
开发控制器320还可用于接收指示改变的数据并配置开发环境以识别该改变,该改变是针对与服务器相关联的文档的结构作出的。例如,新表可被添加到与服务器软件项目相关联的电子表格。作为另一示例,另一部分可被添加到与服务器软件项目相关联的文字处理文档。在开发控制器320已经配置开发环境315以识别对文档的改变之后,开发环境315可在软件开发中更好地辅助用户。例如,开发环境315可辅助开发环境内的自动完成活动(例如,建议对象、方法、或其他名称)作为另一示例,开发环境315可以能够确定代码是否引用文档的现有对象,并且可以适时地标记误差。
如果用户点击或以其他方式激活开发环境的执行控制以执行与项目相关联的代码,则开发控制器320可向服务器提供对客户机项目的任何更新并向服务器发送执行服务器软件项目的代码的指令。
虽然开发控制器320被示为与开发环境315是分开的,但在另一环境中,开发控制器320可以是开发环境的一部分。在该实施例中,开发控制器320可以不需要使用接口317来配置或控制开发环境315。
图4-7是概括地表示根据此处所描述的主题的各方面的可发生的动作的流程图。为解释简明起见,结合图4-7来描述的方法被描绘和描述为一系列动作。可以理解和明白,此处所描述的主题的各方面不受所示出的各动作和/或各动作次序的限制。在一个实施例中,各动作以如下描述的次序发生。然而,在其它实施例中,各动作可以并行地发生、以另一次序发生、和/或与此处未呈现和描述的其它动作一起发生。此外,并非所有示出的动作都是实现根据此处所描述的主题的各方面的方法所必需的。另外,本领域的技术人员将了解和明白,该方法也可以替代地经由状态图而被表示为一系列相互关联的状态或者被表示为事件。
图4-5是根据本文所描述的主题的各方面的概括地表示可能在客户机上发生的示例性动作的流程图。转向图4,在框405处,动作开始。在框410,接收输入以访问被托管在服务器上的软件项目。例如,参考图2-3,用户界面325接收输入(例如,对按钮的鼠标点击),该输入指示用户期望编辑软件项目223。
在框415,建立与服务器250的通信信道。例如,参考图2,开发控制器建立与服务器205的代理240的网络连接。
在框420,从服务器获得项目数据。项目数据指示服务器软件项目的结构和代码。服务器软件项目的结构和代码可用于创建与服务器软件项目相对应的客户机软件项目。例如,参考图2,开发控制器245从代理240获得关于项目223的项目数据。
在框425,在客户机上创建与服务器软件项目相对应的客户机软件项目。在一个实施例中,该软件项目可使用只存在于客户机上的主存储器中的数据结构来创建。在另一个实施例中,该软件项目可使用主存储器中和/或磁盘上的数据结构来创建。例如,参考图2,开发控制器可在客户机210上创建客户机软件项目224。
在框430,开发环境被适当地配置成访问客户机软件项目。例如,参考图2,开发环境220被配置成访问客户机软件项目224。在一个实施例中,将开发环境配置成访问客户机软件项目可简单地包括指示项目文件在客户机的存储介质上的位置。例如,这可通过在调用开发环境时传递一个或多个参数来完成。在另一个实施例中,这可包括启动开发环境和使用开发环境的编程接口来配置开发环境。
在框435处,可以执行其他动作(如果存在)。在图5中示出可能发生的其他动作中的一些。转向图5,框505-520指示可能在服务器上的文件结构改变时发生的动作。例如,在框505,这些动作开始。在框510,客户机接收指示文档的结构的改变的数据。例如,表可被添加到服务器的工作簿。在框515,开发环境被配置以识别改变。在框520处,可以执行其他动作(如果存在)。
框525-540指示可能在有事件在客户机上发生时发生的动作。例如,在框505,这些动作开始。在框530,客户机的开发环境可接收命令,诸如保存项目或其一部分的命令、关闭项目的命令、执行项目的代码的命令等。作为响应,在框535,客户机可向服务器发送指示在开发环境中作出的改变的数据。在框540处,可以执行其他动作(如果存在)。
框545-560指示可能在服务器软件项目发生改变时发生的动作。例如,在框505,这些动作开始。在框550,客户机接收指示对服务器软件项目所做的改变的数据。例如,代码或对象可被改变、添加或删除,设置可被改变,等。在框555,客户机软件项目和开发环境可根据改变来配置。在框560处,可以执行其他动作(如果存在)。
图6-7是根据本文所描述的主题的各方面的概括地表示可在服务器上发生的示例性动作的流程图。转向图6,在框605处,动作开始。
在框610处,接收访问服务器软件项目的请求。例如,参考图2,服务器205可接收访问服务器软件项目223的请求。
在框615,可建立与客户机的开发控制器的通信通道。例如,参考图2,可在代理240与开发控制器245之间建立通信通道。
在框620,经由通信通道向开发控制器提供关于项目的数据。该数据指示用于创建客户机软件项目以及配置客户机上的开发环境的服务器软件项目的结构和代码。
在框625处,可以执行其他动作(如果存在)。在图7中示出可能发生的其他动作中的一些。转向图7,框705-720指示可能在服务器上的文件结构改变时发生的动作。例如,在框705,这些动作可以开始。在框710,服务器上的代理可以确定文档的结构被改变。例如,表可被添加到电子表格。作为响应,在框715,代理可以发送指示客户机的开发控制器的改变的数据。在框720处,可以执行其他动作(如果存在)。
框725-740指示可能响应于在服务器上发生的事件而发生的动作。在框725,动作开始。在框730,获得服务器命令。如果服务器命令是需要项目的已更新副本的命令,则在框735,代理检查客户机以确定客户机上是否已经作出任何改变。在框740处,可以执行其他动作(如果存在)。例如,如果已经在客户机上作出改变,则代理可从开发控制器获得改变并用该改变来更新服务器软件项目。
框745-760指示可能响应于来自客户机的消息而发生的动作。在框745,动作开始。在框750,从客户机接收项目的改变。作为响应,在框755,代理可根据改变来更新服务器软件项目。如果服务器接收到指示客户机已经或正在关闭项目的消息,则代理可以移除锁或改变访问权限以允许采用关于服务器项目的改变或其他动作。在框760处,可以执行其他动作(如果存在)。
图5和7中指示的动作不旨在包含一切的或穷尽的可在服务器或客户机处采取的其他动作。基于此处的教示,本领域技术人员在不背离此处所描述的主题的方面的精神或范围的前提下可认识到可在服务器或客户机上发生的其他动作。
如从上述详细描述中可以看到,已经描述了关于远程项目访问的各方面。尽管本文所描述的主题的各方面易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而,应当理解,并不旨在将所要求保护主题的各方面限制于所公开的具体形式,而是相反地,目的是要覆盖落入本文所描述的主题的各方面的精神和范围之内的所有修改、替换构造和等效方案。

Claims (15)

1.一种至少部分地由计算机实现的方法,所述方法包括:
在客户机处,接收输入以访问被托管在服务器上的服务器软件项目;
建立与所述服务器的代理组件的通信通道,所述代理组件在操作上结合在所述服务器上发生的关于所述服务器软件项目的一个或多个预定义动作来与所述客户机通信;
从所述代理组件获得关于所述服务器软件项目的项目数据,所述项目数据指示所述服务器软件项目的结构和代码;
在客户机上,根据所述服务器项目数据来创建与所述服务器软件项目相对应的客户机软件项目;以及
配置开发环境以访问所述客户机软件项目。
2.如权利要求1所述的方法,其特征在于,接收输入以访问被托管在服务器上的服务器软件项目包括从被托管在所述客户机上的因特网浏览器的控件接收输入,所述因特网浏览器显示包括与所述服务器软件项目相关联的文档的页,所述代码在被执行时执行与所述文档的数据有关的操作。
3.如权利要求1所述的方法,其特征在于,根据所述服务器项目数据来创建与所述服务器软件项目相对应的客户机项目包括在所述客户机的存储介质上创建文件夹并将文件置于所述文件夹中,所述文件夹对应于在所述服务器上使用的用于所述服务器软件项目的文件夹,所述文件对应于在所述服务器上使用的用于所述服务器软件项目的文件。
4.如权利要求1所述的方法,其特征在于,还包括接收保存所述客户机软件项目的数据的指示,并且作为响应,向所述代理组件发送指示在所述开发环境中作出的改变的数据。
5.如权利要求1所述的方法,其特征在于,还包括接收指示所述服务器软件项目的改变的数据,并且作为响应,根据所述改变来配置所述客户机软件项目和开发环境。
6.一种具有计算机可执行指令的计算机存储介质,所述计算机可执行指令在被执行时执行以下动作,包括:
在服务器处,接收访问服务器软件项目的请求;
建立与客户机的开发控制器的通信通道,所述客户机的所述开发控制器在操作上用于创建与所述服务器软件项目相对应的客户机软件项目以及配置开发环境以访问所述客户机软件项目;以及
经由所述通信通道向所述开发控制器提供关于所述服务器软件项目的项目数据,所述项目数据指示用于创建所述客户机软件项目和配置所述开发环境的所述服务器软件项目的结构和代码。
7.如权利要求6所述的计算机存储介质,其特征在于,接收访问服务器软件项目的请求包括接收访问与文档相关联的服务器软件项目的请求,所述服务器软件项目的所述代码在被执行时执行与所述文档的数据有关的操作。
8.如权利要求7所述的计算机存储介质,其特征在于,还包括向所述开发控制器发送指示所述文档的结构的改变的数据,所述数据由所述开发控制器用来更新所述开发环境以识别所述改变。
9.如权利要求6所述的计算机存储介质,其特征在于,还包括在所述服务器软件项目上放置锁,接收对所述客户机已经或正在关闭所述客户机软件项目的指示,并且响应于所述指示而移除所述锁。
10.如权利要求6所述的计算机存储介质,其特征在于,还包括获得修改所述代码的请求,并且作为响应,向所述开发控制器发送消息,所述消息请求所述开发控制器指示是否已经对所述客户机软件项目作出改变。
11.如权利要求10所述的计算机存储介质,其特征在于,还包括,如果已经对所述客户机软件项目作出改变,则从所述开发控制器获得所述改变并且用所述改变来更新所述服务器软件项目。
12.一种处于计算环境中的装置,包括:
用户界面,操作上用于接收指示被托管在服务器上的服务器软件项目的输入;
开发环境,操作上用于托管客户机软件开发项目并经由所述用户界面提供对所述客户机软件开发项目的访问,所述开发环境包括可通过其配置所述开发环境的编程接口;以及
开发控制器,操作上用于建立与所述服务器的通信通道,并且经由所述通信通道获得关于所述服务器软件项目的项目数据,所述项目数据指示所述服务器软件项目的结构和代码,所述开发控制器操作上还用于创建与所述服务器软件项目相对应的客户机软件项目,所述开发控制器操作上还用于经由所述编程接口来配置所述开发环境以访问所述客户机软件项目。
13.如权利要求12所述的装置,其特征在于,所述开发控制器操作上还用于向所述服务器提供指示对所述客户机软件项目作出的更新的数据。
14.如权利要求12所述的装置,其特征在于,所述开发控制器操作上还用于向所述服务器提供执行所述服务器软件项目的代码的指令。
15.如权利要求12所述的装置,其特征在于,所述开发控制器操作上还用于接收指示对与所述服务器软件项目相关联的文档结构作出的改变的数据,并且用于配置所述开发环境以识别所述改变以用于所述开发环境内的自动完成的活动。
CN2011800209933A 2010-04-29 2011-04-26 可远程处理的项目 Pending CN102859512A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/769,673 2010-04-29
US12/769,673 US9116778B2 (en) 2010-04-29 2010-04-29 Remotable project
PCT/US2011/034008 WO2011139724A2 (en) 2010-04-29 2011-04-26 Remotable project

Publications (1)

Publication Number Publication Date
CN102859512A true CN102859512A (zh) 2013-01-02

Family

ID=44859344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800209933A Pending CN102859512A (zh) 2010-04-29 2011-04-26 可远程处理的项目

Country Status (5)

Country Link
US (2) US9116778B2 (zh)
EP (1) EP2567324A4 (zh)
CN (1) CN102859512A (zh)
CA (1) CA2795372A1 (zh)
WO (1) WO2011139724A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325823A (zh) * 2015-06-15 2017-01-11 阿里巴巴集团控股有限公司 项目原型管理方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027713B (zh) 2010-12-27 2020-07-07 株式会社精好 移动电话、声音输出装置、收听系统和收听设备
CN108334340B (zh) * 2017-07-17 2021-04-30 创新先进技术有限公司 一种跨环境数据通信方法、装置和系统
CN113762722A (zh) * 2021-08-09 2021-12-07 深圳前海爱客风信息技术有限公司 合作开发软件项目的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393437B1 (en) * 1998-01-27 2002-05-21 Microsoft Corporation Web developer isolation techniques
US20050055665A1 (en) * 2003-09-04 2005-03-10 Woo Duk Kyun System and method for developing target application on target system in cross development environment
US20060150144A1 (en) * 2005-01-04 2006-07-06 Youngsoft Private Ltd. System and method for application development and deployment
CN1961288A (zh) * 2004-05-04 2007-05-09 费舍-柔斯芒特系统股份有限公司 用于存取过程控制数据的方法和设备
CN101416173A (zh) * 2006-03-31 2009-04-22 STTWebOS股份有限公司 在基于万维网的环境下交换信息的方法及装置

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69309485T2 (de) 1992-11-13 1997-07-10 Microsoft Corp Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe
US5659735A (en) * 1994-12-09 1997-08-19 Object Technology Licensing Corp. Object-oriented system for program version and history database management system for various program components
US5819093A (en) 1995-03-03 1998-10-06 Sun Microsystems, Inc. System and method for a distributed debugger for debugging distributed application programs
US5828840A (en) 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
US5907705A (en) * 1996-10-31 1999-05-25 Sun Microsystems, Inc. Computer implemented request to integrate (RTI) system for managing change control in software release stream
CA2205096C (en) 1997-05-09 2001-10-09 Ibm Canada Limited-Ibm Canada Limitee A system for remote debugging of client/server applications
US6836885B1 (en) * 1998-09-21 2004-12-28 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6550057B1 (en) * 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval in an information services patterns environment
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
DE10121790B4 (de) * 2000-06-03 2006-11-23 International Business Machines Corp. Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem
US6567767B1 (en) * 2000-09-19 2003-05-20 Unisys Corporation Terminal server simulated client performance measurement tool
US7275236B1 (en) * 2000-11-24 2007-09-25 Mitsubishi Denki Kabushiki Kaisha Method for programming a multiple device control system using object sharing
US7174534B2 (en) * 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
US7093232B1 (en) * 2001-10-17 2006-08-15 Oracle International Corporation (Oic) Component stager
US7051036B2 (en) * 2001-12-03 2006-05-23 Kraft Foods Holdings, Inc. Computer-implemented system and method for project development
US7131071B2 (en) * 2002-03-29 2006-10-31 Siebel Systems, Inc. Defining an approval process for requests for approval
US7292990B2 (en) * 2002-04-08 2007-11-06 Topcoder, Inc. System and method for software development
CA2391733A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Framework to access a remote system from an integrated development environment
CA2391719A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Editing files of remote systems using an integrated development environment
US20120079389A1 (en) 2002-08-06 2012-03-29 Tsao Sheng Tai Ted Method and Apparatus For Information Exchange Over a Web Based Environment
US20110119353A1 (en) 2002-08-06 2011-05-19 Tsao Sheng Tai Ted Method and Apparatus for information exchange over a web based environment
US8443036B2 (en) * 2002-11-18 2013-05-14 Siebel Systems, Inc. Exchanging project-related data in a client-server architecture
US7565643B1 (en) * 2002-11-26 2009-07-21 Unisys Corporation Sending notifications to project members in a project management system
KR20040086269A (ko) 2003-01-15 2004-10-08 가부시끼가이샤 르네사스 테크놀로지 기업간 데이터 제휴 시스템
US7356562B2 (en) * 2003-04-30 2008-04-08 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
US7444337B2 (en) 2004-03-09 2008-10-28 Ntt Docomo, Inc. Framework and associated apparatus for the adaptive replication of applications with server side code units
US7383535B1 (en) * 2003-08-25 2008-06-03 Unisys Corporation System and method for implementing code hooks in a web-based environment
US7404180B2 (en) 2003-12-11 2008-07-22 Sap Ag Trace management in client-server applications
US8341590B1 (en) * 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
US8667465B2 (en) * 2008-03-31 2014-03-04 Accurev, Inc. System for estimating a software product release time from version information
US7882492B2 (en) 2004-09-17 2011-02-01 Oracle America, Inc. Intelligent computer program debugger, and system and method for implementing the same
US7496886B2 (en) * 2004-09-30 2009-02-24 Microsoft Corporation Method and system for providing cross project commitments
US7475391B2 (en) * 2004-10-07 2009-01-06 International Business Machines Corporation System and method for revealing remote object status in an integrated development environment
GB0422750D0 (en) 2004-10-13 2004-11-17 Ciphergrid Ltd Remote database technique
US7685159B2 (en) * 2005-01-25 2010-03-23 International Business Machines Corporation Creating content associations through visual techniques in a content framework system
WO2007059465A2 (en) * 2005-11-10 2007-05-24 Computer Associates Think, Inc. Server side application integration framework
JP2009536476A (ja) 2006-04-10 2009-10-08 ヤフー! インコーポレイテッド メディア資産のトピック固有の生成及び編集
US20080059943A1 (en) * 2006-08-30 2008-03-06 Vadym Krevs Method and system for using a library cache in a distributed development environment
US8453104B2 (en) 2006-10-27 2013-05-28 Microsoft Corporation Thin client software development environment
US7950024B2 (en) * 2006-12-27 2011-05-24 Oracle America, Inc. Mechanism for transparently interfacing with a third party version control system
US20080196000A1 (en) * 2007-02-14 2008-08-14 Fernandez-Lvern Javier System and method for software development
US7945949B2 (en) 2007-03-19 2011-05-17 Microsoft Corporation Providing remote services to legacy applications
US20080244062A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Scenario based performance testing
US20090217240A1 (en) 2008-02-22 2009-08-27 Tetsuro Motoyama Script generation for graceful termination of a web enabled client by a web server
US8880678B1 (en) * 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US8296722B2 (en) * 2008-10-06 2012-10-23 International Business Machines Corporation Crawling of object model using transformation graph
US8245192B1 (en) * 2008-11-18 2012-08-14 Sprint Communications Company L.P. Independent software development zones
US8307347B2 (en) * 2009-05-18 2012-11-06 National Instruments Corporation Collecting and analyzing graphical data flow web application results from multiple users
US8352913B2 (en) * 2009-08-07 2013-01-08 Adobe Systems Incorporated Generating and resolving component names in an integrated development environment
US8291408B1 (en) * 2010-03-10 2012-10-16 Google Inc. Visual programming environment for mobile device applications
US8966434B2 (en) * 2011-06-06 2015-02-24 Microsoft Corporation Repository based development using project development tools in enterprise management environment
US8281288B1 (en) * 2011-10-20 2012-10-02 Google Inc. Integrated development environment with network-based compilation and sandboxed native machine-language capabilities
US9058240B2 (en) * 2012-12-03 2015-06-16 International Business Machines Corporation Multi-context remote development
US9280407B2 (en) * 2014-04-16 2016-03-08 International Business Machines Corporation Program development in a distributed server environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393437B1 (en) * 1998-01-27 2002-05-21 Microsoft Corporation Web developer isolation techniques
US20050055665A1 (en) * 2003-09-04 2005-03-10 Woo Duk Kyun System and method for developing target application on target system in cross development environment
CN1961288A (zh) * 2004-05-04 2007-05-09 费舍-柔斯芒特系统股份有限公司 用于存取过程控制数据的方法和设备
US20060150144A1 (en) * 2005-01-04 2006-07-06 Youngsoft Private Ltd. System and method for application development and deployment
CN101416173A (zh) * 2006-03-31 2009-04-22 STTWebOS股份有限公司 在基于万维网的环境下交换信息的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325823A (zh) * 2015-06-15 2017-01-11 阿里巴巴集团控股有限公司 项目原型管理方法和装置
CN106325823B (zh) * 2015-06-15 2019-08-16 阿里巴巴集团控股有限公司 项目原型管理方法和装置

Also Published As

Publication number Publication date
EP2567324A4 (en) 2013-12-25
US20150324193A1 (en) 2015-11-12
US20110271249A1 (en) 2011-11-03
US9990192B2 (en) 2018-06-05
WO2011139724A2 (en) 2011-11-10
CA2795372A1 (en) 2011-11-10
US9116778B2 (en) 2015-08-25
WO2011139724A3 (en) 2012-04-19
EP2567324A2 (en) 2013-03-13

Similar Documents

Publication Publication Date Title
US10514901B2 (en) Application management within deployable object hierarchy
CN102804202B (zh) 内容网格搜索
CN102246157B (zh) 隔离由插件代码主存的应用程序的方法和系统
US20130332916A1 (en) System and method for updating application archive files
US20070266208A1 (en) Apparatus and method of setting rights object mapping table
US9934007B2 (en) Method for operating tool in working environment and machine using such method
JP2018533125A (ja) ビジュアルコンテンツ開発
US9459859B2 (en) Template derivation for configuration object management
US20110187511A1 (en) Method and apparatus for managing content, configuration and credential information among devices
CN105512294A (zh) 一种多媒体文件的更新提示方法和装置
CN102591710A (zh) 共享对象表示
CN109313589B (zh) 实现与外部功能的交互
CN102859512A (zh) 可远程处理的项目
Elrom et al. Eos. io wallets and smart contracts
US20100318967A1 (en) Supplementary deployment actions
CN103514004A (zh) Windows系统下的系统环境管理方法及装置
JP2016066355A (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
CN102402598B (zh) 应用文件系统访问
Soliman Getting Started with Memcached
CN102707942A (zh) 操作系统体验状态
WO2016176162A1 (en) Extensibility bundles for a cloud and devices suite
CN104781784A (zh) 基于动态模型的管理工具
CN104769548A (zh) 打包、存储和分发指南包
US9936015B2 (en) Method for building up a content management system
CN102982261A (zh) 跟踪下载的数字媒体文件的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1178623

Country of ref document: HK

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.

RJ01 Rejection of invention patent application after publication

Application publication date: 20130102

RJ01 Rejection of invention patent application after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1178623

Country of ref document: HK