Automatic transfer of address/schedule/program data between disparate data hosts
First Claim
1. A data exchange process for transferring a data block representing a geographical address from a source host using a source data format to a destination host using a destination data format, said process comprising the steps of:
- using a first driver to extract said data block from the source host and to convert the format of said data block from the source data format to an intermediate data format;
temporarily storing said data block in an intermediate memory storage location;
determining if said data block includes plain text data which is not parsed and identified by corresponding tags;
if said data block includes plain text data which is not parsed and identified by corresponding tags, automatically parsing said data block into a plurality of data portions having corresponding tags associated therewith, each of said tags indicating a type of information represented by said corresponding data portion; and
using a second driver to convert the format of said data block from said intermediate data format to the destination data format, and to insert said data block into the destination host.
1 Assignment
0 Petitions
Accused Products
Abstract
A data exchange process for transferring data representing a geographical address from a source host using a source data format to a destination host using a destination data format including the steps of: using a first driver to extract a data block from the source host and to convert the format of the data block from the source data format to an intermediate data format; and temporarily storing the data block in an intermediate memory storage location; determining if the data block includes plain text data which is not parsed and identified by corresponding tags. If the data block includes plain text data which is not parsed and identified by corresponding tags, the process provides for automatically parsing the data block into a plurality of data portions having corresponding tags associated therewith, each of the tags indicating a type of information represented by the corresponding data portion. A second driver is used to convert the format of the data block from the intermediate data format to the destination data format, and to insert the data block into the destination host. The step of automatically parsing the data block into a plurality of data portions includes the steps of: identifying a plurality of text strings of the plain text data; and comparing the text strings to a plurality of predefined patterns to determine pattern matches between the text strings and the predefined patterns.
-
Citations
20 Claims
-
1. A data exchange process for transferring a data block representing a geographical address from a source host using a source data format to a destination host using a destination data format, said process comprising the steps of:
-
using a first driver to extract said data block from the source host and to convert the format of said data block from the source data format to an intermediate data format;
temporarily storing said data block in an intermediate memory storage location;
determining if said data block includes plain text data which is not parsed and identified by corresponding tags;
if said data block includes plain text data which is not parsed and identified by corresponding tags, automatically parsing said data block into a plurality of data portions having corresponding tags associated therewith, each of said tags indicating a type of information represented by said corresponding data portion; and
using a second driver to convert the format of said data block from said intermediate data format to the destination data format, and to insert said data block into the destination host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
identifying a plurality of text strings of the plain text data; and
comparing said text strings to a plurality of predefined patterns to determine pattern matches between said text strings and said predefined patterns.
-
-
3. A data exchange process as recited in claim 2 wherein said step of comparing said text strings to a plurality of predefined patterns to determine pattern matches between said text strings and said predefined patterns further comprises the steps of:
-
comparing said text strings to a plurality of predefined country names;
determining a country name match between said text strings and said country names; and
determining said predefined patterns based on said country name match.
-
-
4. A data exchange process as recited in claim 2 wherein said step of automatically parsing said data block into a plurality of data portions further comprises the steps of:
-
generating a plurality of probability weights for each of said text strings based on said pattern matches, each of said probability weights indicating a probability that said corresponding text string represents a corresponding type of information; and
determining said data portions and said corresponding tags based on said probability weights.
-
-
5. A data exchange process as recited in claim 2 wherein said step of automatically parsing said data block into a plurality of data portions further comprises the steps of:
-
performing contextual analysis on said text strings;
generating a plurality of probability weights for each of said text strings based on said pattern matches and said contextual analysis, each of said probability weights indicating a probability that said corresponding text string represents a corresponding type of information; and
determining said data portions and said corresponding tags based on said probability weights.
-
-
6. A data exchange process as recited in claim 5 wherein said step of performing contextual analysis on said text strings further comprises the step of determining positional relationships between various ones of said pattern matches.
-
7. A data exchange process as recited in claim 2 wherein said step of identifying said plurality of text strings comprises the steps of:
-
reading plain text data of said data block;
sorting said plain text data into a plurality of text lines;
determining spaces, tabs, and punctuation marks in said plain text data;
collapsing adjacent multiple ones of said spaces on each text line to a single space; and
for each said tab, beginning a new text line and deleting said tab.
-
-
8. A data exchange process as recited in claim 7 wherein said step of identifying said plurality of text strings further comprises:
-
assigning a line number to each of said plurality of text lines; and
assigning a starting position value and an ending position value to each of said text strings of each said text line of the plain text data.
-
-
9. A data exchange process as recited in claim 4 wherein said probability weights comprise:
-
country probability weights each indicating a probability that said corresponding text string represents a country name;
name probability weights each indicating a probability that said corresponding text string represents a persons name;
company name probability weights each indicating a probability that said corresponding text string represents a company name;
address probability weights each indicating a probability that said corresponding text string represents an address;
city name probability weights each indicating a probability that said corresponding text string represents a city name;
zip code probability weights each indicating a probability that said corresponding text string represents a zip code; and
title probability weights each indicating a probability that said corresponding text string represents a title.
-
-
10. A data exchange process as recited in claim 9 wherein said probability weights further comprise telephone number probability weights each indicating a probability that said corresponding text string represents a telephone number.
-
11. A data exchange process as recited in claim 1 wherein the destination host is a form downloaded from a web-site.
-
12. A computer readable storage device having stored therein encoding instructions for executing a data exchange process for transferring data representing a geographical address from a source host using a source data format to a destination host using a destination data format, said process comprising the steps of:
-
using a first driver to extract said data block from the source host and to convert the format of said data block from the source data format to an intermediate data format;
temporarily storing said data block in an intermediate memory storage location;
determining if said data block includes plain text data which is not parsed and identified by corresponding tags;
if the data block includes plain text data which is not parsed and identified by corresponding tags, automatically parsing said data block into a plurality of data portions having corresponding tags associated therewith, each of said tags indicating a type of information represented by said corresponding data portion;
using a second driver to convert the format of said data block from said intermediate data format to the destination data format, and to insert said data block into the destination host. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
identifying a plurality of text strings of the plain text data; and
comparing said text strings to a plurality of predefined patterns to determine pattern matches between said text strings and said predefined patterns.
-
-
14. A computer readable storage device as recited in claim 13 wherein said step of comparing said text strings to a plurality of predefined patterns to determine pattern matches between said text strings and said predefined patterns further comprises the steps of:
-
comparing said text strings to a plurality of predefined country names;
determining a country name match between said text strings and said country names; and
determining said predefined patterns based on said country name match.
-
-
15. A computer readable storage device as recited in claim 12 wherein said step of automatically parsing said data block into a plurality of data portions further comprises the steps of:
-
generating a plurality of probability weights for each of said text strings based on said pattern matches, each of said probability weights indicating a probability that said corresponding text string represents a corresponding type of information; and
determining said data portions and said corresponding tags based on said probability weights.
-
-
16. A computer readable storage device as recited in claim 15 wherein said step of automatically parsing said data block into a plurality of data portions further comprises the steps of:
-
performing contextual analysis on said text strings;
generating a plurality of probability weights for each of said text strings based on said pattern matches and said contextual analysis, each of said probability weights indicating a probability that said corresponding text string represents a corresponding type of information; and
determining said data portions and said corresponding tags based on said probability weights.
-
-
17. A computer readable storage device as recited in claim 16 wherein said step of performing contextual analysis on said text strings further comprises the step of determining positional relationships between various ones of said pattern matches.
-
18. A computer readable storage device as recited in claim 12 wherein said step of identifying said plurality of text strings comprises the steps of:
-
reading plain text data of said data block;
sorting said plain text data into a plurality of text lines;
determining spaces, tabs, and punctuation marks in said plain text data;
collapsing adjacent multiple ones of said spaces on each text line to a single space; and
for each said tab, beginning a new text line and deleting said tab.
-
-
19. A computer readable storage device as recited in claim 18 wherein said step of identifying said plurality of text strings further comprises:
-
assigning a line number to each of said plurality of text lines; and
assigning a starting position value and an ending position value to each of said text strings of each said text line of the plain text data.
-
-
20. A computer readable storage device as recited in claim 15 wherein said probability weights comprise:
-
name probability weights each indicating a probability that said corresponding text string represents a company name;
company name probability weights each indicating a probability that said corresponding text string represents a company name;
address probability weights each indicating a probability that said corresponding text string represents an address;
city name probability weights each indicating a probability that said corresponding text string represents a city name;
zip code probability weights each indicating a probability that said corresponding text string represents a zip code;
title probability weights each indicating a probability that said corresponding text string represents a title; and
telephone number probability weights each indicating a probability that said corresponding text string represents a telephone number.
-
Specification