Data processing: presentation processing of document – operator i – Presentation processing of document – Layout
Reexamination Certificate
2000-02-01
2004-08-03
Hong, Stephen S. (Department: 2178)
Data processing: presentation processing of document, operator i
Presentation processing of document
Layout
C715S252000, C715S252000
Reexamination Certificate
active
06772395
ABSTRACT:
TECHNICAL FIELD
The invention relates to architectures for computer-readable structures, such as markup language that represents pages for display on the World Wide Web and to apparatus and methods for parsing such structures. Specifically, the invention relates to processing architectures that are capable of self-modification based on the flow of data within the architecture. The invention also relates to parsers or execution engines for executing structures constructed according to such architectures and to caching systems and authoring tools for such architectures.
BACKGROUND OF THE INVENTION
Web sites, especially those employed in electronic commerce, typically include user interfaces for permitting end users to view and enter information. Importantly, such web sites are frequently based on data, i.e., price listings, product listings, account status, that changes on a regular basis.
Various markup languages for generating Web content are known in the art. Generally, such languages provide a method of formatting text by adding information, typically in the form of tags, to the text of the computer-displayed document to indicate the logical components of the document, the layout of text, or other information that can be interpreted by a computer. One markup language in widespread use is Hypertext Markup Language (HTML). Another known markup language is Extensible Markup Language (XML), which is currently being standardized and will likely be widely adopted.
Both HTML and XML are really just reflections of a broader markup language known as Standard Generalized Markup Language. Both XML and HTML contain markup symbols to describe the contents of a page or file. HTML describes content, i.e., text and graphic images, only in terms of how content is to be displayed and interacted with. For example, the tag <P> starts a new paragraph. On the other hand, XML describes the content in terms of what kind of data it is. For example, a tag such as <ADDRESS> might indicate that the data that followed it is an address. As XML tags proliferate across the Internet, the ability to search Web documents and to manipulate data contained in Web documents will be enhanced.
Thus, an XML file can be processed purely as data by a program, or it can be displayed. For example, depending on how the application in a receiving computer processed the data tagged by <ADDRESS>, the actual data could be stored, displayed or retrieved by a search routine searching for address data. XML is considered an “extensible” language because, unlike HTML, the markup symbols are unlimited and self-defining. XML is actually a simpler and easier-to-use subset of SGML, yet, because of its self-describing features, it is much more powerful than HTML. It is expected that HTML and XML will be used together in many Web applications.
Current solutions for creating layout for Web pages are code-intensive. When the data changes, web page authors must typically modify the coding that represents the layout. There have been efforts to provide web-authoring tools which reduce the effort involved in creating layout. Conventional web-authoring tools seek to provide a way for web developers to create layout quickly by utilizing a series of templates for portions of a page. For example, “FRONTPAGE,” developed by Microsoft Corporation of Redmond, Wash., provides wizards to construct layout to map to data. However, this is an author time solution and requires that the wizard examine the data and determine the layout when the web page is authored. Another tool, known as “VISUAL INTERDEV,” also developed by Microsoft Corporation of Redmond, Wash., uses design time controls which cause other controls to be instantiated at runtime, the latter controls being able to respond to changing data. However, these controls are very procedurally focused and the controls are instantiated by code that executes at a particular time in a control sequence. The procedural focus of such controls permits only limited flexibility in responding to changing data.
It would therefore be advantageous to provide an execution architecture for computer-readable structures, such as markup language, which provides for dynamic mapping of data to layout such that a web developer may create layout which is self-modifying based on the data source. Such an execution architecture would eliminate the need for manual modification of layout when data changes.
Current architectures also suffer from the disadvantage of inefficient caching. Typically, pages are divided into regions, with each region providing interaction with a user via mouse clicks, data entry, etc. When page regions or data associated with a particular region changes, the entire page is typically regenerated even though other regions typically remain unchanged. Under current architectures, it is difficult or impossible to perform dependency analysis on the page layout to determine which regions are unaffected by a change in a given page region or date. Thus, regeneration of the entire page is a measure to ensure that all regions are properly updated. However, regeneration of the entire page often unnecessarily results in increased use of resources and bandwidth. Thus, it would be advantageous to provide an architecture which lends itself to dependency analysis and therefore provides for efficient caching.
Another disadvantage of known architectures is that they do not allow designers of user interfaces to create display processes which automatically map to data that is passed to them. For example, when a designer creates a multicolumn table in HTML, with different shading for alternate rows, the coding for this layout must be done manually and must be modified if the data to be displayed in the table changes. Moreover, coding for layout involving changes in the number of columns in a table tends to be much more involved than coding involving changes in the number of rows of a table. It would therefore be advantageous to provide an architecture that includes generic processing elements that are capable of automatically mapping data passed to them. Current authoring tools typically provide users with property lists for the display components. For example, “VISUAL BASIC,” developed by Microsoft Corporation of Redmond, Wash., provides a property list for any control. Most HTML editors provide property lists for the low-level user interface intrinsics. However, such property lists to date, are not created for generic segments of XML. It would therefore be advantageous to provide an architecture that includes generic processing elements for which a property set may be exposed to permit the use of a familiar tool approach for web page authoring.
SUMMARY OF THE INVENTION
The aforementioned problems are addressed by the invention, which provides an execution architecture for computer-readable structures, such as markup language, which is based on data flow rather than execution control flow. The invention contemplates a data-centric architecture in which an overall process for generating markup language is modeled as a network of interconnected processing elements, each having a data input and a transformation input. The transformation input. represents a transformation that is applied to the data input. Each processing element generates output by applying the transformation input to the data input. According to the invention, the output of one processing element may be provided as either a data input or a transformation input to another processing element. The resulting architecture thus provides a network of interconnected processing elements which are modified dynamically depending on data flow. Regions of a web page are represented by top-level processing elements, which may have defined within them other processing elements wired to obtain a particular self-modifying process based on the data flow.
An exemplary implementation of the architecture according to the invention includes a network of processing elements defined by an XML tree. An XML input tree structure is used to define the data flow re
Hyman Michael I.
Vaddadi Phani K.
Banner & Witcoff , Ltd.
Hong Stephen S.
Microsoft Corporation
Schlaifer Jonathan
LandOfFree
Self-modifying data flow execution architecture does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Self-modifying data flow execution architecture, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Self-modifying data flow execution architecture will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3326968