KR100481771B1 - 필드레벨복사방법 - Google Patents
필드레벨복사방법 Download PDFInfo
- Publication number
- KR100481771B1 KR100481771B1 KR1019970000607A KR19970000607A KR100481771B1 KR 100481771 B1 KR100481771 B1 KR 100481771B1 KR 1019970000607 A KR1019970000607 A KR 1019970000607A KR 19970000607 A KR19970000607 A KR 19970000607A KR 100481771 B1 KR100481771 B1 KR 100481771B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- field
- sequence
- revised
- fields
- Prior art date
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
다수의 필드내에 배열된 데이터가 들어있는 문서의 복사물들이 따로따로 저장 및 개정되는 분산 컴퓨팅 시스템(distributed computing system)내에서, 개정된 문서 복사물내에 들어있는 데이터를 전복사한 후, 개정된 필드만을 복사함으로써 또다른 복사물에 복사하기 위한 방법. 이 방법은 각 문서 복사물별로 복사물에 대하여 행한 개정의 수를 나타내는 2 바이트의 문서 순번(sequence number)을 동적으로 유지하고, 복사물내의 각 필드에 대한 1 바이트 필드순번을 동적으로 유지하는 단계들을 포함한다. 개정 필드에 대한 필드 순번은 현행 문서 순번의 하위 바이트와 같게 세트된다. 복사를 하고자 할 때, 이 방법에는 문서 복사물중 어느 것이 더 최근에 개정되었는가를 판정하고, 더 최근에 개정된 복사물내의 필드중 어느것이 다른 복사물내의 대응필드보다 더 최근에 개정되었는가를 필드 순번 및 문선 순번의 일부 또는 전부에 기초하여 결정하고, 더 최근에 개정된 각 필드내에 들어있는 데이터만을 다른 복사물내의 대응필드에 복사하는 것이 포함된다. 시스템은 비개정필드에 대한 필드순번들을 인위적으로 증분시키고, 모든 필드순번들이 문서 순번의 256 이내의 값을 가지는 것으로 해석함으로써, 1 바이트에 의하여 더 이상 필드순번을 정확히 나타낼 수 없는 256 보다 큰 문서 순번을 처리할 수 있다.
Description
본 발명은 일반적으로 분산 컴퓨팅 시스템 내에서의 문서복사의 필드, 특히 필드 레벨에서 문서를 복사하기 위한 방법에 관한 것이다.
메사츄세츠 캠브리지에 소재하는 로터스 디벨롭먼트 코포레이션에서 구할 수 있는 로터스 노츠(LOTUSⓡ NOTES)와 같은 일부 기존 분산 컴퓨팅 시스템에 있어서는, 데이터가 네트워크를 거쳐 접속되거나, 접속될 수 있는 다증컴퓨터 시스템에 따로따로 저장되어 있는 다수의 문서로 복사 및 저장되어 있다. 한건의 문서는 다수의 기록(record)을 저장하고 있는 데이터베이스의 일부, 즉 하나의 기록이거나, 텍스트나 다른 데이터를 저장하는 하나의 개별 파일일 수 있다. 각 문서에는 여러 가지 유형의 정보가 들어있는 다수의 필드가 포함되어 있다. 예를 들면, 한 유형의 문서는 "to", "from", "subject", "body", "approvals" 등의 필드들이 포함되어 있는 메모랜덤(memorandum)이다. 기타 유형의 문서에는 텍스트, 번호 또는 다른 종래의 데이터베이스 주제에 대한 다른 필드가 포함되어 있다.
이러한 시스템내에 있는 문서의 사본(copy)은 네트워크내의 하나의 서버(server)에 저장되는 중앙복사 또는 마스타복사로 볼 수 있고, 기타는 사용자들이 작업할 수 있는 다른 서버상에 저장되어 있는 복제물이다. 그 다음에, 사용자는 그 문서복제물에 행한 변경을 주기적으로 또는 요구를 받은 때에, 마스타문서에 복사하고, 이러한 마스타문서는 이와 같은 변경사항을 다른 작업복제물에, 근무일이 끝나는 때와 같이, 주기적으로 전송하는데 이용된다.
이러한 시스템에서는 일반적으로 한건의 문서를 복사할 때, 문서전체를 복사한다. 그러나, 복사하는 동안에는 통상적으로 문서의 소량부분만 변경됨으로, 문서전체의 복사는 시간과 자원의 낭비이다. 이제까지 실시한 적이 있는 것으로 믿지 아니하는 이 문제에 대한 하나의 예상 해결방안은 문서내의 각 필드에 시간표시(time stamp)를 하고, 복사대상 문서내의 필드의 시간표시를 변경되지 아니한 문서내의 대응필드의 시간표시와 비교하여, 어느 필드가 전문서의 복사 이후 개정되었는가를 판정한다. 그러나, 이러한 해결방안을 실시하는데 필요한 완전한 시간표시는 기타의 예상정보와 함께, 최근개정의 연, 월, 일 및 시간을 나타내려면 필드당 8 바이트가 필요하다. 필드당 8 바이트라는 소요(need)는 문서당 다수의 필드와 컴퓨터 시스템당 다수의 문서가 있음을 감안할 때, 추가 기억용량 및 복사시간 등과 같은 계산자원의 상당한 분산지원(substantial commitment)을 나타낸다.
따라서, 문서중 어느 필드가 개정되었을가를 판정하기 위하여 상당한 자원의 분산지원을 필요로 함이 없이, 문서를 필드 레벨에서 복사할 수 있는 방법에 대한 필요가 아직도 남아있다.
본 발명의 목적은 기존 문서복사 시스템과 연관되어 있는 전술한 문제들을 해결하는 것이다.
본 발명의 또다른 목적은 분산 컴퓨팅 시스템 내에서의 필드 레벨복사를 제공하는 것이다.
본 발명의 또다른 목적은 전문서복사 이후, 문서 내의 어느 필드가 개정되었는가를 판정하기 위한 방법을 제공하는 것이다.
본 발명의 상기 목적 및 기타 목적의 일부 또는 전부는 2 건의 문서중 하나에 들어있는 개정된 데이터를 개정된 필드만을 복사함으로써 다른 하나에 복사하는 방법에 의하여 달성한다. 이 문서들은 각 문서가 복수의 필드내에 정리된 데이터를 포함하고, 문서중 하나의 필드중 적어도 일부가 다른 하나의 필드중 적어도 일부에 일치하는 분산 컴퓨팅 환경속에 저장되어 있다. 각 문서내의 적어도 2개의 필드가 개정될 수 있다. 방법은 각 문서에 대하여 행한 개정의 수를 나타내는 각 문서별 문서 순번을 동적으로 유지하고, 각 개정가능 필드별 필드순번을 동적으로 유지하는 것을 포함한다. 복사를 하여야 하는 때에, 방법에는 문서중 어느 것이 더 최근에 개정되었는가를 판정하고, 더 최근에 개정된 문서중 하나 이상의 어느 필드를 더 최근에 개정되었다는 이유로 복사할 필요가 있는가를 판정하는 것이 포함된다. 더 최근에 개정된 각 필드내에 들어있는 데이터는 다른 하나의 문서내의 대응필드에 복사된다.
적당한 실시예에서는, 각 문서 순번을 동적으로 유지하는 단계에는 각 문서 순번을 나타낼 수 있는 m 비트를 사용하여 문서에 대한 개정수를 카운트하는 것이 포함되고, 각 필드순번을 동적으로 유지하는 단계에는 각 필드순번을 나타낼 수 있는 n 비트를 사용하는 것이 포함되며, 여기에서 n 는 m 보다 적다. 적당한 실시예에서, m=16, n=8 이기 때문에, 각 문서 순번은 2 바이트로 표시하고, 각 필드순번은 1 바이트로 표시된다. 필드순번의 값은 필드가 개정되는 때에, 문서 순번의 하위 n 비트와 동등하게 설정된다.
몇가지 실시예에서는, 하나 이상의 어느 필드를 복사할 필요가 있는가를 판정하는 단계에는 각 필드별로 필드순번 및 문서 순번에 기초한 필드순번의 실제값을 판정하고, 대응필드중 어느 필드가 더 최근에 개정되었는가를 판정하기 위하여, 이와 같이 판정된 실제값들을 비교하는 것이 포함된다. 다른 방법에서는 어느 필드를 복사할 필요가 있는가를 판정하는 단계에는 필드순번에 대한 실제값들을 판정하고, 이러한 실제값들을 또다른 문서의 문서 순번과 비교하여 어느 필드가 전복사 이후 개정되었는가를 판정하는 것이 포함된다.
어느 경우에 있어서도, 필드순번에 대한 실제값을 판정하는 단계에는 해당 필드에 대한 문서 순번과 필드순번 사이의 차를 카운트하고, 이 차가 2n-1 보다 큰 경우에는 실제값을 판정하기 위하여 필드순번에 2n을 가산하는 것이 포함된다.
본 발명의 또다른 양태에 따라, 필드순번을 동적으로 유지하는 단계에는 문서 순번이 2n 를 초과하는 경우에, 문서중 직전개정에서 개정되지 아니한 다른 필드와 연관된 필드순번을 인위적으로 증분시키는 것이 포함된다. 비개정필드에 대한 하나의 필드순번은 문서 순번의 하위 n비트와 동등한 때, 인위적으로 증분되고, 이와 같이 증분된 후에는 더 이상 하위 n 비트와 동등하게 되지 아니한다. 필드순번은 이를 완수하려면 1 만을 증분할 필요가 있으나, 적당한 실시예에서는 2(n-1) 를 증분한다.
본 발명을 첨부도면에 의하여 더 상세히 설명하면 다음과 같다.
이하에서는 본 발명의 적당한 실시예들을 도 1 및 도 2의 흐름도를 참조하여 설명한다. 흐름도들은 본 발명이 분산 컴퓨팅 시스템상에서 운영되는 응용 프로그램내에서 실시될 수 있는 하나의 예상방법을 나타내는 것이다. 이 기술분야의 당업자는 본 발명이 많은 다른 방법으로 프로그램내에서 실시될 수 있음을 알 것이다.
본 발명에 의하여, 각 문서에는 도 1 에 도시된 바와 같이, 데이터 베이스가 최초로 생성된 연,월,일,시를 저장하는 8 바이트 작성시간표시와 데이터베이스가 가장 최근에 개정된 연,월,일,시를 저장하는 8 바이트 개정시간표시가 스탬프된다(단계10). 각 문서에는 문서에 대하여 행하여진 개정의 수가 저장되어 있는 기억장치내의 m비트에 의하여 표시되는 문서번호("DSN")로 스탬프된다. 하나의 개정이 등록되고, 이에 따라 DSN 은 문서가 편집 및 저장될 때마다 증분된다.
적당한 실시예에서는 DSN 이 2 바치트(즉, M=16비트)로 표시되고, 이는 DSN 이 0 을 지나서 롤 오버하고, 1의 값으로 롤백하기 전에, 문서에 대한 216=65,536 개정이라는 최대계수를 허용한다. 신규문서에 대한 DSN의 초기값은 1 로 세트되고(단계 12), 이는 초기문서가 문서의 버전(1)임을 표시한다.
각 문서에는 전술한 바와 같이, 다수의 필드가 들어있다. 각 필드에는 기억장치내의 n 비트로 표시되는 필드순번("FSN")이 할당된다. 적당한 실시예에서는 n 은 m 보다 작고, 이에 따라 본 발명의 일부양태에 따라 FSN 를 저장하는데 필요한 기억장치의 양이 감소된다. 이러한 실시예에서는 FSN 는 필드가 마지막으로 개정되었을 때, m 비트 DSN의 하위 n 비트의 값을 저장한다. 적당한 실시예에서는 각 FSN 은 1 바이트(즉, n=8)로 표시되는데, 이는 28=256 개의 서로 구별되는 값을 허용한다. DSN 에서와 같이 각 FSN의 초기값은 1 로 세트되고(단계 14), 이는 필드가 최종적으로 개정되었음을, 즉 DSN=1 인 때에 생성되었음을 표시한다.
하나의 문서내의 하나 이상의 필드내의 데이터가 개정되고, 이 문서가 저장되는 경우에는(단계 16), 이 문서에 대한 DSN 은 1 이 증분되고, 개정시간 표시도 개정된다(단계 18). 그 다음에, 각 개정필드별 FSN 이 DSN의 적당값과 동등하게, 즉 DSN의 하위 바이트로 저장된 값으로 세트된다(단계 20). 예를들면, 필드(A,B, C)가 들어있는 문서에서, 현행 DSN(최종개정전의 DSN)이 10의 값을 가지고, 필드(A)에 대한 FSN 이 2의 값을 가지며(이는 필드 A 가 DSN=2 에서 최종적으로 개정되었음을 표시한다), 필드(A)가 개정된 경우에는 DSN 은 11 로 증분되고, 필드(A)에 대한 FSN 은 11 로 세트되며, 이는 필드(A)가 DSN=11 인 문서의 버전에서 최종적으로 개정되었음을 표시한다.
본 발명에 의하여, 각 필드가 개정된 최종점을 표시하는 서로 분리된 FSN 들을 유지함으로써, 다량의 문서사본내의 대응필드의 FSN 들을 서로 비교하여, 대응필드중 어느 것이 가장 최근에 개정되었는가를 판정할 수 있다. 다른 방법으로는 더 최근에 개정된 문서의 FSN 을 그 보다 먼저 개정된 문서의 DSN 에 대조하여, 필드들이 전복사 이후 개정되었는가의 여부를 판정할 수 있다. 일단 시스템이 어느 필드들이 개정되었다고 판정하면, 문서 전체가 아니라, 이러한 필드들만 복사할 필요가 있다.
각 FSN 에는 1 바이트만 할당되기 때문에, FSN 내의 카운트된 실제개정수가 FSN의 절대값인지, 또는 그 값에 2n, 256의 정배수를 더한 값인지의 여부를 FSN 만으로 판정한다는 것은 불가능하지는 아니하더라도, 매우 어렵다. 예를 들면, FSN 내에 저장된 값은 2의 실제 FSN 또는 2+256=258의 실제 FSN 또는 2+256의 어떤 다른 정배수를 나타낼 수 있다. 다시 말하면, 필드가 DSN=2, DSN=258 또는 더 높은 DSN 에서 최종개정되었는가의 여부를 FSN 만에 의하여 판정한다는 것은 불가능하지는 아니하더라도, 매우 어렵다.
이러한 문제를 해결하기 위하여, DSN 가 문서 전체에 대한 개정수를 표시하기 때문에, FSN의 실제값을 판정하는데, DSN 을 이용할 수 있다. 일반적으로 DSN 이 FSN 보다 더 큰 255 가 아닌 경우에는, FSN 는 실제 FSN 을 나타낸다. DSN 이 FSN 보다 더 큰 255 이상인 때에는, 실제 FSN 은 FSN+256의 정배수가 될 수 있다. 예를 들면, 3 개의 필드(A,B,C)를 가진 문서에 있어서, 필드(A)가 FSN=3, 필드(B)는 FSN=10, 필드(C)는 FSN=20 을 가지는 경우에는 필드(A,B,C)중 어느 하나에 대한 FSN 가 그 액면값보다 더 많은 256의 실제 FSN 을 나타내는가를 판정하기 위하여 DSN 을 검사한다. DSN 이 20 이면, 어느 필드도 256 보다 더 큰 실제 FSN 을 가지지 아니한다. DSN 이 259 인 경우에는 필드중 적어도 하나의 DSN=259 에서 개정되었음에 틀림없기 때문에, 적어도 하나의 필드가 256 보다 더 큰 실제 FSN 을 가진다. 이 경우에는 필드(A)가 259 의 실제 FSN 을 가져야 하며, 필드(B,C)는 259의 DSN 보다 더 큰 10 또는 20 + 256 의 FSN 을 가진다는 것이 명백하다.
그러나, 적어도 하나의 필드가 256의 실제 FSN 또는 다른 필드의 실제 FSN 보다 더 많은 실제 FSN 을 가지는 때에는 어노말리(anormaly)가 일어난다. 이 경우에는 어느 필드가 그 액면 값보다 더 큰 실제 FSN 을 가지고 있는가를 판정하기가 불가능하지는 아니하더라도, 매우 어렵다. 예를 들면, 3 개의 필드를 가진 전술한 문서에 있어서, 전복사후, 필드(A)가 255의 값의 FSN 을 가지고, 필드(B,C)가 1의 값의 FSN 을 가지며, DSN 이 255 의 값을 가지고, 필드(A)가 다음 복사가 행하여지기 전에 6 회 이상 변경된 경우에는 DSN 은 261 로 증분되고, 필드(A)에 대한 FSN 은 5(=261-256 또는 DSN 의 하위 바이트의 값)에 세트된다. 그 다음에는 필드(A)에 대한 FSN 이 실제로 261 을 나타내는가 또는 필드(B,C)에 대한 FSN 이 실제로 257 을 나타내는가의 여부를 FSN 과 DSN 에 의하여는 판정할 수 없다. 이것이 일어나는 때에는 필드(B,C)는 불필요하게 또는 부정확하게 복사될 우려가 있다.
FSN의 비트 크기가 충분히 큰 경우에는 이러한 어노말리의 발생빈도는 최소한으로 유지된다. 따라서, FSN 이 1 바이트이면, 이러한 문제가 일어날 때까지 문서를 256 회 이상 개정할 수 있을 것이다. 그러나, 본 발명에 의하여, 이 문제는 변경되지 아니한 필드의 실제 FSN 이 결코 255 이상 DSN 이하가 되지 아니하도록, DSN 을 상응증분시킴이 없이, 변경되지 아니한 필드에 대한 FSN 을 인위적으로 증분시키으로써 달리 해결한다. 전술한 실시예에 있어서, DSN이 257 에 달하였을 때, 필드(B,C)에 대한 FSN은 그 값이 255 이상 DSN 이하가 되지 아니하도록 인위적으로 증분된다. 그 때에는 모든 FSN이 DSN로부터 256의 거리안에 있는 것으로 해석된다.
필드(B,C)의 각각에 대한 FSN 을 매번 1 에 의하여 증분시키는 것만이 필요하더라도, DSN 이 FSN 에 비하여 너무 커지게 된다. 이것은 이러한 FSN 들을 다른 필드가 개정될 때마다 인위적으로 1 씩 증분시킬 것을 요구한다. 적당한 실시예에 있어서, FSN 은 매번 증분시킬 필요가 없이, 1 오류값, 즉 그 정확한 값 + 128 만을 나타낼 수 있도록, 128(n=8 인 경우에는 2n /2=2(n-1))에 의하여 증분된다. 이러한 문제를 해결하기 위하여, 동일한 FSN 을 다시 증분할 필요가 있는 경우에는 128 로 증분되어 그 정확한 값으로 복귀된다. 이러한 특성은 오류수정작업을 위하여 유용하다.
도 1 에서, 개정이 행하여지고, 개정된 필드에 대한 DSN 및 FSN 이 전술한 바와 같이 세트된 후, 시스템은 DSN 이 256 보다 더 큰가의 여부를 점검한다(단계 22). 그렇지 아니한 경우에는 각 필드에 대한 실제 FSN 이 FSN의 액면값이며, 전술한 문제는 일어나지 아니한다. DSN 이 256 을 초과한 경우에는 시스템은 그 당시 개정되지 아니한 다른 필드들을 순환한다(단계 24). 비개정된 필드에 대하여는 시스템이 그 FSN 을 개정된 DSN의 절단값(truncated value), 즉 DSN의 하위 바이트로 저장된 값과 비교한다.(단계 26). 이러한 2 개의 값들이 같으면, 시스템은 FSN 을 128 로 인위적으로 증분시키고(단계 28), DSN 은 동시에 증분되지 아니한다. 이러한 과정은 변경되지 아니한 각 필드별로 더 이상 비개정 필드가 없을 때까지 계속되고, 비개정 필드가 전혀없는 시점에서, 시스템은 추가개정을 수용하거나, 문서를 복사할 준비를 한다.
이러한 방식으로, 시스템은 비개정필드에 대한 FSN 이 255 이상, 가장 최근에 개정된 필드에 대한 실제 FSN 이하가 되어, 전술한 모호성이 생성되지 아니하도록 보장한다.
문서들은 근무일이 끝나는 때, 사용자에 의한 요구가 있는 때와 같이, 주기적으로 복사할 수 있다. 문서를 복사하여야 하는 경우에는(단계 32), 도 2의 흐름도에 도시된 과정이 수행된다. 시스템은 비교중인 2 개의 문서중 어느 것이 더 최근에 개정된 것인가를 판정하고(단계 34), 문서들의 개정시간 표시를 비교하여 어느 것이 더 늦게 개정되었는가 또는 그 DSN 를 비교하여 어느 것이 더 큰 것인가를 판정한다. 그 다음에, 시스템은 더 최근에 개정된 문서내의 각 필드를 순환하고(단계 36), 각 필드에 대한 실제 FSN 를 확립한다. 실제 FSN 은 처음에는 실제 FSN 을 필드에 대한 FSN 내에 들어있는 값과 동등하게 세팅하고(단계 38), 그 다음에는 실제 FSN 이 255 보다 작은 문서에 대한 DSN 보다 더 큰가의 여부(단계 40), 즉 FSN 이 DSN의 256 이내에 있는가의 여부를 판정함으로써 검색한다. 그러한 경우에는, 실제 FSN 에는 어떠한 변경도 행하여지지 아니하고, 따라서 실제 FSN 내에 저장되어 있는 값이다.
DSN의 256 이내에 있지 아니한 FSN 에 대하여는, 실제 FSN 에 256 을 가산하고(단계 42), 이러한 FSN 이 현재는 DSN의 256 이내에 들게 되었는가의 여부를 검색하기 위하여, 실제 FSN의 개정된 값을 다시 점검한다(단계 40). 이러한 방식으로, 모든 FSN 들이 DSN 로부터 256의 거리내에 있는 것으로 해석된다. 이 과정은 각 문서내에서 각 필드별로 계속된다.
일단 각 필드에 대한 실제 FSN 이 확립되면, 시스템은 더 최근에 개정된 문서내의 필드중 어느 것이 복사할 필요가 있는가를 판정한다. 적당한 일실시예에서는 시스템은 어느 필드가 전에 개정된 문서의 DSN 보다 더 큰 실제 FSN 을 가지고 있는가를 판정한다(단계 44). 이러한 조건을 만족시키는 각 필드는 문서의 전복사후 틀림없이 개정되었을 것이기 때문에, 복사할 필요가 있을 것이다. 따라서, 이러한 필드와 FSN 은 복사된다(단계 46). 시스템은 추가 필드들에 대하여 검사하고(단계 48), 모든 필드가 처리된 경우에는 순환을 종결한다. 데이터가 복사된 후, 복사된 문서의 DSN의 값은 복사된 데이터를 수신한 문서의 DSN 내에 복사된다(단계 50). 이러한 복사과정의 결과로서, 문서는 대응필드와 동일한 데이터, DSN 및 FSN 을 가지게 된다.
다른 실시예에서는, 시스템은 2 건의 문서의 실제 FSN 을 찾아내어, 대응필드들의 실제 FSN 을 비교하여 어느 것이 더 큰 것인가를 판정함으로써 어느 필드를 복사할 필요가 있는가를 판정한다. 더 큰 FSN 을 가진 필드들이 복사된다. 이 과정은 문서들이 이전에 복사되지 아니한 때에 특히 적합하다.
때때로, 사실상 변동되지 아니한 필드의 불필요한 복사가 일어난다. 적당한 실시예에서 예를 들면, 2 개의 필드(A,B)를 가진 문서로서, DSN 이 257 로 증분된 때, 필드(B)가 실제 FSN = 1 를 가지고, 필드(A)가 1의 액면값을 가진 FSN 에 의하여 표시되는 257 의 실제 FSN 을 가지는 경우에는 필드(B)의 FSN 은, 본 발명에 의하여 128 에 의하여 129 의 FSN 으로 증분된다. 필드(B)는 DSN 이 129 와 같게 된 이래, 문서의 2 복제물 사이에 복사가 없었던 경우에만, 불필요하게 복사될 것이다. 이것은 그렇지 아니하면, 문서의 더 오래된 버전의 DSN 이 129 보다 더 크게 되고, 적당한 실시예에 의하여, 129 보다 더 큰 FSN 을 가진 필드만이 복사되기 때문이다. 이제는 더 최근에 개정된 문서내의 DSN 이 257 과 동등하기 때문에, 더 오래된 문서버전의 DSN 은 이 문서가 복사주기 사이에 128 회 수정된 경우에만 129 보다 더 적게 되는데, 이러한 일은 거의 있을 것 같지 아니하고, 실제로도 드물게만 일어난다.
다음의 예는 본 발명을 이해하는데 도움이 될 것이다. 하나의 문서가 저자, 작성일, 개정일, 제목, 본문 및 상태 등의 필드에 의하여 작성되고, 다음의 데이터가 이러한 필드내에 입력되었다고 가정하자(FSN 은 필드 다음의 [ ]에 의하여 표시되어 있다. 예: [1]).
(DSN : 1)
저자: 제인도우 [1]
작성일: 12/1/95 [1]
개정일: 12/1/95 [1]
제목: 여행허가 신청 [1]
본문(Body): 본인은 뉴욕시로의 여행에 대한 허가를 신청함 [1]
상태: 신청서 제출 [1]
이제 어느 지배인이 이 문서를 편집하고, 더 많은 정보를 요구하고, 지배인 주석 필드를 추가한다고 가정하자. 그러면, 문서의 구성은 다음과 같다.
(DSN : 2)
저자: 제인도우 [1]
작성일: 12/1/95 [1]
개정일: 12/2/95 [1]
제목: 여행허가 신청 [1]
본문: 뉴욕시로의 여행에 대한 허가를 신청함 [1]
지배인 주석: 귀하는 이 여행의 정당한 사유를 더 제시할 수 있는가 [2]
상태: 신청서 제출 [1]
개정일자필드가 개정되고, 그 FSN 이 2의 현행 DSN 으로 세트되었다. 그외에도, 지배인 주석필드가 추가되고, 그 FSN 이 문서 DSN=2 내에 작성됨으로써 최종적으로 개정되었음을 표시하기 위하여 2 에 세트되어 있다. 복사를 하고자하는 경우에는 이 문서를 문서의 전버전과 비교하고, 개정일자표시의 비교는 이 버전이 더 최근에 개정되고, 복사되어야 함을 표시한다. 그 다음에는 각 필드별 FSN 을 더 오래된 문서의 DSN 과 비교하여, 이 문서가 최종적으로 개정된 이후 어느 필드가 개정되었는가를 판정한다. 이러한 비교는 개정일자로 끝나고, 지배인 주석필드가 복사되고, 다른 필드들은 복사되지 아니한다.
그 다음에, 본문필드내의 데이터가 더 많은 정보를 제공할 수 있게 편집되는 경우에는, 문서의 구성은 다음과 같다.
(DSN : 3)
저자: 제인도우 [1]
작성일: 12/1/95 [1]
개정일: 12/3/95 [3]
제목: 여행허가 신청 [1]
본문: 뉴욕시로의 여행에 대한 허가를 신청함. 여행의 목적은 몇 명의 고객을 방문하는데 있음 [3]
지배인주석: 귀하는 이 여행의 정당한 사유를 더 제시할 수 있는가 [2]
상태: 신청서 제출 [1]
본문 필드에 대한 FSN 은 3 과 동등하게 세트되고, 이는 DSN의 하위 바이트의 증분된 값이다. 전문서 위에 이 문서의 복사는 개정일자 필드와 본문 필드에 한한다.
지배인이 여행신청을 허가하면, 문서는 다음과 같이 된다.
(DSN : 4)
저자: 제인도우 [1]
작성일: 12/1/95 [1]
개정일: 12/4/95 [4]
제목: 여행허가 신청 [1]
본문: 뉴욕시로의 여행에 대한 허가를 신청함. 여행의 목적은 몇 명의 고객을 방문하는데 있음 [3]
지배인 주석: 귀하는 이 여행의 정당한 사유를 더 제시할 수 있는가[2]
상태: 허가 [4]
상태필드가 개정되고, FSN 은 4의 새로운 DSN 과 동등한 것으로 본다. 상기예는 많은 문서들이 취하는 경로의 전형적인 것이며, 변경된 필드만을 복사하는 것이 전체문서를 복사하는 것보다 명백히 유리하다는 것을 보여준다. 이것은 특히, 본문필드와 같은 큰 필드가 개정되지 아니하고, 개일일자 및 상태와 같은 작은 필드들이 개정되었을 때 유리하다. 이것은 특히 작업순서 신청에 있어서 공통적인 것이다.
전술한 본 발명의 적당한 실시예에서는 각 FSN 이 필드당 1 바이트만에 의하여 표시되지만, 시스템은 주어진 필드별로 255 이상의 변경을 다를 수 있다. 상기예에서, 제인도우와 지배인이 여행에 관하여 더 오래동안 협상하는 경우에는 문서는 다음의 구성으로 마무리될 수 있다.
(DSN : 256)
저자: 제인도우 [1]
작성일: 12/1/95 [1]
개정일: 12/20/95 [0]
제목: 여행허가 신청 [1]
본문: 뉴욕시로의 여행에 대한 허가를 신청함. 여행의 목적은 몇 명의 고객을 방문하는 것임. 고객은 액큼 컴퓨터회사, 스톰 도어회사, 벨즈 엔드 휫슬즈 회사임 [256]
지배인 주석: 이 여행의 정당한 사유를 더 제시하기 바람 [0]
상태: 보충 정보요 [4]
개정날짜 필드와 지배인 주석 필드는 0의 FSN 을 가진다. 0 값은 256 이 보유하고 있는 1 바이트내에 저장될 때, 0 으로서 절단되어 저장되었기 때문에, 이 필드들이 DSN = 256 에서 최종 개정되었음을 표시한다. 문서가 한 번 더 개정되면, DSN 은 257 로 증분되고, 개정된 다른 필드들중에서, 개정일자 필드는 DSN 값으로 세트된다. 문제는 전술한 바와 같이, 이것은 바이트 크기의 FSN 필드내에 저장될 때,1의 값으로서 저장되고, 이는 이 필드를 다른 것처럼 보이게 하여, 비개정 필드까지도 개정되게 하는 것이다(예: FSN = 1을 가지고 있는 저자 및 제목필드). 따라서, 본 발명에 의하여, 문서가 저장됨에 따라, 시스템은 DSN 을 257 로 증분한 다음에, DSN의 절단값(이 경우에는 1) 이 비개정 필드중 어느 것의 FSN 과 정합되는가의 여부를 판정한다. 이 예에서는 정합될 것이다. 이에 따라, FSN = 1 를 가진 비개정필드(저자, 작성일 및 제목)는 이에 128 를 가산하여 조정된다. 그 결과, 문서는 다음의 구성을 가지게 된다.
(DSN : 257)
저자: 제인도우 [129]
작성일: 12/1/95 [129]
개정일: 12/21/95 [1]
제목: 여행허가 신청 [129]
본문: 뉴욕시로의 여행에 대한 허가를 신청함. 여행의 목적은 몇 명의 고객을 방문하는데 있음. 고객은 액큼 컴퓨터회사, 스톰 도어회사, 벨즈 엔드 휫슬즈 회사 등임. 이 고객들을 방문하여 그들의 문제를 해결하여 주지 아니하면, 그들은 우리의 경쟁사중 하나로 거래선을 바꿀 우려가 있음 [1]
지배인 주석: 이 여행의 정당한 사유를 더 보충하기 바람 [1]
상태: 보충 정보요 [4]
개정된 본문 필드는 FSN = 1 을 가지고, 비개정 저자, 작성일, 제목필드는 인위적으로 129 로 증분된 FSN 을 가진다. 그결과, 시스템은 1 의 액면값을 가진 FSN 을 257의 실제값을 가진 것으로 판정할 수 있다. 이 예에서, 그 FSN 이 인위적으로 129 로 증분된 필드들은 DSN = 129 이후, 이 문서의 2 개의 복제물 사이에 복제가 없었던 경우에는, 불필요하게 복사될 것이며, 이는 일반적으로 문서들이 정식으로 복사되는 한, 거의 일어날 수 없는 일이다. 이러한 복사가 있는 경우에는, 문서의 더 오래된 버전의 DSN 은 129 보다 더 크게 되고, 시스템은 129 이하의 실제 FSN 을 가진 필드들의 복사는 필요하지 아니하다고 판정한다.
위의 예를 완성하기 위하여, 지배인이 신청을 허가하는 경우에는 문서는다음의 최종구성을 가지게 된다.
(DSN : 258)
저자: 제인도우 [129]
작성일: 12/1/95 [129]
개정일: 12/21/95 [2]
제목: 여행허가 신청 [129]
본문: 뉴욕시로의 여행에 대한 허가를 신청함. 여행의 목적은 몇 명의 고객을 방문하는 것임. 고객은 액큼 컴퓨터회사, 스톰 도어회사, 벨즈 엔드 휫슬즈 회사임. 우리가 이 고객들을 방문하여 그들의 문제를 해결하지 아니하면, 그들은 우리 경쟁사중 하나로 거래선을 옮길 우려가 있음 [1]
지배인 주석: 상당한 이유 있음 [2]
상태: 허가 [2]
개정일, 지배인 주석 및 상태 필드에는 이제 FSN = 2 가 할당되고, 이는 이 필드들이 DSN = 258 에서 최종개정되었음을 반영한다.
이상에서 본 발명을 적당한 실시예들에 관련하여 설명 및 도시하였는데, 이 기술분야의 전문가들은 본 발명의 취지와 범위를 벗어나지 아니하는 한, 많은 변형 및 변경이 가능하다는 것을 분명히 알 수 있으며, 따라서, 특허청구범위에 기술된 본 발명은 이와 같은 변경들도 특허청구범위 안에 포함되는 것으로 보기 때문에, 본 발명은 전술한 상세한 방법이나 구성에 한정되는 것은 아니다.
도 1 본 발명의 적당한 일실시예에 의하여 개정을 카운트하고, 문서 및 필드 순번을 동적으로 유지하는 과정을 도시한 흐름도.
도 2 는 본 발명의 적당한 일실시예에 의하여 필드 레벨에서 문서를 복사하는 과정을 도시한 흐름도.
Claims (17)
- 2 건의 전자 문서들 각각이 복수의 필드들 내에 배열된 데이터를 포함하고, 상기 문서들 중 하나의 문서의 상기 필드들 중 적어도 일부 필드가 상기 문서들 중 또다른 문서의 상기 필드들 중 적어도 일부 필드에 대응되고, 각 문서 내의 2 개 이상의 필드가 개정가능한 분산 컴퓨팅 환경에서,상기 문서들 중 하나의 문서에 포함된 데이터를, 개정된 필드(들)만을 복사함으로써 상기 문서들중 또다른 문서에 복사하는 방법에 있어서,상기 문서들 각각에 행하여진 개정 횟수를 나타내는, 상기 문서들 각각에 대한 문서 순번을 동적으로 유지하는 단계;상기 필드들 각각이 개정되는 때의 문서 순번과 연관된 번호를 나타내는, 상기 개정가능한 각 필드들 각각에 대한 필드순번을 동적으로 유지하는 단계;복사가 행해지는 경우, 상기 문서들 중 어느 문서가 더 최근에 개정되었는가를 판정하는 단계;상기 필드순번과 상기 문서 순번의 일부 또는 전부에 기초하여, 상기 더 최근에 개정된 문서내의 하나 이상의 어느 필드가 상기 또다른 문서내의 하나 이상의 대응필드보다 더 최근에 개정되었는가를 판정하는 단계; 및더 최근에 개정된 각 필드내에 포함된 상기 데이터를, 상기 문서들 중 상기 또다른 문서내의 상기 대응 필드에 복사하는 단계를 포함하고,상기 단계들 각각은 상기 분산 컴퓨팅 환경 하에서 컴퓨팅 장치(들)에 의하여 수행되는 것을 특징으로 하는 필드 레벨 복사방법.
- 제1항에 있어서,각 문서 순번을 동적으로 유지하는 단계는, 문서에 대한 개정의 수를 m 비트를 사용하여 카운트하는 단계를 포함하고, 각 필드순번을 동적으로 유지하는 단계는 n 비트를 이용하여 필드순번을 나타내는 단계를 포함하고, 여기에서 n 은 m 보다 작음을 특징으로 하는 필드 레벨 복사방법.
- 제2항에 있어서,상기 각 필드순번을 동적으로 유지하는 단계는, 필드가 개정되었을 때, 필드 순번의 값을 문서 순번의 하위 n 비트와 동등하게 세팅하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제3항에 있어서,상기 어느 하나 이상의 필드가 더 최근에 개정되었는가를 판정하는 단계는,각 필드별로 필드순번과 문서 순번에 기초하여 필드순번에 대한 실제값을 판정하고, 이와 같이 판정된 각 실제값을 그보다 전에 개정된 문서의 문서 순번과 비교하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제4항에 있어서,상기 필드순번에 대한 실제값을 판정하는 단계는, 해당 필드에 대한 문서 순번과 필드순번 사이의 차를 카운트하고, 차가 2n-1 보다 큰 경우에는 필드순번에 2n를 가산하여 실제값을 판정하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제3항에 있어서,상기 어느 하나 이상의 필드가 더 최근에 개정되었는가를 판정하는 단계는,각 필드별로 필드순번과 문서 순번에 기초하여 필드순번에 대한 실제값을 판정하고, 이와 같이 판정된 각 실제값을 그보다 전에 개정된 문서내의 대응필드의 필드순번의 실제값에 비교하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제6항에 있어서,상기 필드순번에 대한 실제값을 판정하는 단계는, 해당 필드에 대한 문서 순번과 필드순번 사이의 차를 카운트하고, 차가 2n-1 보다 큰 경우에는 필드순번에 2n을 가산하여 실제값을 판정하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제2항에 있어서,상기 필드순번을 동적으로 유지하는 단계는, 문서 순번이 2n 을 초과하는 경우에는 직전개정에서 개정되지 아니한 문서내의 적어도 하나의 다른 필드와 연관된 필드순번을 증분하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제8항에 있어서,상기 문서내의 적어도 하나의 다른 필드에 연관된 필드순번을 증분하는 단계는, 문서 순번의 하위 n 비트와 동등한 필드순번을 가진 필드에 대한 필드순번을 증분하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제8항에 있어서,상기 증분 단계는, 적어도 하나의 다른 필드순번을 2(n-1) 만큼 증분함을 특징으로 하는 필드 레벨 복사방법.
- 제8항에 있어서,상기 증분 단계는, 적어도 하나의 다른 필드순번을 1 만큼 증분함을 특징으로 하는 필드 레벨 복사방법.
- 제2항에 있어서,m 이 n 의 정배수임을 특징으로 하는 필드 레벨 복사방법.
- 제11항에 있어서,n = 8 이고, m = 16 임을 특징으로 하는 필드 레벨 복사방법.
- 제1항에 있어서,상기 문서중 어느 것이 더 최근에 개정된 것인가를 판정하는 단계는, 문서들의 문서 순번을 비교하여 어느 것이 더 큰가를 판정하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 제1항에 있어서,각 문서에 개정시간표시를 스탬핑하고, 각 문서가 개정되었을 때, 개정시간표시를 갱신하는 단계를 더 포함하고,상기 문서중 어느 것이 더 최근에 개정되었는가를 판정하는 단계는, 문서들의 개정시간표시를 비교하여 어느 것이 더 늦은 시간을 나타내는가를 판정하는 단계를 포함하는 것을 특징으로 하는 필드 레벨 복사방법.
- 복수의 필드내에 배열된 데이터를 포함하고, 주기적으로 복사되는 전자 문서의 복사물들이 별도로 저장 및 개정되는 분산 컴퓨팅 시스템에서,각 복사물에 행해진 개정 횟수를 나타내는, 상기 문서복사물에 대한 문서 순번을 동적으로 유지하는 단계;상기 필드들 각각이 개정되는 때의 문서 순번과 관련된 번호를 나타내는, 각 복사물내의 상기 필드들 각각에 대한 필드순번을 동적으로 유지하는 단계;상기 문서복사물중 어느 것이 더 최근에 개정되었는가를 판정하는 단계;필드순번 및 문서 순번의 일부 또는 전부에 기초하여, 상기 문서의 이전복사이후 더 최근에 개정된 복사물내의 어느 필드(들)이 개정되었가를 판정하는 단계; 및각 개정된 필드내에 포함된 데이터를 상기 다른 복사물내의 상기 대응필드에복사하는 단계를 포함하고,상기 단계들 각각은 상기 분산 컴퓨팅 환경 하의 컴퓨팅 장치(들)에서 수행되는 것을 특징으로 하는 필드 레벨 복사방법.
- 제1 전자 문서를 제2 전자 문서로 복사하는 방법에 있어서,각 문서는 복수의 필드들에 배열된 데이터를 포함하고, 상기 제1 문서의 상기 필들들 중 적어도 일부가 상기 제2 문서의 상기 필드들 중 적어도 일부에 대응되고, 상기 제1 문서는 상기 제1 문서에 대한 개정 횟수를 나타내는 제1 문서 순번을 갖고, 상기 제2 문서는 상기 제2 문서에 대한 개정 횟수를 나타내는 제2 문서 순번을 갖고, 상기 복수의 필드들 각각은 상기 필드들 각각이 개정되는 때의 문서순번과 연관된 번호를 나타내는 필드 순번을 갖고,상기 방법은,상기 제2 문서 순번보다 더 큰 값을 갖는, 상기 제1 문서의 상기 복수의 필드 순번들 중 하나 이상의 필드 순번을 식별하는 단계; 및상기 제2 문서 순번보다 더 높은 값의 필드 순번을 갖는 상기 제1 문서의 각 필드 내의 데이터를, 상기 제2 문서의 상기 대응하는 필드에 복수하는 단계를 포함하고,상기 각 단계들 각각은 컴퓨팅 장치(들)에 의하여 수행되는 것을 특징으로 하는 필드 레벨 복사방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/584,958 US5787441A (en) | 1996-01-11 | 1996-01-11 | Method of replicating data at a field level |
US08/584,958 | 1996-01-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970059966A KR970059966A (ko) | 1997-08-12 |
KR100481771B1 true KR100481771B1 (ko) | 2005-07-04 |
Family
ID=24339453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970000607A KR100481771B1 (ko) | 1996-01-11 | 1997-01-11 | 필드레벨복사방법 |
Country Status (4)
Country | Link |
---|---|
US (2) | US5787441A (ko) |
EP (1) | EP0784281A3 (ko) |
JP (1) | JPH1031670A (ko) |
KR (1) | KR100481771B1 (ko) |
Families Citing this family (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412017B1 (en) * | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
FI103543B1 (fi) * | 1996-09-30 | 1999-07-15 | Nokia Telecommunications Oy | Elektronisten dokumenttien merkitseminen |
US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
US7287271B1 (en) | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US7209949B2 (en) | 1998-05-29 | 2007-04-24 | Research In Motion Limited | System and method for synchronizing information between a host system and a mobile data communication device |
TW428146B (en) * | 1999-05-05 | 2001-04-01 | Inventec Corp | Data file updating method by increment |
US6421686B1 (en) * | 1999-11-15 | 2002-07-16 | International Business Machines Corporation | Method of replicating data records |
US6606629B1 (en) * | 2000-05-17 | 2003-08-12 | Lsi Logic Corporation | Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique |
US7162499B2 (en) * | 2000-06-21 | 2007-01-09 | Microsoft Corporation | Linked value replication |
US6934740B1 (en) | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
US6938079B1 (en) | 2000-09-19 | 2005-08-30 | 3Com Corporation | System and method for automatically configuring a client device |
US7076275B1 (en) * | 2000-10-13 | 2006-07-11 | Palmsource, Inc. | Method and system for single-step enablement of telephony functionality for a portable computer system |
US20020062336A1 (en) * | 2000-11-22 | 2002-05-23 | Dan Teodosiu | Resource coherency among resources cached in a peer to peer environment |
US7072982B2 (en) * | 2000-11-22 | 2006-07-04 | Microsoft Corporation | Universal naming scheme for peer to peer resources |
US7594030B2 (en) * | 2000-11-22 | 2009-09-22 | Microsoft Corporation | Locator and tracking service for peer to peer resources |
US6879564B2 (en) * | 2001-02-28 | 2005-04-12 | Microsoft Corp. | Method for designating communication paths in a network |
US7272232B1 (en) * | 2001-05-30 | 2007-09-18 | Palmsource, Inc. | System and method for prioritizing and balancing simultaneous audio outputs in a handheld device |
US7035922B2 (en) * | 2001-11-27 | 2006-04-25 | Microsoft Corporation | Non-invasive latency monitoring in a store-and-forward replication system |
US7185359B2 (en) * | 2001-12-21 | 2007-02-27 | Microsoft Corporation | Authentication and authorization across autonomous network systems |
US7139565B2 (en) | 2002-01-08 | 2006-11-21 | Seven Networks, Inc. | Connection architecture for a mobile network |
US7024429B2 (en) | 2002-01-31 | 2006-04-04 | Nextpage,Inc. | Data replication based upon a non-destructive data model |
US7099899B2 (en) * | 2002-04-23 | 2006-08-29 | International Business Machines Corporation | System and method for item versioning in a content mangement system |
US9813514B2 (en) | 2002-06-12 | 2017-11-07 | Good Technology Holdings Limited | Information repository system including a wireless device and related method |
US8230026B2 (en) | 2002-06-26 | 2012-07-24 | Research In Motion Limited | System and method for pushing information between a host system and a mobile data communication device |
US8012219B2 (en) | 2002-08-09 | 2011-09-06 | Visto Corporation | System and method for preventing access to data on a compromised remote device |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7065618B1 (en) * | 2003-02-14 | 2006-06-20 | Google Inc. | Leasing scheme for data-modifying operations |
JP2004297792A (ja) * | 2003-03-13 | 2004-10-21 | Ricoh Co Ltd | 画像形成装置及び機能キー割り付け方法 |
US7287043B2 (en) * | 2003-08-21 | 2007-10-23 | International Business Machines Corporation | System and method for asynchronous data replication without persistence for distributed computing |
US7441271B2 (en) * | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US8010082B2 (en) | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US8001082B1 (en) | 2004-10-28 | 2011-08-16 | Good Technology, Inc. | System and method of data security in synchronizing data with a wireless device |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
US7643818B2 (en) * | 2004-11-22 | 2010-01-05 | Seven Networks, Inc. | E-mail messaging to/from a mobile terminal |
FI117152B (fi) * | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
WO2006061463A1 (en) * | 2004-12-10 | 2006-06-15 | Seven Networks International Oy | Database synchronization |
US9020887B2 (en) | 2004-12-21 | 2015-04-28 | Proofpoint, Inc. | Managing the status of documents in a distributed storage system |
FI120165B (fi) | 2004-12-29 | 2009-07-15 | Seven Networks Internat Oy | Tietokannan synkronointi matkaviestinverkon kautta |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US7970386B2 (en) | 2005-06-03 | 2011-06-28 | Good Technology, Inc. | System and method for monitoring and maintaining a wireless device |
WO2006136661A1 (en) * | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Network-initiated data transfer in a mobile network |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US8069166B2 (en) | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
US8731542B2 (en) | 2005-08-11 | 2014-05-20 | Seven Networks International Oy | Dynamic adjustment of keep-alive message intervals in a mobile network |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US7620392B1 (en) | 2006-02-27 | 2009-11-17 | Good Technology, Inc. | Method and system for distributing and updating software in wireless devices |
US7636868B2 (en) * | 2006-06-27 | 2009-12-22 | Microsoft Corporation | Data replication in a distributed system |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
KR100913196B1 (ko) * | 2007-12-11 | 2009-08-24 | 한국전자통신연구원 | 파일 갱신 시스템 및 방법 |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US8150802B2 (en) * | 2008-03-24 | 2012-04-03 | Microsoft Corporation | Accumulating star knowledge in replicated data protocol |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US8612380B2 (en) | 2009-05-26 | 2013-12-17 | Adobe Systems Incorporated | Web-based collaboration for editing electronic documents |
US9298834B2 (en) | 2009-05-26 | 2016-03-29 | Adobe Systems Incorporated | User presence data for web-based document collaboration |
TW201209697A (en) | 2010-03-30 | 2012-03-01 | Michael Luna | 3D mobile user interface with configurable workspace management |
EP3407673B1 (en) | 2010-07-26 | 2019-11-20 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
WO2012018477A2 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
CA2806557C (en) | 2010-07-26 | 2014-10-07 | Michael Luna | Mobile application traffic optimization |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
US8204953B2 (en) | 2010-11-01 | 2012-06-19 | Seven Networks, Inc. | Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
WO2012060996A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Caching adapted for mobile application behavior and network conditions |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US8903954B2 (en) | 2010-11-22 | 2014-12-02 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
WO2012071283A1 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Aligning data transfer to optimize connections established for transmission over a wireless network |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
EP2700021A4 (en) | 2011-04-19 | 2016-07-20 | Seven Networks Llc | MANAGEMENT OF COMMON RESOURCES AND VIRTUAL RESOURCES IN A NETWORKED ENVIRONMENT |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
US8621075B2 (en) | 2011-04-27 | 2013-12-31 | Seven Metworks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
WO2013015994A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
EP2789138B1 (en) | 2011-12-06 | 2016-09-14 | Seven Networks, LLC | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
GB2498064A (en) | 2011-12-07 | 2013-07-03 | Seven Networks Inc | Distributed content caching mechanism using a network operator proxy |
US9832095B2 (en) | 2011-12-14 | 2017-11-28 | Seven Networks, Llc | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
WO2013155208A1 (en) | 2012-04-10 | 2013-10-17 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9619539B2 (en) * | 2012-09-28 | 2017-04-11 | Vmware, Inc. | Automated document replication in a distributed computing system |
US10346422B2 (en) | 2012-10-18 | 2019-07-09 | International Business Machines Corporation | Use of proxy objects for integration between a content management system and a case management system |
US20140114864A1 (en) | 2012-10-22 | 2014-04-24 | International Business Machines Corporation | Case management integration with external content repositories |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US9727625B2 (en) | 2014-01-16 | 2017-08-08 | International Business Machines Corporation | Parallel transaction messages for database replication |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3380281D1 (en) * | 1982-12-03 | 1989-08-31 | Ibm | Updating data processing files |
US4714996A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Impact calculation for version management in a distributed information service |
US5051891A (en) * | 1987-12-23 | 1991-09-24 | International Business Machines Corporation | Method to manage transfer of ownership of electronic documents stored in an interactive information handling system |
ATE114850T1 (de) * | 1988-02-11 | 1994-12-15 | Vogel Peter S | Markierungssystem für dokumente. |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5212789A (en) * | 1989-10-12 | 1993-05-18 | Bell Communications Research, Inc. | Method and apparatus for updating application databases used in a distributed transaction processing environment |
US5459862A (en) * | 1990-06-14 | 1995-10-17 | Sunquest Informaion Systems, Inc. | Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer |
US5255389A (en) * | 1990-06-21 | 1993-10-19 | International Business Machines Corporation | Document interchange replace option via a copy command |
EP0462914A3 (en) * | 1990-06-21 | 1993-06-02 | International Business Machines Corporation | A method of creating documents using existing documents |
DE69126067T2 (de) * | 1990-06-29 | 1997-10-02 | Oracle Corp | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung |
US5467447A (en) * | 1990-07-24 | 1995-11-14 | Vogel; Peter S. | Document marking system employing context-sensitive embedded marking codes |
US5287496A (en) * | 1991-02-25 | 1994-02-15 | International Business Machines Corporation | Dynamic, finite versioning for concurrent transaction and query processing |
US5261094A (en) * | 1991-04-08 | 1993-11-09 | International Business Machines Corporation | Asynchronous replication of data changes by distributed update requests |
US5423037A (en) * | 1992-03-17 | 1995-06-06 | Teleserve Transaction Technology As | Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes |
US5455946A (en) * | 1993-05-21 | 1995-10-03 | International Business Machines Corporation | Method and means for archiving modifiable pages in a log based transaction management system |
US5408563A (en) * | 1993-07-28 | 1995-04-18 | Beland; Robert | High efficiency/high voltage optocoupler |
US5440735A (en) * | 1993-10-08 | 1995-08-08 | International Business Machines Corporation | Simplified relational data base snapshot copying |
US5613113A (en) * | 1993-10-08 | 1997-03-18 | International Business Machines Corporation | Consistent recreation of events from activity logs |
US5671407A (en) * | 1994-12-07 | 1997-09-23 | Xerox Corporation | Application-specific conflict detection for weakly consistent replicated databases |
US5649195A (en) * | 1995-05-22 | 1997-07-15 | International Business Machines Corporation | Systems and methods for synchronizing databases in a receive-only network |
-
1996
- 1996-01-11 US US08/584,958 patent/US5787441A/en not_active Expired - Fee Related
-
1997
- 1997-01-11 KR KR1019970000607A patent/KR100481771B1/ko not_active IP Right Cessation
- 1997-01-13 JP JP9035466A patent/JPH1031670A/ja active Pending
- 1997-01-13 EP EP97300161A patent/EP0784281A3/en not_active Ceased
-
1998
- 1998-06-09 US US09/094,216 patent/US6138124A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5787441A (en) | 1998-07-28 |
EP0784281A2 (en) | 1997-07-16 |
EP0784281A3 (en) | 1998-07-29 |
US6138124A (en) | 2000-10-24 |
JPH1031670A (ja) | 1998-02-03 |
KR970059966A (ko) | 1997-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100481771B1 (ko) | 필드레벨복사방법 | |
US5530794A (en) | Method and system for handling text that includes paragraph delimiters of differing formats | |
US5819272A (en) | Record tracking in database replication | |
US5832489A (en) | Method and apparatus for synchronizing information on two different computer systems | |
US6671703B2 (en) | System and method for file transmission using file differentiation | |
JP3692054B2 (ja) | 文書構造変換方法および文書構造変換装置およびプログラム | |
US5706509A (en) | Application independent record level synchronization | |
US6098079A (en) | File version reconciliation using hash codes | |
EP1406181B1 (en) | Document revision support | |
US8380671B2 (en) | System and method for creating a new annotation for a data source | |
US20010016853A1 (en) | Method and apparatus for synchronizing information on two different computer systems | |
US7051274B1 (en) | Scalable computing system for managing annotations | |
US5499358A (en) | Method for storing a database in extended attributes of a file system | |
US6968349B2 (en) | Apparatus and method for validating a database record before applying journal data | |
US20030055828A1 (en) | Methods for synchronizing on-line and off-line transcript projects | |
US9104689B2 (en) | Method for synchronizing documents for disconnected operation | |
US7024622B1 (en) | Keeping track of locations in electronic documents | |
US20140279842A1 (en) | Inferring a sequence of editing operations to facilitate merging versions of a shared document | |
US11556519B2 (en) | Ensuring integrity of records in a not only structured query language database | |
US7546526B2 (en) | Efficient extensible markup language namespace parsing for editing | |
CN114218256A (zh) | 访问语句处理方法、装置、设备及存储介质 | |
US7324994B2 (en) | Uniquely identifying an object before it is stored in a database | |
US20130110777A1 (en) | Synchronization of data edited in parallel | |
Felician | Simulative and analytical studies on performances in large multimedia databases | |
Shiers | HEPDB A Database Management Package For High Energy Physics Experiments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |