KR20100113071A - 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 - Google Patents

기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 Download PDF

Info

Publication number
KR20100113071A
KR20100113071A KR1020107014509A KR20107014509A KR20100113071A KR 20100113071 A KR20100113071 A KR 20100113071A KR 1020107014509 A KR1020107014509 A KR 1020107014509A KR 20107014509 A KR20107014509 A KR 20107014509A KR 20100113071 A KR20100113071 A KR 20100113071A
Authority
KR
South Korea
Prior art keywords
browser
proxy
client
web
web page
Prior art date
Application number
KR1020107014509A
Other languages
English (en)
Other versions
KR101507629B1 (ko
Inventor
존 요셉 바톤
진강 후아
제프리 윌리엄 니콜스
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
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 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100113071A publication Critical patent/KR20100113071A/ko
Application granted granted Critical
Publication of KR101507629B1 publication Critical patent/KR101507629B1/ko

Links

Images

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

웹 브라우저를 프록시 서버내에 임베딩-이에 따라 프록시 브라우저를 구성-함으로써, 적어도 하나의 클라이언트 컴퓨터 소프트웨어 애플리케이션을 실행하는 시스템, 방법 및 컴퓨터프로그램 제품이 제공된다. 상기 프록시 브라우저는 상기 애플리케이션을 상기 프록시 서버안에서 실행하기 위해 사용된다. 본 발명의 일 실시예에서, 상기 프록시 서버에 연결된 각각의 클라이언트 브라우저에 프록시 브라우저의 인스턴스가 할당되고 각각의 클라이언트 브라우저에 대해서 세션정보가 유지된다. 상기 클라이언트 브라우저가 상기 프록시 브라우저로 요청을 생성할 때, 상기 요청은 상기 프록시 브라우저의 인스턴스에 연결된다.

Description

기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버{BROWSER-BASED PROXY SERVER FOR CUSTOMIZATION AND DISTRIBUTION OF EXISTING APPLICATIONS}
본 발명은 일반적으로 프록시 서버에 관련된 것으로, 특히 한정된 용량을 가진 디바이스들이 동적 웹 애플리케이션을 지원하는 것을 가능하도록 프록시 서버를 사용하기 위한 시스템 및 방법에 관련된 것이다.
웹 애플리케이션들은 인터넷을 이용한 대부분의 클라이언트/서버 상호작용(interactions)에 사용된다. 웹 애플리케이션에서, 일반적으로 애플리케이션의 일부 또는 전부는 그들의 구동시마다 웹 브라우저들 및 자바 애플릿들을 이용하여 매번 웹으로부터 다운로드된다. 최근에는, 동적 웹 애플리케이션들(예를 들어 많은 웹 2.0 애플리케이션들에서 발견되는 것과 같은 애플리케이션들)이 유저의 웹 경험에 새로운 종류의 동적이고 상호작용적인 요소를 제공한다. 이러한 애플리케이션들은 일반적으로 자바스크립트와 같은 표준 언어들의 클라이언트측 스크립트의 사용을 수반한다.
또한 최근에는 예를 들어 모바일 폰들, PDA들, 텔레비젼 셋탑 박스 등등의 개선된 기능을 가지는 전자 디바이스들이 확산되고 있다. 그러나, 이러한 종류의 디바이스들은 종종 한정된 스크린 크기(real estate), 포맷 호환성, 한정된 연산 능력들 또는 자바스크립트 지원 불가와 같이 다양한 이유로 동적 웹 애플리케이션의 이점을 전부 취할 수 없게 된다. 이에 따라, 이러한 디바이스들상에서 사용시에 기존의 동적 웹 애플리케이션들을 조정하는(adapt) 방법에 대한 필요가 있다.
또한, 동적 웹 애플리케이션들을 특정 유저들이나, 유저 그룹들 또는 특정 작업에 맞춰 커스터마이징 해야 할 필요성이 있다. 프록시 서버기반 기술들은 웹상에서 이러한 타입의 커스터마이제이션을 제공하는 것이 가능한 솔류션으로 논의되어 왔다. 그러나, 프록시 서버 기술들은 일반적으로 웹 2.0 애플리케이션들에 잘 맞는 기술이다. 왜냐하면 이는 1) 웹 2.0 애플리케이션의 동적 기능을 구현하는 자바스크립트 코드가 상기 프록시 서버를 통해서 패스되지 않기 때문이거나 또는 2) 상기 스크립트가 기대하는 웹 페이지들의 DOM(Document Object Model)의 일부 요소들이 상기 프록시 서버에 의해서 제거되기 때문이다.
추가적인 기능을 디바이스들에 부가하는 하나의 접근방법은 클라이언트의 요청(request)들 및/또는 서버의 응답(response)들을 변환하기 위해서 프록시 서버들을 사용하는 것이다. 미국 특허 번호 5,727,159는 컨텐츠를 저전력 휴대용 컴퓨터들에서 사용가능한 형태로 변환하기 위한 프록시 서버를 기술한다. 미국 특허 번호 5,918,013 및 6,829,746은 다큐먼트들을 기존의 포맷에서 특정 상황에 더 적합한 다른 포맷으로(예를 들어 외국어 사용자를 위해 다른 언어로, 다른 디스플레이 필요사항들을 가진 모바일 디스플레이로, 또는 장애인을 위해 엑세스가 용이하도록 더 큰 버튼들을 가진 포맷으로) 트랜스코딩(transcoding)하는 기술들을 설명한다. 불행하게도, 이러한 기술들을 또한 동적 컨텐츠를 적절하게 처리할 수 없다는 상술한 문제점을 가진다. 이러한 기술들은 클라이언트측 스크립트들을 실행할 수 없고 각각의 클라이언트에 대해 충분한 상태정보를 유지할 수 없으므로 중요하다.
원격 데스크탑 기술의 사용은 한정된 기능을 가진 디바이스들이 동적 웹 애플리케이션들을 사용하도록 허용하는데 사용될 수 있는 다른 기존 기술이다. 원격 데스크탑 기술의 예들로는 마이크로소프트사의 리모트 데스크탑(Remote Desktop), Xwindows 또는 AT&T사의 VNC를 포함하는데, 이들은 서버 머신의 웹 브라우저의 출력을 클라이언트 디바이스상에서 보는데 사용될 수 있다. 이러한 기술들은 서버머신의 동일한 픽셀들을 보도록 한정되지만, 커스터마이징상에서 몇몇 작업들이 있어왔다. 예들로는 Wincuts 또는 User Interface Facades를 포함한다. 이러한 커스터마이징은 예를 들어 원본 인터페이스에서 버튼들의 서브셋을 원격으로 보여지는 인터페이스내에 디스플레이 할 수 있다. 다른 프록시 서버 접근방법들과 달리, 이러한 접근방법은 실제 웹 브라우저가 서버 머신상에서 사용되고 있기 때문에, 클라이언트측 자바스크립트를 처리할 수 있다. 그러나, 이러한 기술들은 서버 머신의 이미지들상의 그들의 의존에 의해 여전히 제한된다. 예를 들어, 불가능하지 않다면, 버튼들상의 레이블들을 변경하는 것은 어렵다. 서버 머신과 클라이언트 머신의 입출력 성능 또한 비슷해야 하는데, 이는 상기 클라이언트 머신상의 유저가 상기 서버 머신이 기대할 입력들을(예를 들어 버튼들의 포인팅 및 클릭 또는 스크롤바의 드래깅 같은) 제공할 수 있어야 하기 때문이다.
따라서, 한정된 성능들을 가지는 디바이스들이 동적 웹 애플리케이션을 적절하게 처리하도록 할 필요가 있다. 또한 클라이언트측 스크립트들을 실행할 수 있고 각각의 클라이언트에 대한 충분한 상태정보를 유지할 수 있는 프록시 서버들에 대한 필요가 있다.
위에서 간략히 기술한 종래 기술의 한계들을 극복하기 위해서, 본 발명은 브라우저-기반 프록시 서버를 이용하여 동적 웹 애플리케이션들을 커스터마이징하고 분산하는 방법, 컴퓨터 프로그램 제품 및 시스템을 제공한다.
상기 본 발명의 일 예에서, 적어도 하나의 클라이언트 컴퓨터 소프트웨어 애플리케이션을 실행하는 방법은, 웹 브라우저를 프록시 브라우저내에 임베딩하여 프록시 브라우저를 구성하는 단계; 및 상기 프록시 서버내에서 애플리케이션을 실행하기 위해서 상기 프록시 브라우저를 이용하는 단계를 포함한다.
상기 본 발명의 일 예에서, 프록시 서버내 웹 브라우저를 임베딩하는 방법은, 상기 웹 브라우저를 상기 프록시 서버내에 배치하여(placing) 프록시 브라우저를 구성하는 단계; 상기 프록시 서버내에서 이벤트 변환기를 상기 프록시 브라우저에 논리적으로 연결하는 단계; 및 상기 프록시 서버안의 트랜스코더를 상기 프록시 브라우저 및 이벤트 변환기로 논리적으로 인터페이싱하는 단계를 포함한다.
상기 본 발명의 다른 실시예에서, 웹 애플리케이션들로 엑세스를 제공하는 방법은, 클라이언트 브라우저의 요청을 프록시 서버안에 포함된 프록시 브라우저에 의해서 수신하는 단계; 상기 요청을 작업으로 변환하는 단계; 상기 작업을 상기 프록시 브라우저안의 웹 페이지에 적용하는 단계; 상기 웹 페이지의 관련부분들을 추출하는 단계; 및 상기 추출된 상기 웹 페이지의 관련부분들을 사용하여 출력을 생성하는 단계 -상기 출력은 상기 클라이언트 브라우저에 의해서 판독가능함-;를 포함한다.
상기 본 발명의 또 다른 실시에에서, 프록시 서버는, 외부 웹 서버에 연결된 프록시 브라우저; 클라이언트 브라우저의 요청들을 수신하는 이벤트 변환기; 및 상기 웹 서버에 의해서, 상기 외부 웹 서버로부터 수신된 컨텐츠의 관련부분들을 추출하고 상기 클라이언트 브라우저로 전송되는 출력을 생성하는 트랜스코더를 포함한다.
상기 본 발명의 또 다른 실시예에서, 컴퓨터 프로그램 제품은 컴퓨터 판독가능 프로그램을 가지는 컴퓨터 사용가능 매체를 포함하되, 여기서 상기 컴퓨터 판독가능 프로그램은 상기 컴퓨터상에서 실행될 때 상기 컴퓨터가, 웹 브라우저가 프록시 서버내에 임베드되어 이에 따라 프록시 서버를 구성하고, 그리고 상기 프록시 브라우저가 상기 프록시 서버 내부에서 클라이언트 애플리케이션을 실행하도록 한다.
본 발명을 특징짓는 다양한 장점들 및 신규성들은 이하에 부가된 청구항들내에서 특별히 설명된다. 그러나 본 발명 및 장점들의 보다 용이한 이해를 위해서, 일부를 구성하는 관련 도면들과 함께 수반되는 상세한 설명을 참고해야 하며, 여기에 본 발명에 따른 특정 실시예들이 기술되고 도시되어 있다.
본 발명의 바람직한 실시예들이 이하의 도면들을 참고로 하여 일 예로서 기술될 것이다.
도 1은 본 발명의 일 실시예에 따라, 브라우저-기반 프록시 서버 시스템의 개념 블럭도를 도시한다.
도 2는 본 발명의 일 실시예에 따라, 도 1내 도시된 시스템을 이용하여 동적 웹 애플리케이션들의 커스터마이징 및 분산을 위한 프로세스의 타임라인을 도시한다.
도 3은 본 발명의 일 실시예를 구현하기 위한 정보 처리 시스템의 고레벨 블럭도를 도시한다.
본 발명의 실시예들은 한정된 기능을 가진 디바이스가 동적 웹 애플리케이션을 핸들링하는 것을 가능하게 하는 시스템, 컴퓨터 프로그램 제품 및 방법을 알려줌으로써 종래 기술과 관련된 문제점들을 다룬다. 본 발명의 실시예들은 웹 브라우저를 프록시 서버내에 두고, 프록시 브라우저로 알려짐, 이를 예를 들어 자바스크립트 코드와 같은 클라이언트측 애플리케이션들을 상기 프록시 서버안에서 실행하기 위해 이용한다. 상기 프록시 서버에 연결된 각각의 클라이언트 브라우저는, 클라이언트 브라우저로부터의 추가 요청(request)이 적절한 프록시 브라우저에 링크될 수 있도록, 그들 자신의 프록시 브라우저 인스턴스가 주어지고 세션 정보가 유지된다. 클라이언트 브라우저로부터의 제1 요청은 대응하는 프록시 브라우저가 웹 페이지를 오픈하도록 하고, 상기 기존의 웹 페이지내에 임베디드된 임의의 클라이언트측 코드(예를 들어 자바스크립트)를 실행하고, 그리고 나서 상기 클라이언트 브라우저로 최종 페이지 콘텐츠의 일부를 돌려주도록 한다. 상기 프록시 브라우저는 상기 브라우저내에 나타나는 상기 웹 페이지의 엑세스, 조작 및 제어를 하도록 예를 들어 DOM과 같은 API(application program interface)를 제공한다. 상기 클라이언트 브라우저에 의한 추가 요청들은 상기 프록시 브라우저에 의해 현재 오픈된 상기 페이지상에서 수행하기 위한 작업들로 변환된다. 이러한 작업들은 상기 페이지내 DOM 객체상의 클릭이나 폼의 서브밋등을 포함할 수 있다. 상기 프록시 브라우저가 상기 페이지의 로딩을 마칠 때, 상기 프록시 브라우저는 다시 상기 클라이언트 브라우저로 마지막 페이지 콘텐츠들의 일부를 돌려준다.
결과적으로, 본 발명의 실시예들은 기존의 기술들에 비해 몇몇 중요한 장점들을 가진다. 이전의 프록시 서버들은 맵-스타일 시스템을 사용했었는데, 여기서는 보통 URL들이 상기 페이지를 수정하는 코드로 매핑된다. 상기 클라이언트가 페이지를 요청할 때마다, 상기 서버는 외부 페이지로부터 콘텐츠를 얻고, 상기 페이지를 수정하기 위한 코드를 검색하고, 이를 실행하고, 그리고 상기 수정된 페이지를 돌려준다. 상기 페이지를 얻기 위해 상기 유저가 거쳐야 하는 경로는 상관없다. 본 발명의 실시예들은 유저가 만들 수 있는 입력들과 이러한 입력들에 대한 가능한 출력들을 포함하여, 상기 유저가 상기 애플리케이션을 통해서 취할 수 있는 가능 인터랙션 경로를 기술하는 기술 언어(description language)를 이용한다. 이는 상기 애플리케이션 기술이 웹 2.0 애플리케이션들의 동적 콘텐츠를 지원하도록 허용하는데, 이는 클라이언트 요청들이 상기 프록시 서버에서 시뮬레이션된 마우스 및 키보드 이벤트들로 변환될 수 있기 때문이다. 또한, 새로운 출력이 새로운 페이지 요청들 대신에 XmlHttpRequest들에 의해 변경되었던 페이지의 부분들로부터 생성될 수 있다.
본 발명의 실시예들은 다양한 목적들을 위해 사용될 수 있다. 예를 들어, 본 발명의 실시예들은 예를 들어 환자 스케쥴링이나 의료 기록의 오버뷰(overview)와 같은 전자 의료 기록(electronic medical records) 애플리케이션들의 선택된 부분들(pieces)을 의사들이 가지고 다닐 수 있는 모바일 디바이스들에서 이동하기 위해 사용될 수 있다. 또한 본 발명의 실시예들은 임원과 그들의 비서들을 위한 여행 계획 애플리케이션에 적용하기 위해서 사용될 수 있는데, 이를 통해서 상기 비서들은 새로운 여행들의 스케쥴링을 위한 인터페이스를 수신하고 임원은 예약 결정 및 여행중에 업데이트된 여행일정표를 얻기 위한 인터페이스를 수신할 수 있다. 본 발명의 일 실시예에 대한 다른 사용은 비지니스 웹-기반 구매 시스템들에서 발견될 수 있는 길고 지루한 체크아웃 프로세스를 커스터마이징 하는 것일 수 있다. 본 발명의 일 실시예에서, 발명은 더 간단한 프로세스(예를 들어 구매시에 유저에 의해 변경될 필요가 있는 필드들만을 보여줌으로써)로 구매하는 것을 가능하게 할 수 있다.
도 1을 참고하면, 브라우저-기반 프록시 서버 시스템(10)이 보여지는데, 이 시스템은 프록시 서버(12) 및 클라이언트 브라우저(14)를 포함한다. 상기 프록시 서버(12)는 프록시 브라우저(16), 이벤트 변환기(18) 및 트랜스코더/웹 클리퍼(20)를 포함한다. 상기 프록시 브라우저(16)는 기존 웹서버(17)에 연결된다. 상기 프록시 브라우저(16)는 표준 웹 브라우저 일 수 있고 기존 웹 페이지내 임베디드된 코드와 호환되는 실행 엔진(미도시)을 구현할 수 있다. 몇몇 실시예들에서, 이는 자바스크립트 실행 엔진일 수 있다. 또한 상기 프록시 브라우저(16)는 브라우저내에 나타나는 웹 페이지의 엑세스, 조작 및 제어를 위한 API를 제공할 수 있다. 몇몇 실시예들에서, 웹 페이지가 현재 디스플레이되고 있는 DOM 트리 기술의 생성을 포함할 수 있다. 일 실시예들에서, 모질라 파이어폭스 브라우저가 사용될 수 있으나, 일반적으로 상기 웹 페이지 데이터 구조로 엑세스하기 위한 애드-온 코드를 허용하는 어떠한 최신 브라우저들도 사용될 수 있다.
상기 이벤트 변환기(18)가 상기 클라이언트 브라우저(14)로부터의 요청들을 취할 수 있고 상기 프록시 브라우저(16)내에 현재 포함된 웹 페이지에 적용되는 작업들로 그들을 변환할 수 있다. 이러한 작업들은 예를 들어 링크를 클릭하는 것과 같은 단순한 것부터 폼을 채우고 서브밋 버튼을 누르는것과 같이 좀더 복잡한 행동들을 포괄한다.
상기 트랜스코더/웹 클리퍼(20)는 언제 상기 프록시 브라우저(16)가 새로운 콘텐츠의 로딩을 끝내는지를 결정한다. 이는 온로드(onLoad) 이벤트를 통해서 수행될 수 있다. 상기 트랜스코더/웹 클리퍼(20)는 또한 상기 콘텐츠의 관련 부분들을 추출하고 상기 클라이언트 브라우저(14)로 돌려보내지는 출력을 생성한다. 상기 출력은 저기능 디바이스들을 위한 정적 HTML 페이지들부터 고기능 디바이스들을 위한 CSS(Cascading Style Sheet), 동적 HTML 및 자바스크립트를 가진 풀 동적 페이지들을 포괄한다. 상기 생성된 페이지가 만들어질 것이고, 상기 프록시 서버(12)로 돌아오는 어떠한 요청들도 상기 이벤트 변환기(18)에 의해 변환될 것이라는 점에 유념해야 한다.
상기 프록시 브라우저(16), 상기 이벤트 변환기(18) 및 상기 트랜스코더/웹 클리퍼(20)의 작업은 애플리케이션 기술 요소(22)에 의해서 서로 결부되는데, 애플리케이션 기술 요소(22)는 기존 웹 페이지들의 세트들이 상기 클라이언트 브라우저(14)를 위해 어떻게 변경되고 상기 페이지들 사이에서 네비게이팅을 위해 상기 클라이언트 브라우저내에서 사용가능한 수단들이 무엇인지를 명시한다.
본 실시예에서, 상기 애플리케이션 기술(22)은 상기 프록시 서버(12)에 의해 생성된 변경된 웹 페이지들의 세트를 구성한다. 이러한 변경된 웹 페이지들은 "페이지렛(pagelet)"이라고 호칭된다. 각각의 페이지렛은 상기 클라이언트 브라우저에 의해 볼 수 있는 하나의 페이지를 기술한다. 페이지렛들은 3가지 다른 스크립트들(클립 스크립트, 이벤트 스크립트, 및 로드 스크립트)에 의해 애플리케이션 기술내에서 정의된다.
도 2를 참조하면, 브라우저-기반 프록시 서버 시스템(10)의 일 실시예의 타임라인이 도시되어 있다. 특히, 이 타임라인(26)은 상기 프록시 서버(12)가 상기 애플리케이션 기술(22)로부터 스크립트들을 사용하여 요청들을 처리하는 법을 보여준다. 특히, 클라이언트 브라우저(28)는 상기 프록시 서버(12)에 의해 수신되는 요청을 생성한다. 상기 클라이언트 브라우저(28)는 모바일 디바이스나 한정된 기능을 가지는 다른 디바이스들내에 위치할 수 잇다. 상기 클라이언트 브라우저로부터의 요청에 응답하여, 상기 프록시 브라우저(34)는 외부의 기존 웹 서버로부터 수신되는 웹 페이지를 오픈한다.
상기 애플리케이션 기술(22)은 제1 페이지렛(30)을 정의하고 이벤트 스크립트(32)를 사용하는데, 이는 상기 애플리케이션 기술(22)에서 어떤 세트의 작업들이 제 2 페이지렛(40)을 생성하기 위해 상기 프록시 브라우저(34)내에서 실행되어야 하는지를 결정하기 위해서, 상기 클라이언트 브라우저(28)로부터의 요청들을 변환한다. 이러한 작업들은 상기 요청안에 엔코드되지 않을 수 있다. 대신에 상기 요청은 상기 프록시 서버(12)상에 저장된 작업들의 리스트에 대한 포인터를 포함할 수 있다. 그러한 작업들은 상기 클라이언트 브라우저(28)내에서 링크의 클릭이나 폼을 채우고 서브밋 버튼을 누르는 것을 포함할 수 있다. 상기 이벤트 스크립트(32)는 또한 상기 프록시 브라우저(34)가 상기 기존의 웹 서버(36)로부터 수신된 임의의 새로운 콘텐츠의 로딩을 끝낸 후에 발생할 적절한 브라우저 이벤트를 식별한다. 상기 이벤트 스크립트(32)는 또한 이러한 이벤트가 발생시 다음에 로드 스크립트(38)가 실행되는 것을 유발한다.
상기 로드 스크립트(38)는 상기 프록시 브라우저(34)내 로드된 페이지의 콘텐츠를 스캔하고 그리고 예를 들어 제2 페이지렛(40)과 같은 다음 페이지렛을 결정한다. 일단 상기 제2 페이지렛(40)이 결정되면, 상기 제2 페이지렛(40)에 대한 클립 스크립트(42)가 상기 클라이언트 브라우저(28)에 전송될 콘텐츠를 생성하기 위해서 호출된다.
특히, 상기 클립 스크립트는 상기 클라이언트 브라우저에 전송될 페이지렛의 콘텐츠를 생성하는 방법을 명시한다. 콘텐츠 생성은 주로 상기 프록시 브라우저(34)내에 로드된 페이지로부터 요소들의 선택 및 추출과 단일 합착(coherent) 페이지를 만들기 위해 그들을 동시에 결합하는 것을 포함한다. 또한 상기 클립 스크립트(42)는 새로운 콘텐츠를 인서트할 수 있다. 상기 클립 스크립트(42)는 또한 외부의 기존 웹 서버(36)보다는 상기 프록시 서버(34)로 돌아가도록 가리키는 링크들 및 구성을 재기록 할 수 있다. 그리고나서 도 2내에 도시된 상기 프로세스(26)는 무기한으로 반복될 수 있다.
본 발명의 일 실시예는 전체적으로 하드웨어 구현, 전체적으로 소프트웨어 구현, 또는 하드웨어와 소프트웨어 요소 둘 다를 포함하는 구현 형태를 취할 수 있다. 바람직한 실시예는 펌위에, 레지던스 소프트웨어 및 마이크로코드를 포함하는(그러나 이에 한정은 아님) 소프트웨어내에 구현된다.
더욱이, 본 발명의 실시예들은 컴퓨터 또는 임의의 명령 실행 시스템에 의해서 또는 이에 연결하여 사용하는 컴퓨터 프로그램 코드를 제공하는 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체로부터 엑세스되는 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이러한 상세한 설명의 목적을 위해, 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 상기 명령 실행 시스템, 장치 또는 디바이스들에 의해 또는 연결해서 사용시에 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있다.
상기 매체는 전기, 자기, 광학, 전자기, 적외선, 반도체 시스템(또는 장치 또는 디바이스) 또는 전파 매체일 수 있다. 컴퓨터-판독가능 매체의 예들은 반도체 또는 SSD, 자기 테이프, 착탈가능 컴퓨터 디스켓, RAM, ROM, 강성 자기 디스크 또는 광 디스크를 포함한다. 광 디스크들의 현재 가능 예들은 CD-ROM, CD-R/W 및 DVD를 포함한다.
프로그램 코드의 저장 및/또는 실행에 적합한 데이터 처리 시스템은 시스템 버스를 통해 메모리 요소에 직간접으로 연결된 적어도 하나의 프로세서를 포함할 것이다. 상기 메모리 요소들은 상기 프로그램 코드가 실제 구현되는 동한 사용되는 내부 메모리, 벌크 저장장치 및 실행되는 동안 벌크 저장장치로부터 리트리브 되어야 하는 회수를 줄이기 위해서 적어도 하나의 프로그램 코드의 임시 저장장치를 제공하는 캐시를 포함할 수 있다.
입/출력 또는 I/O 디바이스들(키보드들, 디스플레이들, 포인팅 디바이스들을 포함하나 이에 한정은 아님)은 직접 또는 인터리빙 I/O 제어기를 통해 간접으로 시스템에 결합될 수 있다.
또한 네트워크 아답터들도 상기 시스템에 결합될 수 있는데, 상기 네트워크 아답터들은 상기 데이터 처리 시스템이 인터리빙 사설 또는 공용 네트워크들을 통해서 다른 데이터 처리 시스템들이나 원격 프린터들 또는 저장장치들에 연결되도록 한다. 모뎀들, 케이블 모뎀들 및 이더넷 카드들이 네트워크 아답터들의 현재 사용가능한 타입들의 일부이다.
도 3은 본 발명의 일 실시예를 구현하기 위해 유용한 정보 처리 시스템을 보여주는 고레벨 블럭도이다. 상기 컴퓨터 시스템은 예를 들어 프로세서(44)와 같은 하나 또는 그 이상의 프로세서들을 포함한다. 상기 프로세서(44)는 통신 인프라스트럭처(infrastructure, 46)(예를 들어 통신 버스, 크로스-오버 바, 또는 네트워크)에 연결된다. 다양한 소프트웨어 실시예들이 이러한 컴퓨터 시스템에 대해서 기술되었다. 이러한 상세한 설명을 읽은 후, 본 기술분야에 통상의 기술을 가진 자는 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍쳐를 이용해서 본 발명의 실시예를 구현하는 방법이 명확해질 것이다.
상기 컴퓨터 시스템은 디스플레이 유닛(50)상에 디스플레이하기 위해서, 통신 인프라스트럭쳐(46)(또는 미도시된 프레임 버퍼로부터)로부터 그래픽들, 텍스트 및 다른 데이터를 전달하는 디스플레이 인터페이스(48)를 포함할 수 있다. 또한 상기 컴퓨터 시스템은 메인 메모리(52)-바람직하게는 램-를 포함할 수 있고, 또한 보조 메모리(54)를 포함할 수 있다. 상기 보조 메모리(54)는 예를 들어 하드 디스크 드라이브(56) 및/또는 예를 들어 플로피 디스크 드라이브, 자기 테이프 드라이브 또는 광 디스크 드라이브와 같은 착탈가능 저장장치 드라이브(58)를 포함할 수 있다. 상기 착탈가능 저장장치 드라이브(58)는 본 기술분야에서 통상의 기술을 가진 자에게 잘 알려진 방법으로, 착탈가능 저장장치 유닛(60)으로부터 판독하거나 또는 착탈가능한 저장장치 유닛(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)가 상기 컴퓨터 시스템의 특징들을 수행하도록 한다. 따라서, 그러한 컴퓨터 프로그램들은 상기 컴퓨터 시스템의 컨트롤러들을 나타낸다.
상술한 설명으로부터, 본 발명의 실시예들이, 브라우저-기반 프록시 서버를 이용하여 동적 웹 애플리케이션들의 커스터마이징 및 분배를 위한 시스템, 컴퓨터 프로그램 제품 및 방법을 제공한다는 것을 알 수 있다. 단수인 요소들에 대한 청구항들의 언급은 "단지 하나뿐"을 의미하려는 의도는 아니며, 명확히 기재되어 있지 않는 한 이보다는 "하나 또는 그 이상"을 의미하려는 의도이다. 본 기술분야에서 통상의 기술을 가진 자에 의해 현재 알거나 후에 알게 될 상술한 실시예의 요소에 대한 모든 구조적 및 기능적인 균등물들은 본 청구항들에 의해서 포함하려는 의도이다. 여기의 청구항 요소는, 상기 요소가 단락 "하는 수단" 또는 "하는 단계"를 이용하여 표시되지 않는 한, 35 USC 섹션 35, 6번째 단락 조항하에서 해석되지 않을 것이다.
본 발명의 바람직한 실시예들이 상세하게 기술되었으나, 본 기술분야에서 통상의 기술을 가진 자에 의해서, 상기 도시된 실시예들의 변경 및 적용이 일어날 수 있다는 점이 이해되어져야 한다.

Claims (15)

  1. 적어도 하나의 클라이언트 컴퓨터 소프트웨어 애플리케이션의 실행 방법에 있어서,
    웹 브라우저를 프록시 서버내에 임베딩하여 프록시 브라우저를 구성하는 단계 및
    상기 프록시 서버내에서 상기 애플리케이션을 실행하기 위해서 상기 프록시 브라우저를 이용하는 단계를 포함하고,
    상기 이용하는 단계는,
    상기 프록시 서버에 연결된 각각의 클라이언트 브라우저를 상기 프록시 브라우저의 인스턴스에 할당하는(assigning) 단계;
    상기 클라이언트 브라우저에 대한 세션 정보를 유지하는 단계; 및
    만약 상기 클라이언트 브라우저가 상기 프록시 서버로의 요청(request)을 생성하면, 상기 요청을 상기 프록시 브라우저의 상기 인스턴스로 연결(linking)하는 단계를 포함하는
    방법.
  2. 제 1항에 있어서,
    상기 연결하는 단계는
    만약 상기 요청이 상기 클라이언트 브라우저에 의한 제1 요청이면,
    상기 프록시 브라우저를 통해 웹 페이지를 오픈하는 단계;
    상기 웹 페이지상에서 적어도 하나의 클라이언트 컴퓨터 소프트웨어 애플리케이션을 실행하는 단계; 및
    상기 실행으로부터 발생된 상기 페이지의 컨텐츠들의 일부를 상기 클라이언트 브라우저로 리턴하는 단계를 포함하는
    방법.
  3. 제 2항에 있어서,
    상기 실행하는 단계는
    만약 상기 요청이 상기 클라이언트 브라우저에 의한 제1 요청이 아니면,
    상기 요청을 상기 웹 페이지상에서 수행하기 위한 작업들로 변환(translating)하는 단계를 더 포함하는
    방법.
  4. 제 2항에 있어서,
    상기 리턴하는 단계는
    수정된(modified) 웹 페이지를 생성하는 단계를 더 포함하는
    방법.
  5. 제 4항에 있어서,
    상기 생성하는 단계는
    상기 웹 페이지로부터 요소들을 추출하는 단계; 및
    상기 요소들을 상기 수정된 웹 페이지로 결합하는(combining) 단계를 더 포함하는
    방법.
  6. 제 4항에 있어서,
    상기 생성하는 단계는
    새로운 컨텐츠를 상기 수정된 웹 페이지에 인서트하는 단계를 더 포함하는
    방법.
  7. 제 2항에 있어서,
    상기 실행하는 단계는
    다음의 수정된 웹 페이지를 생성하기 위해 상기 프록시 브라우저로 적용하는 명령들 세트를 결정하기 위해서, 상기 요청을 변환하는(interpreting) 단계를 더 포함하는
    방법.
  8. 제 2항에 있어서,
    상기 웹 페이지의 컨텐츠를 스캐닝하는 단계; 및
    다음 수정된 웹 페이지를 결정하는 단계를 더 포함하는
    방법.
  9. 웹 브라우저를 프록시 서버내에 임베딩하기 위한 방법에 있어서,
    상기 웹 브라우저를 상기 프록시 서버에 배치하여(placing) 프록시 브라우저를 구성하는 단계;
    상기 프록시 서버안에서 이벤트 변환기를 상기 프록시 브라우저에 논리적으로 연결하는 단계; 및
    상기 프록시 서버안에서 트랜스코더를 상기 프록시 브라우저 및 상기 이벤트 변환기에 논리적으로 인터페이싱(interfacing) 하는 단계를 포함하되,
    상기 연결하는 단계는
    상기 이벤트 변환기가 클라이언트 브라우저로부터의 적어도 하나의 요청을 상기 프록시 브라우저내에 포함된 웹 페이지에 적용될 작업들로 변환하는 단계를 포함하는
    방법.
  10. 웹 애플리케이션으로 엑세스를 제공하는 방법에 있어서,
    프록시 서버에 포함된 프록시 브라우저에 의해서, 클라이언트 브라우저로부터 요청을 수신하는 단계;
    상기 요청을 작업으로 변환하는 단계;
    상기 작업을 상기 프록시 브라우저내의 웹 페이지에 적용하는 단계;
    상기 웹 페이지의 관련 부분(relevant portion)들을 추출하는 단계; 및
    상기 추출된 상기 웹 페이지의 관련부분들을 이용해서 출력을 생성하를 포함하되,
    상기 출력은 상기 클라이언트 브라우저에 의해서 판독가능한
    방법.
  11. 제 10항에 있어서
    기존의 웹 페이지들의 세트가 상기 클라이언트 브라우저에 대해 수정되는 방법을 명시하고, 웹 페이지들 사이에서 네비게이팅(navigating)하기 위해 상기 클라이언트 브라우저내에서 이용할 수 있는 수단을 명시하기 위한 애플리케이션 기술(description)을 생성하는 단계를 더 포함하는
    방법.
  12. 프록시 서버에 있어서,
    외부 웹 서버에 연결된 프록시 브라우저;
    클라이언트 브라우저로부터 요청들을 수신하기 위한 이벤트 변환기; 및
    상기 프록시 브라우저에 의해서, 상기 외부 웹서버로부터 수신된 컨텐츠의 관련부분들을 추출하고 상기 클라이언트 브라우저로 전송되는 출력을 생성하는 트랜스코더를 포함하는
    프록시 서버.
  13. 제 12항에 있어서,
    기존의 웹 페이지들의 세트가 상기 클라이언트 브라우저에 대해 변경되는 방법을 명시하고, 웹 페이지들 사이에서 네비게이팅 하기 위해서 상기 클라이언트 브라우저내에서 사용가능한 수단들을 명시하기 위한 애플리케이션 기술 컴포넌트;
    상기 프록시 브라우저내에 로드된 상기 기존의 웹 페이지들의 컨텐츠를 스캐닝하고 수정된 웹 페이지를 결정하기 위한 로드 스크립트 컴포넌트; 및
    상기 클라이언트 브라우저로 전송될 상기 수정된 웹 페이지를 생성하는 방법을 명시하기 위한 클립 스크립트 컴포넌트를 포함하는
    프록시 서버.
  14. 제 12항에 있어서,
    상기 클라이언트 브라우저로부터의 요청들을 상기 프록시 브라우저내에서 실행하기 위한 작업들로 파싱하기 위한 이벤트 스크립트 컴포넌트를 더 포함하는
    프록시 서버.
  15. 컴퓨터 판독가능 프로그램을 가지는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 판독가능 프로그램은 컴퓨터상에서 실행시에, 상기 컴퓨터가 제1 항 내지 제11항 중 어느 한 항의 방법을 수행하도록 유발하는
    컴퓨터 프로그램 제품.
KR1020107014509A 2008-01-14 2009-01-14 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 KR101507629B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/013,559 US7664862B2 (en) 2008-01-14 2008-01-14 Browser-based proxy server for customization and distribution of existing applications
US12/013,559 2008-01-14
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
KR20100113071A true KR20100113071A (ko) 2010-10-20
KR101507629B1 KR101507629B1 (ko) 2015-03-31

Family

ID=40435039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014509A KR101507629B1 (ko) 2008-01-14 2009-01-14 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140093937A (ko) * 2011-10-28 2014-07-29 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 브라우저 장치 액세스 프록시
JP2015130107A (ja) * 2014-01-08 2015-07-16 日本電信電話株式会社 コンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラム

Families Citing this family (59)

* 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
US20110093801A1 (en) * 2008-06-30 2011-04-21 Kazuya Koyama Application extension system, extension method, extension program
US8965926B2 (en) 2008-12-17 2015-02-24 Microsoft Corporation Techniques for managing persistent document collections
EP2495645B1 (en) * 2009-10-29 2017-12-13 Rakuten, Inc. Object control method for displaying objects in front of link elements
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
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
EP2727024B1 (en) * 2011-06-30 2019-05-15 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
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
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
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
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
CN102981705B (zh) * 2012-11-09 2018-04-27 北京奇虎科技有限公司 服务器端浏览器实现方法及服务器
CN102917074B (zh) * 2012-11-09 2016-08-03 北京奇虎科技有限公司 一种实现服务器端浏览器的方法和服务器
EP3193270B1 (en) * 2013-02-12 2022-06-22 Nippon Telegraph and Telephone Corporation Output function dividing system
AU2014230423A1 (en) 2013-03-15 2015-09-24 Ricoh Company, Limited Distribution control system and distribution system
JP6323048B2 (ja) 2013-03-15 2018-05-16 株式会社リコー 配信システム、配信方法、及びプログラム
JP6369043B2 (ja) 2013-03-15 2018-08-08 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP6337499B2 (ja) 2013-03-15 2018-06-06 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP2014200076A (ja) 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
JP6398215B2 (ja) 2013-03-15 2018-10-03 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP6354197B2 (ja) 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
JP2014199648A (ja) 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
EP2793475A1 (en) 2013-03-15 2014-10-22 Ricoh Company, Ltd. Distribution control system, distribution control method, and computer-readable storage medium
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
KR20160110913A (ko) * 2013-11-11 2016-09-22 아달롬 인코포레이티드 클라우드 서비스 보안 브로커 및 프록시
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
AU2015402757A1 (en) * 2015-07-20 2018-03-08 Ent. Services Development Corporation Lp Web application adjustment 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

Family Cites Families (22)

* 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
US6049821A (en) * 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
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 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページカスタマイズシステム
US6912691B1 (en) * 1999-09-03 2005-06-28 Cisco Technology, Inc. Delivering voice portal services using an XML voice-enabled web server
US6738803B1 (en) * 1999-09-03 2004-05-18 Cisco Technology, Inc. Proxy browser providing voice enabled web application audio control for telephony devices
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
JP4571509B2 (ja) * 2002-12-02 2010-10-27 エスアーペー アーゲー セッション復帰可能な、処理状態を把握するウェブアプリケーション
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
US7861289B2 (en) * 2006-09-22 2010-12-28 Oracle International Corporation Pagelets in adaptive tags in non-portal reverse proxy
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140093937A (ko) * 2011-10-28 2014-07-29 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 브라우저 장치 액세스 프록시
JP2015130107A (ja) * 2014-01-08 2015-07-16 日本電信電話株式会社 コンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101507629B1 (ko) 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버
US8924943B2 (en) Browser emulator system
AU2013293535B2 (en) Providing access to a remote application via a web client
US9021367B2 (en) Metadata capture for screen sharing
AU2008206688B2 (en) Method and system for creating IT-oriented server-based web applications
Ooms The OpenCPU system: Towards a universal interface for scientific computing through separation of concerns
US8627344B2 (en) Methods and apparatuses for user interface management
US20110145694A1 (en) Method and System for Transforming an Integrated Webpage
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US20070260702A1 (en) Web browser architecture for virtual machine access
CN107924318A (zh) 基于web浏览器的桌面和应用远程处理解决方案
US20080086505A1 (en) Presenting user interfaces based on messages
JP5936103B2 (ja) クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
JP5151696B2 (ja) ユニフォームリソースロケータ情報を書き換えるプログラム
KR101907660B1 (ko) 웹 기반의 운영체제를 탑재한 단말 장치 및 이를 이용한 서비스 제공 방법
Lau et al. nbinteract: generate interactive web pages from Jupyter notebooks
Liu et al. MUIT: a domain-specific language and its middleware for adaptive mobile web-based user interfaces in WS-BPEL
KR20090000199A (ko) 웹 서버 어플리케이션 프레임워크와 상기 프레임워크를이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체
JP5393242B2 (ja) データ提供方法および中間サーバ装置
US11758016B2 (en) Hosted application as web widget toolkit
Gracia et al. Integrated 3D web application for structural analysis software as a service
Stirbu et al. Hypermedia-driven framework for scalable and adaptive application sharing
Yu A UI-driven approach to facilitating effective development of rich and composite web applications
CN113268240A (zh) 网页加速方法及装置、存储介质及电子设备
Hernández-Ventura et al. CLOUD-X

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180227

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee