KR20010043153A - 스플리트 파일 시스템 - Google Patents
스플리트 파일 시스템 Download PDFInfo
- Publication number
- KR20010043153A KR20010043153A KR1020007012057A KR20007012057A KR20010043153A KR 20010043153 A KR20010043153 A KR 20010043153A KR 1020007012057 A KR1020007012057 A KR 1020007012057A KR 20007012057 A KR20007012057 A KR 20007012057A KR 20010043153 A KR20010043153 A KR 20010043153A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- microcontroller
- file system
- memory
- based device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
마이크로 컨트롤러 기반의 장치의 집합을 위한 파일시스템에 관한 것이다. 그 마이크로 컨트롤러 기반의 장치는 연산/논리부; 리드/라이트 메모리, 및 프로그램 메모리로 구성되고, 파일 시스템은 상기 프로그램 메모리내에 저장된 데이터 테이블과 호스트 컴퓨터에 대해 저장된 서류 목록으로 구성된다. 데이터 테이블은 일련의 데이터 파일이고 서류 목록은 각 데이터 파일에 대한 길이 및 오프셋 정보를 포함한다. 마이크로컨트롤러 기반의 장치에 대해 데이터 파일의 집합을 위한 파일 시스템을 생성하고 관리하는 방법이 제공되는데, 그 마이크로 컨트롤러 기반의 장치는 논리/연산부, 리드/라이트 메모리, 및 프로그램 메모리를 포함하고, 그 방법은 프로그램 메모리내에서 저장을 위한 데이터 테이블을 제공하고 호스트 컴퓨터에 대해 저장을 위한 서류 목록을 제공하는 단계를 포함한다.
Description
일반적으로, "임베디드 시스템"(embedded system)이라는 용어는 어떤 큰 시스템의 한 구성요소를 형성하는 컴퓨터 하드웨어와 소프트웨어의 결합을 의미한다. 임베디드 시스템들은 그 일부를 형성하는 큰 시스템에 의한 개입없이, 그리고 임의의 자원으로부터의 입력들을 빈번하게 제어 또는 감독할 필요성이 없이 동작하도록 의도된 것이다. 임베디드 시스템들은 보통 단순하게 설계되고 종종 대량 저장 구성요소들 또는 복잡한 주변장치들을 포함하지 않는다.
임베디드 시스템들은 서비스 또는 팔린 생산품 공급에 대한 필요성을 알리기 위한 단순한 컴퓨터 네트워크 인터페이스를 제공하는 자판기 내에 위치한다. 또한 사무실 환경에서 어떤 복사기에는 작동 상태를 알리기 위해 임베디드 시스템을 사용하고, 임베디드 시스템은 시청자의 텔레비전 세트를 통해 인터넷 웹 브라우저 특징을 제공하도록 설계된 텔레비전 셋톱 박스들내에 제안되었다.
컴퓨터 네트워크, 예를 들면, 인터넷 억세스를 위해 설계된 특별화된 웹서버들과 같은 것에 의해서 억세스 가능한 임베디드 시스템들이 배치될 수 있다. 일반적으로, 이러한 웹 서버기능은 임베디드 장치 인터페이스로 제한된다. 그러나 보통 이러한 장치는 인터페이스들을 일일히 열거하고 생성하는데 이용된 데이터 파일을 공급할 수 있다.
일반적으로 이이피롬(EEPROM)(전기적으로 소거가능한 프로그래머블 읽기 전용 메모리)수천 바이트로 제한된(8-비트 기억 위치들) 임베디드 시스템의 상기 제한된 비휘발성 메모리내에 있는 데이터 파일들을 저장하기 위해 요구된 공간을 최소화하기 위하여, 고정된 어드레스 테이블을 가진 몇몇 고정길이 데이터 파일이 제공된다. 이런 형태의 데이터 구조는 여전히 어드레스 테이블에 대한 저장공간과 저장된 데이터를 억세스 하기 위한 최소한의 파일 억세스 유틸리티(예를 들면, 읽기 경로)를 요구한다.
한편 이러한 스트립 다운(stripped-down) 데이터 구조는 어떤 응용에 적당할 수도 있지만, 데이터 파일들이 변경되고, 제거되고 또는 추가되는데 필요할 수도 있는 환경에서 동작하는데 있어서 유연성이 부족하다. 따라서, 제한된 저장 능력을 가지는 마이크로 컴퓨터 기반의 시스템에 관련해 동작하도록 설계된 유연한 파일 시스템에 대한 필요성이 일어나고 있다. 그러한 파일 시스템은 데이터 파일 그 자체에 대한 임베디드 시스템의 저장 능력을 가능한 한 많이 보존하면서 파일 시스템 서비스의 범위를 제공해야만 한다.
본 발명은 일반적으로 제한된 자원을 가진 마이크로 컴퓨터 기반의 장치들에 대한 파일 시스템에 관한 것으로, 보다 상세하게는 전문화된 웹서버로 동작하는 마이크로 컴퓨터 기반의 장치들에 대한 인터페이스들을 일일이 열거하고 생성하는데 사용된 데이터 파일에 관한 것이고, 더욱 상세하게는 임베디드 제어기(embedded controller) 자체내에 마이크로 컴퓨터 기반의 시스템의 데이터 저장을 억세스하는 최소의 소프트웨어 경로 세트를 배열하는 한편 호스트 컴퓨터내에 파일시스템의 모든 고수준의 소프트웨어 구성요소를 배열하는 방법과 시스템에 관한 것이다.
도 1 은 본 발명에 따른 스플리트 파일 시스템의 일반적 구조 및 동작을 블록 다이어그램 형태로 나타낸 것이다;
도 2 는 본 발명에 따른 스플리트 파일 시스템의 데이터 조직을 나타낸 것이다;
도 3 은 본 발명에 따른 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들을 위한 파일 시스템을 유지하기 위한 방법의 흐름도이다.
이러한 필요성과 그밖의 다른 것들은 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 수집을 위한 파일시스템에 관한 본 발명의 방법에 의해 만족되며, 마이크로 컨트롤러 기반의 장치는 연산/논리부, 리드/라이트 메모리 및 프로그램 메모리, 및 프로그램 메모리내에 저장된 데이터 테이블과 호스트 컴퓨터상에 저장된 서류 목록으로 구성되는 파일시스템을 포함한다. 그 데이터 테이블은 일련의 데이터 파일과 각 데이터 파일에 대해 길이 및 오프셋 정보를 포함하는 서류 목록들이다.
본 발명의 하나의 관점에 있어서, 데이터 파일 세트는 연결된 일련의 압축 데이터 파일들 일 수도 있다. 그 파일시스템은 길이와 오프셋 정보를 검색하는 호스트 컴퓨터에 대한 서류 목록의 내용을 억세스 하는 수단과 그 검색된 길이 및 오프셋 정보를 사용하는 원하는 데이터 파일을 검색하는 수단을 더 포함한다.
본 발명의 한 형태에 있어서, 비록 이것은 본 발명에 따른 시스템에 대해 요구된 것은 아니지만, 데이터 파일들의 집합의 적어도 하나는 예를 들면 HTML 서류와 같은 리치 텍스트(rich text) 서류일 수도 있다.
본 발명의 또 다른 관점에 있어서, 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일의 수집을 위한 파일 시스템을 생성하고 관리하기 위한 방법이 설명되는데, 마이크로 컨트롤러는 연산/논리부, 리드/라이트 메모리 및 프로그램 메모리를 포함한다. 이 방법은 프로그램 메모리내에 저장하기 위한 데이터 테이블을 제공하는 단계와 호스트 컴퓨터에 대해 저장하기 위한 서류 목록을 제공하는 단계로 구성된다.
데이터 테이블 제공단계는 일련의 원하는 파일들내에 각 파일을 압축하는 단계와, 데이터 테이블을 형성하도록 압축된 파일들을 연결하는 단계를 더 포함한다. 서류 목록은 파일 길이와 파일 오프셋 정보를 포함한다.
본 발명의 한 형태에 따라서, 원하는 파일은 호스트 컴퓨터에 대해 서류 목록으로부터 원하는 데이터 파일에 관련한 길이 및 오프셋 정보를 검색하는 단계와 그 검색된 길이 및 오프셋 정보를 사용하는 프로그램 메모리내에서 원하는 데이터 파일을 억세스하는 단계에 의해 억세스된다.
본 발명의 다른 형태에 있어서, 파일 시스템은 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소를 가지도록 제공되어, 컴퓨터 네트워크의 하나의 구성요소는 연산/논리부, 리드/라이트 메모리, 프로그램 메모리 및 비휘발성 메모리를 포함하는 마이크로컨트롤러 기반의 장치이고 컴퓨터 네트워크의 다른 하나의 구성요소는 호스트 컴퓨터 시스템이다. 파일 시스템은 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일들의 집합과, 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로 및 호스트 컴퓨터에 대해 저장된 파일 지향의 억세스 경로들로 구성되고, 파일 지향의 억세스 경로들은 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일에 대한 디렉토리 및 파일 처리 능력을 제공한다.
마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 데이터 파일들은 쓰기가능한 블록들의 어레이로서 배치된다. 파일 시스템과 관련하여 설명된 메모리 어드레스 경로들은 비휘발성 메모리로부터 메모리 위치의 범위를 읽는 리드 경로 및 단일 메모리 위치를 쓰는 쓰기 경로로 구성된다.
시작 어드레스 및 읽혀질 다수의 메모리 위치들은 변수들로서 읽기 경로로 통과될 수 있고 한편 메모리 어드레스 및 쓰여질 값은 변수들로서 쓰기 경로로 통과될 수 있다.
본 발명의 다른 형태에 있어서, 컴퓨터 네트워크상에 분포된 소프트 웨어 구성요소들을 가진 파일 시스템을 생성하고 관리하기 위한 방법이 설명되는데, 컴퓨터 네트워크의 한 구성요소는 연산/논리부, 리드/라이트 메모리, 프로그램 메모리 및 비휘발성 메모리를 포함하는 마이크로 컨트롤러 기반의 장치이고 컴퓨터 네트워크의 다른 하나의 구성요소는 호스트 컴퓨터 시스템이다. 그 방법은 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일들의 집합을 제공하는 단계와, 그 마이크로컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로를 제공하는 단계와 호스트 컴퓨터상에 저장된 파일 지향의 억세스 경로들을 제공하는 단계들로 이루어진다. 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일들의 집합은 압축된 데이터 파일들의 집합일 수도 있다.
본 발명의 또 다른 측면에 있어서, 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일에 대한 파일 시스템을 유지하기 위한 방법이 제공되는데, 마이크로 컨트롤러 기반의 장치는 컴퓨터 네트워크를 통해 호스트 컴퓨터와 통신한다. 그 방법은 마이크로컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로들을 제공하는 단계와, 호스트 컴퓨터상에 파일 지향(file-oriented)의 억세스 경로를 제공하고, 호스트 컴퓨터상에 마이크로컨트롤러 기반의 장치에 저장된 파일들과 이용가능한 파일 저장 공간을 특징으로 하는 디렉토리 및 자유 블록 목록을 유지하는 단계로 구성된다.
마이크로 컨트롤러 기반의 장치에 저장된 파일을 갱신하는 것은 호스트 컴퓨터에 대해 갱신될 파일의 복사본을 유지하는 단계와, 그 파일의 복사본을 압축하는 단계와, 파일 길이를 결정하는 단계와, 파일 저장을 위해 요구된 블록수가 변했는지 결정하는 자유블록 목록을 검사하는 단계와 만약 변했다면 새로운 블록 할당을 반영하도록 자유블록 목록을 변경하는 단계와, 그 자유블록 목록내에 할당된 블록들내에 파일을 저장하는 단계와, 갱신된 파일에 대응하는 디렉토리 등록을 갱신하는 단계와, 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 바이트 지향의(byte-oriented) 억세스 경로들을 사용하는 마이크로 컨트롤러 기반의 장치에 그 파일을 쓰는 단계를 더 포함한다. 이 과정은 마이크로 컨트롤러 기반의 장치 및 호스트 컴퓨터 둘다 에 저장된 처리 카운터(transaction counter)를 갱신하는 단계를 더 포함할 수도 있다.
본 발명의 또 다른 형태에 있어서, 파일 시스템은 장치와 연관된 메모리내에 저장된 데이터 테이블과 그 장치와 상호 연결된 호스트 컴퓨터 시스템에 대한 소프트웨어 모듈로 구성되고, 그 소프트웨어 모듈은 데이터 테이블을 해석한다. 그 테이블은 데이터의 논리적 블록들로 분류될 수 있고, 논리 블록들은 디렉토리 구조, 자유 블록 목록 및 파일의 내용을 저장하는 일련의 블록들을 포함하는 배치로 구성될 수 있다.
본 발명의 또 다른 특징 및 잇점은 다음 설명과 도면으로부터 더욱 명백해질 것이다.
본 발명에 따르면, 종래 기술과 비교할 때 명확한 잇점들을 제공하는 임베디드 시스템들에 대한 파일 시스템 서비스가 설명된다.
정적 서류 저장이라는 용어로 표현될 수 있고, 임베디드 시스템의 펌웨어가 생성되었을 때 파일 시스템을 생성하는 임베디드 장치에 대해 파일을 저장하는 한가지 방법은 가정하건대 시스템 개발자에 의한 개발 시스템에 대해 그 기술분야에서 잘 알려진 것이다. 이것은 개발 시스템 컴퓨터에 대해 단일 타겟(target) 디렉토리로 임베디드 시스템 데이터 파일을 배치하고 그 디렉토리내에 각 파일들을 압축하는 이용(utility) 프로그램을 실행함으로써 달성되며, 단일의 큰 데이터 테이블로 그 파일을 연결한다.
압축기술은 임의의 적당한 파일 압축 도식일 수도 있으나, 바람직하게는 그 분야에서 잘 알려진 바 있는 렘펠-지브(Lempel-Ziv)(LZ) 대리(subsitutional) 압축에 기초하고 있다. 본 발명의 바람직한 형태에 있어서, 압축은 소정 크기의 윈도우가 룩어헤드(look-ahead) 버퍼와 관련하여 유지되고, 추가의 역동적인 호프만(Huffman) 압축이 기초적인 압축기 출력에 적용된 스토러/시만스키(Storer/Szymanski) 도식(scheme)의 변형(variant)이다. 이것은 LZH압축으로 알려져 있다.
상기 설명한 데이터 테이블은 임베디드 장치 펌웨어내에 프로그램에 덧붙여진다. 각 파일의 오프셋과 길이는 내용의 정적 서류 목록으로서 임베디드 장치내에 저장된다. 또한 이런 정적 서류 목록이 호스트 컴퓨터에 의해 보유된다. 이 과정은 비록 원시적이지만, 서류 엑세스가 호스트 참가를 요구하지 않도록 하기 위하여 타겟 시스템에 대해 완전한 파일 시스템을 생성한다.
상기에 설명된 정적 서류 저장 기술은 파일이 변경되거나 변질되는 것을 방지하는 잇점을 가진다. 이와 같은 특징은 신뢰성을 줄 수 있으나, 정당한 이유로 파일 변경을 요구해야만 한다. 데이터 파일을 갱신하기 위한 이유는 예를 들면 다른 언어에 대해 사용자 인터페이스를 갱신하는 것 또는 그 인터페이스 프로그램내에서의 오류를 교정하는 것을 포함할 수도 있다. 또한 정적 기술은 서류 데이터 저장을 위해 마이크로 컨트롤러의 프로그램 메모리를 이용하고, 프로그램 메모리는 일반적으로 마이크로 컨트롤러 기반의 시스템내에서 부족한 상태에 있다.
이와 같은 어려움을 극복하기 위하여, 스플리트(split) 파일 시스템은 호스트 컴퓨터(101)에 대해 대부분의 파일 시스템을 배치하고 서류 데이터의 저장을 위한 임베디드 장치와 연관된 비휘발성 메모리 (103)을 사용하는 것에 의해 역동적 서류 저장을 허용한다. 일반적으로, 파일 시스템은 논리적으로 차례로 파일들과 연관되는 블록들로 저장 장치를 나누는 모듈이다. 저장장치를 블록들로 분해하는 목적은 파일 데이터 블록들의 열(strings)을 할당하는 것으로부터 저장 단위의 연합(pool)을 제공하는 것이다. 이 개개의 블록들은 다른 파일들과 연계될 수도 있는 이웃 블록들에 영향을 미치지 않고 필요시 할당되거나 삭제될 수 있다.
그 블록들은 파일들이 생성되고, 파괴되거나 또는 크기가 바뀌어질 때 파일 시스템에 의해 할당되고 삭제된다. 이러한 동작들은 그 파일 시스템내에 현재 저장된 파일들과 각 파일들의 내용을 표현하는 데이터 블록들의 열(sequence)을 기록하는 데이터 구조에 의해 가능해 질 수 있다. 이렇게 해서, 파일 시스템은 고정된 크기의 저장 공간을 가질 수 있고, 파일이(일반적으로 길이는 종래에 알려져 있다) 저장 장치에 대해 다른 모든 파일이 룸(room)을 만들기 위하여 이동되거나 임의의 분실 파일들에 의해 남겨질 수 있는 임의의 갭(gap)이 메워지도록 하는 요구사항이 없이 덧붙여지거나 제거될 수 있도록 허용한다.
상기 설명된 능력을 제공하는 파일 시스템 모듈은 그것을 수행하기 위해 요구된 코드 공간에 의해 아주 커질 수 있다. 전형적인 강한(robust) 파일 시스템은 대부분의 단일 칩 마이크로 컨트롤러들에 대해 이용가능한 10배의 코드 공간을 사용한다.
임베디드 시스템을 고려하여 동작하도록 설계된 본 발명의 환경은 호스트 컴퓨터에 연결될 것이다. 이런 임베디드 시스템과 호스트의 상호연결은 인터넷 동작동안 통상적으로 만나게 되는 웹브라우저/웹 서버 연결의 구문에서 생길 수 있지만, 그 상호연결은 이런 인터넷 시나리오에 제한되지 않는다.
본 발명은 임베디드 장치에 연결된 호스트 컴퓨터로 파일 시스템 코드를 이동시키는 것에 의해 상기 설명된 바와 같은 파일 시스템 크기 문제를 처리한다. 임베디드 장치는 간단히 메모리의 부분, 전형적으로 시리얼 이이피롬(EEPROM), 및 이 메모리를 읽고 쓰는 낮은 수준(low-level)의 경로들을 제공한다. 완전히 역동적인 서류 저장 능력(예를 들면, 실행시간동안 파일을 덧붙이고 제거하는 능력을 포함하는)을 제공하도록 요구하는 것과 같은 파일 시스템 소프트웨어의 나머지가 호스트 컴퓨터에 대해 존재한다. 이것은 장치가 파일 시스템을 구성하는 모든 파일과 데이터를 포함한다는 것을 의미하지만, 임베디드 장치내에 파일 시스템에 대한 오버헤드는 적거나 없다.
물론, 임베디드 시스템 대신에 호스트 컴퓨터에 대해 파일 시스템 유틸리티들을 배치하는 최종 결과는 임베디드 시스템(또는"임베디드 장치")이 그 자신의 메모리의 부분의 내용을 "이해" 할 수 없다는 것이다. 그러나, 이것은 장치 동작에 대해 영향이 미미하거나 또는 없는 것인데, 그 이유는 메모리의 이 부분에 위치하는 파일들과 데이터는 실제로 임베디드 시스템과 인터페이스하는 호스트 컴퓨터에서만 사용되기 때문이며, 따라서 그 장치는 호스트의 도움없이 그 자신의 데이터 파일들에 대해 억세스를 요구하지 않는다.
도 1 은 본 발명에 따른 스플리트 파일 시스템의 일반적 구조 및 동작을 블록 다이어그램 형태로 나타낸 것으로서, 일반적으로 부호(100)으로 설명된다. 임베디드 마이크로 컨트롤러 (102)는 비휘발성 메모리 장치 (103)내에 파일과 데이터를 저장한다.
그 임베디드 장치 (102)는 인터넷 연결을 경유하여 제어될 수 있도록 설계된 예를 들면, 서머스탯(thermostat)일 수도 있다. 인터넷 동작은 넓고 다양한 그래픽이 많은(graphic-rich) 디스플레이 모드를 지원하기 때문에, 써머스탯을 가진 그래픽 인터페이스는 바람직한 특징이 될 것이다. 써머스탯 제어 패널은 임베디드 장치 (102)내에 저장된 HTML(HyperText Markup Language) 파일로 표현될 수도 있다. 만약 웹 브라우저가 제어패널에 로드를 시도하면, HTML 파일은 호스트 컴퓨터 (101)의 개입을 통해 장치 (102)로부터 검색된다. 호스트 (101)는 그 호스트에 대해 동작할 수 있는 다른 프로그램 또는 인터넷과 같은 네트워크를 통해 원격으로 동작하는 프로그램 양자에 대해 파일 시스템 서비스를 제공한다.
임베디드 장치 (102)에 대해 데이터 저장을 위한 파일 포맷은 HTML에 한정되지 않고, 적당한 기능을 제공하는 임의의 포맷일 수도 있다는 점에 주목해야만 한다. 비슷하게는, 본 발명은 인터넷에 대한 기능에만 제한되지 않고 직접적으로 연결된 시스템들사이와 사설의(private) 로컬 또는 광역(wide-area) 네트워크(인트라넷 연결)의 일부인 시스템들사이의 통신에 대해, 또는 인터넷을 경유하여 통신하는 시스템들 사이에 사용될 수도 있다.
상기에서 지적한 바와 같이, 스플리트 파일 시스템 환경에서, 호스트 컴퓨터는 파일 시스템 서비스를 호스트에 대한 다른 프로그램들과 컴퓨터 네트워크에 대해 원격으로 실행하는 프로그램에 제공한다. 이 서비스들은 제한되지는 않지만 다음과 같은 것들을 포함한다; 파일 삽입(INSERT FILE), 파일 삭제(DELETE FILE), 디렉토리 읽기(READ DIRECTORY), 디렉토리 갱신(UPDATE DIRECTORY), 및 파일읽기(READ FILE). 최소한도에서, 장치 그 자체는 개개의 바이트들이 쓰여지거나 읽혀지도록 허용하는 비휘발성 메모리 억세스 경로들을 포함해야 만 한다. 이들 저레벨 경로들은 리드 바이트(READ BYTE)와 라이트 바이트(WRITE BYTE)의 용어로 표현될 수 도 있다. 편리함을 위하여, 그리고 만약 메모리 제한이 허용한다면, 비휘발성 메모리내에 바이트들의 범위의 읽기와 쓰기를 허락하는 추가 경로들이 제공될 수도 있다. 바이트의 범위의 읽기와 쓰기 능력은 데이터 전송율을 증대시킨다.
도 2 는 본 발명에 따른 스플리트 파일 시스템의 데이터 조직을 나타낸 것으로서, 일반적으로 부호(200)으로 설명된다. 파일 시스템 (200)은 쓰기 가능한 블록들(201)의 어레이내에 구현된다. 파일 시스템 헤더 (202) 다음의 제 1 블록은 제 1 디렉토리 블록이고, 각 블록은 다음 블록에 대한 포인터를 포함한다. 그 헤더내에 자유 블록 포인터는 제 1 자유 블록을 가리킨다. 디렉토리 등록에 대응하는 각 파일은 그 파일의 제 1 블록에 대한 포인터를 가지며, 디렉토리 구조내에서와 마찬가지로, 파일의 각 할당된 블록은 다음 블록의 포인터를 포함한다.
도 3 은 본 발명에 따른 파일 시스템을 유지하기 위한 방법의 흐름도로서, 특히 파일을 유지하는 방향으로의 특징을 가진다. 갱신될 파일의 복사본은 블록 (301)에 나타낸 것과 같이 일반적으로 유지된다. 이 파일 복사는 일반적으로 호스트 시스템의 메모리내에 유지된다.
이어지는 단계 (302)내에서, 파일 복사는 이전에 논의된 것과 같은 적당한 압축 도식(scheme)을 사용하여 압축된다. 다음에는, 단계 (303)에서, 파일 길이가 결정된다. 그리고나서, 자유 블록 목록은 단계 (304)내에서 파일 저장을 위해 요구된 블록의 수가 변화되었는지 아닌지 결정하도록 시험된다.
만약 변화되었다면, 자유 블록으로서 블록 (306)내에서의 실행 결과들은 새로운 블록 할당을 반영하도록 변경된다. 다음 단계 (307)에서, 그 파일은 자유 블록 목록내에 할당된 것과 같은 블록들내에 저장된다. 상기 단계 (307)은 만약 저장을 위해 요구된 블록의 수가 변화되지 않는 경우에도 실행을 다시 계속하는 단계 이다. 다시말하면, 자유 블록 목록은 만약 파일 저장을 위해 요구된 블록의 수가 변화되지 않으면 변경되지 않는다.
이어지는 단계 (308)에서, 파일에 대한 디렉토리 등록이 갱신된다. 그리고나서, 단계 (309)에서, 파일은 그 장치의 프로그램 메모리내에 바이트 지향의 억세스 경로들을 이용하는 마이크로 컨트롤러 기반의 장치에 쓰여진다.
작은 임베디드 장치를 위한 파일 시스템을 생성하고 관리하는 문제에 대해 혁신적인 해결책을 제공하는 것에 덧붙여서 상기 설명된 바와 같은 시스템과 방법은 또한 다른 잠재적인 문제들에 대한 해결책을 제공한다.
먼저, 임베디드 장치에 대한 연결은 빈약한 것일 수도 있기(예를 들면, 전화선 또는 RF 모뎀을 경유한)때문에, 임베디드 장치는 호스트 시스템과 그의 연결을 놓칠 수도 있다. 만약 통신이 파일 시스템 동작동안 인터럽트되면, 파일 시스템은 변조(corrupted)될 수 있다. 설명된 바와 같은 파일 시스템 발명에 있어서, 파일 시스템의 국부적인 복사본은 호스트 컴퓨터에 대해 유지된다. 파일 시스템에 대한 모든 변경은 이 국부적인 복사본에 대해 수행되고, 변경된 영역들은 국부적인 복사본이 준비될 때 까지 임베디드 장치에 전송되지 않는다. 국부적이고 원격의 종단 양쪽들에 처리 카운터는 장치가 최근의 파일 시스템 상태를 반영하여 성공적으로 갱신되었는지 체크하는 파일 시스템 소프트웨어에 대한 방향을 제공한다. 그리고, 통신 두절(disruption)의 경우에 있어서, 호스트 컴퓨터는 만약 그것이 이전에 실패한 파일 시스템 갱신을 완성하는 것인지 알아볼 수 있도록 체크할 수 있다.
임베디드 장치와 연계된 파일 시스템의 확립과 관련하여 생길 수 있는 다른 문제는 전형적인 변경 세션(session) 동안에 비휘발성 메모리의 변경(modification)동안 일어날 수 있는 고율의 상태변화이다. 대부분의 이이피롬(EEPROM)들은 유한한(비록 크기는 하지만)수의 쓰기 동작만을 허용하기 때문에, 허락가능한 쓰기 카운트는 상대적으로 짧은 시간내에 초과될 수도 있다. 이런 위험을 피하기 위하여, 장치 메모리에 대한 쓰기 동작들은 스플리트 파일 시스템 드라이버내에 플래그(flag)를 설정함으로써 연기된다. 플래그는 변경 세션의 시작시 설정되고(그 드라이버가 처리들에 동기되지 않는것이 효과적임), 파일 시스템의 국부 복사본이 원하는 최종 상태에 있을 때 소거된다. 이런 기술은 저장을 위한 이이피롬(EEPROM)들의 총 쓰기 카운트를 줄일 뿐만 아니라 개발과 갱신동안 통신 트래픽이 줄어들게 한다.
최종적으로, 임베디드 장치내의 메모리는 종종 수요가 많고, 고정된 길이 블록 크기로 인한 내부 분열(fragmentation)은 데이터 저장을 위해 필요한 정확한 크기에 대해 모든 파일 저장블록들의 크기를 변경하는 "스퀴즈(squeeze)"기능을 사용하여 제거된다. 이것은 어떤 소프트웨어 상품들의 클러스터 크기 변경 동작과 유사하지만, 그 자체의 블록 크기는 간단히 더 잘 맞추는 것 보다는 오히려 정확하게 맞도록 변형되기 때문에 이점에서 다르다.
상기 설명한 바와 같이, 스플리트 파일 시스템의 개념 또한 그 장치와 연계된 호스트 컴퓨터에 대한 일련의 파일들을 가진 그 장치내의 파일들의 논리적인 연결을 포함한다. 호스트에 대한 일련의 파일들은 다음과 같이 명시될 수 있다:
C:\emware\dev\myhvac\foo.html
C:\emware\dev\myhvac\pigs.bin
그 장치 메모리내에서, 다음 파일이 저장될 것이다:
Start.html
exll.html
클라이언트로부터 알수 있는 것처럼, 파일들 전체 집합은 다음과 같이 이용가능할 것이다:
foo.html
pigs.bin
Start.html
exll.html
종래 기술에 비해 독특한 잇점을 제공하는 임베디드 시스템들에 대해 파일 시스템 서비스들을 제공하기 위한 방법과 시스템이 여기에 설명되어 있다. 본 발명의 사상과 범위를 벗어남이 없이 만들어질 수 있는 변형은 그 기술분야에 익숙한 사람에게는 명백하다. 따라서, 본 발명은 첨부된 청구범위를 고려하여 필요할 수도있는 점을 제외하고는 제한될 수 있는 것으로 의도되지 않는다.
Claims (23)
- 연산/논리부;리드/라이트 메모리; 및프로그램 메모리;를 포함하는 마이크로 컨트롤러 기반의 장치와,상기 프로그램 메모리내에 저장된 데이터 테이블; 및호스트 컴퓨터에 대해 저장된 서류 목록을 포함하는 파일 시스템을 포함하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 제 1 항에 있어서, 상기 데이터 테이블은 일련의 데이터 파일이고, 서류 목록은 각 데이터 파일에 대한 길이 및 오프셋 정보를 포함하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 제 2 항에 있어서, 상기 데이터 파일 세트(set)는 압축된 데이터 파일의 일련의 연결 세트인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 제 2 항에 있어서, 호스트 컴퓨터에 대해 길이 및 오프셋 정보를 검색하기 위하여 서류 목록을 억세스 하는 수단; 및검색된 길이 및 오프셋 정보를 이용하는 원하는 데이터 파일을 검색하는 수단을 포함하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 제 1 항에 있어서, 적어도 하나의 데이터 파일의 집합은 리치 텍스트 서류인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 제 5 항에 있어서, 상기 리치 텍스트 서류는 HTML서류인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
- 연산/논리부;리드/라이트 메모리; 및프로그램 메모리;를 포함하는 마이크로 컨트롤러 기반의 장치를 포함하고,(a) 상기 프로그램 메모리내에 저장하기 위한 데이터 테이블을 제공하고; 및(b) 호스트 컴퓨터에 대해 저장하기 위한 서류 목록을 제공하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
- 제 7 항에 있어서, 상기 데이터 테이블을 제공하는 단계는(a) 원하는 일련의 데이터내에서 각 파일을 압축하고; 및(b) 그 데이터 테이블을 형성하도록 압축된 파일을 연결하는 단계를 포함하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
- 제 7 항에 있어서, 상기 서류 목록은 파일 길이와 파일 오프셋 정보를 포함하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
- 제 9 항에 있어서, 원하는 파일은(a) 호스트 컴퓨터에 대해 서류 목록으로부터 원하는 데이터 파일에 관련한 길이 및 오프셋 정보를 검색하고; 및(b) 검색된 길이 및 오프셋 정보를 이용하여 프로그램 메모리내에 원하는 데이터 파일을 억세스 하는 단계에 의해 억세스 되는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
- 연산/논리부;리드/라이트 메모리;프로그램 메모리; 및비휘발성 메모리를 포함하는 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크의 한 구성요소이고;컴퓨터 네트워크의 또 다른 구성요소는 호스트 컴퓨터 시스템이고;마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합;마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로들; 및호스트 컴퓨터에 대해 저장된 파일 지향의 억세스 경로들;을 포함하고 상기 파일 지향의 억세스 경로들은 상기 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일들에 대한 디렉토리 및 파일 조작 능력을 제공하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
- 제 11 항에 있어서, 상기 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 데이터 파일들은 쓰기 가능한 블록들의 어레이로서 배치된 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
- 제 11 항에 있어서, 상기 메모리 억세스 경로는비휘발성 메모리로부터 메모리 위치의 범위를 읽는 리드 경로; 및단일 메모리 위치에 쓰는 쓰기 경로로 구성된 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
- 제 13 항에 있어서, 시작 어드레스 및 읽혀지는 다수의 메모리 위치는 변수로서 읽기 경로를 통과하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
- 제 13 항에 있어서, 메모리 어드레스 및 쓰여지는 값은 변수로서 쓰기 경로를 통과하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
- 연산/논리부;리드/라이트 메모리;프로그램 메모리; 및비휘발성 메모리를 포함하는 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크의 한 구성요소이고;컴퓨터 네트워크의 또 다른 구성요소는 호스트 컴퓨터 시스템이고;(a) 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합을 제공하고;(b) 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로들을 제공하고; 및(c) 호스트 컴퓨터에 대해 저장된 파일 지향의 억세스 경로들을 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템을 생성하고 관리하는 방법.
- 제 16 항에 있어서, 상기 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합은 압축된 데이터 파일의 집합인 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템을 생성하고 관리하는 방법.
- (a) 상기 마이크로컨트롤러 기반의 장치의 프로그램메모리내에 저장된 바이트 지향이 비휘발성 메모리 억세스 경로를 제공하고;(b) 호스트 컴퓨터에 대해 파일 지향의 억세스 경로들을 제공하고; 및(c) 호스트 컴퓨터에 대해 상기 마이크로컨트롤러 기반의 장치들과 이용가능한 파일 저장 공간에 저장된 파일을 특징으로 하는 디렉토리 및 자유 블록 목록을 유지하는 단계를 포함하고,상기 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크에 대해 호스트 컴퓨터와 통신하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
- 제 18 항에 있어서, 상기 마이크로컨트롤러 기반의 장치에 저장된 파일의 갱신은(d) 호스트 컴퓨터에 대해 갱신될 파일의 복사를 유지하고;(e) 파일의 복사본을 압축하고;(f) 파일 길이를 결정하고;(g) 파일 저장을 위해 요구된 블록의 수가 변화되었는지 결정하도록 자유 블록 목록을 검사하고; 만약 변화되었으면(h) 새로운 블록 할당을 반영하도록 자유블록 목록을 변경하고;(i) 상기 자유블록 목록내에 할당된 것처럼 블록들내에 파일을 저장하고;(j) 갱신된 상기 파일에 대응하는 디렉토리 등록을 갱신하고; 및(k) 상기 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 바이트 지향의 억세스 경로들을 이용하는 상기 마이크로컨트롤러 기반의 장치에 그 파일을 쓰는 단계들을 포함하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
- 제 19 항에 있어서, 상기 마이크로컨트롤러 기반의 장치 및 호스트 컴퓨터 양쪽에 대해 저장된 처리 카운터를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
- 장치와 관련된 메모리내에 저장된 데이터 테이블; 및상기 장치와 상호연결된 호스트 컴퓨터 시스템에 대해 상기 데이터 테이블을 해석하는 소프트웨어 모듈로 구성되는 파일 시스템.
- 제 21 항에 있어서, 상기 테이블은 데이터의 논리 블록들로 분류된 것을 특징으로 하는 파일 시스템.
- 제 22 항에 있어서, 상기 논리 블록들은디렉토리 구조;자유블록 목록; 및파일 목록을 저장하는 블록열(sequences)들을 포함하는 배치로 이루어진 파일 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/071,091 US6219677B1 (en) | 1998-05-01 | 1998-05-01 | Split file system |
US09/071,091 | 1998-05-01 | ||
PCT/US1999/008557 WO1999057655A2 (en) | 1998-05-01 | 1999-04-19 | Split file system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010043153A true KR20010043153A (ko) | 2001-05-25 |
Family
ID=22099192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007012057A KR20010043153A (ko) | 1998-05-01 | 1999-04-19 | 스플리트 파일 시스템 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6219677B1 (ko) |
EP (1) | EP1073977A4 (ko) |
JP (1) | JP2002513971A (ko) |
KR (1) | KR20010043153A (ko) |
AU (1) | AU3653199A (ko) |
CA (1) | CA2329899A1 (ko) |
WO (1) | WO1999057655A2 (ko) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754364B1 (en) * | 1999-10-28 | 2004-06-22 | Microsoft Corporation | Methods and systems for fingerprinting digital data |
US6606628B1 (en) * | 2000-02-14 | 2003-08-12 | Cisco Technology, Inc. | File system for nonvolatile memory |
CA2305073A1 (en) * | 2000-04-13 | 2001-10-13 | Tellamon Photonic Networks Inc. | Networks of optical systems |
US20060190106A1 (en) * | 2001-07-30 | 2006-08-24 | Rockwell Automation Technologies, Inc. | Method for consistent storage of data in an industrial controller |
US20040088448A1 (en) * | 2001-10-16 | 2004-05-06 | Userspace Corporation | Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged |
FI113709B (fi) * | 2001-12-10 | 2004-05-31 | Nokia Corp | Menetelmä sulautetussa ympäristössä etälaitteen toiminnallisuuden järjestämiseksi |
US6658091B1 (en) | 2002-02-01 | 2003-12-02 | @Security Broadband Corp. | LIfestyle multimedia security system |
US7107396B2 (en) * | 2003-10-31 | 2006-09-12 | International Business Machines Corporation | Chaining of blocks for optimal performance with DASD (Direct Access Storage Devices) free nonvolatile updates |
US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US11489812B2 (en) | 2004-03-16 | 2022-11-01 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US8996665B2 (en) * | 2005-03-16 | 2015-03-31 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
US11113950B2 (en) | 2005-03-16 | 2021-09-07 | Icontrol Networks, Inc. | Gateway integrated with premises security system |
US10382452B1 (en) | 2007-06-12 | 2019-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US7711796B2 (en) * | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US7911341B2 (en) * | 2007-01-24 | 2011-03-22 | Icontrol Networks Inc. | Method for defining and implementing alarm/notification by exception |
US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
US10375253B2 (en) | 2008-08-25 | 2019-08-06 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
US11201755B2 (en) | 2004-03-16 | 2021-12-14 | Icontrol Networks, Inc. | Premises system management using status signal |
US11159484B2 (en) | 2004-03-16 | 2021-10-26 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US9531593B2 (en) | 2007-06-12 | 2016-12-27 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
US8988221B2 (en) | 2005-03-16 | 2015-03-24 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US8612591B2 (en) * | 2005-03-16 | 2013-12-17 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US8473619B2 (en) * | 2005-03-16 | 2013-06-25 | Icontrol Networks, Inc. | Security network integrated with premise security system |
US8635350B2 (en) * | 2006-06-12 | 2014-01-21 | Icontrol Networks, Inc. | IP device discovery systems and methods |
US10200504B2 (en) | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US10522026B2 (en) | 2008-08-11 | 2019-12-31 | Icontrol Networks, Inc. | Automation system user interface with three-dimensional display |
US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11277465B2 (en) | 2004-03-16 | 2022-03-15 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
US10444964B2 (en) | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
US9172553B2 (en) * | 2005-03-16 | 2015-10-27 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
US11811845B2 (en) | 2004-03-16 | 2023-11-07 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
US9141276B2 (en) | 2005-03-16 | 2015-09-22 | Icontrol Networks, Inc. | Integrated interface for mobile device |
US10313303B2 (en) | 2007-06-12 | 2019-06-04 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
JP2007529826A (ja) | 2004-03-16 | 2007-10-25 | アイコントロール ネットワークス, インコーポレイテッド | 対象事項管理ネットワーク |
US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
US10721087B2 (en) * | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
US9191228B2 (en) * | 2005-03-16 | 2015-11-17 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US20090077623A1 (en) * | 2005-03-16 | 2009-03-19 | Marc Baum | Security Network Integrating Security System and Network Devices |
US10156959B2 (en) | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US8963713B2 (en) | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
US10142392B2 (en) * | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
US20160065414A1 (en) | 2013-06-27 | 2016-03-03 | Ken Sundermeyer | Control system user interface |
US9609003B1 (en) | 2007-06-12 | 2017-03-28 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
US11368327B2 (en) | 2008-08-11 | 2022-06-21 | Icontrol Networks, Inc. | Integrated cloud system for premises automation |
US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
GB0504658D0 (en) | 2005-03-07 | 2005-04-13 | Texas Instruments Ltd | PC - connectivity for on-chip memory |
US8713132B2 (en) | 2005-03-16 | 2014-04-29 | Icontrol Networks, Inc. | Device for data routing in networks |
US8825871B2 (en) * | 2005-03-16 | 2014-09-02 | Icontrol Networks, Inc. | Controlling data routing among networks |
US9059863B2 (en) * | 2005-03-16 | 2015-06-16 | Icontrol Networks, Inc. | Method for data routing in networks |
US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
US8819178B2 (en) | 2005-03-16 | 2014-08-26 | Icontrol Networks, Inc. | Controlling data routing in integrated security systems |
US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
US9450776B2 (en) * | 2005-03-16 | 2016-09-20 | Icontrol Networks, Inc. | Forming a security network including integrated security system components |
US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
US9306809B2 (en) | 2007-06-12 | 2016-04-05 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
US10079839B1 (en) | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
US11706279B2 (en) | 2007-01-24 | 2023-07-18 | Icontrol Networks, Inc. | Methods and systems for data communication |
US7633385B2 (en) | 2007-02-28 | 2009-12-15 | Ucontrol, Inc. | Method and system for communicating with and controlling an alarm system from a remote server |
US8451986B2 (en) | 2007-04-23 | 2013-05-28 | Icontrol Networks, Inc. | Method and system for automatically providing alternate network access for telecommunications |
US12003387B2 (en) | 2012-06-27 | 2024-06-04 | Comcast Cable Communications, Llc | Control system user interface |
US10616075B2 (en) | 2007-06-12 | 2020-04-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10666523B2 (en) | 2007-06-12 | 2020-05-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10051078B2 (en) | 2007-06-12 | 2018-08-14 | Icontrol Networks, Inc. | WiFi-to-serial encapsulation in systems |
US10498830B2 (en) | 2007-06-12 | 2019-12-03 | Icontrol Networks, Inc. | Wi-Fi-to-serial encapsulation in systems |
US10423309B2 (en) | 2007-06-12 | 2019-09-24 | Icontrol Networks, Inc. | Device integration framework |
US11089122B2 (en) | 2007-06-12 | 2021-08-10 | Icontrol Networks, Inc. | Controlling data routing among networks |
US10389736B2 (en) | 2007-06-12 | 2019-08-20 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11237714B2 (en) | 2007-06-12 | 2022-02-01 | Control Networks, Inc. | Control system user interface |
US10523689B2 (en) | 2007-06-12 | 2019-12-31 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
KR101085365B1 (ko) | 2007-07-31 | 2011-11-21 | 로비 솔루션스 코포레이션 | 디지털적으로 서명된 콘텐츠에서 보조 정보를 임베딩 및 인증하기 위한 컴퓨터-구현된 방법 및 시스템 |
US10223903B2 (en) | 2010-09-28 | 2019-03-05 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US11831462B2 (en) | 2007-08-24 | 2023-11-28 | Icontrol Networks, Inc. | Controlling data routing in premises management systems |
US11916928B2 (en) | 2008-01-24 | 2024-02-27 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US20090287986A1 (en) * | 2008-05-14 | 2009-11-19 | Ab Initio Software Corporation | Managing storage of individually accessible data units |
US20170185278A1 (en) | 2008-08-11 | 2017-06-29 | Icontrol Networks, Inc. | Automation system user interface |
US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US10530839B2 (en) | 2008-08-11 | 2020-01-07 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US11758026B2 (en) | 2008-08-11 | 2023-09-12 | Icontrol Networks, Inc. | Virtual device systems and methods |
US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
US11258625B2 (en) | 2008-08-11 | 2022-02-22 | Icontrol Networks, Inc. | Mobile premises automation platform |
US20100111800A1 (en) * | 2008-11-03 | 2010-05-06 | Westinghouse Electric Company Llc | PRODUCTION OF NUCLEAR GRADE ENRICHED GADOLINIUM AND ERBIUM USING VOLATILE Gd OR Er SPECIES USING AN AERODYNAMIC PROCESS |
US9628440B2 (en) | 2008-11-12 | 2017-04-18 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
US9144143B2 (en) | 2010-04-30 | 2015-09-22 | Icontrol Networks, Inc. | Power and data solution for remote low-power devices |
AU2011250886A1 (en) | 2010-05-10 | 2013-01-10 | Icontrol Networks, Inc | Control system user interface |
US8836467B1 (en) | 2010-09-28 | 2014-09-16 | Icontrol Networks, Inc. | Method, system and apparatus for automated reporting of account and sensor zone information to a central station |
US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
US9928975B1 (en) | 2013-03-14 | 2018-03-27 | Icontrol Networks, Inc. | Three-way switch |
US9287727B1 (en) | 2013-03-15 | 2016-03-15 | Icontrol Networks, Inc. | Temporal voltage adaptive lithium battery charger |
US9867143B1 (en) | 2013-03-15 | 2018-01-09 | Icontrol Networks, Inc. | Adaptive Power Modulation |
US10841668B2 (en) | 2013-08-09 | 2020-11-17 | Icn Acquisition, Llc | System, method and apparatus for remote monitoring |
US11146637B2 (en) | 2014-03-03 | 2021-10-12 | Icontrol Networks, Inc. | Media content management |
US11405463B2 (en) | 2014-03-03 | 2022-08-02 | Icontrol Networks, Inc. | Media content management |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469354A (en) * | 1989-06-14 | 1995-11-21 | Hitachi, Ltd. | Document data processing method and apparatus for document retrieval |
US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
US5790198A (en) | 1990-09-10 | 1998-08-04 | Starsight Telecast, Inc. | Television schedule information transmission and utilization system and process |
CA2054026A1 (en) * | 1990-10-31 | 1992-05-01 | William Monroe Turpin | Goal oriented electronic form system |
CA2057613C (en) | 1990-12-19 | 1996-11-05 | Fran E. Blackman | Embedded user interface accessible by an external device |
JP3072142B2 (ja) | 1991-04-02 | 2000-07-31 | ハリマ化成株式会社 | 製紙用サイズ剤組成物 |
CA2067633C (en) * | 1991-07-24 | 1996-10-01 | Eric Jonathan Bauer | Method and apparatus for accessing a computer-based file system |
US5280603A (en) | 1991-09-19 | 1994-01-18 | Quantum Corporation | Servo pause for disk drive embedded multi-tasked controller |
US5403639A (en) * | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
US5422763A (en) | 1992-11-13 | 1995-06-06 | Teac Corporation | Split field zone data recording |
US5469557A (en) | 1993-03-05 | 1995-11-21 | Microchip Technology Incorporated | Code protection in microcontroller with EEPROM fuses |
US5870764A (en) * | 1993-05-12 | 1999-02-09 | Apple Computer, Inc. | Method of managing a data structure for concurrent serial and parallel revision of a work |
US5682497A (en) * | 1993-09-28 | 1997-10-28 | Intel Corporation | Managing file structures for a flash memory file system in a computer |
US5668897A (en) * | 1994-03-15 | 1997-09-16 | Stolfo; Salvatore J. | Method and apparatus for imaging, image processing and data compression merge/purge techniques for document image databases |
US5606705A (en) | 1994-04-15 | 1997-02-25 | Honeywell Inc. | Communication coordinator for messages to be sent from at least one data source to a plurality of clients |
US5734886A (en) | 1994-11-16 | 1998-03-31 | Lucent Technologies Inc. | Database dependency resolution method and system for identifying related data files |
US5694608A (en) * | 1995-01-27 | 1997-12-02 | Borland International, Inc. | Non-modal database system wth methods for incremental maintenance of live reports |
US5632681A (en) | 1995-03-07 | 1997-05-27 | International Business Machines Corporation | Universal electronic video game renting/distributing system |
US5790188A (en) * | 1995-09-07 | 1998-08-04 | Flight Landata, Inc. | Computer controlled, 3-CCD camera, airborne, variable interference filter imaging spectrometer system |
US5623600A (en) | 1995-09-26 | 1997-04-22 | Trend Micro, Incorporated | Virus detection and removal apparatus for computer networks |
US6012085A (en) * | 1995-11-30 | 2000-01-04 | Stampede Technolgies, Inc. | Apparatus and method for increased data access in a network file object oriented caching system |
US5802553A (en) | 1995-12-19 | 1998-09-01 | Intel Corporation | File system configured to support variable density storage and data compression within a nonvolatile memory |
US5940853A (en) * | 1996-02-23 | 1999-08-17 | Matsushita Electric Industrial Co., Ltd. | Recording and reproducing apparatus enabling modification of data recorded on a non-erasable recording medium |
US5987549A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus providing short latency round-robin arbitration for access to a shared resource |
US5774715A (en) * | 1996-03-27 | 1998-06-30 | Sun Microsystems, Inc. | File system level compression using holes |
US5826261A (en) * | 1996-05-10 | 1998-10-20 | Spencer; Graham | System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query |
US5832508A (en) * | 1996-09-18 | 1998-11-03 | Sybase, Inc. | Method for deallocating a log in database systems |
US5918228A (en) | 1997-01-28 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for enabling a web server to impersonate a user of a distributed file system to obtain secure access to supported web documents |
US6301707B1 (en) * | 1997-09-30 | 2001-10-09 | Pitney Bowes Inc. | Installing software based on a profile |
US6055538A (en) * | 1997-12-22 | 2000-04-25 | Hewlett Packard Company | Methods and system for using web browser to search large collections of documents |
US6330566B1 (en) * | 1998-06-22 | 2001-12-11 | Microsoft Corporation | Apparatus and method for optimizing client-state data storage |
US6279096B1 (en) * | 1998-10-01 | 2001-08-21 | Intelect Communications, Inc. | Digital signal processing memory logic unit using PLA to modify address and data bus output values |
-
1998
- 1998-05-01 US US09/071,091 patent/US6219677B1/en not_active Expired - Lifetime
-
1999
- 1999-04-19 AU AU36531/99A patent/AU3653199A/en not_active Abandoned
- 1999-04-19 JP JP2000547560A patent/JP2002513971A/ja active Pending
- 1999-04-19 CA CA002329899A patent/CA2329899A1/en not_active Abandoned
- 1999-04-19 KR KR1020007012057A patent/KR20010043153A/ko not_active Application Discontinuation
- 1999-04-19 EP EP99918674A patent/EP1073977A4/en not_active Withdrawn
- 1999-04-19 WO PCT/US1999/008557 patent/WO1999057655A2/en not_active Application Discontinuation
-
2001
- 2001-02-07 US US09/778,420 patent/US6694318B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1073977A4 (en) | 2003-08-13 |
US6219677B1 (en) | 2001-04-17 |
US20010004738A1 (en) | 2001-06-21 |
JP2002513971A (ja) | 2002-05-14 |
WO1999057655A3 (en) | 2000-03-23 |
CA2329899A1 (en) | 1999-11-11 |
WO1999057655A2 (en) | 1999-11-11 |
EP1073977A2 (en) | 2001-02-07 |
AU3653199A (en) | 1999-11-23 |
US6694318B2 (en) | 2004-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20010043153A (ko) | 스플리트 파일 시스템 | |
US5802549A (en) | Method and apparatus for patching pages of ROM | |
US6192432B1 (en) | Caching uncompressed data on a compressed drive | |
US8121994B2 (en) | Partially embedded database and an embedded database manager for a control system | |
US5903753A (en) | Name space registry with backward compatibility for older applications | |
US6470436B1 (en) | Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory | |
US20030225972A1 (en) | Storage system | |
US7647355B2 (en) | Method and apparatus for increasing efficiency of data storage in a file system | |
US6269442B1 (en) | Apparatus and method for on-line replacement of a running program code and data using checkpoints | |
US6314567B1 (en) | Apparatus and method for transferring state data when performing on-line replacement of a running program code and data | |
US5956745A (en) | System and method for automatically resizing a disk drive volume | |
EP0870235B1 (en) | Apparatus and method for preprocessing computer programs prior to transmission across a network | |
US5933846A (en) | Rewritable ROM file device having read/write buffer access control via copy of rewritable area | |
US5754817A (en) | Execution in place of a file stored non-contiguously in a non-volatile memory | |
KR100446339B1 (ko) | 실시간데이터이송시스템및스파스파일을사용하는방법 | |
US20050213377A1 (en) | Compressed file system for non-volatile RAM | |
EP1580664B1 (en) | Computing device with relatively limited storage space and operating / file system thereof | |
JPH07104808B2 (ja) | 設置可能なファイルシステムにおいてダイナミックボリュームトラッキングを行う方法及び装置 | |
US20020091720A1 (en) | Methods and arrangements for providing improved software version control in managed devices | |
CN100489855C (zh) | 使用最少的日志条目将数据库更改记入日志的设备和方法 | |
EP0925539A1 (en) | Persistent heap for dynamic picture objects | |
US6910054B1 (en) | Methods, systems and computer program products for storing data using a rolling window file | |
US6510499B1 (en) | Method, apparatus, and article of manufacture for providing access to data stored in compressed files | |
US20090235248A1 (en) | System and Method for Managing Virtual Hard Drives in a Virtual Machine Environment | |
US6625614B1 (en) | Implementation for efficient access of extended attribute data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |