JPH03198154A - 文字シーケンス検証方法及び装置 - Google Patents

文字シーケンス検証方法及び装置

Info

Publication number
JPH03198154A
JPH03198154A JP2341151A JP34115190A JPH03198154A JP H03198154 A JPH03198154 A JP H03198154A JP 2341151 A JP2341151 A JP 2341151A JP 34115190 A JP34115190 A JP 34115190A JP H03198154 A JPH03198154 A JP H03198154A
Authority
JP
Japan
Prior art keywords
sequence
range
character
input
segment
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2341151A
Other languages
English (en)
Other versions
JP2686847B2 (ja
Inventor
Timothy J Littlewood
ティモティ ジェイムス リトルウッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Northern Telecom Ltd
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 Northern Telecom Ltd filed Critical Northern Telecom Ltd
Publication of JPH03198154A publication Critical patent/JPH03198154A/ja
Application granted granted Critical
Publication of JP2686847B2 publication Critical patent/JP2686847B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は文字シーケンスの検証に関するものである。特
に、電話システム、コンピュ−タ等で用いられるキーボ
ードまたはキーバッドによって生成された文字シーケン
ス(またはストリング)の検証に適用できるものである
。 代表的な応用例はパスワードの検証、電話番号ダイ
ヤルおよびデータベース・アクセス/検索等である。
この明細書において、文字シーケンスのコンテキスト中
の「文字」の語は1またはそれ以上のシンボル、英数字
、ASCII文字コード、絵文字、アイコン、その他の
外字をすべて含むものである。
また、この明細書において「アルファベット類」の語は
シーケンスが最下位の数字から順序付けられ、また、同
一の意味を持つ文字の順序はアルファベット類に順序付
けられることを意味する。
例えば、文字シーケンスABZとACAは隣接するであ
ろう。十進数Oから9の数字を含むシーケンス128.
129.130,131はレンジ内で隣接するシーケン
スである。
[従来の技術] 代表的なシステムは、あらかじめ定められた、例えば、
パスワード、コマンド、ディレクトリ・アドレスのよう
な”有効”文字シーケンスのセット(集合)を認識する
ためにプログラムされる。
これらの有効シーケンスは多くの文字の順列によって生
成される可能なシーケンスの”スパース(疎)”サブセ
ット(部分集合)である。
ユーザは、システムが理解できないような無効文字シー
ケンスを入力するかもしれない。したがって、このシス
テムは各入力文字シーケンスが有効シーケンスに対応す
るか否かを判断する、すなわちシステムが有効文字シー
ケンスを認識するためにプログラムされているかをチエ
ツクする、必要がある。
オプションとして、文字シーケンスまたは文字ストリン
グが全て入力される前に文字ストリング中で早期に発生
するエラーは、パスワード検証の明かな例外を除いて、
ユーザに報告することができる。また、検証プロセスは
異なる長さの文字ストリングを取り扱うことができるよ
うにすべきであろう。
現存のシステムで用いられている文字シーケンス検証の
1つの形式は完全なマツチングであり、そのマツチング
においては、全入カシ−ケンス(またはストリング)ま
たは入力の一部が有効シーケンスを示すテンプレートま
たは参照テーブルと比較される。
[発明が解決しようとする課題] しかしながら、このアプローチは全ての可能性ある有効
シーケンスに対し個々のテンプレートが必要であり、こ
れらのテンプレートが検索されなければならず、そのた
め時間の浪費となる問題点があった。さらに、このテン
プレートのテーブルまたはリストは法外のメモリ領域を
必要とする問題点があった。
他の公知の文字シーケンス検証の形式は3つのタイプの
アルゴリズムを用いている。このシステムでは、一連の
データレコードは「ポインタjによって相互接続される
。各レコードはシーケンス中に有効文字とポインタとを
含む。このポインタはシーケンス中の次の文字に対応す
るレコードの位置を与えるアドレスを示す。
共通の主要な文字を有するシーケンスは木の幹に近い共
通の木のノードを有する。木は後続する文字が2つまた
はそれ以上の有効ストリングだけ異なるところで分岐す
る。これは完全なマツチングよりもよりスペースの効率
をよくする。しかし、各有効シーケンスに対する1つの
木のノードの最小値が要求される。ポインタは高価なメ
モリスペースを占める。これはポインタがデータを有す
るレコードに蓄積されなくてはならないからである。さ
らに、中央プロセッサはストリング中の各有効文字を検
出するために非常に長い時間をかけてポインタをアクセ
スしなければならない。
この発明の目的は、特に、通信または同様なシステムに
用いるための文字シーケンスの検証装置を提供すること
にある。その中で、有効シーケンスは用いられる全文字
の可能な順列の中で非常に小さなサブセット(部分集合
)を構成する。さらに、この装置は上述した従来の装置
よりも、時間とメモリの使用においてより効率的である
[課題を解決するための手段] 本発明の文字シーケンス検証装置は、(a)前記入力文
字シーケンスに対応する潜在レンジを推定する手段と、
(b)前記入力文字シーケンスに対応する潜在レンジと
前記データベースセグメントとを比較し、前記潜在レン
ジと前記有効文字シーケンスとの間に共通部があるか否
かを判断する手段とを備え、 前記共通部が存在し、かつ後続文字が前記入力文字シー
ケンス中にある場合は、前記後続文字から最初の潜在レ
ンジのサブセットである第2の潜在レンジを推定し、前
記第2の潜在シーケンスレンジと前記データベースセグ
メントとを比較し、第2の潜在レンジと前記有効文字シ
ーケンスとの間で共通部があるかを判断し、全ての入力
文字シーケンスに対して上記推定および判断が完了した
時点で前記共通部が存在する場合は、入力文字シーケン
スが完全であることを示すように構成される。
[作用] 本発明の文字シーケンス検証装置は、電話システム、コ
ンピュータ等で用いられるキーボードまたはキーバッド
から文字シーケンスが入力されたとき、潜在レンジ推定
手段によって入力文字シーケンスに対応する潜在レンジ
を推定する。その潜在レンジとデータベース中のセグメ
ントとを比較し、その潜在レンジとデータベース中の有
効文字シーケンスとの間に共通部があるか否かを判断す
る。
前記共通部は存在するが入力文字シーケンス中に後続文
字がある場合は、その後続文字がら最初の潜在レンジの
サブセットである第2の潜在レンジを推定し、前記第2
の潜在シーケンスレンジと前記データベースセグメント
とを比較し、第2の潜在レンジと前記有効文字シーケン
スとの間で共通部があるかの判断を後続文字がなくなる
まで行なう。後続文字がなくなった時点で前記共通部が
存在する場合は、入力文字シーケンスが有効であると判
断する。
本発明の文字シーケンス検証装置はこのように文字シー
ケンスの後続文字に全部について潜在レンジの推定と共
通部の有無の判断を順次行い最終的に入力文字シーケン
スが有効であるか否かを判断するように動作する。
[実施例] 第1図は本発明の一実施例の回路構成を示すブロック図
である。
ユーザ端末110はユーザとコンピュータまたは通信シ
ステム112間と接続される。通信システム112はC
PU (中央処理装置)114を含む。CPU114と
入出力インタフェース(Ilo)116とメモリ118
はパラレルバス120によって相互接続されている。
この例において、ユーザはユーザ端末110のキーボー
ド122を経由して文字シーケンスを入力する。これに
よりユーザはディジタル符号化された文字シーケンスを
生成し、入出力インタフェース116に送出する。コン
ピュータまたは通信システムはこの文字シーケンスが有
効であるか否か、言い替えればシステム内で意味がある
か否かについて判断しなければならない。
メモリ118は有効文字シーケンスのデータベースを含
み、さらに、検証プロセスを実行するインストラクショ
ン(ソフトウェア)の集合をも含む。もちろん、このデ
ータベースは、キーボード122から入力される全ての
順列を用いることによって生成できる文字シーケンスの
中で限られた集合のみを含むという意味において、”ス
パース(疎)”と言ってもよい。
CPU114は、検証プロセスのインストラクションを
実行し、文字入カシ−ケンスとメモリ118に蓄積され
た有効文字シーケンスとを比較することによって、入出
力インタフェース116に結果を出力し、ユーザ端末1
10に入力文字シーケンスが有効か無効かを示す。
また、メモリ118は特殊の有効文字シーケンスに関す
るファンクションを初期化するマシーンインストラクシ
ョンをも含む。
第2図は第1図に対応するデータフロー図であり、ノー
ザンテレコムリミテッドによって商標rNORsTAR
Jとして販売されている電話システムにおけるデータの
流れを示している。
N0R8TARタイプのシステムにおいては、ユーザは
、要望により、応用ソフトウェアパッケージの種々のイ
ンストラクションの集合を直接アクセスし、種々の異な
る機能(以後サービスと言う)を実行することができる
。そのようなシステムの詳細についてはカナダ特許59
0,657−1および593.268に記載されている
N0R8TARシステムには多くのコンテキストがあり
、そこではユーザによって生成された特殊文字シーケン
スは検証する必要がある。したがって、ある特殊文字シ
ーケンスは、例えば、出回線に用いられ、そこからユー
ザが1回線を選択しようとする電話回線のグループであ
る「回線プール」サービスのコンテキスト内では有効で
あるかもしれない。ところが、「着信転送」のような他
のサービスでは有効でないかも知れない。
このように、第2図に示されるように、シーケンスパー
サ202、すなわち、CPU114によって実行される
検証プログラムは第1の命令またはデータ入力であるパ
ーサコンテキスト204を受信する。このパーサコンテ
キスト204はアプリケーションサービス212によっ
て、文字シーケンスがユーザによって入力される特殊な
環境に対して判断される。例えば、ユーザが操作する「
ファンクション・キー」のような従来のいくつかのもの
は、アプリケーションサービス212を起動し、回線プ
ールをダイヤルするコンテキスト内で文字シーケンスが
検証されるべきであると要求するかもしれない。その場
合、アプリケーションサービス212は後続のパージン
グ(構文解析)または検証プロセスを潜在的なまたは許
容される回線プール番号の全てを含むデータベースの一
部に限定するようにコンテキストを特定するであろう。
入力シーケンス206がデータとして受信されると、シ
ーケンスパーサ(解析機)202は種々の有効シーケン
スまたは「ターゲット(目標)」シーケンスをデータ2
08としてメモリ118から抽出して、パージングまた
は検証テストを実行して、その後パーサ結果210をア
プリケーションサービス212に送出する。もしシーケ
ンスが完全に検証されたことをパーサ結果210が表示
したときは、パーサ結果210によって判断されたアプ
リケーションの特殊のデータを含む結果パラメータ21
4、例えば回線プール番号、はアプリケーションサービ
ス212に返送される。 アプリケーションサービス2
12は、その後ユーザ端末110を介してユーザに、シ
ーケンスが無効であったことを報告するか、または要求
されるファンクションを初期化するかのいずれかを行う
さらに、アプリケーションサービス212は、後に説明
するように、現在のシーケンス長をデータ216として
記録する。
第3図はパージングまたは検証プロセスおよび入力文字
シーケンスがターゲットセグメント上にマツピングされ
る過程を示している。
本文中では、入力文字シーケンス中の文字から推定する
ことによって得られるレンジは「潜在レンジ」と表現さ
れる。一方、データベース中に実際に存在するレンジは
「実在レンジ」として表現される。
第3図はネスティング(入れ子構造)になった潜在レン
ジ302.304.306および308を示している。
ユーザは最初の文字(1)を入力する。潜在レンジ30
2は(1)の文字で始まる文字シーケンスの全集合とし
て定義され、入力文字シーケンス中で引き続き入力され
る文字の種々の順列によって生成される。 これらの文
字シーケンスの幾らかは、「無効」であるとしてデータ
ベースには用いられない。他は「有効」であるとしてデ
ータベースで使用される。これらは「実在レンジ」とし
てグループ化される。
第3図において、実在レンジ310.312および31
4はそれぞれセグメント316としてグループ化される
。実在レンジ318.320および322はそれぞれセ
グメント324としてグループ化される。セグメント3
16と324の実在シーケンスはそれぞれ隣接レンジと
してグループ化される。これらのセグメントが「コンテ
キスト」の概念に含まれるかについては後に詳細に説明
する。
入力文字シーケンス中の次の文字(2)は、検索領域を
、最初の2つの文字(12)で始まる文字シーケンスを
含んだ潜在レンジ304に「絞り」、または限定する。
第3図に見られるように、これはセグメント316中の
実在レンジ310.312および314を排除し、検索
領域をセグメント324の主要部に限定する。セグメン
ト324が複数のレンジを含んでいる限り、入力シーケ
ンスはまだ完全でない。
第3番目の文字(3)は潜在レンジ306を定義し、こ
れはレンジ320とレンジ322を事実上排除するよう
に領域を限定する。この場合でも文字シーケンス(12
3)はまだ完全でない。
入力文字シーケンス中の次の第4番目の文字(4)は領
域を潜在レンジ308に限定する。この潜在レンジ30
8は実在レンジ320と322を排除する。文字(4)
は入力文字シーケンス中の最後の文字であるから潜在レ
ンジ308はターゲットである「実在レンジ」318に
対応する。
入力シーケンス(1234)はしたがって、この場合は
完全でありかつ有効となる。
N0R8TARのようなシステムでは、ユーザは特殊の
アプリケーションソフトウェアを要求するファンクショ
ンキーを押すであろう。これによって特殊のアプリケー
ションソフトウェアは、パーサコンテキスト204の入
力パラメータによって、自動的に後続のパージングまた
は文字検証プロセスを、特殊のアプリケーションに関係
するメモリデータベースの一部に限定するであろう。
例えば、ファンクションキー1は構内ダイヤルにおける
インターフオン番号のデータベース中にあるディレクト
リを選択することが可能である。
一方、ファンクションキー2は外部回線を使用してアク
セスされる回線プール番号のディレクトリを選択するこ
とができる。後続の番号は両ディレクトリに共通である
が、パージング(構文解析)はデータベースの1つの部
分のみで行なわれる。
このパージングソフトウェアはもちろんファンクション
が選択されたことを知る必要はない。パージングは単に
文字シーケンスを抽出し、特殊のアプリケーションのデ
ィレクトリに対して検証をするのみである。
このように、回線コードとインターフオン番号のような
両コンテキスト中に生じる特殊の文字のシーケンスは、
両コンテキストに対して構文解析が同時にされることは
ない。したがって、各コンテキストは別々に構文解析さ
れ、そのファンクションキーは構文解析がその中で行わ
れるコンテキストを定義する。
第4図はデータベース中の有効レンジの異なるセグメン
トが、その中で検証が行われる特殊コンテキストによっ
て、どのように分離されるかを示す。第4図において、
セグメント402はインタフオン番号のディレクトリを
表し、セグメント404は対応の回線プール番号を示す
ものとする。
アプリケーションソフトウェアはコンテキスト上で従属
した2つセグメントを区別することができる。このよう
に、もし、ユーザがアプリケーションサービスの「回線
プール」を選択するならば、そのアプリケーションソフ
トウェアは、ユーザがその後選択するであろう回線プー
ルを介して、ユーザは外部に呼接続を行いたいに違いな
いと認識するであろう。したがって、それに続く文字シ
ーケンスの検証は、第4図のスクリーンまたはマスク4
06によって示されるように、セグメント404に限定
されるであろう。
第4図において、文字シーケンス1234の入力に先だ
って、ファンクションキーF1の動作は、ユーザが選択
する回線プール機能に対応し、コンテキストマスク40
6を生成する。
マスク406はセグメント404に限定し、セグメント
402を排除し、セグメント40.4のアクセスを可能
にする。他の方法としては、コンテキストマスク406
はユーザによるファンクションの選択によらないで、シ
ステムが絶対的に決定するようにもできる。
コンテキストマスク406はコンテキストF1に対する
ただ−の「窓」を示すように見えるが、このコンテキス
トマスク406は各データベースに対応して複数の窓を
含むこともできる。
第5図は文字シーケンス502.504.506.50
8.510および512の一連の潜在レンジとターゲッ
トまたは「実在」レンジ514を示す。
レンジ502はターゲットレンジ514に含まれるので
有効である。レンジ504もまたターゲットレンジを含
むので有効である。同様に、レンジ506もターゲット
レンジ514の下端とオーバーラツプするので有効であ
る。レンジ508もまたターゲットレンジ514の上端
とオーバーラツプするので有効である。入力レンジ51
0および512はそれぞれターゲットレンジ514の下
端、上端の全く外部にあるので無効である。
第6図は3つの「実在」レンジすなわちデータベース中
のシーケンスASBおよびCのターゲットレンジを示す
。この例では、アルファベットは0から9のデイジット
のみから構成される。各レンジはあらかじめ定められた
文字番号と上限および下限を有している。このように、
ターゲットレンジAは下限2563と上限6789の間
の数字で表現される4文字長の全てのシーケンスを含ん
でいる。ターゲットレンジBは下限と上限がそれぞれ0
700,2199である2文字長のシーケンスを含んで
いる。ターゲットレンジCは下限と上限がそれぞれ80
00,8999である1文字長のシーケンスである。最
大炎より小さいターゲットストリングは、そのレンジの
上限と下限において最大値と最小値に推定される。例え
ば、8は下限5oooと上限8999に拡張される。
第7図A1第7図B1第7図Cはそれぞれ第6図に示す
ターゲットシーケンスのレンジと代表的な3つの文字シ
ーケンス■、■、■とを比較する検証プロセスを示す。
第7図Aにおいて、入力文字シーケンス■は数字23を
含んでいる。第1のデイジット(2)は、潜在レンジ2
000から2999までのレンジにあると推定され、そ
のレンジは第6図のターゲットシーケンスBの上端とタ
ーゲットシーケンスAの下端とのオーバラップしている
。  しかしながら、第2のデイジット(3)が付くと
、潜在レンジは2300から2399までと狭くなり、
前の潜在レンジの残りの部分を排除する。2800から
2399までの新たな潜在レンジはターゲットレンジB
の上端(2199)より大きく、ターゲットレンジAの
下端(2563)より小さい。
したがって、入力文字シーケンス■は無効である。
第7図Bにおいて、入力文字シーケンスまたは入力文字
ストリング■は単一のデイジット(8)を含んでいる。
これは潜在レンジ8000から8999にあると推定さ
れる。これは第6図のターゲットレンジCと完全にオー
バラップし、今度は有効であり完全である。数字1の隣
のアスクリスク(*)は文字シーケンスがこの時点で完
全であることを示す。
第7図Cにおいて、シーケンス■は4つのデイジット長
でありデイジット5426と特定される。数字4の隣の
アスタリスク(*)はシーケンスがこの時点で完全であ
ることを示す。最初のデイジット(5)は潜在レンジを
5.000から5999に限定する。これは明らかに第
6図の実在レンジまたはターゲットレンジA内に存在す
る。次のデイジット(4)は潜在レンジを5400から
5499に限定し、これはまだターゲットレンジA内に
存在するので、明らかに有効である。次のデイ−ジット
(2)はさらにレンジを5420から5429に限定す
る。最後のデイジット(6)は潜在レンジを5426か
ら5426に限定し、これもまたターゲットレンジAに
含まれる。このようにして、入力文字ストリングまたは
入力文字シーケンスは有効でかつ完全であると判断され
る。
第8図から第15図は検証プロセスを示すフローチャー
トである。
第8図は第2図のアプリケーションサービス212を示
し、特にこのアプリケーションサービス212がどのよ
うにシーケンスパーサ202を要求し、どのようにそれ
が用いる文字シーケンスをバッファするかについて示さ
れる。アプリケーションサービス212はユーザによっ
て入力されたデイジットを集め、シーケンスパーサ20
2の中に集めた文字シーケンスを送り、このシーケンス
パーサ202から結果を得る。完全な結果が得られたら
、第8図のプロセスステップ818によって示されるア
プリケーション特有のファンクションを実行する。
第8図に関していえば、入力当初はアプリケーションサ
ービス212は文字を集められないので、ステップ80
2で「シーケンス長」変数を0にセットする。プロセス
ステップ804で文字を集め、その文字は、プロセスス
テップ806で「入力シーケンス」と名付けられたデイ
ジットバッファ変数中の文字シーケンスに加えられ、そ
こで集められた全ての文字がバッファされる。その後、
プロセスステップ808で「シーケンス長」変数は1だ
け加算される。
第2図のシーケンスパーサ202はプロセスステップ8
10を実行する。プロセスステップ810中に見られる
コンテキストは文字シーケンスが入力される前にユーザ
によって直接決定されるか、または検証が行われる環境
によって暗に示されるであろう(第2図の204参照)
シーケンスパーサ202がひとたびその検証過程を完了
すると、後で詳細に述べるように、パーサ結果210を
返送する。この結果は第8図の決定ステップ812に示
されるように有効であるか否かがテストされる。もし、
解析結果が有効であれば、デイジットは受領される。し
かし、入力文字シーケンスがいまだ十分にターゲットシ
ーケンスとマツチしていないときはプログラムはプログ
ラムステップ804に戻り、他の文字が処理される。反
対に、もし、結果が有効でない場合には、決定ステップ
814はそれが完了したか否かをチエツクする。もし完
了していたら、前述したように、適当なファンクション
がプロセスステップ818によって初期化される。もし
結果が完了していないときは、無効であったことになり
、その場合はプロセスステップ816がエラーを回答す
る。
両ケースにおいて、プロセスステップ816または81
8のいずれかからそのプログラムはステップ820を介
して出口に至る。
フローチャートとその関連説明で、データベースの一般
的構造が示されているので、当業者ならその内容を理解
できるであろう。しかしながら、シーケンスパーサ20
2の動作を示すフローチャートを説明する前に、いくつ
かの特殊のデクラレーション(宣言)を説明する。以下
にリストされたデクラレーションはターゲットシーケン
ス208に対応するものである。これらのデクラレーシ
ョンはパスカル言語のソースコードの形で与えられるが
、もちろん特殊のアプリケーションに適応するため他の
原語で表現することもできる。以下にリストされたもの
は3つの基本的なデクラレーションすなわち、定数、形
式、変数が含まれる。
これらはそれぞれC0N5T、TYPESVARと表現
され、以下のようである。
0NST (Parser array bounds)max 
segment = 16; max entry = 256; YPE range rec = PACKED RECORD
range 5tart  :INTEGER;(Tr
eat as BCD digitlrange fi
nish :INTEGER; (Treat as 
BCD digitldig count   :IN
TEGER;result param :INTEG
ER:END; (range rec) contx rec = PACKED RECORD
CASE BOOLEAM OF R1JE :(bit:PACKED ARRAY [0,,15
] OFBOOLEAN) ; FALSE:(number: INTEGER);E
ND;(contx recl header rec = PACKED RECOR
Ddisjnt segments: contx r
ec;table 5tart   : 0.、max
 entry −1;table finish  :
 O,、max entry −1;END;(hea
der recl parcer rec = PACKED RECOR
Dlast segments : byte;1as
t entry   : byte;header:P
ACKED ARAY [0,、Max−segmen
t−110F header rec; table :PACKED ARAY [0,、Ma
x−Entry −1l0F range rec; END; (parser recl AR parSer data: parser rec定数
(CONST)はデータベースのサイズを定義するため
に用いられ、フレキシブルであり、またデータベースの
サイズに従属するものである。
形式(TYPE)はフィールドを構成するレコードであ
る。 r RECORDJの語はこれらの簡単なフィー
ルドから構成される複合変数を示す。全体のデータベー
ス構造はrparser recJと呼ばれるレコード
によって記述さね、それはこのレコード宣言の2つ前の
デクラレーション「range recJと「head
er recJとから構成される。
変数(VAR)はデータ用のメモリ領域を実際に割り当
てるスティトメントである。
レコードrcontex recJはデータベース中の
コンテキストフィールドを記述するために用いられ、さ
らにコンテキストを指定するときシーケンスパーサ20
2への入力パラメータとして用いられる。
コンテキストレコードは2様に用いられる。
第1のケースである第2図のパーサコンテキスト204
の場合は、検証またはパーサプロセスに含まれるセグメ
ントを指定するために用いられる。
第2のケースは「header record Jの中
にあり、そこではコンテキストレコードは与えられたセ
グメントに対して分離セグメントを記述するために用い
られる。すなわち、この分離セグメントはそのレンジが
オーバラップしないようにするためのものである。
第9図は第8図のプロセスステップ810を詳述するフ
ローチャートであり、第2図におけるシーケンスパーサ
202の動作を説明するものである。
第9図において、まず、プロセスステップ902は「パ
ーサ結果:= 無効」をセットし、他の場所で変更され
るまでその設定が保持される。
プロセスステップ904において、入力文字シーケンス
は「有効」であるかについてチエツクされ、またコンテ
キストは使用されているデータベースのセグメントが有
効であるかについてチエツクされる。(第10図はプロ
セスステップ904をより詳細に記述したフローチャー
トである。)プロセスステップ906は入力文字シーケ
ンスが入力されたとき、シーケンスの潜在レンジを生成
する。
検証プロセスはデータベースの各セグメントに対して実
行され、プロセスステップ908は変数「セグメント」
を初期化する。
プロセスステップ910は検索されたセグメントが最終
セグメントであるか否かを判断する。
もし、最終セグメントであれば、プログラムはアプリケ
ーションサービスのステップ810に結果を返送する。
もし最終セグメントでなければ、判断ステップ914は
セグメントが入力コンテキスト中にあるか否かまたはセ
グメントが定義されたか否かを判断する。もし、結果が
rF (偽)]であれば、プログラムはプロセスステッ
プ912で示すように次のセグメントに行く。もしプロ
グラムが入力コンテキスト中にあり、かつセグメントが
定義されている両方の状態のときは、プログラムステッ
プ916は入力セグメントの潜在レンジの最小値に対し
てデータベース中のマツチングレンジを捜す。
プロセスステップ918は入力文字セグメントレンジの
最大値に対するマツチングレンジを決定する。
プロセスステップ920は潜在レンジと実在レンジがオ
ーバラップしていないかどうかをチエツクする。プロセ
スステップ912から910は各セグメントに対してデ
ータベースの最後のセグメントが完了するまで繰り返さ
れる。最後のセグメントがくるとプロセスステップ91
0はプログラムを出口に導く。
第10図はプロセスステップ904をより詳細に示した
フローチャートである。プロセスステップ1002は内
部「入力状態」変数が「無効」であることをセットする
。これは入力状態が検証プロセスによって他のステップ
で有効であると証明されるまでは無効であることを暗に
示している。
このプログラムは次の3つのステップを必要とする。
決定ステップ1004は入力文字シーケンス中のデイジ
ット数が、データベース内に含まれる実在シーケンス長
中に存在することをチエツクする。
決定シーケンス1006は一連の全てのデイジットが有
効、すなわち、使用されているアルファベット中に含ま
れることをチエツクする。
決定シーケンス1008は入力中に要求されるコンテキ
ストが有効か、すなわち、セグメントがデータベース中
に存在し分離されているかをチエツクする。
したがって、もし1つより多くのセグメントが要求され
るならばそのセグメントのレンジはオーバラップしない
。もし、決定ステップ1004.1006.1008の
いずれかを満たさない、すなわちrF (偽)]の場合
はプログラムは終了する。しかし、もし、全てrT (
真)]の場合はプロセスステップ1010は「入力状態
」変数を「有効」とセットする。
第11図はプロセスステップ1008を詳細に示すフロ
ーチャートであり、特にデータベース中の実在セグメン
トに対する入力コンテキストの検証をより詳細に示して
いる。
基本的には、このコンテキストはセグメントのリストと
して記述される。プロセスステップ1102は他のステ
ップで入力コンテキストが検証プロセスによって有効と
されるまで「偽」であることを示す初期変数である。プ
ロセスステップ1104、判断ステップ1106は第8
図のステップ806.808に示すデータベース中の各
セグメントに対してプログラムが繰り返し処理を行うよ
うにする。
プロセスステップ1104は「初期セグメント」変数を
初期化する。その後、各決定ステップ1106は最終セ
グメントを検出するための比較を行う。もし、最終セグ
メントが通過したら、そのプログラムは主プログラム1
008へ出る。もし、最終セグメントが未だ通過しない
間は、判断ステップ1108は、現セグメントに対する
パスカルレコード「contx recJ中のビットが
「真」であるか、つまり、セグメントが要求されたコン
テキストの一部であることを示しているかをチエツクす
る。さらに、決定ステップ1108はデータベース中の
このセグメントに対し分離セグメントが零でないこと、
つまり、そのセグメントがデータベース中に定義されて
いることを示しているかを確認する。
もし、これらの両状態が「真」であれば、判断ステップ
1110は入力コンテキストがデータベース分離セグメ
ントと分離されていると判断する。他の言葉で言い替え
ると、重なりがないことを示す。
データベース中では各セグメントに対し分離セグメント
のリストがある。各セグメントに対して、プロセスステ
ップ1110は分離セグメントのリストをアクセスし、
入力コンテキスト中の要求されたセグメントがこれらの
分離セグメント以外に実質的に何も含んでいないことを
確認する。
したがって、この処理は現セグメントに対して分離セグ
メントと入力コンテキストを同時に行う。
もし、何らかの付加的セグメントが入力に特定されれば
、入力コンテキスト中のセグメントがお互いに重なりあ
い無効になる可能性が大きい。これは、もし、2以上の
重複セグメント中で入力シーケンスが有効であれば、あ
いまいなパーサ結果が生じることになるからである。こ
の状態になるとプログラムは第11図から外に出る。
その他の場合は、もし判断ステップ1110の状態が「
真」であれば、コンテキストは有効であり、検証プロセ
スはプロセスステップ1112に続き、そこでコンテキ
スト変数を「真」にセットする。プロセスステップ11
08.1110゜1112は各セグメントに対してプロ
セスステップ1114によって繰り返えされる。
有効な場合については多くの可能性が考えられるが、以
上説明したことは、そのうちの少なくとも1つのセグメ
ントが有効である場合である。
第12図は、第9図のプロセスステップ906の詳細フ
ローチャートであり、このプロセスステップは2つのス
トリング、すなわち、1つは最大値を持つストリング、
他は最小値を持つストリングを発生させるデイジットス
トリングを推定する。もし、入力ストリングの長さがデ
ータベース中のシーケンスの最大長よりも小さいときは
、それを最大長になるまで他の文字が追加される。
その結果、ストリングは2つの部分を含む。その1つは
入力デイジットを含み、他は最大値または最小値と推定
される部分を含む。
プロセスステップ1202中で、内部変数はデイジット
カウントの最初の値に初期設定される。
判断ステップ1204はデイジットカウンタの内容と入
力シーケンス中のデイジット数を特定するカウンタとを
比較する。カウンタの値が入力ストリング長に達したと
きはもはや入力デイジットはコピーされない。
もし判断ステップ1204が未だ終わりに達していない
ことを示すrFJを表示しているときは、プロセスステ
ップ1206.1208は入力デイジットをそれぞれ最
小値および最大値ストリングに直接コピーする。もし、
決定ステップ1204がシーケンスの最終ステップに到
達したと判断すると、プロセスステップ1210は最小
文字を、この場合はOを、最小値ストリングにセットし
、プロセスステップ1212は最大文字、この場合は9
、を最大値ストリングにセットする。これらの文字、O
と9は、データベース中で定義される文字であるアルフ
ァベットで、最初の文字および最後の文字としてそれぞ
れ定義される。
両ケースにおいて、ストリングがコピーまたは拡張され
ると、次のプロセスステップ1214は、デイジットカ
ウントを1だけ増加し、シーケンスの次のデイジットに
する。プロセスステップ1216は処理されたデイジッ
ト数が最大デイジット数と等しいか否かを判断する。も
し等しくなかったら、ループはプロセスステップ120
4からプロセスステップ1214が繰り返えされる。
この結果、入力デイジットは最大値と最小値ストリング
にコピされ、その後、最大値/最小値ストリングは最大
ストリング長になるまで増加する。
このようにして、シーケンス中の後続文字の潜在レンジ
は各文字に対して生成される。プロセスステップ121
6において、デイジットカウントが最大デイジットを越
えると、プログラムはこのステップを抜は第9図のプロ
セスステップ906に行く。
第13図は第9図のプロセスステップ916と918の
詳細なフローチャートを示す。このプロセスステップは
データベースに入力した入力ストリングのマツチングを
検出する。データベースはセグメント内のレンジは増加
状態にあるように指令される。初期プロセスステップ1
302は「マツチング検出」変数を初期化する。これは
データベース中で最小境界値と最大境界値の間にインデ
クッスの連続レンジがあるかを推定する。プロセスステ
ップ1304と1306はセグメント中に含まれるレン
ジのインデクラスの低境界値と高境界値をそれぞれ決定
する。判断チップ1308はセグメント中の最小レンジ
の低境界値が入力値よりも大きいかを判断する。もし、
セグメント中の最小レンジの低境界値が入力値よりも大
きい場合は、入力シーケンスは完全に分離されているこ
とになる。すなわち、その入力値は完全に実在セグメン
トの外にあり、オーバラップは生じない。
結局、プロセスステップ1310において低境界値がマ
ツチング検出変数に登録される。
決定ステップ1312は入力バッファ値とセグメント中
の最高レンジの高境界値と比較する。
もし、セグメント中の最高レンジの高端値が入力バッフ
ァ値、すなわち、潜在レンジよりも小さければ、再びオ
ーバラップはなく、プロセスステップ1314は高境界
値に対する値をマツチング検出変数に登録する。
もし、低または高境界値のマツチングが発見されないと
きは、オーバラップの可能性があるので、プロセスステ
ップ1316はセグメントのバイナリ検索を行い、どこ
でオーバラップが発生するかを決定する。
第14図は第13図のプロセスステップ1316のバイ
ナリ検出の詳細フローチャートである。
第9図のプロセスステップ1310.1314でセグメ
ントの低境界値と高境界値が決定されると、バイナリ検
索はレンジを半分に分割し、そのうちの半分を捨て、残
りの半分の中で検索をする過程を繰り返す。このように
して、プロセスステップ1402はレンジの中間点を検
出する。
この検索は検索される部分の長さがOのとき終了する。
これは判断ステップ1404によって判断される。もし
、中間オフセットがOよりも大きいときは、プロセスス
テップ1406は中間点のどちらが検索されるべきかを
判断する。もし、中間点のレンジ出発点が入力バッファ
よりも大きいときは、セグメントは低い方の半分が検索
される。したがって、プロセスステップ1408は高境
界値が中間点よりも小さくなるように減少させる。反対
に、もし、中間点のレンジ出発点が入力バッファよりも
小さいときは、セグメントは高い方の半分が検索され、
プロセスステップ1410は低境界値をオフセットより
も小さい高境界値と等しくなるように設定する。
「低境界値」と「高境界値」はテーブル中のエントリの
インデックスである。それらの間の距離または数値がオ
フセットであり、特別な場合としてそれら間の距離の半
分がオフセットとなる。
プロセスステップ1412はレンジを再び半分にする。
オフセットが0の点においては、レンジはテーブル中の
単一のエントリになる。その後、判断ステップ1414
は高境界値が低境界値に等しか否かを判断する。もし、
高境界値が低境界値に等シい場合は、プロセスステップ
1420は「マツチング検出」を高境界値となるように
登録し、第13図のプロセスステップ1316へ戻る。
そして、その結果を第9図のステップ916または91
8に戻す。
もしプロセスステップ1414が高境界値と低境界値が
異なると判断した場合には、その相違の状態がプロセス
ステップ1416によって判断される。このプロセスス
テップ1416は高境界出発値が入力バッファ値よりも
大きいかを判断する。もし、判断結果がrT (真)」
の場合は、プロセスステップ1418は高境界値を1だ
け減少する。その結果、高境界値はプロセスステップ1
420によってマツチングしたと判断される。その後、
その高境界値は入力ストリングを含むセグメント中のレ
ンジのインデックス値を持ってプログラムを出る。
第15図はプロセスステップ920の詳細フローチャー
トを示す。プロセスステップ920はプロセスステップ
916とプロセスステップ918の両ステップの結果に
対して適用される。プロセスステップ916とプロセス
ステップ918で得られたマツチングは実際にデータベ
ースとオ−バラツブしているかを調べるためにチエツク
される。
判断ステップ1502は最大入力変数が最小マツチング
の出発値よりも小さいか判断される。
もし、小さければ、オーバラップはないので、rT (
真)」の結果になり、プログラムはこのフローチャート
から出る。もし、結果がrF(偽)」の場合は、潜在的
なオーバラップの可能性があり、レンジの高端は判断ス
テップ1504で判断され、最小入力変数が高端値より
も大きいか判断される。
もし大きければ、再びオーバラップはないことになり、
このプログラムは終了する。もし小さければ、プログラ
ムステップ1506は「有効」結果を登録する。入力潜
在レンジがデータベースレンジ内にあると、プログラム
ステップ1508は最小マツチングと最大マツチングが
同一か、言い替えると、レンジのインデックスは同一で
あるかを判断する。これは入力レンジがデータベース中
の単一のレンジと一致することを示すであろう。この場
合、判断ステップ1510は入力のデイジット数がデー
タベースレンジのデイジット数と一致するかを判断する
。もし、一致すれば、結果は完全であり、入力シーケン
スとデータベース中°のシーケンスとが完全に一致して
いることになる。この点で、プログラムステップ151
2は変数を「パーサ状態」に割り当てることにより、パ
ージングは完全であることを登録する。
プログラムステップ1514はレンジと関係する結果パ
ラメータを調べる。これらの結果パラメータはデータベ
ースのセットアツプ時に定義される。結果が返送される
前に入力デイジットは多くのことを行うことができる。
例えば、単に「検証」ステイトメントと一緒にストリン
グを返送する事ができる。また、他のストリングと置き
換えることも好んで行われるかもしれない。例えば、パ
スワード検証に対しては、ストリングを実際に返送しな
くてもパスワードが有効であることを示すフラッグに置
き換えることで十分であるかも知れない。他の可能性は
デイジットストリングを名前に変換し、それをユーザに
返送する可能性も含んでいる。
以上述べたように、無効ストリングはステップ1502
.1504からプログラムを終了させる。有効であるが
不完全のストリングに対してはパラメータはステップ1
508.1510から終了する。最後に、もし、ストリ
ングが有効でかつ完全の場合はプログラムはステップ1
514を通って外に出る。全ての場合プログラムは第9
図のステップ920に戻り、全シーケンスが他のセグメ
ント(すなわち、検証シーケンスに先だって定義される
ような異なるコンテキスト中で)に対して繰り返される
入力文字シーケンスは一度に1文字が検証されても良い
、またはユーザによってシーケンス中の全文字が入力さ
れたときは、全ての文字に対して同時に検証プロセスが
実行されても良い。
各セグメントはレンジの中でアルファベットの順序にグ
ループ分けされた同一文字数の1またはそれ以上のシー
ケンスを含むことが好ましい。
そして上記レンジは連続であること、すなわち、レンジ
の境界の間(およびその境界を含む)の全ての可能なシ
ーケンスが有効であることが好ましい。この発明は文字
ストリングが、キーボードまたは他の入力装置によって
直接ユーザによって生成されるようなユーザインタフェ
ースに限定されない。本発明の実施例は文字のシーケン
スを検証する必要があるようなシステムではどこでも適
用できる。特別な例としてはディスクファイルに蓄えら
れた文字ストリングの中央処理装置検証がある。
インタフェース112はより大きなコンピュータまたは
電気通信システムの単なるI10インタフェースとして
、すなわち、そのようなシステムのユーザインタフェー
スの一部とみることができる。データベースのセグメン
ト中の有効シーケンスを表わす代替方法、例えば、はっ
きりしたマツチングテーブル、木構造等を用いることが
できる。第11図から第15図までに示される実行ソフ
トウェアおよびデータベースを定義するパスカル宣言は
適当に変形することもできる。
なお、上記実施例の他に以下のような実施の態様がある
(a)  文字シーケンス検証装置において、各セグメ
ントは、1またはそれ以上の有効シーケンスの1または
それ以上の連続レンジを含み、そのようなシーケンスは
全て同一文字数を有し、アルファベット類にグループ化
されている文字シーケンス検証装置。
(b)  文字シーケンス検証装置において、入力文字
シーケンスの潜在レンジを推定する手段は、あらかじめ
定められた最大入カシーケンス長に対する人力シーケン
スを推定し、前記潜在レンジに対し低および高限界値を
生成し、前記潜在レンジと前記データベースセグメント
とを比較する手段は、前記潜在レンジの前記低および高
限界値と前記データベースのセグメントとを比較する文
字シーケンス検証装置。
(C)  文字シーケンス検証装置において、前記入力
文字シーケンスの潜在レンジを推定する手段は、あらか
じめ定められた最大入カシーケンス長に対する入力シー
ケンスを推定し、前記潜在レンジに対し低および高限界
値を生成し、前記潜在レンジと前記データベースのセグ
メントとを比較する手段は、前記潜在レンジの前記低お
よび高限界値と前記データベースの前記連続レンジとを
比較する文字シーケンス検証装置。
(d)文字シーケンス検証装置において、各データベー
スレンジは前記レンジおよびそのレンジ中の各シーケン
スの実際の文字数を含む領域に対する低および高限界値
によって定義され、前記比較手段は、前記潜在レンジの
前記低および高限界値と前記連続レンジの低および高限
界値とをそれぞれ比較する文字シーケンス検証装置。
(e)  文字シーケンス検証装置において、特殊のセ
グメント中の全ての前記シーケンスはあらかじめ定めら
れた関係を有し、さらに、共通部と前記関係の判断の結
果に従って結果パラメータを発生させる手段とを含む文
字シーケンス検証装置。
(f)  文字シーケンス検証装置において、前記関係
に従って前記1またはそれ以上のセグメントを選択する
為の手段を含む文字シーケンス検証装置。
(g)  文字シーケンス検証装置において、前記関係
を形成する為にユーザが操作できる手段を含む文字シー
ケンス検証装置。
(h)  文字シーケンス検証装置において、人力文字
シーケンスの全文字とデータベースとを個々に比較する
文字シーケンス検証装置。
(i)  文字シーケンス検証装置において、入力文字
シーケンスの全文字とデータベースとを同時に比較する
文字シーケンス検証装置。
[発明の効果] 本発明は通信システム等で用いられる文字シーケンスの
検証装置中で、データベース中に有効シーケンスの他に
、使用される文字の全ての順列により構成される小さい
サブセットを設けることによって、メモリの使用効率お
よび時間効率を向上させる効果がある。
【図面の簡単な説明】
第1図は本発明による一実施例のコンピュータまたは電
気通信システムの構成図、第2図は本発明のデータフロ
ー図、第3図は本発明の一実施例における文字検証プロ
セスを示す概要図、第4図はコンテキストによってデー
タベースがどのように分離されるかを示す図、第5図は
入力レンジとターゲットレンジを示す図、第6図はター
ゲットレンジまたはデータベース中の文字シーケンスの
有効レンジを示す図、第7図A、第7図B1第7図Cは
それぞれ第6図に示すターゲットシーケンスのレンジと
3つの文字シーケンス■、■、■とを比較する検証プロ
セスを示す図、第8図は第2図に示したアプリケーショ
ンサービスとシーケンスパーサとの関係を示すフローチ
ャート、第9図は第2図におけるシーケンスパーサの動
作を説明するプロセスステップ810を詳述するフロー
チャート、第10図から第15図は第9図のフロ−チャ
ートをより詳細に説明するフローチャートである。 110・・・ユーザ端末、112・・・通信システム、
114・・・CPU (中央処理装置)、116・・・
入出力インタフェース(IloL  118・・・メモ
リ、120・・・パラレルバス、122・・・キーボー
ド、202・・・シーケンスパーサ、204・・・パー
サコンテキスト、206・・・入力シーケンス、208
・・・ターゲットシーケンス、210・・・パーサ結果
、212・・・アプリケーションサービス、214・・
・結果パラメータ、216・・・シーケンス長、302
.304.306.308・・・潜在レンジ、310.
312.314.318.320.322・・・実在レ
ンジ、316.324・・・セグメント、402.40
4・・・セグメント、 406・・・コンテキストマス
ク、408・・・潜在レンジ、502.504.506
.508.510および512・・・潜在レンジ、51
4・・・ターゲットまたは「実在」レンジ、Fl・・・
ファンクションキー領域。 第1図 第2図 第S四 8 7−21 トーーH 07002199 80甜1999 第6図 入力ストリング レンジ 1000 3 n′ 2300 2399 第7図A 第7図B 1゛ 54005499 426 5426 5426 ☆ =完全 第7図C 第8図 第9図 第 1 0図 第1 1図 第12図 第13図 第14図 第 5図

Claims (1)

    【特許請求の範囲】
  1. (1)通信ネットワーク、データベース、コンピュータ
    インタフェース等において、入力文字シーケンスと、デ
    ータベース中の有効文字シーケンスを含むセグメントと
    を比較することによって、入力文字シーケンスを検証す
    る装置において、 (a)前記入力文字シーケンスに対応する潜在レンジを
    推定する手段と、 (b)前記入力文字シーケンスに対応する潜在レンジと
    前記データベースセグメントとを比較し、前記潜在レン
    ジと前記有効文字シーケンスとの間に共通部があるか否
    かを判断する手段と、を備え、 前記共通部が存在し、かつ後続文字が前記入力文字シー
    ケンス中にある場合は、前記後続文字から最初の潜在レ
    ンジのサブセットである第2の潜在レンジを推定し、前
    記第2の潜在シーケンスレンジと前記データベースセグ
    メントとを比較し、第2の潜在レンジと前記有効文字シ
    ーケンスとの間で共通部があるかを判断し、全ての入力
    文字シーケンスに対して上記推定および判断が完了した
    時点で前記共通部が存在する場合は、入力文字シーケン
    スが完全であることを示すことを特徴とする文字シーケ
    ンス検証装置。
JP2341151A 1989-12-20 1990-11-30 文字シーケンス検証方法及び装置 Expired - Fee Related JP2686847B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA002006230A CA2006230C (en) 1989-12-20 1989-12-20 Method and apparatus for validating character strings
CA2,006,230 1989-12-20
US07/454,469 US5226148A (en) 1989-12-20 1989-12-21 Method and apparatus for validating character strings

Publications (2)

Publication Number Publication Date
JPH03198154A true JPH03198154A (ja) 1991-08-29
JP2686847B2 JP2686847B2 (ja) 1997-12-08

Family

ID=25673843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2341151A Expired - Fee Related JP2686847B2 (ja) 1989-12-20 1990-11-30 文字シーケンス検証方法及び装置

Country Status (3)

Country Link
US (1) US5226148A (ja)
JP (1) JP2686847B2 (ja)
CA (1) CA2006230C (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396612A (en) * 1991-05-02 1995-03-07 At&T Corp. Data tracking arrangement for improving the quality of data stored in a database
KR950008022B1 (ko) * 1991-06-19 1995-07-24 가부시끼가이샤 히다찌세이사꾸쇼 문자처리방법 및 장치와 문자입력방법 및 장치
US5521835A (en) * 1992-03-27 1996-05-28 Xilinx, Inc. Method for programming an FPLD using a library-based technology mapping algorithm
US5689724A (en) * 1993-12-23 1997-11-18 International Business Machines Corporation Generic font specification leading to specific font selection
US5559987A (en) * 1994-06-30 1996-09-24 Digital Equipment Corporation Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system
US5708804A (en) * 1994-07-25 1998-01-13 International Business Machines Corp. Apparatus and method therefor of intelligently searching for information in a personal communications device
US5956675A (en) * 1997-07-31 1999-09-21 Lucent Technologies Inc. Method and apparatus for word counting in continuous speech recognition useful for reliable barge-in and early end of speech detection
US5983232A (en) * 1997-09-29 1999-11-09 Triada, Ltd. Virtual structured information system
US20050204388A1 (en) * 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US6253374B1 (en) * 1998-07-02 2001-06-26 Microsoft Corporation Method for validating a signed program prior to execution time or an unsigned program at execution time
GB2369465B (en) * 2000-11-28 2003-04-02 3Com Corp A method of sorting and retrieving data files
US6768991B2 (en) * 2001-05-15 2004-07-27 Networks Associates Technology, Inc. Searching for sequences of character data
US7013422B2 (en) * 2001-06-15 2006-03-14 International Business Machines Corporation Noise removal in multibyte text encodings using statistical models
US7483938B2 (en) 2001-09-27 2009-01-27 International Business Machines Corporation System for character validation and method therefor
US7720829B2 (en) * 2005-07-14 2010-05-18 International Business Machines Corporation Middleware sign-on
US20070079433A1 (en) * 2005-10-07 2007-04-12 Pronto Production Abm Inc. Hydrotherapy assembly for a swimming pool
US8072903B2 (en) * 2006-05-30 2011-12-06 Genband Us Llc Methods, systems, and computer program products for performing range-based directory number (DN) screening
US10394646B1 (en) * 2015-12-30 2019-08-27 EMC IP Holding Company LLC Incremental data validation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783872A (en) * 1980-11-13 1982-05-25 Canon Inc Electronic interpreter
JPS61141036A (ja) * 1984-12-14 1986-06-28 Hitachi Ltd デ−タ検索方式
JPS62182923A (ja) * 1986-02-07 1987-08-11 Nec Corp 範囲値デ−タの索引登録検索方式
JPS6458019A (en) * 1987-08-28 1989-03-06 Fujitsu Ltd Data retrieving system
JPH01180632A (ja) * 1988-01-12 1989-07-18 Nec Corp レコード検索方式

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE26919E (en) * 1962-08-21 1970-06-23 Information storage and retrieval system
US4020473A (en) * 1964-03-11 1977-04-26 Eiji Fujimura Automatic system for providing telephone number information service
US3568156A (en) * 1967-08-09 1971-03-02 Bell Telephone Labor Inc Text matching algorithm
US4003029A (en) * 1974-08-09 1977-01-11 Asahi Kogaku Kogyo Kabushiki Kaisha Information search system
US4255796A (en) * 1978-02-14 1981-03-10 Bell Telephone Laboratories, Incorporated Associative information retrieval continuously guided by search status feedback
JPS55108075A (en) * 1979-02-09 1980-08-19 Sharp Corp Data retrieval system
US4383307A (en) * 1981-05-04 1983-05-10 Software Concepts, Inc. Spelling error detector apparatus and methods
GB8334079D0 (en) * 1983-12-21 1984-02-01 Hemdal G A H Computer systems
JPS60245083A (ja) * 1984-05-18 1985-12-04 Brother Ind Ltd 電子辞書
US4783761A (en) * 1985-12-26 1988-11-08 Smith Corona Corporation Spelling check dictionary with early error signal
DE3750277T2 (de) * 1986-02-14 1994-11-17 Hitachi Ltd Verfahren und Vorrichtung zur Rückgewinnung von Symbolketten aus Daten.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783872A (en) * 1980-11-13 1982-05-25 Canon Inc Electronic interpreter
JPS61141036A (ja) * 1984-12-14 1986-06-28 Hitachi Ltd デ−タ検索方式
JPS62182923A (ja) * 1986-02-07 1987-08-11 Nec Corp 範囲値デ−タの索引登録検索方式
JPS6458019A (en) * 1987-08-28 1989-03-06 Fujitsu Ltd Data retrieving system
JPH01180632A (ja) * 1988-01-12 1989-07-18 Nec Corp レコード検索方式

Also Published As

Publication number Publication date
US5226148A (en) 1993-07-06
JP2686847B2 (ja) 1997-12-08
CA2006230C (en) 1993-10-26
CA2006230A1 (en) 1991-06-20

Similar Documents

Publication Publication Date Title
JPH03198154A (ja) 文字シーケンス検証方法及び装置
US7444331B1 (en) Detecting code injection attacks against databases
US5721899A (en) Retrieval apparatus using compressed trie node and retrieval method thereof
US5787430A (en) Variable length data sequence backtracking a trie structure
US5339421A (en) General data stream parser for encoding and decoding data and program interface for same
US9558241B2 (en) System and method for performing longest common prefix strings searches
JP3848983B2 (ja) データ送信方法、データ等化方法及び装置
CN112540923B (zh) 接口参数校验与转换方法、装置、设备及存储介质
US7054855B2 (en) Method and system for performing a pattern match search for text strings
US7464089B2 (en) System and method for processing a data stream to determine presence of search terms
US9288191B1 (en) System and method to anonymize data transmitted to a destination computing device
JP2014238892A (ja) 保護されているデータを検索する方法、コンピュータシステム及びコンピュータプログラム
US5487169A (en) Method for translating a test plan source file containing multiple programming languages
US20110047154A1 (en) Protection of database operations
CN111813744A (zh) 文件的搜索方法、装置、设备及存储介质
US9231920B1 (en) System and method to anonymize data transmitted to a destination computing device
JP2003256264A (ja) 文書処理システム、文書処理方法及びプログラム
US5008818A (en) Method and apparatus for reconstructing a token from a token fragment
US7308468B2 (en) Pattern matching
CN115149962A (zh) 确定性有限自动机压缩方法、装置、设备及存储介质
JPH07234879A (ja) 情報処理装置及びデータベース検索方法
CN111753161B (zh) 基于改进的PageRank的网络爬虫方法及系统
CA3144052A1 (en) Method and apparatus for recognizing new sql statements in database audit systems
US11232157B2 (en) Privacy-kept text comparison method, system and computer program product
US20050065775A1 (en) Method and system for inputting chinese characters

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees