CN101911075B - 用于现有应用的定制和分发的基于浏览器的代理服务器 - Google Patents

用于现有应用的定制和分发的基于浏览器的代理服务器 Download PDF

Info

Publication number
CN101911075B
CN101911075B CN200980102193.9A CN200980102193A CN101911075B CN 101911075 B CN101911075 B CN 101911075B CN 200980102193 A CN200980102193 A CN 200980102193A CN 101911075 B CN101911075 B CN 101911075B
Authority
CN
China
Prior art keywords
web page
proxy
module
explorer
request
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.)
Expired - Fee Related
Application number
CN200980102193.9A
Other languages
English (en)
Other versions
CN101911075A (zh
Inventor
J·J·巴顿
华志刚
J·W·尼科尔斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101911075A publication Critical patent/CN101911075A/zh
Application granted granted Critical
Publication of CN101911075B publication Critical patent/CN101911075B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

通过将web浏览器嵌入代理服务器中从而形成代理浏览器,来执行至少一个客户计算机软件应用的***、方法和计算机程序产品。所述代理浏览器用于在所述代理服务器中执行应用。在本发明的一个实施例中,给连接到所述代理服务器的每个客户浏览器分配所述代理浏览器的实例,并维持用于所述客户浏览器的会话信息。当所述客户浏览器向所述代理服务器发出请求时,将所述请求链接到所述代理浏览器的实例。

Description

用于现有应用的定制和分发的基于浏览器的代理服务器
技术领域
一般而言,本发明涉及一种代理服务器,更具体地,涉及使用代理服务器来使具有有限性能的设备能够支持动态web应用的***和方法。
背景技术
web应用用于使用因特网的大部分客户机/服务器交互。在web应用中,每次运行应用时,就典型地使用web浏览器和Java小程序(applet)从web下载该应用中的一些或全部。最近,动态web应用(例如在许多Web 2.0应用中发现的动态web应用)已经对用户的web体验带来新类型的动态和交互组件。这些应用通常涉及标准语言的客户端脚本(例如JavaScript)的使用。
近来还存在大量的具有改进功能的电子设备(例如移动电话、个人数字助理(PDA)、电视机顶盒等)。然而,这些类型的设备经常因为各种原因(例如有限的屏幕实际使用面积、格式兼容性、有限的计算能力或不能支持Javascript)而不能充分利用动态web应用。因此,存在对改变现有的动态web应用以用在这样的设备上的方法的需要。
此外,对于特定用户、用户组或特定任务,存在能够定制动态web应用的需要。已经讨论了作为可能的解决方案的基于代理服务器的技术,以在web上提供这些类型的定制。然而,代理服务器技术通常对Web 2.0应用起适当的作用。这是因为:1)实施Web 2.0应用的动态功能的JavaScript代码不通过该代理服务器,或2)脚本预期的web页面的文档对象模型(DOM)的一些元素可以由该代理服务器除去。向设备添加附加功能的一个途径是采用代理服务器来转换客户请求和/或服务器响应。美国专利No.5,727,159描述了用于将内容转换为由低功率便携式计算机可用的形式的代理服务器。美国专利No.5,918,013和6,829,746描述了用于将文档从现有的格式转码到更适合特定状态的另外的格式(例如转码到用于说外国话的人的另外的语言、转码到具有不同显示要求的移动设备上、或转码到具有对于残障用户更容易使用的更大的按钮的格式)的技术。不幸地,这些技术因为其不能适当地处理动态内容同样具有上述的问题。这主要因为这些技术不能执行客户端脚本并维持关于每个客户的足够的状态信息。
使用远程桌面技术是另外的现有技术,其可用于允许具有有限的功能的设备使用动态web应用。远程桌面技术的实例包括微软的RemoteDesktop、XWindows或AT&T的VNC,其可以用于从客户设备上的服务器机器来浏览web浏览器的输出。尽管这些技术受限于从该服务器机器显示精确的像素,但是已经对定制起到一些作用。实例包括Wincuts或UserInterface Facades。这些定制可以包括例如从远程浏览的界面中的原始界面显示按钮的子集。不像其他代理服务器方式,该方式可以处理客户端JavaScript,因为实际web浏览器正在该服务器机器上使用。然而,因为对服务器机器的图像的依赖,这些技术仍然受到限制。例如,(如果不是不可能,则)难以改变按钮上的标签。服务器机器和客户机器的输入和输出能力还必须是类似的,因为在该客户机器上的用户必须能够提供服务器机器期望的输入,例如在按钮处定点和点击或拖曳滚动条。
因此,存在使具有有限能力的设备能够适当处理动态web应用的方法的需要。还存在能够执行客户端脚本并维持关于每个客户的足够的状态信息的代理服务器的需要。
发明内容
为了克服上面简要描述的现有技术的局限,本发明提供了一种用于使用基于浏览器的代理服务器来定制和分发动态Web应用的方法、计算机程序产品和***。
在本发明的一个方面中,一种用于执行至少一个客户计算机软件应用的方法,包括:将web浏览器嵌入代理服务器中,从而形成代理浏览器;以及使用所述代理浏览器以在所述代理服务器中执行所述应用。
在本发明的另外的方面中,一种将web浏览器嵌入代理服务器的方法包括:将所述web浏览器放置到所述代理服务器中,从而形成代理浏览器;在所述代理服务器中将事件转换器逻辑连接到所述代理浏览器;以及在所述代理服务器中将转码器逻辑对接到所述代理浏览器以及所述事件转换器。
在本发明的另外的方面中,一种用于提供web应用的访问的方法包括:通过包含在代理服务器中的代理浏览器接收来自客户浏览器的请求;将所述请求转换为操作;将所述操作应用到所述代理浏览器中的web页面;提取所述web页面的相关部分;以及使用所述提取的所述web页面的相关部分生成输出,所述输出由所述客户浏览器可读。
在本发明另外的方面中,一种代理服务器,包括:代理浏览器,耦接到外部web服务器;事件转换器,用于接收来自客户浏览器的请求;以及转码器,用于通过所述代理浏览器提取从所述外部web服务器接收的内容的相关部分,并生成发送到所述客户浏览器的输出。
在本发明的另外的方面,一种计算机程序产品,包括具有计算机可读程序的计算机可用介质,其中当执行时所述计算机可读程序使所述计算机执行以下操作:将web浏览器嵌入代理服务器中,从而形成代理浏览器;以及使用所述代理浏览器以在所述代理服务器中执行客户应用。
特别在所附的、并形成其一部分的权利要求中指出表征了本发明的新颖性的特征以及各种优点。然而,为了更好地理解本发明及其优点,应该参考相应的描述性内容以及形成本发明的一部分的相应的附图,其中根据本发明描述以及例示具体的实例。
附图说明
现在参考附图,仅通过例示来描述本发明的优选实施例,其中:
图1示出根据本发明的实施例的基于浏览器的代理服务器***的原理框图;
图2示出根据本发明实施例的、使用在图1中示出的***来定制和分发动态web应用的方法的时间轴;以及
图3示出用于执行本发明一个实施例的信息处理***的高级框图。
具体实施方式
本发明的实施例通过教导用于使具有有限的功能的设备处理动态web应用的***、计算机程序产品和方法来处理与现有技术关联的问题。本发明的实施例将web浏览器放置在代理服务器内(已知为代理浏览器),并使用它在该代理服务器内执行客户端应用(例如JavaScript代码)。向连接到代理服务器的每个客户浏览器给出其自己的代理浏览器实例并维持会话信息,以便可以将来自客户浏览器的未来请求链接到适当的代理浏览器。客户浏览器的第一请求致使相应的代理浏览器打开web页面,执行任何嵌入在现有的web页面的客户端代码(例如Javascript)并之后向该客户浏览器返回最终页面内容的一部分。该代理浏览器提供诸如DOM的应用程序接口(API),以访问、操作和控制出现在该浏览器的web页面。将客户浏览器的未来请求转换为在由该代理浏览器当前打开的页面上执行的操作。这些操作可以包括点击页面中的DOM对象或提交表格。当代理浏览器完成加载页面时,他向客户浏览器再次返回最终页面内容的一部分。
因此,本发明的实施例具有一些比现有技术更显著的优点。以前的代理服务器使用了映射类型的***,典型的URL映射为修改该页面的代码。每次客户请求页面时,服务器就从外部页面获得该内容,查阅该代码以修改那个页面,执行它,并返回修改的页面。用户得到该页面所采用的路径是不相关的。本发明的实施例使用描述语言,其描述用户可以取得应用所采用的可能的交互路径,包括用户可以进行的输入以及对于这些输入的可能输出。这允许该应用说明支持来自Web 2.0应用的动态内容,因为客户请求可以转换为代理浏览器中的模拟的鼠标和键盘事件。还可以根据通过XmlHttpRequest改变的页面的一部分生成新的输出,而非仅仅是新的页面请求。
本发明的实施例可以用于许多不同目的。例如,本发明的实施例可以用于将电子医疗记录(EMR)应用的选择的片段(例如病人治疗安排或治疗历史概况)移动到医生可以随身携带的移动设备。本发明的实施例还可以用于为执行者或其助手改变旅行计划应用,以便在旅途中助手可以接收用于安排新的旅行的界面,以及执行者可以接收用于确认预定并得到更新的路线的界面。还可以使用本发明的实施例来定制可以在商业的基于web的购买***中发现的单调冗长的结账过程。本发明的实施例可以例如通过仅显示需要该用户在不同的购买时改变的字段来实现更简单的过程。
现在参考图1,示出基于浏览器的代理服务器***10,其包括代理服务器12和客户浏览器14。代理服务器12包括代理浏览器16、事件转换器18和转码器/web剪辑器20。代理浏览器16连接到现有的web服务器17。代理浏览器16可以是标准web浏览器,并可以实施与嵌入在现有的web页面中的代码兼容的执行引擎(未示出)。在一些实施例中,其可以是JavaScript执行引擎。代理浏览器16还可以提供API以访问、操作和控制在该浏览器中出现的web页面。在一些实施例中,这可以包括生成当前正在显示的web页面的DOM树说明。在一个实施例中,可以使用MozillaFirefox浏览器,但是原则上可以使用允许附加代码来访问web页面数据结构的任何现代浏览器。
事件转换器18从客户浏览器14获取请求并将其转换为将应用到当前包含在代理浏览器16中的web页面的操作。这些操作的范围可以从简单的行为(例如点击链接)到更复杂的行为(例如填写表格并按压提交按钮)。
转码器/web剪辑器20确定代理浏览器16何时完成加载其新的内容。这可以通过onLoad事件来进行。转码器/web剪辑器20还提取内容的相关部分并生成发送回客户浏览器14的输出。该输出的范围可以从低功能设备的静态HTML页面到高功能设备的具有级联样式表单(CSS)、动态HTML(DHTML)和JavaScript的完全动态页面。注意到,将创建生成的页面,以便可由事件转换器18解释回到代理服务器12的任何请求。
代理浏览器16、时间转换器18和转码器/web剪辑器20的操作可以由应用说明组件22绑定在一起,实施应用说明组件22指定如何为客户浏览器14修改现有的一组Web页面,以及什么装置在用于页面之间导航的该客户浏览器中可用。
在本发明的实施例中,应用说明22包括由代理服务器12生成的一组修改的web页面。这些修改的web页面称为“小页面程序(pagelet)”。每个小页面程序描述可以由该客户浏览器看到的一个页面。小页面程序在应用说明中通过三个不同的脚本来定义:剪辑脚本、事件脚本和加载脚本。
现在参考图2,示出基于浏览器的代理服务器***10的一个实施例的时间轴。更具体地,该时间轴26示出代理服务器12如何使用来自应用说明22的脚本来处理请求。更具体地,客户浏览器28生成由代理服务器12接收的请求。客户浏览器28可以驻留在移动设备中,或具有有限功能的其他设备中。响应于来自该客户浏览器的请求,代理浏览器34打开其从外部现有的Web服务器接收的web页面。
应用说明22定义第一小页面程序30并使用事件脚本32,其解释来自客户浏览器28的请求,以确定应该在代理浏览器34中执行来自应用说明22中的哪组操作以生成第二小页面程序40。可以不在该请求中编码这些操作。相反,该请求包括对于存储在代理服务器12上的操作列表的指针。这样的操作可以包括点击在客户浏览器28中的链接或填充表格以及按压提交按钮。事件脚本32还标识将在代理浏览器34完成加载从现有的web服务器36接收的任何新内容之后的合适的浏览器事件。事件脚本32还致使加载脚本38当该事件下一次出现时执行。
加载脚本38扫描在代理浏览器34中加载的页面的内容,并确定下一个小页面程序,例如第二小页面程序40。一旦确定第二小页面程序40,就调用用于第二小页面程序40的剪辑脚本42,以生成将发送给客户浏览器28的内容。
更具体地,剪辑脚本指定如何创建将发送给该客户浏览器的小页面程序的内容。内容创建主要涉及从加载在代理浏览器34中的页面选择并提取元素,并将其组合在一起以制成单独的一致性页面。剪辑脚本42还可以***新的内容。剪辑脚本42还可以重新编写链路和表格以重新指回代理服务器34,而非指回外部现有的web服务器36。于是可以无限次重复图2中所示的过程26。
本发明的实施例可以采用全部硬件实施例、全部软件实施例、或包含硬件和软件部分的实施例的形式。优选的实施例可以以软件来实施,其包括但不限于固件、常驻软件和微码。
此外,本发明的实施例可以采用从计算机可用或计算机可读介质可访问的计算机程序产品,该介质提供程序代码以由计算机或任何指令执行***使用或结合计算机或任何指令执行***来使用。为了说明的目的,计算机可用或计算机可读介质可以是可包含、存储、通信、传播或传输程序的任何设备,该程序由指令执行***、设备或装置使用或者结合指令执行***、设备或装置来使用。
该介质可以是电、磁、光、电磁、红外、半导体***(或设备或装置)、或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可拆卸计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘或光盘。光盘的当前实例包括紧致盘-只读存储器(CD-ROM)、紧致盘-读/写(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理***将包括经由***总线与存储器单元直接或间接耦接的至少一个处理器。该存储器单元可以包括实际执行程序代码期间所采用的本地存储器、海量存储器和缓存存储器,该缓存存储器提供至少一些程序代码的临时存储以便减少执行期间必须从海量存储器获取的代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、定位设备)可以直接耦接到该***或经由中间I/O控制器耦接到该***。
网络适配器还可以耦接到该***,以使该数据处理***经由中间的私有或公共网络耦接到其他数据处理***或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的一些类型的网络适配器。
图3是示出用于实施本发明一个实施例的信息处理***的高级框图。该计算机***包括一个或多个处理器(例如处理器44)。处理器44连接到通信基础架构46(例如通信总线、交叉条(cross-over bar)或网络)。就这种例示性计算机***描述各种软件实施例。在阅读该说明书之后,对于相关领域技术人员而言如何使用其他计算机***和/或计算机架构实施本发明的实施例将变得显而易见。
该计算机***可以包括显示器接口48,其转发来自通信基础架构46(或来自未示出的帧缓冲器)的图形、文本和其它数据以在显示单元50上显示。该计算机***还包括主存储器52,优选地包括随机访问存储器(RAM),以及还可以包括次存储器54。例如,次存储器54可以包括硬盘驱动器56和/或可拆卸存储驱动器58(代表例如软盘驱动器、磁带驱动器或光盘驱动器)。可拆卸存储驱动器58以对于本领域技术人员熟知的方式从可拆卸存储单元60进行读取或向其写入。可拆卸存储单元60代表例如软盘、紧致盘、磁带或光盘等,其可以由可拆卸存储驱动器58读写。正如理解的那样,可拆卸存储单元60包括具有在此存储的计算机软件和/或数据的计算机可读介质。
在可替换的实施例中,次存储器54可以包括用于允许计算机程序或其他指令加载到计算机***中的其他类似的装置。例如,这样的装置可以包括可拆卸存储单元62和接口64。这样的装置的实例可以包括程序盒和盒式接口(例如在视频游戏机中发现的)、可拆卸存储器芯片(例如EPROM或PROM)和关联的插孔,以及其他可拆卸存储单元62以及允许软件和数据从可拆卸存储单元62传送到该计算机***的接口64。
该计算机***还可以包括通信接口66。通信接口66允许软件和数据在计算机***和外部设备间传送。通信接口66的实例可以包括调制解调器、网络接口(例如以太网卡)、通信端口或PCMCIA槽和卡等。通过通信接口66以信号(例如其可以是电、电磁、光或能够由通信接口66接收的其他信号)的形式传送软件和数据。通过通信路径(即信道)68将这些信号提供给通信接口66。信道68承载信号,并可以使用有线或电缆、光纤、电话线、蜂窝电话链路、RF链路和/或其他通信信道来实施。
在该文件中,使用术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”通常来指诸如主存储器52和次存储器54、可拆卸存储驱动器58和安装在硬盘驱动器56中的硬盘的介质。
计算机程序(也称为计算机控制逻辑)存储在主存储器52和/或次存储器54中。还可以通过通信接口66来接收计算机程序。当执行时,这样的计算机程序使该计算机***执行如在此所讨论的本发明的实施例的特征。更具体地,当执行时,该计算机程序使处理器44执行该计算机***的特征。因此,这样的计算机程序表示该计算机***的控制器。
根据上述说明,可以看到本发明的实施例提供用于使用基于浏览器的代理服务器定制和分发动态web应用的***、计算机程序产品和方法。如果没有明确指出,则在权利要求中以单数提及的元素并不旨在指“一个并且仅仅”,而是指“一个或多个”。本权利要求旨在包括本领域技术人员当前已知的或将来知道的上述例示性实施例的所有结构的和功能上的等同物。根据35U.S.C.第112节第6段的规定,如果没有使用术语“用于...的装置”或“用于...的步骤”明确地描述,则不解释在此未要求的元素。
虽然详细描述了本发明的优选实施例,但是本领域技术人员应该理解,可以出现示出的实施例的修改和变化。

Claims (15)

1.一种用于执行至少一个客户计算机软件应用的方法,包括:将web浏览器嵌入代理服务器中,从而形成代理浏览器;以及通过以下步骤使用所述代理浏览器以在所述代理服务器中执行所述应用:
给连接到所述代理服务器的每个客户浏览器分配所述代理浏览器的实例;
维持用于所述客户浏览器的会话信息;以及
如果所述客户浏览器向所述代理服务器发出请求,则将所述请求链接到所述代理浏览器的所述实例;
其中所述链接步骤包括:如果所述请求是所述客户浏览器的第一请求,则:
通过所述代理浏览器打开web页面;
在所述web页面上执行所述至少一个客户计算机软件应用,其中所述执行步骤包括:如果所述请求不是所述客户浏览器的第一请求,将所述来自客户浏览器的至少一个请求转换为将应用到包含在所述代理浏览器中的web页面的操作,将所述操作应用到所述代理浏览器中的web页面;以及
将所述执行步骤得到的所述web页面的相关部分内容返回到所述客户浏览器。
2.如权利要求1所述的方法,其中所述返回步骤包括创建修改的web页面。
3.如权利要求2所述的方法,其中所述创建步骤包括:
从所述web页面提取元素;以及
将所述元素组合到所述修改的web页面中。
4.如权利要求2所述的方法,其中所述创建步骤包括:将新的内容***所述修改的web页面中。
5.如权利要求1所述的方法,其中所述执行步骤包括:解释所述请求,以确定应用到所述代理浏览器以生成下一修改的web页面的一组操作。
6.如权利要求1所述的方法,还包括:
扫描所述web页面的内容;以及
确定下一修改的web页面。
7.一种提供web应用的访问的方法,包括:
通过包含在代理服务器中的代理浏览器接收来自客户浏览器的至少一个请求;
将所述来自客户浏览器的至少一个请求转换为将应用到包含在所述代理浏览器中的web页面的操作;
将所述操作应用到所述代理浏览器中的web页面;
提取所述web页面的相关部分;以及
使用所述提取的所述web页面的相关部分生成输出,所述输出由所述客户浏览器可读。
8.如权利要求7所述的方法,还包括:创建应用说明,其指定如何为所述客户浏览器修改现有的一组web页面,以及指定在用于web页面之间导航的所述客户浏览器中可用的装置。
9.一种用于执行至少一个客户计算机软件应用的***,包括:将web浏览器嵌入代理服务器中,从而形成代理浏览器;以及通过以下模块使用所述代理浏览器以在所述代理服务器中执行所述应用:
配置为给连接到所述代理服务器的每个客户浏览器分配所述代理浏览器的实例的模块;
配置为维持用于所述客户浏览器的会话信息的模块;以及
配置为如果所述客户浏览器向所述代理服务器发出请求,则将所述请求链接到所述代理浏览器的所述实例的模块;
其中所述配置为如果所述客户浏览器向所述代理服务器发出请求,则将所述请求链接到所述代理浏览器的所述实例的模块包括:
配置为通过所述代理浏览器打开web页面的模块;
配置为在所述web页面上执行所述至少一个客户计算机软件应用的模块,其中所述配置为在所述web页面上执行所述至少一个客户计算机软件应用的模块包括:配置为如果所述请求不是所述客户浏览器的第一请求,将所述来自客户浏览器的至少一个请求转换为将应用到包含在所述代理浏览器中的web页面的操作,将所述操作应用到所述代理浏览器中的web页面的模块;以及
配置为将所述配置为在所述web页面上执行所述至少一个客户计算机软件应用的模块得到的所述web页面的相关部分内容返回到所述客户浏览器的模块。
10.如权利要求9所述的***,其中所述配置为将所述配置为在所述web页面上执行所述至少一个客户计算机软件应用的模块得到的所述web页面的相关部分内容返回到所述客户浏览器的模块包括配置为创建修改的web页面的模块。
11.如权利要求10所述的***,其中所述配置为创建修改的web页面的模块包括:
配置为从所述web页面提取元素的模块;以及
配置为将所述元素组合到所述修改的web页面中的模块。
12.如权利要求10所述的***,其中所述配置为创建修改的web页面的模块包括:配置为将新的内容***所述修改的web页面中的模块。
13.如权利要求9所述的***,其中所述配置为在所述web页面上执行所述至少一个客户计算机软件应用的模块包括:配置为解释所述请求,以确定应用到所述代理浏览器以生成下一修改的web页面的一组操作的模块。
14.如权利要求9所述的***,还包括:
配置为扫描所述web页面的内容的模块;以及
配置为确定下一修改的web页面的模块。
15.一种提供web应用的访问的***,包括:
配置为通过包含在代理服务器中的代理浏览器接收来自客户浏览器的至少一个请求的模块;
配置为将所述来自客户浏览器的至少一个请求转换为将应用到包含在所述代理浏览器中的web页面的操作的模块;
配置为将所述操作应用到所述代理浏览器中的web页面的模块;
配置为提取所述web页面的相关部分的模块;以及
配置为使用所述提取的所述web页面的相关部分生成输出的模块,所述输出由所述客户浏览器可读。
CN200980102193.9A 2008-01-14 2009-01-14 用于现有应用的定制和分发的基于浏览器的代理服务器 Expired - Fee Related CN101911075B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/013,559 2008-01-14
US12/013,559 US7664862B2 (en) 2008-01-14 2008-01-14 Browser-based proxy server for customization and distribution of existing applications
PCT/EP2009/050335 WO2009090176A1 (en) 2008-01-14 2009-01-14 Browser-based proxy server for customization and distribution of existing applications

Publications (2)

Publication Number Publication Date
CN101911075A CN101911075A (zh) 2010-12-08
CN101911075B true CN101911075B (zh) 2015-02-25

Family

ID=40435039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980102193.9A Expired - Fee Related CN101911075B (zh) 2008-01-14 2009-01-14 用于现有应用的定制和分发的基于浏览器的代理服务器

Country Status (6)

Country Link
US (2) US7664862B2 (zh)
EP (1) EP2238547A1 (zh)
JP (1) JP5363506B2 (zh)
KR (1) KR101507629B1 (zh)
CN (1) CN101911075B (zh)
WO (1) WO2009090176A1 (zh)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732794B2 (en) * 2007-08-13 2014-05-20 Trusteer Ltd. Browser plug-in firewall
US7664862B2 (en) * 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications
US9081956B2 (en) * 2008-05-26 2015-07-14 Trusteer Ltd. Remote DOM access
WO2010001871A1 (ja) * 2008-06-30 2010-01-07 日本電気株式会社 アプリケーション拡張システム、拡張方法、拡張プログラム
US8965926B2 (en) 2008-12-17 2015-02-24 Microsoft Corporation Techniques for managing persistent document collections
ES2659191T3 (es) * 2009-10-29 2018-03-14 Rakuten, Inc. Método de control de objetos para mostrar objetos delante de elementos de enlace
CN102193953B (zh) * 2010-03-17 2017-04-12 日电(中国)有限公司 桌面应用迁移***和方法
CN102200976B (zh) * 2010-03-23 2014-11-05 日电(中国)有限公司 桌面应用转换成网络应用的定制***和方法
US8977693B2 (en) * 2010-04-27 2015-03-10 Mindware, Inc. Browser based application development framework
US20120137233A1 (en) * 2010-05-26 2012-05-31 Nokia Corporation Method and Apparatus for Enabling Generation of Multiple Independent User Interface Elements from a Web Page
CN102271142B (zh) * 2010-06-01 2015-01-28 中兴通讯股份有限公司 一种业务开发平台、***及方法
US9519425B1 (en) * 2010-06-28 2016-12-13 EMC IP Holding Company, LLC Techniques for device user interfaces
US8370899B2 (en) * 2010-08-11 2013-02-05 Emc Corporation Disposable browser for commercial banking
US9160693B2 (en) 2010-09-27 2015-10-13 Blackberry Limited Method, apparatus and system for accessing applications and content across a plurality of computers
US8909697B2 (en) * 2010-11-29 2014-12-09 Hughes Network Systems, Llc Computer networking system and method with javascript execution for pre-fetching content from dynamically-generated URL and javascript injection to modify date or random number calculation
US8555384B1 (en) 2010-12-10 2013-10-08 Amazon Technologies, Inc. System and method for gathering data for detecting fraudulent transactions
US8782174B1 (en) 2011-03-31 2014-07-15 Emc Corporation Uploading and downloading unsecured files via a virtual machine environment
KR20120134287A (ko) * 2011-06-02 2012-12-12 주식회사 비씨클라우드 동적 웹 라우팅 방법
US9621406B2 (en) 2011-06-30 2017-04-11 Amazon Technologies, Inc. Remote browsing session management
US8577963B2 (en) 2011-06-30 2013-11-05 Amazon Technologies, Inc. Remote browsing session between client browser and network based browser
WO2013003634A1 (en) * 2011-06-30 2013-01-03 Amazon Technologies, Inc. Remote browsing session management
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US8930492B2 (en) 2011-10-17 2015-01-06 Blackberry Limited Method and electronic device for content sharing
EP2587397A1 (en) * 2011-10-28 2013-05-01 Telefonaktiebolaget LM Ericsson (publ) Browser device access proxy
US9391832B1 (en) * 2011-12-05 2016-07-12 Menlo Security, Inc. Secure surrogate cloud browsing
US9015809B2 (en) 2012-02-20 2015-04-21 Blackberry Limited Establishing connectivity between an enterprise security perimeter of a device and an enterprise
US9489356B2 (en) * 2012-05-07 2016-11-08 Digital Guardian, Inc. Enhanced document and event mirroring for accessing internet content
US9348927B2 (en) 2012-05-07 2016-05-24 Smart Security Systems Llc Systems and methods for detecting, identifying and categorizing intermediate nodes
US9325676B2 (en) 2012-05-24 2016-04-26 Ip Ghoster, Inc. Systems and methods for protecting communications between nodes
US10778659B2 (en) 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US8769631B2 (en) * 2012-06-18 2014-07-01 Intel Corporation Creating a web proxy inside a browser
US9535722B2 (en) 2012-09-12 2017-01-03 The Directv Group, Inc. Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal
US10521250B2 (en) 2012-09-12 2019-12-31 The Directv Group, Inc. Method and system for communicating between a host device and user device through an intermediate device using a composite video signal
US9137501B2 (en) * 2012-09-12 2015-09-15 The Directv Group, Inc. Method and system for communicating between a host device and user device through an intermediate device using syntax translation
CN102981705B (zh) * 2012-11-09 2018-04-27 北京奇虎科技有限公司 服务器端浏览器实现方法及服务器
CN102917074B (zh) * 2012-11-09 2016-08-03 北京奇虎科技有限公司 一种实现服务器端浏览器的方法和服务器
WO2014126069A1 (ja) * 2013-02-12 2014-08-21 日本電信電話株式会社 出力機能分割システム
JP6354197B2 (ja) 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
JP6369043B2 (ja) 2013-03-15 2018-08-08 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP2014200076A (ja) 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
US9497492B2 (en) 2013-03-15 2016-11-15 Ricoh Company, Limited Distribution control system, distribution system, distribution control method, and computer-readable storage medium
JP6337499B2 (ja) 2013-03-15 2018-06-06 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP2014199648A (ja) 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
CN105247875B (zh) 2013-03-15 2019-03-08 株式会社理光 分发控制***和分发***
JP6398215B2 (ja) 2013-03-15 2018-10-03 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP6323048B2 (ja) 2013-03-15 2018-05-16 株式会社リコー 配信システム、配信方法、及びプログラム
US9645983B1 (en) * 2013-06-18 2017-05-09 Amazon Technologies, Inc. Modifying a document at a script processing server using a client device's state information
JP6086490B2 (ja) * 2013-07-25 2017-03-01 日本電信電話株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US9916720B2 (en) 2013-08-02 2018-03-13 Bally Gaming, Inc. Intelligent wagering game content distribution
MX361791B (es) * 2013-11-11 2018-12-17 Adallom Inc Intermediario y proxy de seguridad de servicio de nube.
JP6148625B2 (ja) * 2014-01-08 2017-06-14 日本電信電話株式会社 コンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラム
US10078712B2 (en) * 2014-01-14 2018-09-18 Energid Technologies Corporation Digital proxy simulation of robotic hardware
US10382595B2 (en) 2014-01-29 2019-08-13 Smart Security Systems Llc Systems and methods for protecting communications
US10324702B2 (en) 2014-09-12 2019-06-18 Microsoft Israel Research And Development (2002) Ltd. Cloud suffix proxy and a method thereof
EP3326077A4 (en) * 2015-07-20 2019-03-20 Ent. Services Development Corporation LP WEB APPLICATION SETTING FOR DIFFERENT BROWSERS
US11194930B2 (en) 2018-04-27 2021-12-07 Datatrendz, Llc Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network
CN110941401A (zh) * 2018-09-25 2020-03-31 北京京东尚科信息技术有限公司 一种打印方法和装置
US10637956B1 (en) * 2019-10-01 2020-04-28 Metacluster It, Uab Smart proxy rotator
JP6806351B1 (ja) * 2020-03-06 2021-01-06 株式会社C−Rise 情報処理方法、コンピュータプログラム及び情報処理装置
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114878C (zh) * 1997-01-24 2003-07-16 摩托罗拉公司 代理主计算机和用于在一个浏览器和一个代理计算机之间访问和检索信息的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727159A (en) 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5918013A (en) 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5918159A (en) * 1997-08-04 1999-06-29 Fomukong; Mundi Location reporting satellite paging system with optional blocking of location reporting
JP3396177B2 (ja) * 1999-01-26 2003-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページカスタマイズシステム
US6738803B1 (en) 1999-09-03 2004-05-18 Cisco Technology, Inc. Proxy browser providing voice enabled web application audio control for telephony devices
US6912691B1 (en) * 1999-09-03 2005-06-28 Cisco Technology, Inc. Delivering voice portal services using an XML voice-enabled web server
US6829746B1 (en) 1999-12-09 2004-12-07 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding
AU2000240547A1 (en) 2000-03-31 2001-10-15 Telogy Networks, Inc. Proxy internet browsing
US20020026507A1 (en) 2000-08-30 2002-02-28 Sears Brent C. Browser proxy client application service provider (ASP) interface
JP4644940B2 (ja) * 2001-01-17 2011-03-09 ソニー株式会社 課金方法、並びにスクリプト変換システム及び方法
US6970918B2 (en) * 2001-09-24 2005-11-29 International Business Machines Corporation System and method for transcoding support of web content over secure connections
US6880014B2 (en) * 2001-09-24 2005-04-12 International Business Machines Corporation Method and system of use of transcode directives for distributed control of transcoding servers
US6944665B2 (en) * 2001-09-24 2005-09-13 International Business Machines Corporation Method and system for delivering accessibility using a distributed environment
US7424459B2 (en) * 2002-03-01 2008-09-09 Lightsurf Technologies, Inc. System providing methods for dynamic customization and personalization of user interface
CA2508317C (en) * 2002-12-02 2012-07-24 Sap Aktiengesellschaft Session-return enabling stateful web applications
US20040183817A1 (en) * 2002-12-03 2004-09-23 Bitstream Inc. Methods, systems, and programming for scaled display of web pages
US7853882B2 (en) * 2006-04-11 2010-12-14 International Business Machines Corporation Portlets having different portlet specific enablement states
US20080005282A1 (en) * 2006-07-03 2008-01-03 Dewey Gaedcke Method for displaying user generated content in a web browser
US20080250388A1 (en) * 2006-09-22 2008-10-09 Bea Systems, Inc. Pagelets in adaptive tags
US8775603B2 (en) * 2007-05-04 2014-07-08 Sitespect, Inc. Method and system for testing variations of website content
US7664862B2 (en) * 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114878C (zh) * 1997-01-24 2003-07-16 摩托罗拉公司 代理主计算机和用于在一个浏览器和一个代理计算机之间访问和检索信息的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Leslie Wu等.Remixing the web: Tailoring Applications using Programmable Proxies inside Web Browsers.《Computer Science Technical Reports of Stanford University》.2007,1-4. *

Also Published As

Publication number Publication date
US20090182844A1 (en) 2009-07-16
CN101911075A (zh) 2010-12-08
US8078694B2 (en) 2011-12-13
WO2009090176A1 (en) 2009-07-23
KR20100113071A (ko) 2010-10-20
JP2011511974A (ja) 2011-04-14
KR101507629B1 (ko) 2015-03-31
EP2238547A1 (en) 2010-10-13
US20090182803A1 (en) 2009-07-16
JP5363506B2 (ja) 2013-12-11
US7664862B2 (en) 2010-02-16

Similar Documents

Publication Publication Date Title
CN101911075B (zh) 用于现有应用的定制和分发的基于浏览器的代理服务器
US9400784B2 (en) Integrated application localization
US9715370B2 (en) Method and system for providing content
CN110297635B (zh) 页面的显示方法、装置、设备以及存储介质
US9442744B2 (en) Multilingual build integration for compiled applications
US8549395B2 (en) Method and system for transforming an integrated webpage
US7761601B2 (en) Strategies for transforming markup content to code-bearing content for consumption by a receiving device
CN112685029B (zh) 一种可视化模板的生成方法、装置、设备及存储介质
CN112800370B (zh) 业务单据的处理方法、装置、计算机设备和存储介质
JP2013167918A (ja) 印刷システム、印刷サーバ、制御方法およびコンピュータプログラム
CN103530338A (zh) 在计算设备上进行页面渲染的框架及生成页面的方法
JP2023537767A (ja) 画像処理方法及び装置、並びにコンピュータ可読記憶媒体
JP5039946B2 (ja) クライアント装置およびサーバ装置の間の通信を中継する技術
KR20090000199A (ko) 웹 서버 어플리케이션 프레임워크와 상기 프레임워크를이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체
Pequeno et al. FrameIDTV: a framework for developing interactive applications on digital television environments
JP7014960B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
AU2019222873A1 (en) Method and system for providing content
CN113296759B (zh) 用户界面处理方法、用户界面处理***、设备及存储介质
KR101673937B1 (ko) 바로 가기 객체의 생성 및 사용을 위한 장치, 시스템 및 방법
KR20090040212A (ko) 웹페이지 연결 시스템 및 그 연결방법
CN118092883A (zh) 一种前端项目嵌套方法、装置、存储介质及计算机设备
JP2011059751A (ja) プログラム生成システムおよびプログラム生成装置およびプログラム生成方法およびプログラムならびに記録媒体
WO2014022326A1 (en) Multilingual build integration for compiled applications
CN117732043A (zh) 游戏信息处理方法及装置、可读存储介质、电子设备
Bellinzona et al. Alembik—a framework for the adaptive transcoding of multimedia content in mobile environments: from requirements to architecture and performance evaluation

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150225

Termination date: 20190114