EP1542140A2 - Method and apparatus for managing data written in markup language - Google Patents

Method and apparatus for managing data written in markup language Download PDF

Info

Publication number
EP1542140A2
EP1542140A2 EP20040257604 EP04257604A EP1542140A2 EP 1542140 A2 EP1542140 A2 EP 1542140A2 EP 20040257604 EP20040257604 EP 20040257604 EP 04257604 A EP04257604 A EP 04257604A EP 1542140 A2 EP1542140 A2 EP 1542140A2
Authority
EP
Grant status
Application
Patent type
Prior art keywords
fragment
index
data
fragments
method
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
EP20040257604
Other languages
German (de)
French (fr)
Other versions
EP1542140A3 (en )
EP1542140B1 (en )
Inventor
Hyo-Seop Shin
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/22Manipulating or registering by use of codes, e.g. in sequence of text characters
    • G06F17/2247Tree structured documents; Markup, e.g. Standard Generalized Markup Language [SGML], Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/22Manipulating or registering by use of codes, e.g. in sequence of text characters
    • G06F17/2229Fragmentation of text-files, e.g. reusable text-blocks, including linking to the fragments, XInclude, Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30908Information retrieval; Database structures therefor ; File system structures therefor of semistructured data, the undelying structure being taken into account, e.g. mark-up language structure data
    • G06F17/30911Indexing, e.g. of XML tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30908Information retrieval; Database structures therefor ; File system structures therefor of semistructured data, the undelying structure being taken into account, e.g. mark-up language structure data
    • G06F17/30914Mapping or conversion
    • G06F17/30917Mapping to a database

Abstract

A method and apparatus for managing data written in a markup language so as to allow efficient storage, deletion, updating and retrieval of the digital data and a recording medium for storing a program designed to perform the same method. To allow efficient storage, deletion, updating and retrieval of digital data, data written in a markup language is split into fragments and each fragment is managed in a predetermined relational table. An index for the digital data based on the fragment allows the fragmented digital data to be efficiently accessible.

