KR20010043153A - 스플리트 파일 시스템 - Google Patents

스플리트 파일 시스템 Download PDF

Info

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
Application number
KR1020007012057A
Other languages
English (en)
Inventor
마이클하워드
Original Assignee
알랜 케이. 플레이크
엠웨어 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알랜 케이. 플레이크, 엠웨어 인코포레이티드 filed Critical 알랜 케이. 플레이크
Publication of KR20010043153A publication Critical patent/KR20010043153A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File 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

스플리트 파일 시스템{SPLIT FILE SYSTEM}
일반적으로, "임베디드 시스템"(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. 제 1 항에 있어서, 상기 데이터 테이블은 일련의 데이터 파일이고, 서류 목록은 각 데이터 파일에 대한 길이 및 오프셋 정보를 포함하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
  3. 제 2 항에 있어서, 상기 데이터 파일 세트(set)는 압축된 데이터 파일의 일련의 연결 세트인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
  4. 제 2 항에 있어서, 호스트 컴퓨터에 대해 길이 및 오프셋 정보를 검색하기 위하여 서류 목록을 억세스 하는 수단; 및
    검색된 길이 및 오프셋 정보를 이용하는 원하는 데이터 파일을 검색하는 수단을 포함하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
  5. 제 1 항에 있어서, 적어도 하나의 데이터 파일의 집합은 리치 텍스트 서류인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
  6. 제 5 항에 있어서, 상기 리치 텍스트 서류는 HTML서류인 것을 특징으로 하는 마이크로컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템.
  7. 연산/논리부;
    리드/라이트 메모리; 및
    프로그램 메모리;를 포함하는 마이크로 컨트롤러 기반의 장치를 포함하고,
    (a) 상기 프로그램 메모리내에 저장하기 위한 데이터 테이블을 제공하고; 및
    (b) 호스트 컴퓨터에 대해 저장하기 위한 서류 목록을 제공하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
  8. 제 7 항에 있어서, 상기 데이터 테이블을 제공하는 단계는
    (a) 원하는 일련의 데이터내에서 각 파일을 압축하고; 및
    (b) 그 데이터 테이블을 형성하도록 압축된 파일을 연결하는 단계를 포함하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
  9. 제 7 항에 있어서, 상기 서류 목록은 파일 길이와 파일 오프셋 정보를 포함하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
  10. 제 9 항에 있어서, 원하는 파일은
    (a) 호스트 컴퓨터에 대해 서류 목록으로부터 원하는 데이터 파일에 관련한 길이 및 오프셋 정보를 검색하고; 및
    (b) 검색된 길이 및 오프셋 정보를 이용하여 프로그램 메모리내에 원하는 데이터 파일을 억세스 하는 단계에 의해 억세스 되는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치에 대해 데이터 파일들의 집합을 위한 파일 시스템을 생성하고 관리하는 방법.
  11. 연산/논리부;
    리드/라이트 메모리;
    프로그램 메모리; 및
    비휘발성 메모리를 포함하는 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크의 한 구성요소이고;
    컴퓨터 네트워크의 또 다른 구성요소는 호스트 컴퓨터 시스템이고;
    마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합;
    마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로들; 및
    호스트 컴퓨터에 대해 저장된 파일 지향의 억세스 경로들;을 포함하고 상기 파일 지향의 억세스 경로들은 상기 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일들에 대한 디렉토리 및 파일 조작 능력을 제공하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
  12. 제 11 항에 있어서, 상기 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 데이터 파일들은 쓰기 가능한 블록들의 어레이로서 배치된 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
  13. 제 11 항에 있어서, 상기 메모리 억세스 경로는
    비휘발성 메모리로부터 메모리 위치의 범위를 읽는 리드 경로; 및
    단일 메모리 위치에 쓰는 쓰기 경로로 구성된 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
  14. 제 13 항에 있어서, 시작 어드레스 및 읽혀지는 다수의 메모리 위치는 변수로서 읽기 경로를 통과하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
  15. 제 13 항에 있어서, 메모리 어드레스 및 쓰여지는 값은 변수로서 쓰기 경로를 통과하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템.
  16. 연산/논리부;
    리드/라이트 메모리;
    프로그램 메모리; 및
    비휘발성 메모리를 포함하는 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크의 한 구성요소이고;
    컴퓨터 네트워크의 또 다른 구성요소는 호스트 컴퓨터 시스템이고;
    (a) 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합을 제공하고;
    (b) 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 저장된 바이트 지향의 비휘발성 메모리 억세스 경로들을 제공하고; 및
    (c) 호스트 컴퓨터에 대해 저장된 파일 지향의 억세스 경로들을 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템을 생성하고 관리하는 방법.
  17. 제 16 항에 있어서, 상기 마이크로컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 데이터 파일의 집합은 압축된 데이터 파일의 집합인 것을 특징으로 하는 컴퓨터 네트워크에 대해 분포된 소프트웨어 구성요소들을 가지는 파일 시스템을 생성하고 관리하는 방법.
  18. (a) 상기 마이크로컨트롤러 기반의 장치의 프로그램메모리내에 저장된 바이트 지향이 비휘발성 메모리 억세스 경로를 제공하고;
    (b) 호스트 컴퓨터에 대해 파일 지향의 억세스 경로들을 제공하고; 및
    (c) 호스트 컴퓨터에 대해 상기 마이크로컨트롤러 기반의 장치들과 이용가능한 파일 저장 공간에 저장된 파일을 특징으로 하는 디렉토리 및 자유 블록 목록을 유지하는 단계를 포함하고,
    상기 마이크로 컨트롤러 기반의 장치가 컴퓨터 네트워크에 대해 호스트 컴퓨터와 통신하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
  19. 제 18 항에 있어서, 상기 마이크로컨트롤러 기반의 장치에 저장된 파일의 갱신은
    (d) 호스트 컴퓨터에 대해 갱신될 파일의 복사를 유지하고;
    (e) 파일의 복사본을 압축하고;
    (f) 파일 길이를 결정하고;
    (g) 파일 저장을 위해 요구된 블록의 수가 변화되었는지 결정하도록 자유 블록 목록을 검사하고; 만약 변화되었으면
    (h) 새로운 블록 할당을 반영하도록 자유블록 목록을 변경하고;
    (i) 상기 자유블록 목록내에 할당된 것처럼 블록들내에 파일을 저장하고;
    (j) 갱신된 상기 파일에 대응하는 디렉토리 등록을 갱신하고; 및
    (k) 상기 마이크로 컨트롤러 기반의 장치의 프로그램 메모리내에 바이트 지향의 억세스 경로들을 이용하는 상기 마이크로컨트롤러 기반의 장치에 그 파일을 쓰는 단계들을 포함하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
  20. 제 19 항에 있어서, 상기 마이크로컨트롤러 기반의 장치 및 호스트 컴퓨터 양쪽에 대해 저장된 처리 카운터를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 마이크로 컨트롤러 기반의 장치의 비휘발성 메모리내에 저장된 하나 이상의 파일들에 대한 파일 시스템을 유지하는 방법.
  21. 장치와 관련된 메모리내에 저장된 데이터 테이블; 및
    상기 장치와 상호연결된 호스트 컴퓨터 시스템에 대해 상기 데이터 테이블을 해석하는 소프트웨어 모듈로 구성되는 파일 시스템.
  22. 제 21 항에 있어서, 상기 테이블은 데이터의 논리 블록들로 분류된 것을 특징으로 하는 파일 시스템.
  23. 제 22 항에 있어서, 상기 논리 블록들은
    디렉토리 구조;
    자유블록 목록; 및
    파일 목록을 저장하는 블록열(sequences)들을 포함하는 배치로 이루어진 파일 시스템.
KR1020007012057A 1998-05-01 1999-04-19 스플리트 파일 시스템 KR20010043153A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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