KR101997176B1 - 피어-투-피어 소프트웨어 업데이트 - Google Patents
피어-투-피어 소프트웨어 업데이트 Download PDFInfo
- Publication number
- KR101997176B1 KR101997176B1 KR1020157019555A KR20157019555A KR101997176B1 KR 101997176 B1 KR101997176 B1 KR 101997176B1 KR 1020157019555 A KR1020157019555 A KR 1020157019555A KR 20157019555 A KR20157019555 A KR 20157019555A KR 101997176 B1 KR101997176 B1 KR 101997176B1
- Authority
- KR
- South Korea
- Prior art keywords
- computer program
- version
- peer
- computing device
- update
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
본 발명의 다양한 양태는 소프트웨어 업데이트를 제공하기 위한 시스템, 방법 및 기기 판독 가능 매체에 관한 것이다. 시스템은, 제1 컴퓨팅 기기의 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하고, 컴퓨터 프로그램을 업데이트하기 위해 제1 컴퓨팅 기기 상에서 업데이트 패치를 실행하고, 제2 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하고, 업데이트 패치를 송신하지 않고 제1 컴퓨팅 기기의 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 제2 컴퓨팅 기기에 송신한다.
Description
본 발명은 전반적으로 컴퓨터 소프트웨어 제품을 업데이트하는 것에 관한 것으로, 보다 구체적으로는 업데이트 서버로부터 소프트웨어 업데이트를 제공하는 것에 관한 것이다.
소프트웨어 배포자는 운영 체제, 펌웨어, 또는 어플리케이션과 같은 소프트웨어 제품을 다수의 클라이언트 기기에 제공하는 경우가 많다. 몇몇 경우에, 소프트웨어 제품은 예컨대 버그를 수정하거나, 보안 문제를 해소하거나, 성능을 향상시키거나, 또는 더 새로운 버전을 설치하기 위해 업데이트될 수 있다. 클라이언트 기기 상에 설치된 소프트웨어 제품을 업데이트하기 위해, 클라이언트 기기는 인터넷을 통해 업데이트 서버와 접촉하고, 어느 업데이트 패치가 필요한지를 식별하고, 업데이트 패치를 다운로드하고, 소프트웨어 제품 상에서 업데이트 패치를 실행할 수 있다.
본 발명의 여러 양태는 소프트웨어 업데이트를 제공하는 시스템에 관한 것이다. 상기 시스템은 하나 이상의 프로세서 및 명령이 그 안에 저장된 메모리를 포함하며, 상기 명령은 상기 하나 이상의 프로세서에 의해 실행된 때에 상기 하나 이상의 프로세서로 하여금 동작을 수행하도록 한다. 상기 동작은, 상기 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하는 동작, 상기 컴퓨터 프로그램을 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작, 피어 컴퓨팅 기기(peer computing machine)로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하는 동작, 및 상기 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 상기 피어 컴퓨팅 기기에 송신하는 동작을 포함하며, 상기 피어 컴퓨팅 기기에 송신된 상기 업데이트된 컴퓨터 프로그램이 상기 피어 컴퓨팅 기기의 메모리 상에 저장되고, 상기 업데이트 패치의 실행 없이도 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성된다.
본 발명의 몇몇 양태는 소프트웨어 업데이트를 제공하기 위한 방법에 관한 것이다. 상기 방법은, 제1 컴퓨팅 기기에서, 상기 제1 컴퓨팅 기기의 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하는 단계, 상기 컴퓨터 프로그램을 업데이트하기 위해 상기 제1 컴퓨팅 기기 상에서 상기 업데이트 패치를 실행하는 단계, 제2 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하는 단계, 및 상기 제1 컴퓨팅 기기의 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 상기 제2 컴퓨팅 기기에 송신하는 단계를 포함한다.
본 발명의 다른 양태는 명령이 그 안에 저장된 기기 판독 가능 매체에 관한 것이며, 상기 명령은 기기에 의해 실행된 때에 상기 기기로 하여금 소프트웨어 업데이트를 제공하기 위한 동작들을 수행하도록 한다. 상기 동작은, 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 근거리 통신망을 통해 수신하는 동작, 상기 업데이트된 컴퓨터 프로그램의 적어도 일부가 메모리 디바이스 상에 설치되는지를 판단하는 동작, 상기 메모리 디바이스 상에 설치된 상기 업데이트된 컴퓨터 프로그램을 상기 피어 컴퓨팅 기기에게 송신하는 동작을 포함하며, 상기 피어 컴퓨팅 기기에 송신된 상기 업데이트된 컴퓨터 프로그램이 상기 피어 컴퓨팅 기기의 메모리 상에 저장되고, 업데이트 패치의 실행 없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성된다.
본 발명의 다양한 양태는 컴퓨터 프로그램을 업데이트하는 방법에 관한 것이다. 상기 방법은, 메모리 디바이스 상에 설치된 컴퓨터 프로그램이 최신의 것인지를 판단하기 위해 업데이트 서버와 접촉하는 단계, 상기 메모리 디바이스 상에 설치된 컴퓨터 프로그램이 최신의 것이 아니라면, 적어도 하나의 피어 기기가 검색에 이용 가능한 업데이트된 컴퓨터 프로그램을 갖는지를 판단하는 단계, 상기 적어도 하나의 피어 기기가 검색에 이용 가능한 업데이트된 컴퓨터 프로그램의 적어도 일부분을 갖는다면, 상기 적어도 하나의 피어 기기로부터 업데이트된 컴퓨터 프로그램을 검색하는 단계, 및 상기 업데이트된 프로그램을 상기 메모리 디바이스 상에 저장하는 단계를 포함한다.
본 발명의 기타 구성이 이하의 상세한 설명으로부터 당업자에게 용이하게 명백하게 될 것이며, 본 발명의 다양한 구성은 예시를 위해 도시되고 설명된 것이라는 것을 이해할 것이다. 인지되는 바와 같이, 본 발명은 본 기술의 범위에서 벗어나지 않고서도 다른 상이한 구성이 가능하고, 그 여러 세부구성은 다양한 다른 양태로의 수정이 가능하다. 이에 따라, 도면 및 상세한 설명은 본질적으로 예시로서 간주되고 제한적인 것으로서 간주되지 않는다.
본 발명의 이해를 더 용이하게 하기 위해 포함되어 있고 본 명세서에 통합되어 본 명세서의 일부를 이루고 있는 첨부 도면은 본 기술의 개시된 양태를 예시하며, 상세한 설명과 함께 본 발명의 원리를 설명하기 위해 제공된 것이다.
도 1은 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 2는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 또 다른 예의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 3은 본 발명의 다양한 양태에 따른 일례의 클라이언트 기기를 예시하는 개념 블록도이다.
도 4는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 5는 본 발명의 다양한 양태에 따라 업데이트된 컴퓨터 프로그램을 피어 기기(peer machine)에 이용 가능하게 하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 6은 본 발명의 다양한 양태에 따라 본 명세서에 설명된 기기 또는 서버의 임의의 기기 또는 서버를 구현할 수 있는 컴퓨터 시스템을 예시하는 블록도이다.
도 1은 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 2는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 또 다른 예의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 3은 본 발명의 다양한 양태에 따른 일례의 클라이언트 기기를 예시하는 개념 블록도이다.
도 4는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 5는 본 발명의 다양한 양태에 따라 업데이트된 컴퓨터 프로그램을 피어 기기(peer machine)에 이용 가능하게 하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 6은 본 발명의 다양한 양태에 따라 본 명세서에 설명된 기기 또는 서버의 임의의 기기 또는 서버를 구현할 수 있는 컴퓨터 시스템을 예시하는 블록도이다.
아래에 명시된 상세한 설명은 본 발명의 다양한 구성에 대한 서술을 목적으로 하는 것으로, 본 발명이 실시될 수 있는 유일한 구성을 표현하려는 것이 아니다. 첨부 도면은 본 명세서에 통합되며, 상세한 설명의 일부를 구성한다. 상세한 설명은 본 발명에 대한 완전한 이해를 제공하기 위한 목적의 구체적인 세부구성을 포함한다. 그러나, 본 발명은 이들 구체적인 세부구성 없이도 실시될 수 있다는 것은 당업자에게는 명백할 것이다. 몇몇 경우에는, 본 발명의 개념을 모호하게 하는 것을 방지하기 위하여 널리 공지된 구조 및 부품이 블록도 형태로 도시되어 있다.
클라이언트 기기는 인터넷을 통해 업데이트 서버와 접촉하고, 클라이언트 기기 상의 소프트웨어 제품(예컨대, 컴퓨터 프로그램, 운영 체제 또는 기타 소프트웨어)을 업데이트하기 위해 소프트웨어 업데이트 패치를 식별하고, 소프트웨어 업데이트 패치를 다운로드하고, 소프트웨어 업데이트 패치를 실행함으로써 클라이언트 기기 상의 소프트웨어 제품을 업데이트하도록 구성될 수 있다. 그러나, 다수의 클라이언트 기기가 있는 때에는, 각각의 클라이언트 기기가 업데이트 서버에 접촉하고 업데이트 서버로부터 업데이트 패치를 다운로드하는 것은, 소프트웨어 제품을 위한 업데이트 패치가 릴리즈되는 때마다 상당한 양의 인터넷 대역폭을 요구할 수 있다.
본 발명의 다양한 양태는 피어-투-피어 환경에서 소프트웨어 업데이트를 제공하는 것에 관련된다. 몇몇 양태에 따라, 클라이어트 기기 상의 컴퓨터 프로그램을 업데이트하기 위해 클라이언트 기기 상에서 실행될 수 있는 업데이트 패치를 송신하는 대신, 하나 이상의 피어 클라이언트 기기로부터 클라이언트 기기로 전체 업데이트된 컴퓨터 프로그램이 송신될 수 있다.
업데이트 패치 대신에 전체 업데이트된 컴퓨터 프로그램을 수신함으로써, 클라이언트 기기는 업데이트 패치를 실행하는 추가의 단계를 수행하지 않고서도 컴퓨터 프로그램을 업데이트할 수 있다. 더욱이, 다수의 업데이트 패치는 컴퓨터 프로그램의 하나의 특정한 버전을 또 다른 버전으로 업데이트하도록 구성된다. 업데이트 패치 대신에 완전한 업데이트된 컴퓨터 프로그램을 송신함으로써, 업데이트된 컴퓨터 프로그램을 수신하는 컴퓨팅 기기는 업데이트 패치가 컴퓨터 프로그램의 현재 버전을 컴퓨터 프로그램의 원하는 버전으로 업데이트할 수 있는지를 확인하기 위해 검사할 필요가 없다.
도 1은 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 피어-투-피어 환경(100)을 예시하는 개념 블록도이다. 피어-투-피어 환경(100)은 인터넷과 같은 네트워크(150)를 통해 통신하는 업데이트 서버(105) 및 다수의 클라이언트 기기(110, 115, 120, 125, 130)를 포함한다. 네트워크 환경(100)에서, 클라이언트 기기(110, 115, 120, 125, 130)는 피어 또는 피어 기기로 간주될 수 있다.
네트워크(150)는 예컨대 셀룰러 네트워크, 위성 네트워크, 개인 영역 네트워크(PAN), 근거리 영역 네트워크(LAN), 광역 네트워크(WAN), 브로드밴드 네트워크(BBN), 인터넷 등의 임의의 하나 이상을 포함할 수 있다. 또한, 네트워크(150)는, 이러한 것으로 한정되지는 않지만, 버스 네트워크, 스타 네트워크, 링 네트워크, 메시 네트워크, 스타-버스 네트워크, 트리 또는 계층 네트워크 등을 포함한 네트워크 토폴로지 중의 임의의 하나 이상을 포함할 수 있다.
몇몇 양태에서, 도 1의 서브-네트워크(140)와 같은 하나 이상의 추가의 네트워크 또는 서브-네트워크는 또한 업데이트 서버(105)와 클라이언트 기기(110, 115, 120, 125, 130) 간의 통신뿐만 아니라 클라이언트 기기(110, 115, 120, 125, 130)들 간의 통신을 위해 사용될 수 있다. 서브-네트워크는 예컨대 기업 네트워크, 근거리 통신망(LAN), 또는 Wi-Fi 네트워크일 수 있다.
도 1이 일례의 네트워크 환경(100)을 예시하고 있지만, 본 발명의 다른 양태는 다른 구성을 포함할 수도 있다. 예컨대, 도 2는 본 발명의 다양한 양태에 따라 소프트웨어 업데이트를 제공하기 위한 또 다른 예의 피어-투-피어 환경(200)을 예시하는 개념 블록도이다. 피어-투-피어 환경(200)은 인터넷과 같은 네트워크(250)뿐만 아니라 서브-네트워크(240)를 통해 통신하는 업데이트 서버(205)와 다수의 클라이언트 기기(210, 215, 220, 225, 230)를 포함한다. 네트워크 환경(200)에서, 클라이언트 기기(210, 215, 220, 225, 230)는 서브-네트워크(240)와 직접 통신하고 있지만, 네트워크(250)와는 직접적으로 통신하지 않는다.
다시 도 1을 참조하면, 클라이언트 기기(110, 115, 120, 125, 130)는 컴퓨터 프로그램 또는 기타 소프트웨어 제품을 실행하고 다른 컴퓨팅 기기와 통신할 수 있는 어떠한 컴퓨팅 기기도 포함할 수 있다. 예컨대, 클라이언트 기기는 데스크탑 컴퓨터, 랩탑, 모바일 디바이스(예컨대, 스마트폰, 태블릿, 개인 디지털 보조장치(PDA), GPS 디바이스 등), 또는 프로세서, 메모리 및 통신 장치를 갖는 임의의 기타 기기이어도 된다. 각각의 클라이언트 기기는 또한 클라이언트 기기의 메모리(예컨대, 하드 디스크 드라이브) 상에 설치된 하나 이상의 컴퓨터 프로그램 또는 어플리케이션을 포함한다.
업데이트 서버(105)는 단일 시스템 또는 기기이거나 또는 다수의 컴퓨팅 기기로 이루어진 가상 서버이어도 된다. 업데이트 서버(105)는 클라이언트 기기(110, 115, 120, 125, 130) 상에 설치된 소프트웨어 제품을 위한 하나 이상의 소프트웨어 업데이트(예컨대, 업데이트 패치)를 저장하도록 구성될 수 있다. 때때로, 소프트웨어 개발자는 소프트웨어 업데이트가 하나 이상의 클라이언트 기기(110, 115, 120, 125, 130)에 이용 가능하게 만들기 위해 컴퓨터 프로그램을 위한 소프트웨어 업데이트를 업데이트 서버(105) 상에 업로드할 수 있다.
설치된 컴퓨터 프로그램을 업데이트하기 위해, 클라이언트 기기는 컴퓨터 프로그램을 위한 소프트웨어 업데이트가 이용 가능한지의 여부 및 소프트웨어 업데이트가 컴퓨터 프로그램을 어떠한 버전의 컴퓨터 프로그램으로 업데이트할지를 판단하기 위해 업데이트 서버와 접촉하도록 구성될 수 있다. 소프트웨어 업데이트가 이용 가능하면, 클라이언트 기기는 클라이언트 기기의 피어 중의 하나 이상으로부터 컴퓨터 프로그램의 업데이트된 버전을 검색(retieve)하려고 시도할 수 있다. 클라이언트 기기가 업데이트된 버전을 검색할 수 없다면, 클라이언트 기기는 업데이트 서버(105)로부터 소프트웨어 업데이트를 다운로드하고, 소프트웨어 업데이트를 실행함으로써 컴퓨터 프로그램을 업데이트할 수 있다.
도 3은 본 발명의 다양한 양태에 따른 일례의 클라이언트 기기(300)를 예시하는 개념 블록도이다. 클라이언트 기기(300)는 서버 인터페이스 모듈(310), 피어 인터페이스 모듈(320), 및 업데이트 모듈(330)을 포함할 수 있다. 그러나, 또 다른 양태에 의하면, 클라이언트 기기(300)는 추가의 콤포넌트, 더 적은 콤포넌트, 또는 상이한 콤포넌트를 포함할 수 있다.
도 3에서의 서버 인터페이스 모듈(310)은 클라이언트 기기(300) 상에 설치된 소프트웨어 제품(예컨대, 운영 체제 또는 또 다른 컴퓨터 프로그램)을 위한 업데이트가 이용 가능한지를 판단하기 위해 업데이트 서버(105)와 통신하도록 구성된다. 클라이언트 기기(300)는 예컨대 업데이트 서버(105)와 통신할 수 있는 도 1의 클라이언트 기기(110, 115, 120, 125 또는 130) 중의 하나이어도 된다. 업데이트가 이용 가능하다면, 피어 인터페이스 모듈(320)은 피어 기기가 업데이트된 소프트웨어 제품을 갖는지를 판단하기 위해 하나 이상의 피어 기기와 접촉하도록 구성된다.
하나 이상의 피어 기기가 업데이트된 소프트웨어 제품을 갖는다면, 피어 인터페이스 모듈(320)은 피어 기기로부터 업데이트된 소프트웨어 제품을 검색할 수 있다. 업데이트 모듈(330)은 필요한 경우 피어 기기로부터 검색된 업데이트 소프트웨어 제품이 사용되도록 하기 위해 어떠한 단계도 취하도록 구성될 수 있다. 피어 인터페이스 모듈(320)이 피어 기기로부터 업데이트된 소프트웨어 제품을 획득할 수 없다면, 서버 인터페이스 모듈(310)은 업데이트 서버(105)로부터 소프트웨어 업데이트 패치를 검색하도록 구성된다. 업데이트 모듈(330)은 소프트웨어 업데이트 패치를 실행함으로써 클라이언트 기기(300) 상에 설치된 소프트웨어 제품을 업데이트할 수 있다.
도 4는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 프로세스(400)를 예시하는 흐름도이다. 이 프로세스(400)에서의 블록이 하나의 특정한 순서로 도시되어 있지만, 어떠한 블록은 상이한 순서로 또는 동일한 시간에 실행될 수도 있다. 더욱이, 프로세스(400)에서의 블록들이 도 3의 클라이언트 기기(300)의 콤포넌트에 의해 실행되고 있는 것으로 설명되지만, 이 블록들은 콤포넌트에 의해 실행되는 것으로 한정되지 않는다.
블록 405에서, 클라이언트 기기(300)의 서버 인터페이스 모듈(310)은 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램(예컨대, 운영 체제 또는 기타 어플리케이션)을 위한 소프트웨어 업데이트가 이용 가능하지를 판단하기 위해 업데이트 서버와 통신한다. 블록 410에서, 업데이트 모듈(330)은 컴퓨터 프로그램을 위한 업데이트가 이용 가능한지를 판단한다. 예컨대, 서버 인터페이스 모듈(310)은 업데이트 서버를 주기적으로 접촉하거나 또는 컴퓨터 프로그램이 열리고 컴퓨터 프로그램의 가장 최신의 버전에 관한 정보 또는 클라이언트 기기(300) 상의 컴퓨터 프로그램의 버전이 가장 최신의 버전인지의 여부에 관한 정보를 요청하는 때에 업데이트 서버를 접촉할 수 있다.
업데이트 서버가 클라이언트 기기(300) 상의 컴퓨터 프로그램의 버전이 가장 최신의 버전인 것으로 나타내는 응답을 하면, 또는 업데이트 모듈(330)이 이용 가능한 컴퓨터 프로그램의 가장 최신의 버전이 없는 것으로 판단하면, 블록 415에서, 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램에 대한 업데이트가 요구되지 않는다. 업데이트 서버로부터 이용 가능한 업데이트가 있다면, 블록 420에서, 피어 인터페이스 모듈(320)은 이용 가능한 업데이트된 컴퓨터 프로그램(예컨대, 컴퓨터 프로그램의 가장 최신의 버전)을 갖는 어떠한 피어 기기가 있는지를 검사할 수 있다.
피어 기기는 업데이트 서버로부터 업데이트 패치를 이전에 설치하였고 컴퓨터 프로그램을 가장 최신의 버전으로 업데이트하기 위해 업데이트 패치를 실행하였다면 업데이트된 컴퓨터 프로그램을 가질 수 있다. 이와 달리, 피어 기기는 업데이트된 컴퓨터 프로그램 또는 업데이트된 컴퓨터 프로그램의 일부분을 하나 이상의 다른 피어 기기로부터 이전에 검색하였다면 업데이트된 컴퓨터 프로그램을 가질 수 있다. 피어 기기가 업데이트된 컴퓨터 프로그램의 적어도 일부분을 갖는다면, 업데이트된 컴퓨터 프로그램의 이들 부분이 다른 피어 기기에 이용 가능하게 될 수도 있다.
피어 인터페이스 모듈(320)은 피어 기기가 업데이트된 컴퓨팅 프로그램을 갖는지를 예컨대 이들 피어 기기에게 직접 질의함으로써, 중앙 서버에 질의함으로써, 또는 업데이트된 컴퓨팅 프로그램이 브로드캐스트, 멀티캐스트, 또는 클라이언트 기기(300)가 수신을 개시할 수 있는 기타 멀티-리시버 메카니즘을 통해 전송되고 있는지를 확인하기 위해 검사함으로써 판단할 수 있다.
업데이트된 컴퓨터 프로그램을 갖는 피어 기기가 없다면, 블록 425에서, 서버 인터페이스 모듈(310)은 소프트웨어 업데이트를 설치하도록 구성된 소프트웨어 업데이트 패치를 업데이트 서버로부터 검색(예컨대, 다운로드)할 수 있다. 소프트웨어 업데이트 패치가 다운로드된 후, 블록 430에서, 업데이트 모듈(330)은 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램의 현재 설치된 버전을 컴퓨터 프로그램의 업데이트된 버전으로 업데이트하기 위해 소프트웨어 업데이트 패치를 실행한다.
소프트웨어 업데이트 패치는 예컨대 컴퓨터 프로그램에 연관된 파일을 컴퓨팅 시스템의 메모리(예컨대, 하드 드라이브 또는 하드 드라이브의 파티션) 상으로 복사함으로써, 메모리 상의 파일을 삭제함으로써, 메모리 상의 데이터를 변경함으로써, 또는 이들의 조합에 의하여, 컴퓨터 프로그램을 업데이트하기 위해 사용될 수 있는 다수의 명령 및 데이터를 포함할 수 있다. 소프트웨어 업데이트 패치가 컴퓨팅 기기 상의 컴퓨터 프로그램에 적용된 후, 블록 440에서는 업데이트 패치가 아닌 업데이트된 컴퓨터 프로그램이 다른 피어 컴퓨팅 기기에 이용 가능하게 된다.
한편, 컴퓨터 프로그램의 업데이트된 버전을 갖는 하나 이상의 피어 기기가 있다면, 블록 435에서, 피어 인터페이스 모듈(320)은 하나 이상의 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램을 검색할 수 있다. 몇몇 양태에 따라, 클라이언트 기기 및 하나 이상의 피어 기기는 동일한 서브-네트워크(예컨대, 근거리 통신망) 상에 상주할 수 있으며, 몇몇 경우에는 서브-네트워크 상의 이용 가능한 대역폭이 데이터를 업데이트 서버로부터 클라이언트 기기에 송신하기 위해 이용할 수 있는 대역폭보다 크게 될 수도 있다.
몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램은 피어-투-피어(P2P) 기술을 사용하여 피어 기기로부터 검색될 수 있다. 예컨대, 업데이트된 컴퓨터 프로그램은 다수의 데이터 블록으로 이루어질 수 있으며, 피어 인터페이스 모듈(320)은 하나의 피어 기기로부터 업데이트된 컴퓨터 프로그램을 위한 몇몇 데이터 블록을 수신하고, 다른 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램을 위한 다른 데이터 블록을 수신할 수 있다. 피어 기기로부터 수신된 업데이트된 컴퓨터 프로그램을 위한 데이터 블록은 업데이트된 컴퓨터 프로그램을 형성하기 위해 클라이언트 기기(300)에서 합쳐질 수 있다. 몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램을 위한 데이터 블록이 피어 컴퓨팅 기기로부터 수신됨에 따라, 블록 440에서 이들 데이터 블록은 또한 다른 피어 컴퓨팅 기기에도 이용 가능하게 될 수 있다.
업데이트된 컴퓨터 프로그램이 피어 기기로부터 검색되면, 업데이트된 컴퓨터 프로그램이 사용될 수 있다. 이에 따라, 클라이언트 기기(300)는 소프트웨어 업데이트 패치를 실행하지 않고서도 업데이트된 컴퓨터 프로그램을 사용할 수 있다. 그러나, 몇몇 경우에는, 업데이트된 컴퓨터 프로그램을 사용하기 위해서는 클라이언트 기기의 재기동이 요구될 수도 있다. 예컨대, 업데이트된 컴퓨터 프로그램이 운영 체제의 새로운 버전이면, 운영 체제의 새로운 버전은 클라이언트 기기(300) 상의 특정한 위치(예컨대, 특별화된 파티션)에 다운로드될 수 있다. 운영 체제의 새로운 버전으로 부팅하기 위해, 클라이언트 기기(300)는 운영 체제의 새로운 버전으로 부팅하라는 명령으로 리부팅될 수 있다.
업데이트된 컴퓨터 프로그램은, 몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램이 설치되는 전체 메모리 유닛을 송신함으로써 피어 기기로부터 클라이언트 기기(300)로 송신될 수 있다. 예컨대, 업데이트된 컴퓨터 프로그램이 피어 컴퓨팅 기기 상의 특정한 하드 드라이브 파티션 상에 설치되면, 전체 파티션이 클라이언트 컴퓨터 기기(300)에 송신될 수 있다. 다른 양태에서, 업데이트된 컴퓨터 프로그램이 특정 파일 시스템 또는 특정 파일 폴더 상에 설치되면, 전체 파일 시스템 또는 파일 폴더가 클라이언트 컴퓨터 기기(300)에 송신될 수도 있다.
유사하게, 클라이언트 기기(300)의 피어 인터페이스 모듈(320)은 또한 업데이트된 컴퓨터 프로그램을 업데이트된 컴퓨터 프로그램이 설치된 메모리 유닛을 위한 데이터 블록을 송신함으로써 다른 피어 기기에게 이용 가능하게 만들 수 있다. 예컨대, 도 5는 본 발명의 다양한 양태에 따라 업데이트된 컴퓨터 프로그램을 피어 기기에 이용 가능하게 하기 위한 일례의 프로세스(500)를 예시하는 흐름도이다. 이 프로세스(500)에서의 블록이 하나의 특정한 순서로 도시되어 있지만, 어떠한 블록들은 상이한 순서로 또는 동시에 실행될 수도 있다. 더욱이, 프로세스(500)에서의 블록이 도 3의 클라이언트 기기(300)의 콤포넌트에 의해 실행되고 있는 것으로서 설명되고 있지만, 이들 블록은 콤포넌트에 의해 실행되는 것으로 한정되지 않는다.
블록 505에서, 클라이언트 기기(300)의 피어 인터페이스 모듈(320)은 업데이트된 컴퓨터 프로그램을 위한 요청을 피어 컴퓨팅 기기로부터 수신할 수 있다. 블록 510에서, 피어 인터페이스 모듈(320)은 업데이트된 컴퓨터 프로그램을 위한 하나 이상의 데이터 블록이 클라이언트 기기를 위한 메모리(예컨대, 하드 디스크 드라이브) 상에 저장되었는지를 검사할 수 있다. 메모리가 업데이트된 컴퓨터 프로그램을 위한 하나 이상의 데이터 블록을 포함하고 있으면, 피어 인터페이스 모듈(320)은 블록 515에서 예컨대 이러한 하나 이상의 데이터 블록을 피어 컴퓨팅 기기에 송신함으로써 이러한 하나 이상의 데이터 블록을 피어 컴퓨팅 기기에 이용 가능하게 할 수 있다. 메모리가 업데이트된 컴퓨터 프로그램을 위한 어떠한 데이터 블록도 갖지 않는다면, 피어 인터페이스 모듈(320)은 블록 520에서 클라이언트 기기가 업데이트된 컴퓨터 프로그램을 갖지 않는다는 것을 피어 컴퓨팅 기기에 통지할 수 있다.
본 발명의 몇몇 양태에 따라, 데이터 블록은 하나 이상의 다른 기기에 대해 동시에 이루어지는 직접 송신 또는 브로드캐스트 또는 멀티캐스트를 통해 피어 기기에 송신될 수 있다.
일 양태에 따라, 소프트웨어 업데이트 패치는 업데이트 서버(105)로부터 다운로드되고 있는 때에 적용될 수 있으며, 업데이트가 이루어진 컴퓨터 프로그램의 부분이 다른 피어 기기에 이용 가능하게 될 수 있다. 더욱이, 클라이언트 기기는, 몇몇 양태에서, 자신이 갖는 업데이트된 컴퓨터 프로그램의 일부분을 공유하기 위해 전체 업데이트된 컴퓨터 프로그램을 가질 필요는 없다. 예컨대, 클라이언트 기기 A는 전체 업데이트된 컴퓨터 프로그램을 가질 수 있으며, 클라이언트 기기 B 및 클라이언트 기기 C는 업데이트된 컴퓨터 프로그램을 획득할 필요가 있다. 클라이언트 기기 B는 업데이트된 컴퓨터 프로그램의 전반부를 클라이언트 기기 A로부터 수신할 수 있고, 클라이언트 기기 C는 업데이트된 컴퓨터 프로그램의 후반부를 클라이언트 기기 A로부터 수신할 수 있다. 클라이언트 기기 A가 네트워크를 떠나거나 몇몇 이유로 접근 가능하지 않게 된다면, 클라이언트 기기 B 및 클라이언트 기기 C는 각각이 갖고 있는 업데이트된 컴퓨터 프로그램의 부분을 서로 공유할 수 있다. 이에 따라, 클라이언트 기기 B와 클라이언트 기기 C 각각은 서로로부터 다른 반부를 수신할 수 있으며, 이로써 전체 업데이트된 컴퓨터 프로그램을 수신하게 된다.
도 6은 본 발명의 다양한 양태에 따른, 본 명세서에 설명된 기기 또는 서버의 임의의 기기 또는 서버를 구현할 수 있는 컴퓨터 시스템을 예시하는 블록도이다. 어떠한 양태에서, 컴퓨터 시스템(600)은 전용 서버에 있거나, 또 다른 엔티티에 통합되거나, 또는 복수의 엔티티에 걸쳐 분산되어 있는 하드웨어 또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다.
일례의 컴퓨터 시스템(600)은 버스(608)를 통해 서로 통신하는 프로세서(602), 메인 메모리(604), 스태틱 메모리(606), 디스크 드라이브 유닛(616), 및 네트워크 인터페이스 디바이스(620)를 포함한다. 컴퓨터 시스템(600)은 비디오 디스플레이 유닛(예컨대, 액정(LCD) 디스플레이, 음극선관(CRT), 또는 터치 스크린), 알파뉴메릭 입력 디바이스(예컨대, 키보드), 커서 제어 디바이스(예컨대, 마우스), 또는 신호 발생 디바이스(예컨대, 스피커)와 같은 다양한 입력/출력 디바이스와 통신하도록 구성될 수 있는 입력/출력 인터페이스(612)를 추가로 포함할 수 있다.
프로세서(602)는 범용 마이크로프로세서(예컨대, 중앙 처리 장치(CPU)), 그래픽 처리 장치(GPU), 마이크로컨트롤러, 디지털 신호 프로세서(DSP), 어플리케이션 특정 집적회로(ASIC), FPGA(Field Programmable Gate Array), PLD(Programmable Logic Device), 컨트롤러, 스테이트 머신, 게이티드 로직, 디스크리트 하드웨어 콤포넌트, 또는 정보의 계산 또는 기타 조작을 수행할 수 있는 임의의 다른 적합한 엔티티이어도 된다.
기기 판독 가능 매체(또한 컴퓨터 판독 가능 매체로도 지칭되는)는 본 명세서에 설명된 방법 또는 기능 중의 어느 하나 또는 그 이상을 구체화하는 명령(624)의 하나 이상의 세트를 저장할 수 있다. 이 명령(624)은 또한 컴퓨터 시스템(600)에 의한 이들 명령의 실행 동안 메인 메모리(604) 내에 및/또는 프로세서(602) 내에 전체적으로 또는 적어도 부분적으로 상주할 수 있으며, 이들 메인 메모리(604) 및 프로세서(602)도 기기 판독 가능 매체를 구성한다. 명령(624)은 네트워크 인터페이스 디바이스(620)를 경유하여 네트워크(626)를 통해 송신되거나 수신될 수 있다.
기기 판독 가능 매체는 명령의 하나 이상의 세트를 저장하는 단일 매체 또는 복수의 매체(예컨대, 중앙화된 또는 분산된 데이터베이스, 및/또는 연관된 캐시 및 서버)이어도 된다. 기기 판독 가능 매체는 드라이브 유닛(616), 스태틱 메모리(606), 메인 메모리(604), 프로세서(602), 입력/출력 인터페이스(612)에 접속된 외부 메모리, 또는 몇몇 다른 메모리를 포함할 수 있다. "기기 판독 가능 매체"라는 표현은 또한 기기에 의한 실행을 위한 명령의 세트를 저장하거나 인코딩하거나 운반할 수 있고 이러한 기기로 하여금 본 명세서에 개시된 실시예의 방법들 중의 어느 하나 또는 그 이상을 수행하도록 하는 어떠한 비일시적 매체(non-transitory medium)도 포함하는 것으로 받아들여질 것이다. "기기 판독 가능 매체"라는 표현은 이에 따라, 이러한 것으로 한정되지는 않지만, 솔리드 스테이트 메모리, 광 매체, 자기 매체와 같은 저장 매체를 포함하는 것으로 받아들여질 것이다.
사용자에게 암호화 키를 제공하기 위한 시스템, 방법 및 기기 판독 가능 매체가 제공된다. 시스템은 키 저장 모듈, 인터페이스 모듈, 및 인증 모듈을 포함할 수 있다. 키 저장 모듈은 사용자를 위한 암호화 키를 암호화 키 서버 상에 저장하도록 구성될 수 있으며, 여기서 암호화 키는 사용자 데이터를 데이터 저장 서버 상에 저장하는 것과 연관된다. 인터페이스 모듈은 사용자에 연관된 클라이언트 기기로부터 암호화 키를 위한 요청을 수신하도록 구성될 수 있다. 인증 모듈은 사용자를 인증하기 위해 구성될 수 있으며, 여기서 인터페이스 모듈은 사용자를 인증하는 것에 응답하여 암호화 키를 클라이언트 기기에게 송신하도록 구성될 수 있다.
당업자는 본 명세서에서 설명된 다양한 예시 블록, 모듈, 구성요소, 콤포넌트, 방법, 및 알고리즘이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있다는 것을 이해할 것이다. 이러한 하드웨어와 소프트웨어의 상호교환성(interchangeability)을 예시하기 위해, 다양한 예시 블록, 모듈, 구성요소, 콤포넌트, 방법 및 알고리즘은 위에서는 전반적으로 이들의 기능의 면에서 설명하였다. 이러한 기능이 하드웨어로서 구현되는지 아니면 소프트웨어로 구현되는지의 여부는 특정 어플리케이션 및 전체 시스템에 가해지는 설계 제약에 좌우된다. 당업자는 전술한 기능을 각각의 특정 어플리케이션을 위한 다양한 방식으로 구현할 수 있을 것이다. 여러 콤포넌트 및 블록은 본 발명의 범위에서 벗어나지 않고서도 상이하게 배열될 수 있다(예컨대, 상이한 순서로 배열되거나, 또는 상이한 방식으로 파티션될 수 있다).
개시된 프로세스에서의 단계의 구체적인 순서 또는 계층은 일례의 접근방법의 예시라는 것을 이해할 것이다. 설계 기호를 기반으로, 프로세스에서의 단계의 구체적인 순서 또는 계층이 재배열될 수도 있다는 것을 이해할 것이다. 단계 중의 몇몇은 동시에 수행될 수도 있다.
이상의 설명은 당업자로 하여금 본 명세서에 설명된 다양한 양태를 실시할 수 있도록 하기 위해 제공된 것이다. 이상의 설명은 본 발명의 다양한 예를 제공하며, 본 발명은 이러한 예로 한정되지 않는다. 이들 양태에 대한 다양한 수정예는 당업자에게 쉽게 명백하게 될 것이며, 본 명세서에서 정해지는 포괄적인 원리는 다른 양태에도 적용될 수 있다.
"양태"와 같은 관용구는 이러한 양태가 본 발명에 필수적인 것이거나 또는 이러한 양태가 본 기술의 구성 전부에 적용된다는 것을 암시하지 않는다. 양태에 관련한 개시 내용은 모든 구성에 적용할 수도 있고 또는 하나 이상의 구성에 적용할 수도 있다. 하나의 양태는 하나 이상의 예를 제공할 수 있다. 단수 표현의 양태와 같은 관용구는 하나 이상의 양태를 지칭할 수도 있으며, 또한 그 반대도 가능하다. "실시예"와 같은 관용구는 이러한 실시예가 본 발명에 필수적인 것이거나 또는 이러한 실시예가 본 발명의 구성 전부에 적용된다는 것을 암시하지 않는다. 실시예에 관련한 개시 내용은 모든 실시예에 적용될 수도 있고, 또는 하나 이상의 실시예에 적용될 수도 있다. 하나의 실시예는 하나 이상의 예를 제공할 수 있다. 단수 표현의 실시예와 같은 관용구는 하나 이상의 실시예를 지칭할 수도 있으며, 또한 그 반대도 가능하다. "구성"과 같은 관용구는 이러한 구성이 본 발명에 필수적인 것이거나 또는 이러한 구성이 본 발명의 구성 전부에 적용된다는 것을 암시하지 않는다. 구성에 관련한 개시 내용은 모든 구성에 적용할 수도 있고, 또는 하나 이상의 구성에 적용할 수도 있다. 하나의 구성은 하나 이상의 예를 제공할 수 있다. 단수 표현의 구성과 같은 관용구는 하나 이상의 구성을 지칭할 수도 있으며, 또한 그 반대도 가능하다.
당업자에게 알려져 있거나 또는 추후에 알려지게 될 본 명세서 전반에 걸쳐 설명된 다양한 양태의 요소에 대한 모든 구조적 및 기능적 등가물은 참고자료로 본 명세서에 명백하게 통합되는 것이며, 청구항들에 의해 포괄되는 것으로 간주된다. 더욱이, 본 명세서에 개시되지 않은 것들은 이러한 개시 내용이 청구항들에서 명백하게 인용되는지의 여부에 상관없이 공개되어 있는 것으로 하도록 의도된다. 청구항 구성요소는 "을 위한 수단"이라는 관용구를 사용하여 명백하게 인용되거나 또는 방법 청구항의 경우에는 "을 위한 단계"라는 관용구를 사용하여 명백하게 인용되지 않는다면 35 U.S.C. §112 6절의 조항 하에서 해석되지 않는다. 더욱이, "구비하는", "갖는" 등의 표현이 상세한 설명 또는 청구항들에서 사용되는 범위에 대해서는, 이러한 표현은 "포함하는"이라는 표현이 청구항에서 이행구로서 채용될 시에 해석될 때의 "포함하는"이라는 표현과 유사한 양상으로 포괄적인 것으로서 간주된다.
Claims (21)
- 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법으로서,
컴퓨터 프로그램의 제1 버전을 갖는 제1 컴퓨팅 기기(machine)에 의해, 적어도 하나의 피어(peer) 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 단계와;
상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 상기 제1 컴퓨팅 기기에서 업데이트 서버로부터 업데이트 패치(patch)를 수신하는 단계와, 상기 업데이트 패치는 컴퓨터 프로그램의 제1 버전과 제2 버전 간의 차이를 포함하고;
상기 컴퓨터 프로그램을 제1 버전으로부터 제2 버전으로 업데이트하기 위해 상기 제1 컴퓨팅 기기에서 상기 업데이트 패치를 실행하는 단계와;
상기 제1 컴퓨팅 기기에서, 제2 컴퓨팅 기기로부터 상기 컴퓨터 프로그램의 상기 제2 버전에 대한 요청을 수신하는 단계와; 그리고
상기 제1 컴퓨팅 기기로부터 상기 제2 컴퓨팅 기기로 상기 컴퓨터 프로그램의 제2 버전을 전송하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는지 여부를 결정하기 전에, 상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속(contact)하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는 것으로 결정한 것에 응답하여, 상기 방법은,
상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제3항에 있어서,
상기 컴퓨터 프로그램의 제2 버전을 상기 제2 컴퓨팅 기기로 전송하는 단계는, 상기 업데이트 패치를 전송하지 않고, 상기 컴퓨터 프로그램의 제2 버전을 갖는 하드 드라이브 파티션의 전체 내용(content)을 전송하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 컴퓨터 프로그램은 상기 제1 컴퓨팅 기기의 메모리에 설치되고, 상기 제1 컴퓨팅 기기의 메모리는 하드 드라이브 파티션인 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 제1 컴퓨팅 기기상의 상기 업데이트 패치의 실행에 후속하여, 상기 컴퓨터 프로그램의 제2 버전이 전송에 이용 가능하다는 것을 상기 제2 컴퓨팅 기기로 지시(indicat)하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 컴퓨터 프로그램은 운영 체제인 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 제2 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 제2 컴퓨팅 기기의 메모리에 저장되고 업데이트 패치의 실행없이 상기 제2 컴퓨팅 기기에 의해 사용되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 제1항에 있어서,
상기 업데이트 패치는 제1 네트워크를 통해 수신되고, 상기 컴퓨터 프로그램의 제2 버전은 제2 네트워크를 통해 상기 제2 컴퓨팅 기기로 전송되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법. - 소프트웨어 업데이트를 제공하기 위한 시스템으로서,
하나 이상의 프로세서와; 그리고
상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령들이 저장된 메모리를 포함하고,
상기 동작들은,
적어도 하나의 피어 기기(peer machine)가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 동작과, 상기 시스템은 상기 컴퓨터 프로그램의 제1 버전을 가지며;
상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 업데이트 서버로부터 상기 컴퓨터 프로그램의 상기 제1 버전과 제2 버전 간의 차이를 포함하는 업데이트 패치를 수신하는 동작과;
상기 컴퓨터 프로그램을 제1 버전으로부터 제2 버전으로 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작과;
상기 컴퓨터 프로그램의 제2 버전에 대한 요청을 피어 컴퓨팅 기기로부터 수신하는 동작과; 그리고
상기 컴퓨터 프로그램의 제2 버전을 상기 피어 컴퓨팅 기기로 전송하는 동작을 포함하고, 상기 피어 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 피어 컴퓨팅 기기의 메모리에 저장되고 상기 업데이트 패치의 실행없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템. - 제10항에 있어서,
적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는지 여부를 결정하기 전에, 상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속하는 동작과; 그리고
적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는 것으로 결정한 것에 응답하여, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 동작을 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템. - 제10항에 있어서,
상기 컴퓨터 프로그램은 시스템의 메모리에 설치되고, 상기 메모리는 하드 드라이브 파티션이고, 그리고
상기 피어 컴퓨팅 기기로 컴퓨터 프로그램의 제2 버전을 전송하는 동작은 상기 컴퓨터 프로그램의 제2 버전이 설치되는 하드 드라이브 파티션의 전체 내용을 전송하는 동작을 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템. - 제10항에 있어서,
상기 동작들은,
상기 하나 이상의 프로세서상의 상기 업데이트 패치의 실행에 후속하여, 상기 컴퓨터 프로그램의 제2 버전이 전송에 이용 가능하다는 것을 상기 피어 컴퓨팅 기기로 지시하는 동작을 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템. - 기기(machine)에 의해 수행될 때 상기 기기로 하여금 동작들을 수행하도록 하는 명령들이 저장된 비-일시적 기계 판독 가능 매체로서,
적어도 하나의 피어 기기(peer machine)가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 동작과, 상기 기기는 상기 컴퓨터 프로그램의 제1 버전을 가지며;
상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 업데이트 서버로부터 상기 컴퓨터 프로그램의 상기 제1 버전과 제2 버전 간의 차이를 포함하는 업데이트 패치를 수신하는 동작과;
상기 컴퓨터 프로그램을 상기 제1 버전으로부터 상기 제2 버전으로 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작과;
상기 컴퓨터 프로그램의 제2 버전에 대한 요청을 근거리 통신망의 피어 컴퓨팅 기기로부터 수신하는 동작과; 그리고
상기 컴퓨터 프로그램의 제2 버전을 상기 피어 컴퓨팅 기기로 전송하는 동작을 포함하고, 상기 피어 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 피어 컴퓨팅 기기의 메모리에 저장되고 상기 업데이트 패치의 실행없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성되는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체. - 제14항에 있어서,
상기 동작들은,
상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속하는 동작과; 그리고
상기 컴퓨터 프로그램의 제1 버전이 최신이 아닌 경우, 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전의 적어도 일부를 갖는지 여부를 결정하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체. - 제15항에 있어서,
상기 동작들은,
적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는 경우, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체. - 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법으로서,
제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에 설치된 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 업데이트 서버에 접속하는 단계와;
상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에 설치된 컴퓨터 프로그램의 제1 버전이 최신이 아닌 경우, 적어도 하나의 피어 기기(machine)가검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 단계와;
상기 제1 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있는 경우, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 검색하는 단계와;
피어 기기들이 검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있지 않은 경우, 상기 제 1 컴퓨팅 디바이스상의 컴퓨터 프로그램을 제 1 버전에서 제 2 버전으로 업데이트하기 위한 업데이트 패치를 업데이트 서버로부터 수신하는 단계와; 그리고
상기 업데이트 패치를 실행하는 단계롤 포함하고, 상기 업데이트 패치는 상기 제 1 컴퓨팅 디바이스상의 컴퓨터 프로그램을 제 1 버전에서 제 2 버전으로 업데이트하도록 구성되는 것을 특징으로 하는 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법. - 제17항에 있어서,
상기 컴퓨터 프로그램의 제2 버전은
업데이트 패치의 실행없이 사용되도록 구성되는 것을 특징으로 하는 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법. - 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/745,709 | 2013-01-18 | ||
US13/745,709 US9420065B2 (en) | 2013-01-18 | 2013-01-18 | Peer-to-peer software updates |
PCT/US2014/011502 WO2014113393A1 (en) | 2013-01-18 | 2014-01-14 | Peer-to-peer software updates |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150110532A KR20150110532A (ko) | 2015-10-02 |
KR101997176B1 true KR101997176B1 (ko) | 2019-07-05 |
Family
ID=51208586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157019555A KR101997176B1 (ko) | 2013-01-18 | 2014-01-14 | 피어-투-피어 소프트웨어 업데이트 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9420065B2 (ko) |
EP (1) | EP2946290B1 (ko) |
KR (1) | KR101997176B1 (ko) |
CN (1) | CN104919423B (ko) |
AU (2) | AU2014207696B2 (ko) |
WO (1) | WO2014113393A1 (ko) |
Families Citing this family (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762467B2 (en) * | 2010-10-25 | 2014-06-24 | Blackberry Limited | System and method for enabling applications to communicate using a peer-to-peer (P2P) system |
US10009065B2 (en) | 2012-12-05 | 2018-06-26 | At&T Intellectual Property I, L.P. | Backhaul link for distributed antenna system |
US9113347B2 (en) | 2012-12-05 | 2015-08-18 | At&T Intellectual Property I, Lp | Backhaul link for distributed antenna system |
US11582101B2 (en) * | 2013-03-29 | 2023-02-14 | Hewlett Packard Enterprise Development Lp | Update of programmable for computing nodes |
US9525524B2 (en) | 2013-05-31 | 2016-12-20 | At&T Intellectual Property I, L.P. | Remote distributed antenna system |
US9999038B2 (en) | 2013-05-31 | 2018-06-12 | At&T Intellectual Property I, L.P. | Remote distributed antenna system |
US8897697B1 (en) | 2013-11-06 | 2014-11-25 | At&T Intellectual Property I, Lp | Millimeter-wave surface-wave communications |
US9209902B2 (en) | 2013-12-10 | 2015-12-08 | At&T Intellectual Property I, L.P. | Quasi-optical coupler |
US9575741B2 (en) * | 2014-03-20 | 2017-02-21 | Google Technology Holdings LLC | Methods and devices for wireless device-to-device software upgrades |
US9692101B2 (en) | 2014-08-26 | 2017-06-27 | At&T Intellectual Property I, L.P. | Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire |
US9768833B2 (en) | 2014-09-15 | 2017-09-19 | At&T Intellectual Property I, L.P. | Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves |
US10063280B2 (en) | 2014-09-17 | 2018-08-28 | At&T Intellectual Property I, L.P. | Monitoring and mitigating conditions in a communication network |
WO2016048326A1 (en) | 2014-09-25 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Identification of a component for upgrade |
US9615269B2 (en) | 2014-10-02 | 2017-04-04 | At&T Intellectual Property I, L.P. | Method and apparatus that provides fault tolerance in a communication network |
US9685992B2 (en) | 2014-10-03 | 2017-06-20 | At&T Intellectual Property I, L.P. | Circuit panel network and methods thereof |
US9503189B2 (en) | 2014-10-10 | 2016-11-22 | At&T Intellectual Property I, L.P. | Method and apparatus for arranging communication sessions in a communication system |
US9973299B2 (en) | 2014-10-14 | 2018-05-15 | At&T Intellectual Property I, L.P. | Method and apparatus for adjusting a mode of communication in a communication network |
US9762289B2 (en) | 2014-10-14 | 2017-09-12 | At&T Intellectual Property I, L.P. | Method and apparatus for transmitting or receiving signals in a transportation system |
US9520945B2 (en) | 2014-10-21 | 2016-12-13 | At&T Intellectual Property I, L.P. | Apparatus for providing communication services and methods thereof |
US9769020B2 (en) | 2014-10-21 | 2017-09-19 | At&T Intellectual Property I, L.P. | Method and apparatus for responding to events affecting communications in a communication network |
US9780834B2 (en) | 2014-10-21 | 2017-10-03 | At&T Intellectual Property I, L.P. | Method and apparatus for transmitting electromagnetic waves |
US9577306B2 (en) | 2014-10-21 | 2017-02-21 | At&T Intellectual Property I, L.P. | Guided-wave transmission device and methods for use therewith |
US9653770B2 (en) | 2014-10-21 | 2017-05-16 | At&T Intellectual Property I, L.P. | Guided wave coupler, coupling module and methods for use therewith |
US9564947B2 (en) | 2014-10-21 | 2017-02-07 | At&T Intellectual Property I, L.P. | Guided-wave transmission device with diversity and methods for use therewith |
US9312919B1 (en) | 2014-10-21 | 2016-04-12 | At&T Intellectual Property I, Lp | Transmission device with impairment compensation and methods for use therewith |
US9627768B2 (en) | 2014-10-21 | 2017-04-18 | At&T Intellectual Property I, L.P. | Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith |
US9461706B1 (en) | 2015-07-31 | 2016-10-04 | At&T Intellectual Property I, Lp | Method and apparatus for exchanging communication signals |
US10340573B2 (en) | 2016-10-26 | 2019-07-02 | At&T Intellectual Property I, L.P. | Launcher with cylindrical coupling device and methods for use therewith |
US10243784B2 (en) | 2014-11-20 | 2019-03-26 | At&T Intellectual Property I, L.P. | System for generating topology information and methods thereof |
US9680670B2 (en) | 2014-11-20 | 2017-06-13 | At&T Intellectual Property I, L.P. | Transmission device with channel equalization and control and methods for use therewith |
US9997819B2 (en) | 2015-06-09 | 2018-06-12 | At&T Intellectual Property I, L.P. | Transmission medium and method for facilitating propagation of electromagnetic waves via a core |
US9800327B2 (en) | 2014-11-20 | 2017-10-24 | At&T Intellectual Property I, L.P. | Apparatus for controlling operations of a communication device and methods thereof |
US9954287B2 (en) | 2014-11-20 | 2018-04-24 | At&T Intellectual Property I, L.P. | Apparatus for converting wireless signals and electromagnetic waves and methods thereof |
US9544006B2 (en) | 2014-11-20 | 2017-01-10 | At&T Intellectual Property I, L.P. | Transmission device with mode division multiplexing and methods for use therewith |
US9654173B2 (en) | 2014-11-20 | 2017-05-16 | At&T Intellectual Property I, L.P. | Apparatus for powering a communication device and methods thereof |
US9742462B2 (en) | 2014-12-04 | 2017-08-22 | At&T Intellectual Property I, L.P. | Transmission medium and communication interfaces and methods for use therewith |
US10009067B2 (en) | 2014-12-04 | 2018-06-26 | At&T Intellectual Property I, L.P. | Method and apparatus for configuring a communication interface |
US10144036B2 (en) | 2015-01-30 | 2018-12-04 | At&T Intellectual Property I, L.P. | Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium |
US9876570B2 (en) | 2015-02-20 | 2018-01-23 | At&T Intellectual Property I, Lp | Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith |
US9749013B2 (en) | 2015-03-17 | 2017-08-29 | At&T Intellectual Property I, L.P. | Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium |
US9959109B2 (en) | 2015-04-10 | 2018-05-01 | Avigilon Corporation | Upgrading a physical security system having multiple server nodes |
US9705561B2 (en) | 2015-04-24 | 2017-07-11 | At&T Intellectual Property I, L.P. | Directional coupling device and methods for use therewith |
US10224981B2 (en) | 2015-04-24 | 2019-03-05 | At&T Intellectual Property I, Lp | Passive electrical coupling device and methods for use therewith |
US9948354B2 (en) | 2015-04-28 | 2018-04-17 | At&T Intellectual Property I, L.P. | Magnetic coupling device with reflective plate and methods for use therewith |
US9793954B2 (en) | 2015-04-28 | 2017-10-17 | At&T Intellectual Property I, L.P. | Magnetic coupling device and methods for use therewith |
US10142167B2 (en) * | 2015-05-13 | 2018-11-27 | Cisco Technology, Inc. | Peer-assisted image update with self-healing capabilities |
US9490869B1 (en) | 2015-05-14 | 2016-11-08 | At&T Intellectual Property I, L.P. | Transmission medium having multiple cores and methods for use therewith |
US9748626B2 (en) | 2015-05-14 | 2017-08-29 | At&T Intellectual Property I, L.P. | Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium |
US9871282B2 (en) | 2015-05-14 | 2018-01-16 | At&T Intellectual Property I, L.P. | At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric |
US10679767B2 (en) | 2015-05-15 | 2020-06-09 | At&T Intellectual Property I, L.P. | Transmission medium having a conductive material and methods for use therewith |
US10650940B2 (en) | 2015-05-15 | 2020-05-12 | At&T Intellectual Property I, L.P. | Transmission medium having a conductive material and methods for use therewith |
US9917341B2 (en) | 2015-05-27 | 2018-03-13 | At&T Intellectual Property I, L.P. | Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves |
US10103801B2 (en) | 2015-06-03 | 2018-10-16 | At&T Intellectual Property I, L.P. | Host node device and methods for use therewith |
US10812174B2 (en) | 2015-06-03 | 2020-10-20 | At&T Intellectual Property I, L.P. | Client node device and methods for use therewith |
US9866309B2 (en) | 2015-06-03 | 2018-01-09 | At&T Intellectual Property I, Lp | Host node device and methods for use therewith |
US10348391B2 (en) | 2015-06-03 | 2019-07-09 | At&T Intellectual Property I, L.P. | Client node device with frequency conversion and methods for use therewith |
US10154493B2 (en) | 2015-06-03 | 2018-12-11 | At&T Intellectual Property I, L.P. | Network termination and methods for use therewith |
US9912381B2 (en) | 2015-06-03 | 2018-03-06 | At&T Intellectual Property I, Lp | Network termination and methods for use therewith |
US9913139B2 (en) | 2015-06-09 | 2018-03-06 | At&T Intellectual Property I, L.P. | Signal fingerprinting for authentication of communicating devices |
US9608692B2 (en) | 2015-06-11 | 2017-03-28 | At&T Intellectual Property I, L.P. | Repeater and methods for use therewith |
US10142086B2 (en) | 2015-06-11 | 2018-11-27 | At&T Intellectual Property I, L.P. | Repeater and methods for use therewith |
US9820146B2 (en) | 2015-06-12 | 2017-11-14 | At&T Intellectual Property I, L.P. | Method and apparatus for authentication and identity management of communicating devices |
US9667317B2 (en) | 2015-06-15 | 2017-05-30 | At&T Intellectual Property I, L.P. | Method and apparatus for providing security using network traffic adjustments |
US9640850B2 (en) | 2015-06-25 | 2017-05-02 | At&T Intellectual Property I, L.P. | Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium |
US9865911B2 (en) | 2015-06-25 | 2018-01-09 | At&T Intellectual Property I, L.P. | Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium |
US9509415B1 (en) | 2015-06-25 | 2016-11-29 | At&T Intellectual Property I, L.P. | Methods and apparatus for inducing a fundamental wave mode on a transmission medium |
US20160378455A1 (en) * | 2015-06-29 | 2016-12-29 | Facebook, Inc. | Methods and Systems for Installing an Application Version via Close-Range Communications |
US10320586B2 (en) | 2015-07-14 | 2019-06-11 | At&T Intellectual Property I, L.P. | Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium |
US9836957B2 (en) | 2015-07-14 | 2017-12-05 | At&T Intellectual Property I, L.P. | Method and apparatus for communicating with premises equipment |
US9722318B2 (en) | 2015-07-14 | 2017-08-01 | At&T Intellectual Property I, L.P. | Method and apparatus for coupling an antenna to a device |
US9882257B2 (en) | 2015-07-14 | 2018-01-30 | At&T Intellectual Property I, L.P. | Method and apparatus for launching a wave mode that mitigates interference |
US9853342B2 (en) | 2015-07-14 | 2017-12-26 | At&T Intellectual Property I, L.P. | Dielectric transmission medium connector and methods for use therewith |
US10148016B2 (en) | 2015-07-14 | 2018-12-04 | At&T Intellectual Property I, L.P. | Apparatus and methods for communicating utilizing an antenna array |
US10033107B2 (en) | 2015-07-14 | 2018-07-24 | At&T Intellectual Property I, L.P. | Method and apparatus for coupling an antenna to a device |
US10205655B2 (en) | 2015-07-14 | 2019-02-12 | At&T Intellectual Property I, L.P. | Apparatus and methods for communicating utilizing an antenna array and multiple communication paths |
US10170840B2 (en) | 2015-07-14 | 2019-01-01 | At&T Intellectual Property I, L.P. | Apparatus and methods for sending or receiving electromagnetic signals |
US10033108B2 (en) | 2015-07-14 | 2018-07-24 | At&T Intellectual Property I, L.P. | Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference |
US9847566B2 (en) | 2015-07-14 | 2017-12-19 | At&T Intellectual Property I, L.P. | Method and apparatus for adjusting a field of a signal to mitigate interference |
US10044409B2 (en) | 2015-07-14 | 2018-08-07 | At&T Intellectual Property I, L.P. | Transmission medium and methods for use therewith |
US10341142B2 (en) | 2015-07-14 | 2019-07-02 | At&T Intellectual Property I, L.P. | Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor |
US9628116B2 (en) | 2015-07-14 | 2017-04-18 | At&T Intellectual Property I, L.P. | Apparatus and methods for transmitting wireless signals |
US9608740B2 (en) | 2015-07-15 | 2017-03-28 | At&T Intellectual Property I, L.P. | Method and apparatus for launching a wave mode that mitigates interference |
US9793951B2 (en) | 2015-07-15 | 2017-10-17 | At&T Intellectual Property I, L.P. | Method and apparatus for launching a wave mode that mitigates interference |
US10090606B2 (en) | 2015-07-15 | 2018-10-02 | At&T Intellectual Property I, L.P. | Antenna system with dielectric array and methods for use therewith |
US9871283B2 (en) | 2015-07-23 | 2018-01-16 | At&T Intellectual Property I, Lp | Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration |
US9948333B2 (en) | 2015-07-23 | 2018-04-17 | At&T Intellectual Property I, L.P. | Method and apparatus for wireless communications to mitigate interference |
US10784670B2 (en) | 2015-07-23 | 2020-09-22 | At&T Intellectual Property I, L.P. | Antenna support for aligning an antenna |
US9749053B2 (en) | 2015-07-23 | 2017-08-29 | At&T Intellectual Property I, L.P. | Node device, repeater and methods for use therewith |
US9912027B2 (en) | 2015-07-23 | 2018-03-06 | At&T Intellectual Property I, L.P. | Method and apparatus for exchanging communication signals |
US9967173B2 (en) | 2015-07-31 | 2018-05-08 | At&T Intellectual Property I, L.P. | Method and apparatus for authentication and identity management of communicating devices |
US9735833B2 (en) | 2015-07-31 | 2017-08-15 | At&T Intellectual Property I, L.P. | Method and apparatus for communications management in a neighborhood network |
US10020587B2 (en) | 2015-07-31 | 2018-07-10 | At&T Intellectual Property I, L.P. | Radial antenna and methods for use therewith |
US9904535B2 (en) | 2015-09-14 | 2018-02-27 | At&T Intellectual Property I, L.P. | Method and apparatus for distributing software |
US10009901B2 (en) | 2015-09-16 | 2018-06-26 | At&T Intellectual Property I, L.P. | Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations |
US10009063B2 (en) | 2015-09-16 | 2018-06-26 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal |
US10079661B2 (en) | 2015-09-16 | 2018-09-18 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system having a clock reference |
US10136434B2 (en) | 2015-09-16 | 2018-11-20 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel |
US10051629B2 (en) | 2015-09-16 | 2018-08-14 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system having an in-band reference signal |
US9705571B2 (en) | 2015-09-16 | 2017-07-11 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system |
US9769128B2 (en) | 2015-09-28 | 2017-09-19 | At&T Intellectual Property I, L.P. | Method and apparatus for encryption of communications over a network |
US9729197B2 (en) | 2015-10-01 | 2017-08-08 | At&T Intellectual Property I, L.P. | Method and apparatus for communicating network management traffic over a network |
US9876264B2 (en) | 2015-10-02 | 2018-01-23 | At&T Intellectual Property I, Lp | Communication system, guided wave switch and methods for use therewith |
US9882277B2 (en) | 2015-10-02 | 2018-01-30 | At&T Intellectual Property I, Lp | Communication device and antenna assembly with actuated gimbal mount |
US10074890B2 (en) | 2015-10-02 | 2018-09-11 | At&T Intellectual Property I, L.P. | Communication device and antenna with integrated light assembly |
US10355367B2 (en) | 2015-10-16 | 2019-07-16 | At&T Intellectual Property I, L.P. | Antenna structure for exchanging wireless signals |
US10665942B2 (en) | 2015-10-16 | 2020-05-26 | At&T Intellectual Property I, L.P. | Method and apparatus for adjusting wireless communications |
US10051483B2 (en) | 2015-10-16 | 2018-08-14 | At&T Intellectual Property I, L.P. | Method and apparatus for directing wireless signals |
CN106919411A (zh) * | 2015-12-25 | 2017-07-04 | 英业达科技有限公司 | 适用于Linux的操作***更新***及其方法 |
US9912419B1 (en) | 2016-08-24 | 2018-03-06 | At&T Intellectual Property I, L.P. | Method and apparatus for managing a fault in a distributed antenna system |
US9860075B1 (en) | 2016-08-26 | 2018-01-02 | At&T Intellectual Property I, L.P. | Method and communication node for broadband distribution |
US10291311B2 (en) | 2016-09-09 | 2019-05-14 | At&T Intellectual Property I, L.P. | Method and apparatus for mitigating a fault in a distributed antenna system |
US11032819B2 (en) | 2016-09-15 | 2021-06-08 | At&T Intellectual Property I, L.P. | Method and apparatus for use with a radio distributed antenna system having a control channel reference signal |
US10135146B2 (en) | 2016-10-18 | 2018-11-20 | At&T Intellectual Property I, L.P. | Apparatus and methods for launching guided waves via circuits |
US10340600B2 (en) | 2016-10-18 | 2019-07-02 | At&T Intellectual Property I, L.P. | Apparatus and methods for launching guided waves via plural waveguide systems |
US10135147B2 (en) | 2016-10-18 | 2018-11-20 | At&T Intellectual Property I, L.P. | Apparatus and methods for launching guided waves via an antenna |
US10811767B2 (en) | 2016-10-21 | 2020-10-20 | At&T Intellectual Property I, L.P. | System and dielectric antenna with convex dielectric radome |
US10374316B2 (en) | 2016-10-21 | 2019-08-06 | At&T Intellectual Property I, L.P. | System and dielectric antenna with non-uniform dielectric |
US9876605B1 (en) | 2016-10-21 | 2018-01-23 | At&T Intellectual Property I, L.P. | Launcher and coupling system to support desired guided wave mode |
US9991580B2 (en) | 2016-10-21 | 2018-06-05 | At&T Intellectual Property I, L.P. | Launcher and coupling system for guided wave mode cancellation |
US10312567B2 (en) | 2016-10-26 | 2019-06-04 | At&T Intellectual Property I, L.P. | Launcher with planar strip antenna and methods for use therewith |
US10747527B2 (en) * | 2016-11-01 | 2020-08-18 | Johnson Controls Technology Company | Multi-zone system with software update features |
US10498044B2 (en) | 2016-11-03 | 2019-12-03 | At&T Intellectual Property I, L.P. | Apparatus for configuring a surface of an antenna |
US10225025B2 (en) | 2016-11-03 | 2019-03-05 | At&T Intellectual Property I, L.P. | Method and apparatus for detecting a fault in a communication system |
US10224634B2 (en) | 2016-11-03 | 2019-03-05 | At&T Intellectual Property I, L.P. | Methods and apparatus for adjusting an operational characteristic of an antenna |
US10291334B2 (en) | 2016-11-03 | 2019-05-14 | At&T Intellectual Property I, L.P. | System for detecting a fault in a communication system |
US10340601B2 (en) | 2016-11-23 | 2019-07-02 | At&T Intellectual Property I, L.P. | Multi-antenna system and methods for use therewith |
US10340603B2 (en) | 2016-11-23 | 2019-07-02 | At&T Intellectual Property I, L.P. | Antenna system having shielded structural configurations for assembly |
US10178445B2 (en) | 2016-11-23 | 2019-01-08 | At&T Intellectual Property I, L.P. | Methods, devices, and systems for load balancing between a plurality of waveguides |
US10535928B2 (en) | 2016-11-23 | 2020-01-14 | At&T Intellectual Property I, L.P. | Antenna system and methods for use therewith |
US10090594B2 (en) | 2016-11-23 | 2018-10-02 | At&T Intellectual Property I, L.P. | Antenna system having structural configurations for assembly |
US10305190B2 (en) | 2016-12-01 | 2019-05-28 | At&T Intellectual Property I, L.P. | Reflecting dielectric antenna system and methods for use therewith |
US10361489B2 (en) | 2016-12-01 | 2019-07-23 | At&T Intellectual Property I, L.P. | Dielectric dish antenna system and methods for use therewith |
US10135145B2 (en) | 2016-12-06 | 2018-11-20 | At&T Intellectual Property I, L.P. | Apparatus and methods for generating an electromagnetic wave along a transmission medium |
US10755542B2 (en) | 2016-12-06 | 2020-08-25 | At&T Intellectual Property I, L.P. | Method and apparatus for surveillance via guided wave communication |
US10382976B2 (en) | 2016-12-06 | 2019-08-13 | At&T Intellectual Property I, L.P. | Method and apparatus for managing wireless communications based on communication paths and network device positions |
US10694379B2 (en) | 2016-12-06 | 2020-06-23 | At&T Intellectual Property I, L.P. | Waveguide system with device-based authentication and methods for use therewith |
US10020844B2 (en) | 2016-12-06 | 2018-07-10 | T&T Intellectual Property I, L.P. | Method and apparatus for broadcast communication via guided waves |
US10727599B2 (en) | 2016-12-06 | 2020-07-28 | At&T Intellectual Property I, L.P. | Launcher with slot antenna and methods for use therewith |
US10819035B2 (en) | 2016-12-06 | 2020-10-27 | At&T Intellectual Property I, L.P. | Launcher with helical antenna and methods for use therewith |
US10637149B2 (en) | 2016-12-06 | 2020-04-28 | At&T Intellectual Property I, L.P. | Injection molded dielectric antenna and methods for use therewith |
US9927517B1 (en) | 2016-12-06 | 2018-03-27 | At&T Intellectual Property I, L.P. | Apparatus and methods for sensing rainfall |
US10439675B2 (en) | 2016-12-06 | 2019-10-08 | At&T Intellectual Property I, L.P. | Method and apparatus for repeating guided wave communication signals |
US10326494B2 (en) | 2016-12-06 | 2019-06-18 | At&T Intellectual Property I, L.P. | Apparatus for measurement de-embedding and methods for use therewith |
US9893795B1 (en) | 2016-12-07 | 2018-02-13 | At&T Intellectual Property I, Lp | Method and repeater for broadband distribution |
US10243270B2 (en) | 2016-12-07 | 2019-03-26 | At&T Intellectual Property I, L.P. | Beam adaptive multi-feed dielectric antenna system and methods for use therewith |
US10027397B2 (en) | 2016-12-07 | 2018-07-17 | At&T Intellectual Property I, L.P. | Distributed antenna system and methods for use therewith |
US10139820B2 (en) | 2016-12-07 | 2018-11-27 | At&T Intellectual Property I, L.P. | Method and apparatus for deploying equipment of a communication system |
US10168695B2 (en) | 2016-12-07 | 2019-01-01 | At&T Intellectual Property I, L.P. | Method and apparatus for controlling an unmanned aircraft |
US10359749B2 (en) | 2016-12-07 | 2019-07-23 | At&T Intellectual Property I, L.P. | Method and apparatus for utilities management via guided wave communication |
US10389029B2 (en) | 2016-12-07 | 2019-08-20 | At&T Intellectual Property I, L.P. | Multi-feed dielectric antenna system with core selection and methods for use therewith |
US10446936B2 (en) | 2016-12-07 | 2019-10-15 | At&T Intellectual Property I, L.P. | Multi-feed dielectric antenna system and methods for use therewith |
US10547348B2 (en) | 2016-12-07 | 2020-01-28 | At&T Intellectual Property I, L.P. | Method and apparatus for switching transmission mediums in a communication system |
US10938108B2 (en) | 2016-12-08 | 2021-03-02 | At&T Intellectual Property I, L.P. | Frequency selective multi-feed dielectric antenna system and methods for use therewith |
US10389037B2 (en) | 2016-12-08 | 2019-08-20 | At&T Intellectual Property I, L.P. | Apparatus and methods for selecting sections of an antenna array and use therewith |
US10103422B2 (en) | 2016-12-08 | 2018-10-16 | At&T Intellectual Property I, L.P. | Method and apparatus for mounting network devices |
US10411356B2 (en) | 2016-12-08 | 2019-09-10 | At&T Intellectual Property I, L.P. | Apparatus and methods for selectively targeting communication devices with an antenna array |
US10601494B2 (en) | 2016-12-08 | 2020-03-24 | At&T Intellectual Property I, L.P. | Dual-band communication device and method for use therewith |
US10530505B2 (en) | 2016-12-08 | 2020-01-07 | At&T Intellectual Property I, L.P. | Apparatus and methods for launching electromagnetic waves along a transmission medium |
US9911020B1 (en) | 2016-12-08 | 2018-03-06 | At&T Intellectual Property I, L.P. | Method and apparatus for tracking via a radio frequency identification device |
US10777873B2 (en) | 2016-12-08 | 2020-09-15 | At&T Intellectual Property I, L.P. | Method and apparatus for mounting network devices |
US10326689B2 (en) | 2016-12-08 | 2019-06-18 | At&T Intellectual Property I, L.P. | Method and system for providing alternative communication paths |
US10069535B2 (en) | 2016-12-08 | 2018-09-04 | At&T Intellectual Property I, L.P. | Apparatus and methods for launching electromagnetic waves having a certain electric field structure |
US9998870B1 (en) | 2016-12-08 | 2018-06-12 | At&T Intellectual Property I, L.P. | Method and apparatus for proximity sensing |
US10916969B2 (en) | 2016-12-08 | 2021-02-09 | At&T Intellectual Property I, L.P. | Method and apparatus for providing power using an inductive coupling |
US9838896B1 (en) | 2016-12-09 | 2017-12-05 | At&T Intellectual Property I, L.P. | Method and apparatus for assessing network coverage |
US10264586B2 (en) | 2016-12-09 | 2019-04-16 | At&T Mobility Ii Llc | Cloud-based packet controller and methods for use therewith |
US10340983B2 (en) | 2016-12-09 | 2019-07-02 | At&T Intellectual Property I, L.P. | Method and apparatus for surveying remote sites via guided wave communications |
US9973940B1 (en) | 2017-02-27 | 2018-05-15 | At&T Intellectual Property I, L.P. | Apparatus and methods for dynamic impedance matching of a guided wave launcher |
US10298293B2 (en) | 2017-03-13 | 2019-05-21 | At&T Intellectual Property I, L.P. | Apparatus of communication utilizing wireless network devices |
EP3418887A1 (en) * | 2017-06-19 | 2018-12-26 | Clarion Co., Ltd. | Electronic device and program updating method |
US20190056929A1 (en) * | 2017-08-17 | 2019-02-21 | Ability Enterprise Co., Ltd. | Data transmission method and communication system |
JP6679553B2 (ja) * | 2017-10-06 | 2020-04-15 | 任天堂株式会社 | 情報処理システムおよび情報処理方法 |
US11307843B2 (en) | 2018-04-20 | 2022-04-19 | Carrier Corporation | Automatic device-to-device firmware upgrade of a wireless network |
US11120135B2 (en) * | 2018-09-28 | 2021-09-14 | International Business Machines Corporation | Updating security information on multiple computing machines |
CN109634630A (zh) * | 2018-10-29 | 2019-04-16 | 平安科技(深圳)有限公司 | 应用程序更新方法、装置、电子设备及存储介质 |
US10986686B2 (en) | 2019-07-11 | 2021-04-20 | International Business Machines Corporation | Offline device management |
JP2021149461A (ja) * | 2020-03-18 | 2021-09-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、情報処理システム、及びプログラム |
KR102302765B1 (ko) * | 2020-04-10 | 2021-09-15 | 엔에이치엔 주식회사 | 클라이언트 장치를 제어하는 무선 통신 단말기 및 방법 |
EP4047615A1 (en) | 2021-02-23 | 2022-08-24 | Roche Diabetes Care GmbH | Medical software for displaying and analyzing blood glucose data for use in a heterogeneous computing network in medical practices |
EP4155907A1 (en) * | 2021-09-28 | 2023-03-29 | Hill-Rom Services, Inc. | Systems and methods for peer-to-peer automatic software updates |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133650A1 (en) | 2006-12-05 | 2008-06-05 | Anssi Saarimaki | Software distribution via peer-to-peer networks |
US7584261B1 (en) | 2001-02-09 | 2009-09-01 | Microsoft Corporation | Distribution of binary executables and content from peer locations/machines |
WO2011069730A1 (en) * | 2009-12-10 | 2011-06-16 | International Business Machines Corporation | A method and system for managing configurations of system management agents in a distributed environment |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006586A1 (en) | 2002-04-23 | 2004-01-08 | Secure Resolutions, Inc. | Distributed server software distribution |
DE10241957A1 (de) | 2002-09-10 | 2004-03-18 | Siemens Ag | Datenkommunikationssystem, Rechner, sowie Verfahren zur Aktualisierung von auf einem Rechner eines Datenkommunikationsystems gespeicherter Software |
US20040111505A1 (en) * | 2002-12-10 | 2004-06-10 | Sun Microsystems, Inc. | Method, system, and article of manufacture for network management |
US8234705B1 (en) * | 2004-09-27 | 2012-07-31 | Radix Holdings, Llc | Contagion isolation and inoculation |
US7716660B2 (en) * | 2004-12-14 | 2010-05-11 | Microsoft Corporation | Method and system for downloading updates |
JP2006285601A (ja) * | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | ファイル配信方法とそれを実現するクライアント端末 |
US8291093B2 (en) * | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
US8316364B2 (en) | 2007-02-28 | 2012-11-20 | Red Hat, Inc. | Peer-to-peer software update distribution network |
US8024723B2 (en) * | 2007-05-18 | 2011-09-20 | Samsung Electronics Co., Ltd. | System and method for peer-to-peer datacasting in a broadcasting network |
US9146725B2 (en) | 2009-11-04 | 2015-09-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Propagating firmware updates in a peer-to-peer network environment |
US8924952B1 (en) * | 2012-06-27 | 2014-12-30 | Amazon Technologies, Inc. | Updating software utilizing multiple partitions |
-
2013
- 2013-01-18 US US13/745,709 patent/US9420065B2/en active Active
-
2014
- 2014-01-14 CN CN201480005291.1A patent/CN104919423B/zh active Active
- 2014-01-14 KR KR1020157019555A patent/KR101997176B1/ko active IP Right Grant
- 2014-01-14 AU AU2014207696A patent/AU2014207696B2/en active Active
- 2014-01-14 EP EP14740395.0A patent/EP2946290B1/en active Active
- 2014-01-14 WO PCT/US2014/011502 patent/WO2014113393A1/en active Application Filing
-
2019
- 2019-04-24 AU AU2019202887A patent/AU2019202887B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584261B1 (en) | 2001-02-09 | 2009-09-01 | Microsoft Corporation | Distribution of binary executables and content from peer locations/machines |
US20080133650A1 (en) | 2006-12-05 | 2008-06-05 | Anssi Saarimaki | Software distribution via peer-to-peer networks |
WO2011069730A1 (en) * | 2009-12-10 | 2011-06-16 | International Business Machines Corporation | A method and system for managing configurations of system management agents in a distributed environment |
Also Published As
Publication number | Publication date |
---|---|
CN104919423B (zh) | 2019-11-05 |
EP2946290B1 (en) | 2018-03-07 |
US20140207844A1 (en) | 2014-07-24 |
AU2014207696B2 (en) | 2019-01-24 |
EP2946290A4 (en) | 2017-02-15 |
EP2946290A1 (en) | 2015-11-25 |
US9420065B2 (en) | 2016-08-16 |
AU2019202887B2 (en) | 2020-08-27 |
CN104919423A (zh) | 2015-09-16 |
AU2019202887A1 (en) | 2019-05-16 |
KR20150110532A (ko) | 2015-10-02 |
WO2014113393A1 (en) | 2014-07-24 |
AU2014207696A1 (en) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101997176B1 (ko) | 피어-투-피어 소프트웨어 업데이트 | |
US9485300B2 (en) | Publish-subscribe platform for cloud file distribution | |
US20180343111A1 (en) | Supporting distributed ledgers in a micro-services environment | |
US8903838B2 (en) | System and method for preventing duplicate file uploads in a synchronized content management system | |
US9229701B2 (en) | Local store data versioning | |
EP3289513B1 (en) | Protecting user identifiable information in the transfer of telemetry data | |
US20130232187A1 (en) | Systems and methods for managing data in a networked communication system | |
US10069940B2 (en) | Deployment meta-data based applicability targetting | |
KR101198437B1 (ko) | 컨텍스트 트리거형 배포 방법, 장치 및 컴퓨터 판독 가능한 저장매체 | |
US10430441B1 (en) | Tagging resources of a remote computing service based on locality | |
US11886390B2 (en) | Data file partition and replication | |
CN107291481A (zh) | 一种组件更新方法、装置和*** | |
CN110990038B (zh) | 用于应用局部更新的方法、装置、电子设备和介质 | |
WO2015102932A1 (en) | Simulated tethering of computing devices | |
US9614932B2 (en) | Managing and implementing web application data snapshots | |
US20230305837A1 (en) | Data file partition and replication | |
US10880347B1 (en) | Media players for digital display devices using proxy services for offline capability | |
US11403093B1 (en) | Application modification with proxy service process | |
US10769586B2 (en) | Implementation of rolling key to identify systems inventories | |
CN114237679A (zh) | 一种基于BSDiff算法的离线资源更新方法及*** | |
US8645839B2 (en) | Online desktop distribution |
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 | ||
GRNT | Written decision to grant |