Description

  • The present invention relates to a method and apparatus for managing data written in a markup language, and a computer-readable recording medium for recording a program designed to perform the same method, and more particularly, to a method for generating, storing, deleting, and updating a fragment obtained by splitting data written in a markup language and generating, storing, deleting, and updating an index associated with the fragment, and a computer-readable recording medium for recording a program designed to perform the same method.
  • Digital devices containing digital circuits for processing digital data are growing in popularity. Examples of digital devices include computers, printers, scanners, pagers, digital cameras, facsimiles, digital copiers, personal digital assistants (PDAs), cellular phones, digital home appliances, digital phones, digital projectors, home servers, digital video recorders, digital TV broadcast receivers, digital satellite broadcast receivers, and set-top boxes.
  • Meanwhile, digital data processed by digital devices can be represented in various programming languages. In particular, markup languages including Standard Generalized Markup Language (SGML), HyperText Markup Language (HTML), and Extensible Markup Language (XML) are gaining popularity due to their increased ability to convey structural information. Detailed information on markup languages can be found at http://www.w3.org or http://www.xml.com. The most commonly used markup language is XML, which is an official World Wide Web Consortium (W3C) standard, and various other markup languages are expected to be developed in the future.
  • As shown in Figure 1, digital data formatted with a markup language is divided into structure and content. For example, as shown in Figure 2, the digital data may have a hierarchical structure consisting of a root node "TVAMain" 10 and children nodes "ProgramDescripton," "ProgramLocatonTable," "BroadcastEvent" 11, "EventDescription," "ServiceId" 12, "PublishedTime" 13, and "PublishedDuration" 14. Figure 2 shows part of a hierarchical structure of digital data used as metadata for a broadcast program in the TV-Anytime Forum, a private organization founded in Sept. 1999 to develop specifications to enable audio-visual and other services in a user environment such as a personal digital recorder (PDR) having high capacity storage for personal use.
  • Digital devices can gain quicker access to desired content using information on the hierarchical structure when processing digital data written in a markup language and formatted according to a predetermined protocol.
  • Thus, digital data written in a markup language and having a format predefined according to a predetermined protocol can be effectively processed in various digital devices such as computers, PDAs, and cellular phones conforming to this protocol.
  • Due to these advantages, digital data written in a markup language are commonly used in enterprise-class systems with excellent computing capability as well as small digital devices with restricted computing capability.
  • Digital data written in a markup language has a wide range of uses ranging from personal information such as a telephone number list to metadata for describing and managing multimedia data. There are a variety of different types of digital data having different content and structures for each different kind of use.
  • Various approaches have been proposed for managing digital data written in a markup language. For example, one representative method for storing and retrieving XML data is a node numbering scheme as shown in Figure 3. The node numbering scheme has been presented in [1] Chun Zhang, Jeffrey F. Naughton, Qiong Luo, David J. DeWitt, and Guy M. Lohman "On Supporting Containment Queries in Relational Database Management Systems," In Proc. of the 2001 ACM-SIGMOD conference, Santa Barbara, CA, USA, May 2001, [2] Quanzhong Li and Bongki Moon "Indexing and Querying XML Data for Regular Path Expressions," In Proc. of the 26th VLDB conference, Rome, Italy, Sep. 2001, and [3] Torsten Grust "Accelerating XPath Location Steps," In Proceedings of the 2002 ACM-SIGMOD conference, pages 109-120, Madison, Wisconsin, June 2002.
  • The node numbering scheme allows each node (element or attribute) in an XML document to be naturally mapped to a tuple in a relational table. Each tuple is expressed in a structure <doc_id, begin_pos, end_pos, level>.
  • Here, doc_id is an ID of a document, begin_pos and end_pos denote information on the position of a node within the document, and level denotes the depth of the node from a root node. For example, a tuple corresponding to each node present within a ProgramInformation node in the XML document of Figure 1 may be represented by each node of a tree shown in Figure 3 using a node numbering scheme.
  • In Figure 3, since all nodes belong to the same document, doc_id is set to 1, and a terminal node is used as a special node type designating a text value of a parent node.
  • In the node numbering scheme, ancestor-descendant and parent-child relationships between two nodes are expressed using the operators '//' and '/' in the XPath language and the XQuery language, respectively, and the relationships are determined by comparing a field value of each tuple. For example, if node 'A' is an ancestor of node 'b' (i.e. A//B), the nodes 'A' and 'B' satisfy requirements: 'A.doc_id == B.doc_id, A.begin_pos < B.begin_pos, and A.end_pos > B.end_pos'. If node A' is a parent of node B' (i.e., A/B), 'A.level == B.level - 1' is added to the above requirements.
  • A structural join can be performed using the above-mentioned requirements to find a pair of nodes that satisfy a query expressed as 'A/B' or 'A//B' in an XPath or XQuery language.
  • The node numbering scheme enables the storage and retrieval of general XML data without the need for information on a document type definition (DTD) or XML schema associated with input data. However, this scheme suffers from several drawbacks in small digital devices having restricted computing capability. The number of joins that must be performed to process a path expression to retrieve XML data is equal to the length of the path expression.
  • Since an insufficient memory is available for computation in small digital devices, Input/Output operation is frequently generated, which may result in significant performance degradation. In restoring the XML data, the same result occurs. Updating a child node may result in updating a parent node, thus making the update process ineffective.
  • Another method for storing and retrieving documents is an attribute inlining technique. This technique not only prevents excessive fragmentation caused by node numbering by inlining one or more XML nodes into a single table but also allows a relational database to be automatically implemented using a given DTD or XML schema.
  • For more information on attribute inlining, see [Javavel Shanmugasundaram, Kristin Tufte, Chun Zhang, Gang He, David J. Dewitt, and Jeffrey F. Naughton "Relational Databases for Querying XML Documents: Limitations and Opportunities," In Proc. of the 25th VLDB conference, pages 302-314, Edinburgh, Scotland, Sep. 1999].
  • However, like the node numbering scheme, attribute inlining requires a large amount of computation when each of many nodes within a DTD has a plurality of cardinalities. Furthermore, since the method is very sensitive to schema (DTD) for XML data, changes in node attributes cause recreation of a database.
  • Therefore, there is a need for a method for effectively managing digital data written in a markup language.
  • It is an aim of the present invention to provide a method and apparatus for effectively managing data written in a markup language and a computer-readable recording medium for recording a program designed to perform the same method.
  • It is another aim of the present invention to provide a method and apparatus for effectively creating an index for data written in a markup language and a recording medium for storing a program designed to perform the indexing method.
  • According to the present invention there is provided an apparatus and method as set forth in the appended claims. Preferred features of the invention will be apparent from the dependent claims, and the description which follows.
  • In one aspect, the present invention provides an apparatus for managing data written in a markup language, comprising a data provider that provides fragments having the data written in the markup language split by a predetermined group of nodes, a storage unit that stores the fragments and identifiers used for distinguishing the fragments on a fragment-by-fragment basis, and a data processor that, upon request for data, retrieves a fragment containing the requested data from the storage unit and provides the same.
  • The apparatus may further comprise a fragment managing unit that analyzes the fragment provided by the data provider and stores the fragment and the identifier used for distinguishing the fragment in the storage unit on a fragment-by-fragment basis.
  • When the analyzed fragment is more recent than the data previously stored in the storage unit, the fragment managing unit may update a fragment containing the previously stored data.
  • Meanwhile, the apparatus may also further comprise an index managing unit that analyzes the fragment provided by the data provider, generates an index corresponding to the data and stores the generated index in the storage unit on an index-by-index basis.
  • The data provider may further provide an index for the fragment.
  • Also, the apparatus may further comprise an index managing unit that analyzes the index provided by the data provider and stores the index and an identifier used for distinguishing the index in the storage unit on an index-by-index basis.
  • When the analyzed index is more recent than the index previously stored in the storage unit, the index managing unit may update the corresponding index.
  • Also, the data provider may selectively provide fragmented data among received digital broadcast streams.
  • The apparatus may further comprise a metadata browser that parses the fragment provided by the data processor and outputs the same.
  • In another aspect, the present invention provides a method for managing data written in a markup language, comprising providing fragments having the data written in the markup language split by a predetermined group of nodes, analyzing the fragments and storing the fragments and identifiers used for distinguishing the fragments on a fragment-by-fragment basis, and upon request for data, retrieving a fragment containing the requested data from the storage unit and providing the same.
  • The method may further comprise, when the analyzed fragment is more recent than the previously stored one, updating the corresponding previously stored fragment.
  • Also, the method may further comprise analyzing the provided fragment, generating an index corresponding to the data and storing the generated index.
  • The method may further comprise providing an index for the fragment.
  • The method may further comprise analyzing the provided index and storing the index and an identifier used for distinguishing the index on an index-by-index basis.
  • When the analyzed index is more recent than the previously stored index, the method may further comprise updating the corresponding previously stored index.
  • The method may also further comprise selectively providing fragmented data among received digital broadcast streams.
  • The method may further comprise parsing the provided fragment and outputting the same.
  • A computer-readable recording medium for recording a program for executing the method is constructed to perform the methods described above.
  • The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
    • Figure 1 is an exemplary diagram of typical data written in a markup language;
    • Figure 2 illustrates a general structure of data written in a markup language;
    • Figure 3 illustrates a method for storing data written in a markup language using a conventional node numbering scheme;
    • Figure 4 is a conceptual diagram for explaining fragmentation of data written in a markup language;
    • Figure 5 illustrates the concept of managing data written in a markup language according to an embodiment of the present invention;
    • Figure 6 illustrates the concept of managing the digital data of Figure 1 using the concept of data management illustrated in Figure 5;
    • Figure 7 is a block diagram of a digital device for managing data written in a markup language according to an embodiment of the present invention;
    • Figures 8A through 8C are flowcharts illustrating methods for managing and retrieving data according to embodiments of the present invention;
    • Figure 9 shows a grid guide screen in a general electronic programming guide (EPG) application;
    • Figure 10 is a conceptual diagram showing transmission of fragmented metadata; and
    • Figure 11 is a block diagram of a digital broadcast receiving device for processing metadata written in a markup language according to another embodiment of the present invention.
  • Advantages and features of the present invention and methods of accomplishing the same may be understood more readily by reference to the following detailed description of exemplary embodiments and the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the invention to those skilled in the art, and the present invention will only be defined by the appended claims. Like reference numerals refer to like elements throughout the specification.
  • A method and apparatus for effectively managing data written in a markup language according to illustrative embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
  • Before illustrating an exemplary implementation of the present invention, the concept of fragmentation will first be described. Fragmentation refers to splitting digital data written in a markup language into smaller fragments. The present invention basically manages the digital data in fragments. A fragment policy for digital data written in a markup language may be determined by a digital device for processing the digital data or a protocol for sending and receiving predetermined digital data among multiple digital devices (hereinafter referred to as a 'domain').
  • The concept of fragments will now be described briefly with reference to Figure 4. The digital data formatted with a markup language shown in Figures 1 and 2 is broken down into tree structures, each of which is called a fragment.
  • For example, if the digital data is segmented into a tree structure with a parent node TVAMain and predetermined children nodes (fragment TVAMain), a tree structure with a parent node ProgramInformation Table and children nodes below the parent node (fragment ProgramInformation), and a tree structure with a parent node BroadcastEvent and children nodes below the parent node (fragment BroadcastEvent), each segmented tree structure serves as a fragment.
  • Fragmentation is a useful technique for managing or transmitting high volume digital data. For example, if digital data is segmented into several fragments that are organized to be distinguishable from one another, it is possible to independently access or transmit only desired fragments.
  • The hierarchical structure of digital data written in a markup language in a domain is divided into a set of fragments or fragment types. A fragment type may be the child of another fragment type. Although digital data are split into the above three fragment types TVAMain, ProgramInformation, and BroadcastEvent in Figure 4, the way to split and the number of fragments is arbitrarily determined by the fragment policy of the particular domain.
  • Meanwhile, since each fragment can be updated independently, a parent-child relationship between two nodes belonging to different fragments may no longer exist. Thus, to maintain the patent-child relationship between two nodes upon fragmentation of digital data written in markup language, a fragment policy is designed such that the two nodes belong to the same fragment type, or an IDREF node type is used to allow a node to refer to another node.
  • Fragmentation of digital data is more useful for access to digital data written in a markup language, and in particular, to a predetermined node contained in the digital data.
  • To achieve this, first, the fragment policy is used to find a fragment containing a desired node and then access is made directly to the appropriate node. Thus, it is possible to obtain desired information by processing only the pertinent fragment instead of the whole digital data.
  • Meanwhile, in the case of Extensible Markup Language (XML), a World Wide Web Consortium (W3C)-defined XML Path Language (XPath) may be used to mark a predetermined node contained in fragmented digital data. Here, XPath is a syntax for describing a path to a node within an XML document. Specifically, XPath is used to indicate a pertinent node contained in a fragment by specifying a) an absolute path from the root node of digital data to a parent node of the fragment containing the pertinent node and b) a relative path from the parent node of the pertinent fragment to the pertinent node.
  • To identify fragmented digital data, an indicating method using an absolute or relative path may be used. For example, an absolute path of a parent node in each fragment may be used to identify each fragment. In addition to specifying an absolute path using XPath, when an absolute path has a fixed pattern, the absolute path can be represented in code according to a predetermined mapping rule. For example, while fragment BroadcastEvent shown in Figures 2 and 4 may be represented as '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' using XPath, the same fragment is expressed by 'FF01' according to a mapping rule. In this case, fragment type BroadcastEvent can be identified by 'FF01'.
  • A data management structure according to a preferred embodiment of the present invention will now be described. In this embodiment, fragmented digital data are managed in a relational table as shown in Table 1 below:
    Fragment#1_id fragment#1_type fragment# 1_version fragment# 1_content
    Fragment#2_id fragment#2_type fragment#2_version fragment#2_content
    Fragment#3_id fragment#3_type fragment#3_version fragment#3_content
    ...... ...... ...... ......
  • Table 1 contains fragment_id, fragment_type, fragment_version, and fragment_content for each fragment.
  • Here, fragment_id denotes an identifier of each fragment used for distinguishing a fragment in a transmission network or database, fragment_type denotes the type of the pertinent fragment, fragment_version denotes the version of the fragment, and fragment_content denotes a repository where fragmented digital data is stored. In this case, the digital data can be stored in fragments in text or parsed form.
  • Managing the fragmented data using the relational table allows a digital device to effectively access the desired information without the need to process all digital data. Specifically, the first step to gain access to the desired information is to identify a fragment type containing the desired information using the fragment policy described earlier.
  • When multiple fragments are found to be of the same fragment type, fragment version is checked to select the latest version of fragment. The fragment content of the selected fragment is then checked to obtain the desired information. If the fragment content is in the form of unparsed text, the desired information can be extracted by performing parsing on the content.
  • An index structure for digital data according to a preferred embodiment of the present invention will now be described.
  • To retrieve a fragment that satisfies certain conditions, it is preferable to create an index for nodes frequently referred to under search terms and then refer to the index instead of examining the content of all fragments.
  • An index whose key value is a node value can be created for a fragment type. For example, if an index whose key value is a 'Genre' node value is created for fragment type ProgramInformation in the XML document of Figure 1, it is possible to retrieve information on programs belonging to a particular genre.
  • Thus, it is desirable to provide the index structure for digital data to allow effective retrieval of and access to digital data.
  • A node in digital data written in a markup language may be used as a key for indexing. For example, in Figure 2, 'PublishedTime' may be used as a key for indexing.
  • To specify a key, as described above, an absolute path of a fragment containing a node corresponding to the key and a relative path within the fragment may be used.
  • Referring to Figures 2 and 4, if 'Published Time' is used as a key, information about the key may be specified as a) an absolute path '/TVAMain/ProgramDescription/ProgramLocationTable/Broadcas tEvent' of fragment 'BroadcastEvent' containing node 'PublishedTime' and b) a relative path 'EventDescription/PublishedTime' of node 'PublishedTime' within fragment 'BroadcastEvent'.
  • Conclusively, for effective management of digital data written in markup language, it is desirable to fragment the data and manage fragments in a relational table constructed as described above. Furthermore, it is more preferable to provide an index structure for effective access to fragmented digital data.
  • A key used in an index structure may be a node contained in a corresponding fragment, and using the index structure allows direct access to a fragment containing the desired content. Furthermore, an absolute path of a fragment containing a node corresponding to the key and a relative path within the fragment can be used as information about the key.
  • In addition to specifying the absolute and relative paths using XPath as the information on the key, when absolute and relative paths have fixed patterns, the absolute and relative paths can be represented in codes according to a predetermined mapping rule. For example, /TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' and EventDescription/PublishedTime' may also be represented by 'FF01' and 'AA01' according to a mapping rule, respectively.
  • An index structure according to a preferred embodiment of the present invention is shown in Figure 5.
  • Referring to Figure 5, the overall structure of markup language based data consists of four components: IndexDictionary 100, IndexKeyfield 200, Index 300a or 300b, and Fragment 400.
  • As described above, Fragment 400, which is a relational table in which fragmented digital data are stored, contains fragment_id, fragment_type, fragment_version, and fragment_content.
  • To perform indexing, the index structure includes IndexDictionary 100, IndexKeyfield 200, and Index 300a or 300b.
  • Each of a plurality of entries forming the Index 300a or 300b consists of the fields key_value, fragment_id, fragment_type, and fragment_version. The key value may contain multiple sub-key values defined as one or more fields. The fields fragment_id and fragment_version are the same as their counterparts in Fragment 400. An index for a fragment can be created using a well-known indexing technique such as B-tree.
  • Since a database may contain one or more indices, two auxiliary data structures may be provided for specifying each index.
  • IndexDictionary 100 describes information on each index and contains index_id, index_version, fragment_type, num_key_field, and key_field_id.
  • Here, index_id is an ID of an index, index_version is the version of the index, num_key_field is the number of fields (nodes) contained in a key, and key_field_id is an ID of a key field. IndexKeyfield 200 specifies information on key fields in Index 300a or 300b and contains key_field_id, key_field_path, and key_field_type. The key_field_id is an ID of a key field, key_field_path is a relative path from a fragment containing a pertinent key field to the pertinent key field in a markup language data structure, and key_field_type is the type of the key field within a database. In another embodiment, an absolute path of the key field from the root node to the pertinent key field in the markup language data structure may be used as key_field_path.
  • A method for managing digital data written in a markup language will be described later with reference to Figure 8.
  • Figure 6 illustrates management of the digital data of Figure 1 using the data management structure of Figure 5 according to an embodiment of the present invention.
  • In the illustrative embodiment, index information on the digital data of Figure 1 is described, where a key is Genre contained in the fragment 'ProgramInformation' and a key value is News.
  • IndexDictionary 100 contains information about Index 300 where index_id of an index associated with the fragment type 'ProgramInformation' is 1 and index_version is 2. IndexKeyfield 200 also contains num_key_field and key_field_id as information on a key field of Index 300. In this embodiment, num_key_field is 1, since Genre has one key field, and key_field_id is '7'.
  • IndexKeyfield 200 describes information on a key field for 'Genre'. For example, key_field_id is '7', key_field_path is 'BasicDescription/Genre', and key_field_type is 'string'.
  • An entry of Index 300 shown in Figure 6 has a key value of 'News' for a key field of 'Genre'. The field fragment_id of a fragment containing digital data having a key value of 'News', which means the genre is news, is '123', and the field fragment_version is '1'.
  • Thus, a user retrieves Index 300 whose key field is 'Genre' referring to IndexDictionary 100 and IndexKeyfield 200. Then, the user retrieves an entry whose key value is 'News" from Index 300 and extracts the fields fragment_id and fragment_version of a fragment from the entry. Using the extracted information, the user retrieves a fragment containing digital data whose 'Genre' is 'News' from Fragment 400.
  • Figure 7 is a block diagram of a digital device 500 for managing data written in a markup language according to an embodiment of the present invention.
  • Referring to Figure 7, the digital device 500 includes a data provider 510 that provides fragmented digital data, a fragment managing unit 520 that converts the provided fragment into a data structure according to the present invention, an index managing unit 530 that creates or updates an index for the fragment, a data processor 540 that stores the provided fragment and index in a storage unit 570 and performs retrieval of the stored digital data, and an application that requests retrieval and receives needed digital data from the data processor 540 for processing.
  • The data provider 510 provides fragmented data according to a predetermined fragment policy by creating the fragmented data or receiving the same from another digital device.
  • When receiving the fragmented data from another digital device, an index for the digital data may accompany the data. The received index is then sent to the index managing unit 530 for management.
  • The fragment managing unit 520 analyzes the fragmented digital data provided by the data provider 510 such that pertinent fragments can be stored in an exemplary relational table as shown in Table 1.
  • In particular, the fragment managing unit 520 analyzes a fragment to extract information including fragment_id, fragment_type, fragment_version, and fragment_content, and delivers the extracted information to the data processor 540. When receiving an update fragment on the previously stored fragment, the fragment managing unit 520 also updates the pertinent fragment.
  • The index managing unit 530 analyzes the fragmented digital data provided by the data processor 540 and creates IndexDictionary 100, IndexKeyfield 200 and Index 300a or 300b.
  • Upon receipt of an index from the data provider 510, the index managing unit 530 can also analyze the created information. In addition, when receiving an update fragment on the previously stored fragment, the index managing unit 530 can update the index for the pertinent fragment.
  • The data processor 540 receives the processed results from the fragment managing unit 540 and the index managing unit 530, stores the same in the storage unit 570, retrieves a fragment requested by the application 560 from the storage unit 570, extracts digital data as needed, and delivers the digital data to the application 560. If fragment_content in the relational table stored in the storage unit 570 is a fragment itself in text form, the data processor 540 may parse the fragment in text form for delivery to the application 560.
  • Furthermore, upon receipt of a new fragment, the data processor 540 informs the index managing unit 530 of this fact, and, in turn, updates the pertinent index.
  • The data processor 540 also manages the storage unit 570. That is, the data processor 540 requests the fragment managing unit 520 and the index managing unit 530 to selectively delete the fragment and index stored in the storage unit 570 according to a request from a user or a predetermined algorithm. Meanwhile, even when receiving a request for deletion of only a fragment, it is preferable to delete an index associated with the fragment as well. Thus, when notifying the index managing unit of deletion of a fragment, the data processor 540 may request for modification of the stored index.
  • The operations performed by the digital device 500 of Figure 7 are summarized as follows.
  • The digital device 500 may perform all of the following operations or, depending on its performance or function, selectively perform one or more operations.
    • 1. Generating fragmented digital data
    • 2. Storing fragmented digital data
    • 3. Updating fragmented digital data
    • 4. Deleting fragmented digital data
    • 5. Generating index for fragmented digital data
    • 6. Storing index for fragmented digital data
    • 7. Updating index for fragmented digital data
    • 8. Deleting index for fragmented digital data
    • 9. Retrieving digital data
    • 10. Output retrieved digital data
  • Details of the functions listed above will be described below with reference to Figures 8A through 8C.
  • Figures 8A through 8C illustrate methods for managing fragmented digital data and an index according to embodiments of the present invention.
  • 1. Generating fragmented digital data
  • In step S110, the data provider 510 fragments the digital data according to a predetermined fragment policy. Alternatively, the data provider 510 may provide a fragment received from another digital device, or selectively provide fragmented data among received digital broadcast streams from another digital device.
  • 2. Storing fragmented digital data
  • In step S120, the fragment provided by the data provider 510 is analyzed by the fragment managing unit 520 in order to extract information including fragment_id, fragment_type, fragment_version, and fragment_content. The extracted information is then sent to the data processor 540 and stored in Fragment 400 of the storage unit 570.
  • To avoid duplicate storage of the same information, the method may further include step S130 of comparing fragment_id of the fragment provided by the data provider 510 with that of the previously stored data.
  • While in step S150, a fragment having the same fragment_id as the existing fragment is discarded, only a fragment having a different fragment_id is stored in step S170. In another embodiment, comparison of fragment_id may be followed by comparison of fragment_version in step S140. If the provided fragment has the same fragment_id, but a higher fragment_version than the previously stored fragment, this means that the fragment has been updated, which will be described in Paragraph 3.
  • Meanwhile, when a new fragment is added to the Fragment 400 of the storage unit 570 or the existing fragment is updated, an index for the new fragment also needs to be added or an index for the existing fragment needs to be updated. Processes of adding and updating an index will be described in Paragraphs 5-7.
  • 3. Updating fragmented digital data
  • In step S160, when a fragment having the same information as the previously stored fragment is provided from the data provider 510, the data processor 540 updates the previously stored fragment. To determine whether the two fragments are the same, various fields can be used. As described above, the fragment_version field may be used to determine whether the fragment is the same as the previously stored fragment and then whether the latter has been updated.
  • 4. Deleting fragmented digital data
  • The digital data stored in the storage unit 570 can be deleted in fragments. A fragment stored in a relational table may be automatically deleted upon request from a user or according to a predetermined algorithm. In this case, information on the fragment is deleted from the relational table.
  • 5. Generating an index for fragmented data
  • To retrieve predetermined digital data, it can be more efficient to create an index for the fragment and refer to the index than to check the content of all fragments stored in the storage unit 570. In the preferred embodiment of the present invention, a node belonging to a predetermined fragment type is set as a key and the value of the pertinent node is set as a key value. The index managing unit 530 analyzes the fragment and provides an index by creating IndexDictionary 100, IndexKeyfield 200 and Index 300a or 300b as shown in Figure 5. Depending on the performance or function of the digital device 500, the index managing unit 530 may provide an index received from another digital device.
  • 6. Storing an index for fragmented data
  • The index provided by the index managing unit 530 is sent to the data processor 540 and stored in the storage unit 570. Like in the fragment management method, the index is analyzed in step S220 to determine whether the provided index is the same as the one previously stored in step S230 and then whether the latter has been updated in step S240. Depending on the result of determination, the index may be discarded or stored in step S250 or S270, or the existing index may be updated in step S260.
  • 7. Updating an index for fragmented digital data
  • Upon receipt of an index having the same information as the index previously stored in the storage unit 570 from the data provider 510, the data processor 540 updates the previously stored index in step S260. To determine whether the two indices are the same, various fields can be used. For example, in step S240, the index_version field may be used to determine whether the index is the same as the previously stored index and then whether the latter has been updated. In this case, when an indexed fragment is updated, it is preferable to update an index associated with the fragment accordingly. Updates on the fragment may be sent to the index managing unit 530 from the data processor 540.
  • 8. Deleting an index for fragmented data
  • The index stored in the storage unit 570 can be deleted. That is, IndexDictionary 100, IndexKeyfield 200 and Index 300a or 300b may be automatically deleted upon request from the user via the application 560 or according to a predetermined algorithm.
  • 9. Retrieving predetermined digital data
  • In the present invention, a retrieval of digital data is performed for each fragment. A simple retrieval method may involve designating only a fragment type containing the desired digital data, retrieving the designated fragment type from the Fragment 400, and extracting the found fragment for retrieval.
  • Meanwhile, it is possible to use an index for more efficient retrieval. A retrieval method using the index will now be described.
  • In step S310, when performing retrieval of digital data, first, a target for retrieval is designated by a fragment type, and search terms are designated using a value of a specific node (key) within the pertinent fragment and a comparative operator for the specific node value.
  • For example, as shown in Figure 6, to perform digital data whose 'Genre' is 'News', first, a fragment containing digital data whose 'Genre' is 'News' is retrieved using an index. For a key 'Genre' fragment type 'ProgramInformation' is designated as a target and fragments whose 'Genre' is 'News' are filtered among fragments belonging to the fragment type 'ProgramInformation'. The fragment_id's of the fragments whose 'Genre' is 'News' are checked using the index, and fragments having the fragment_id is retrieved from Fragment 400. Then, the fragment is parsed in a form as requested by an application. The retrieval process is divided into four steps:
    • 1) Selecting index: In step S320, Index 300 that will process a user's query is selected referring to IndexDictionary 100 and IndexKeyfield 200;
    • 2) Fragment ID filtering: In step S330, fragment_id's of fragments that match the user's query are extracted referring to Index 300;
    • 3) Retrieving fragment content: In step 340, fragment_content having the pertinent fragment_id is extracted referring to Fragment 400;
    • 4) Outputting retrieval result: In step S350, fragment_content is output. If fragment_content is a fragment in text form, separate parsing is performed on the fragment before output.
  • 10. Outputting retrieved digital data
  • That is, fragment_content is delivered to a predetermined application that in turn uses the content for data processing.
  • A digital broadcast receiving device for performing the digital data management method according to the present invention will now be described.
  • The digital broadcasting receiving device receives metadata formatted with a markup language such as XML in addition to a broadcast signal for displaying the same to a user. The metadata refers to "data about data". That is, the metadata describes information on a content file such as a program title or overview.
  • For example, metadata may be displayed to the user through a grid guide screen in an electronic programming guide (EPG) application shown in Figure 9. Thus, the digital receiving device needs to efficiently manage the metadata in order to provide various search functions for a received broadcast program.
  • As shown in Figure 10, each of digital broadcast receiving devices of a receiver side 40 receives fragmented metadata from a transmitter side 20 through a transmission network 30. In this case, the digital broadcast receiving device may receive an index associated with fragmented metadata as well.
  • In particular, the present invention is usefully applied in the field of digital broadcasting.
  • In a digital broadcasting environment, broadcast audio and video content is transmitted via a broadcast network along with metadata that describes the content. The metadata is mainly used to retrieve or browse the broadcast content in a receiving device. XML becomes more widely adopted as a standard for metadata that describes the broadcast content. Representative examples are the TV-Anytime Metadata Specification and MPEG-7 Multimedia Description Schemes. Metadata for a broadcast program may contain various kinds of information such as programs, program groups, program reviews, credits, program schedules, and information on broadcast stations. A single metadata document consists of multiple parts including various kinds of information and contain a considerable amount of information on broadcast programs scheduled to air for a predetermined period of time (commonly, less than two weeks). Thus, it is desirable to split the metadata into smaller fragments to transmit the same over a bandwidth-limited network.
  • There are two advantages of splitting the entire XML document into smaller fragments for transmission. First, it is safer to divide the document into a large number of small packets for transmission over an error-prone network than to transmit a single large packet. Second, an update on a part of the document is allowed. That is, transmission of the entire document at a time requires retransmission of the entire document each time only a portion changes. In contrast, fragment-based transmission requires retransmission of only the changed portion. In a broadcasting environment, it is preferable to repeatedly transmit fragments over a carousel network so that the digital broadcast receiving device can safely receive needed broadcasting information at any time.
  • In Figure 10, metadata is split into fragments, and each fragment is encapsulated together with information on identifier, version, etc., for transmission. Preferably, the receiving device that processes the fragmented digital data must meet the following requirements:
    • 1) Efficient reconstruction of the original XML document is allowed.
    • 2) Dynamic updating and version control for each portion of the XML document are available.
    • 3) Efficient retrieval for each portion of the XML document is allowed.
  • Since the method for managing digital data written in a markup language according to the present invention can satisfy all of the requirements, it is a suitable solution for both digital broadcast sending and receiving devices.
  • Figure 11 is a block diagram of a digital broadcast. receiving device 700 according to an exemplary embodiment of the present invention.
  • For receipt of broadcasting service, the digital broadcast receiving device 700 further includes a demultiplexer 710 and metadata browser 750 unlike the general digital device of Figure 7. The demuliplexer 710 receives a digital broadcast stream from a transmission layer 600, and delivers audio and video signals to appropriate processing modules and fragmented metadata and an index for the metadata related to the present invention to a fragment managing unit 720 and an index managing unit 730, respectively. The metadata browser 750 is a module responsible for only parsing among the functions of the data processor 540 shown in Figure 7 and is indicated separately in Figure 11.
  • The digital broadcast receiving device 700 according to the exemplary embodiment has basically the same configuration as the digital device of Figure 7, except fragments are not generated within itself but received from the transmission layer 600. Since its operation is almost the same as that of the digital device of Figure 7, a detailed explanation thereof will not be given.
  • The present invention allows efficient storage, deletion, updating and retrieval of digital data by splitting data written in a markup language into fragments and managing each fragment in a predetermined relational table.
  • Furthermore, the present invention makes it easy to construct an index for the digital data based on the fragment while allowing efficient retrieval due to use of the index. Thus, this method is efficient for a lightweight digital storage device.
  • Although a few preferred embodiments have been shown and described, it will be appreciated by those skilled in the art that various changes and modifications might be made without departing from the scope of the invention, as defined in the appended claims.
  • Attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
  • All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
  • Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
  • The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

Claims (18)

  1. An apparatus for managing data written in a markup language, comprising:
    a data provider (510) that provides fragments having data written in the markup language split according to a predetermined group of nodes;
    a storage unit (570) that stores the fragments and identifiers used for distinguishing the fragments on a fragment-by-fragment basis; and
    a data processor (540) that, upon request for data, retrieves a fragment containing requested data from the storage unit (570) and provides the fragment.
  2. The apparatus of claim 1, further comprising a fragment managing unit (520) that analyzes the fragment provided by the data provider (510) and stores the fragment and an identifier used for distinguishing the fragment in the storage unit (570) on the fragment-by-fragment basis.
  3. The apparatus of claim 2, wherein when the analyzed fragment is more recent than the data previously stored in the storage unit (570), the fragment managing unit (520) updates the fragment containing the previously stored data.
  4. The apparatus of any preceding claim, further comprising an index managing unit (530) that analyzes the fragment provided by the data provider (510), generates an index corresponding to the data and stores the generated index in the storage unit (570) on an index-by-index basis.
  5. The apparatus of any preceding claim, wherein the data provider (510) further provides an index for at least one of the fragments.
  6. The apparatus of claim 5, further comprising an index managing unit (530) that analyzes the index provided by the data provider (510) and stores the index and an identifier used for distinguishing the index in the storage unit (570) on an index-by-index basis.
  7. The apparatus of claim 6, wherein when the analyzed index is more recent than the index previously stored in the storage unit (570), the index managing unit (530) updates the corresponding index previously stored in the storage unit (570).
  8. The apparatus of claim 7, wherein the data provider (510) selectively provides fragmented data among received digital broadcast streams.
  9. The apparatus of claim 8, further comprising a metadata browser that parses the fragment provided by the data processor (540) and outputs the parsed fragment.
  10. A method for managing data written in a markup language, comprising:
    providing fragments having the data written in the markup language split according to a predetermined group of nodes;
    analyzing the fragments and storing the fragments and identifiers used for distinguishing the fragments on a fragment-by-fragment basis; and
    upon request for data, retrieving a fragment containing the requested data from the storage unit (570) and providing the retrieved fragment .
  11. The method of claim 10, further comprising, when an analyzed fragment is more recent than the previously stored fragment, updating the corresponding previously stored fragment.
  12. The method of claim 10 or 11, further comprising analyzing at least one of the provided fragments, generating an index corresponding to the data and storing the generated index.
  13. The method of claim 10, 11 or 12, further comprising providing an index for at least one of the fragments.
  14. The method of claim 13, further comprising analyzing the provided index and storing the index and an identifier used for distinguishing the index on an index-by-index basis.
  15. The method of claim 14, further comprising, when the analyzed index is more recent than the previously stored index, updating the corresponding previously stored index.
  16. The method of claim 15, further comprising selectively providing fragmented data among received digital broadcast streams.
  17. The method of claim 16, further comprising parsing the retrieved fragment containing the requested data and outputting the parsed retrieved fragment.
  18. A computer-readable recording medium for recording a program for executing a method for managing data written in a markup language as set forth in any of claims 10 to 17.
EP20040257604 2003-12-13 2004-12-07 Method and apparatus for managing data written in markup language Active EP1542140B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20030090937A KR100568234B1 (en) 2003-12-13 2003-12-13 Method and apparatus of managing data in a mark-up language, and machine readable storage medium for storing program
KR2003090937 2003-12-13

Publications (3)

Publication Number Publication Date
EP1542140A2 true true EP1542140A2 (en) 2005-06-15
EP1542140A3 true EP1542140A3 (en) 2006-04-26
EP1542140B1 EP1542140B1 (en) 2009-04-08

Family

ID=34511219

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20040257604 Active EP1542140B1 (en) 2003-12-13 2004-12-07 Method and apparatus for managing data written in markup language

Country Status (6)

Country Link
US (1) US7844644B2 (en)
EP (1) EP1542140B1 (en)
JP (1) JP2005174332A (en)
KR (1) KR100568234B1 (en)
CN (1) CN1627297A (en)
DE (1) DE602004020438D1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006074512A1 (en) * 2005-01-12 2006-07-20 Smart Internet Technology Crc Pty Ltd Systems, methods, and computer programs for enabling a computing apparatus to obtain data
WO2007038844A1 (en) * 2005-10-06 2007-04-12 Smart Internet Technology Crc Pty Ltd Methods and systems for facilitating access to a schema
EP1918826A1 (en) * 2006-10-30 2008-05-07 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP1983755A1 (en) * 2007-04-17 2008-10-22 Thomson Licensing Method to transmit video data in a data stream and associated metadata
EP2325762A1 (en) * 2009-10-27 2011-05-25 Exalead Method and system for processing information of a stream of information

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028314B1 (en) 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
US8020183B2 (en) 2000-09-14 2011-09-13 Sharp Laboratories Of America, Inc. Audiovisual management system
US20030038796A1 (en) * 2001-02-15 2003-02-27 Van Beek Petrus J.L. Segmentation metadata for audio-visual content
US6520032B2 (en) * 2001-03-27 2003-02-18 Trw Vehicle Safety Systems Inc. Seat belt tension sensing apparatus
US7904814B2 (en) 2001-04-19 2011-03-08 Sharp Laboratories Of America, Inc. System for presenting audio-video content
US7474698B2 (en) 2001-10-19 2009-01-06 Sharp Laboratories Of America, Inc. Identification of replay segments
US8214741B2 (en) 2002-03-19 2012-07-03 Sharp Laboratories Of America, Inc. Synchronization of video and data
US7657907B2 (en) 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
US8356317B2 (en) * 2004-03-04 2013-01-15 Sharp Laboratories Of America, Inc. Presence based technology
US8949899B2 (en) * 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
US8312110B2 (en) * 2004-03-12 2012-11-13 Kanata Limited Content manipulation using hierarchical address translations across a network
JP4313703B2 (en) * 2004-03-12 2009-08-12 彼方株式会社 The information processing apparatus, system, method, and program
US20070100891A1 (en) * 2005-10-26 2007-05-03 Patrick Nee Method of forming a multimedia package
US8689253B2 (en) 2006-03-03 2014-04-01 Sharp Laboratories Of America, Inc. Method and system for configuring media-playing sets
US20080104269A1 (en) * 2006-10-30 2008-05-01 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP2141615A1 (en) * 2008-07-04 2010-01-06 Software AG Method and system for generating indexes in an XML database management system
US8521744B2 (en) * 2009-11-13 2013-08-27 Electronics And Telecommunications Research Institute Apparatus and method for authoring data in communication system
US20170277590A1 (en) * 2016-03-25 2017-09-28 Intel Corporation Methods and apparatus to assign indices and relocate object fragments in distributed storage systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765177A (en) * 1992-08-03 1998-06-09 Fuji Xerox Co., Ltd. Document processing method and apparatus for searching documents having a graph based document logic structure
WO2001090873A1 (en) * 2000-05-22 2001-11-29 2Roam, Inc. System and method for generating a wireless web page
US20020016801A1 (en) * 2000-08-01 2002-02-07 Steven Reiley Adaptive profile-based mobile document integration
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
US20020049705A1 (en) * 2000-04-19 2002-04-25 E-Base Ltd. Method for creating content oriented databases and content files
US20020049782A1 (en) * 1999-11-05 2002-04-25 Herzenberg Leonard A. Internet-linked system for directory protocol based data storage, retrieval and analysis

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US6105033A (en) * 1997-12-29 2000-08-15 Bull Hn Information Systems Inc. Method and apparatus for detecting and removing obsolete cache entries for enhancing cache system operation
US6289358B1 (en) * 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6128627A (en) * 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
KR100345277B1 (en) 1999-11-02 2002-07-19 (주)한국지식웨어 A logical structure information extractor for xml documents
EP1146672A1 (en) 2000-04-10 2001-10-17 Sony International (Europe) GmbH Method to transmit an information service in a broadcast transmission system
JP2003092753A (en) 2000-12-21 2003-03-28 Victor Co Of Japan Ltd Method for transmitting structured meta-data
JP4774622B2 (en) * 2001-04-27 2011-09-14 ソニー株式会社 Information transfer method and information exchange system
JP4045399B2 (en) 2001-08-24 2008-02-13 富士ゼロックス株式会社 Structured document management device and a structured document management method
JP2003111035A (en) * 2001-09-28 2003-04-11 Nippon Hoso Kyokai <Nhk> Contents transmission control method, contents reception control method and contents transmission controller, contents reception controller and contents transmission control program, and contents reception control program
CN1292371C (en) * 2003-04-11 2006-12-27 国际商业机器公司 Inverted index storage method, inverted index mechanism and on-line updating method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765177A (en) * 1992-08-03 1998-06-09 Fuji Xerox Co., Ltd. Document processing method and apparatus for searching documents having a graph based document logic structure
US20020049782A1 (en) * 1999-11-05 2002-04-25 Herzenberg Leonard A. Internet-linked system for directory protocol based data storage, retrieval and analysis
US20020049705A1 (en) * 2000-04-19 2002-04-25 E-Base Ltd. Method for creating content oriented databases and content files
WO2001090873A1 (en) * 2000-05-22 2001-11-29 2Roam, Inc. System and method for generating a wireless web page
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
US20020016801A1 (en) * 2000-08-01 2002-02-07 Steven Reiley Adaptive profile-based mobile document integration

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006074512A1 (en) * 2005-01-12 2006-07-20 Smart Internet Technology Crc Pty Ltd Systems, methods, and computer programs for enabling a computing apparatus to obtain data
WO2007038844A1 (en) * 2005-10-06 2007-04-12 Smart Internet Technology Crc Pty Ltd Methods and systems for facilitating access to a schema
EP1918826A1 (en) * 2006-10-30 2008-05-07 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP1983755A1 (en) * 2007-04-17 2008-10-22 Thomson Licensing Method to transmit video data in a data stream and associated metadata
US9838757B2 (en) 2007-04-17 2017-12-05 Thomson Licensing Method to transmit video data in a data stream and associated metadata
EP2741498A1 (en) * 2007-04-17 2014-06-11 Thomson Licensing Method to transmit video data in a data stream and associated metadata.
WO2011051849A3 (en) * 2009-10-27 2011-07-14 Exalead Method and system for processing information of a stream of information
CN102667776A (en) * 2009-10-27 2012-09-12 莱克萨利德股份公司 Method and system for processing information of a stream of information
US9122769B2 (en) 2009-10-27 2015-09-01 Dassault Systemes Method and system for processing information of a stream of information
CN102667776B (en) * 2009-10-27 2017-05-10 达索系统公司 Method and system for processing information stream
EP2325762A1 (en) * 2009-10-27 2011-05-25 Exalead Method and system for processing information of a stream of information

Also Published As

Publication number Publication date Type
EP1542140A3 (en) 2006-04-26 application
DE602004020438D1 (en) 2009-05-20 grant
KR100568234B1 (en) 2006-04-07 grant
CN1627297A (en) 2005-06-15 application
US7844644B2 (en) 2010-11-30 grant
KR20050058912A (en) 2005-06-17 application
EP1542140B1 (en) 2009-04-08 grant
US20050131906A1 (en) 2005-06-16 application
JP2005174332A (en) 2005-06-30 application

Similar Documents

Publication Publication Date Title
Shimura et al. Storage and retrieval of XML documents using object-relational databases
US6654734B1 (en) System and method for query processing and optimization for XML repositories
US6505191B1 (en) Distributed computer database system and method employing hypertext linkage analysis
US20060212420A1 (en) Mechanism for multi-domain indexes on XML documents
Meier eXist: An open source native XML database
US20050055343A1 (en) Storing XML documents efficiently in an RDBMS
US6360215B1 (en) Method and apparatus for retrieving documents based on information other than document content
US20020078041A1 (en) System and method of translating a universal query language to SQL
Chen et al. D (k)-index: An adaptive structural summary for graph-structured data
US20040083209A1 (en) Query processing method for searching XML data
US20040111388A1 (en) Evaluating relevance of results in a semi-structured data-base system
US20120054268A1 (en) Transmission apparatus and method, reception apparatus and method, and transmission and reception system
US20030004998A1 (en) Proxy-based acceleration of dynamically generated content
Fegaras et al. Query processing of streamed XML data
US20020143742A1 (en) Apparatus, method, and program for retrieving structured documents
US20040221226A1 (en) Method and mechanism for processing queries for XML documents using an index
US7313758B2 (en) Markup-language document formatting in memory-constrained environment
US20050055334A1 (en) Indexing XML documents efficiently
US20030088420A1 (en) Electronic program guide for processing content-related information configured using a reference information model
US7107282B1 (en) Managing XPath expressions in a database system
US20020138517A1 (en) Binary format for MPEG-7 instances
US20030101194A1 (en) System and method for loading hierarchical data into relational database systems
US20050229158A1 (en) Efficient query processing of XML data using XML index
US20080010256A1 (en) Element query method and system
US7499915B2 (en) Index for accessing XML data

Legal Events

Date Code Title Description
AK Designated contracting states:

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

17P Request for examination filed

Effective date: 20050114

AX Request for extension of the european patent to

Extension state: AL BA HR LV MK YU

AX Request for extension of the european patent to

Extension state: AL BA HR LV MK YU

AK Designated contracting states:

Kind code of ref document: A3

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

AKX Payment of designation fees

Designated state(s): DE FR GB NL

17Q First examination report

Effective date: 20061213

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

AK Designated contracting states:

Kind code of ref document: B1

Designated state(s): DE FR GB NL

REF Corresponds to:

Ref document number: 602004020438

Country of ref document: DE

Date of ref document: 20090520

Kind code of ref document: P

26N No opposition filed

Effective date: 20100111

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 12

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 13

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

PGFP Postgrant: annual fees paid to national office

Ref country code: NL

Payment date: 20171121

Year of fee payment: 14

Ref country code: FR

Payment date: 20171123

Year of fee payment: 14

Ref country code: DE

Payment date: 20171121

Year of fee payment: 14

PGFP Postgrant: annual fees paid to national office

Ref country code: GB

Payment date: 20171121

Year of fee payment: 14