Movatterモバイル変換


[0]ホーム

URL:


US7392522B2 - Architectures for and methods of providing network-based software extensions - Google Patents

Architectures for and methods of providing network-based software extensions
Download PDF

Info

Publication number
US7392522B2
US7392522B2US10/953,933US95393304AUS7392522B2US 7392522 B2US7392522 B2US 7392522B2US 95393304 AUS95393304 AUS 95393304AUS 7392522 B2US7392522 B2US 7392522B2
Authority
US
United States
Prior art keywords
extension
software
files
extensions
attachment points
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.)
Expired - Fee Related, expires
Application number
US10/953,933
Other versions
US20050044524A1 (en
Inventor
Michael C. Murray
Paul R. Erickson
Oliver G. Fisher
Michael J. Hopcroft
Suryanarayanan V. Raman
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft CorpfiledCriticalMicrosoft Corp
Priority to US10/953,933priorityCriticalpatent/US7392522B2/en
Publication of US20050044524A1publicationCriticalpatent/US20050044524A1/en
Application grantedgrantedCritical
Publication of US7392522B2publicationCriticalpatent/US7392522B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLCreassignmentMICROSOFT TECHNOLOGY LICENSING, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MICROSOFT CORPORATION
Adjusted expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

Methods and systems for network-based or Internet-based software delivery are described. In one embodiment, an application program or software platform resides on a client. The program or platform is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet. Various extensions can be developed by third party developers for incorporation into the program or platform. In the described embodiment, extension files that comprise a software extension are hosted on an Internet server. Additional files are also hosted on the Internet server and describe aspects of the software extension. These additional files include files that describe a logical attachment of the extension to the program or platform, as well as files that describe the location of the extension files. Extensions are incorporated on a client by navigating to a particular Internet site through which the extensions can be accessed. The files describing the extension files are downloaded on the client. These files tell the client where the particular extension is to be plugged in, as well as where to find the appropriate extension files and how to download them. The extension files are then downloaded and incorporated into the program or platform.

Description

RELATED APPLICATIONS
This is a continuation of U.S. patent application Ser. No. 09/599,812, filed Jun. 21, 2000, now U.S. Pat. No. 6,874,143. In addition, the following patent applications are related to the present application, are assigned to the assignee of this patent application, and are expressly incorporated by reference herein:
    • U.S. patent application Serial No. 09/599,298, entitled “Single Window Navigation Methods and Systems”, and filed on the same date as this patent application;
    • U.S. patent application Ser. No. 09/599,806, entitled “Methods and Systems of Providing Information to Computer Users”, and filed on the same date as this patent application, now U.S. Pat. No. 6,948,135;
    • U.S. patent application Ser. No. 09/599,299, entitled “Methods, Systems, Architectures and Data Structures For Delivering Software via a Network”, and filed on the same date as this patent application, now U.S. Pat. No. 6,883,168;
    • U.S. patent application Ser. No. 09/599,048, entitled “Network-based Software Extensions”, and filed on the same date as this patent application, now U.S. Pat. No. 7,000,230;
    • U.S. patent application Ser. No. 09/599,813, entitled “Authoring Arbitrary XML Documents Using DHTML and XSLT”, and filed on the same date as this patent application, now U.S. Pat. No. 7,191,394;
    • U.S. patent application Ser. No. 09/599,086, entitled “Task Sensitive Methods And Systems For Displaying Command Sets”, and filed on the same date as this patent application.
TECHNICAL FIELD
This invention relates to methods and systems for providing software via a network. More specifically, the invention pertains to Internet-based delivery of software.
BACKGROUND
Installation of traditional PC applications requires physical media, such as a disk or CD-ROM that must be physically inserted into a computer in order for software to be loaded onto a user's computer. Typically, this process requires the user to enter settings information that can be confusing to the user. Once the software is installed, it is typically fixed in terms of its location and functionality. When the software is updated, the user must typically purchase additional physical media and repeat the installation process so that they can use the updated software. In this model, the software is fixed in its association with the computer on which it was installed. If a user moves to another computer, they will not be able to use the specific software on their machine without repeating the installation process.
As computing continues to evolve into the environment of computer networks such as the Internet, it has become clear that the traditional software delivery model described above is inadequate to meet the demands of consumers who desire dynamic, flexible, and adaptable software on-demand. Network-based software delivery is becoming the subject of increasing focus by those who develop and deliver software. Unlocking the potential for network-based software delivery will require smart, innovative and streamlined solutions, especially in situations where bandwidth may be limited.
Accordingly, this invention arose out of concerns associated with providing new software delivery models that are particularly well-suited for network-based software delivery, e.g. delivery via the Internet.
SUMMARY
Methods and systems for network-based software delivery are described. In one embodiment, an application program or software platform resides on a client. The program or platform is configured so that it is extensible based on software extensions that are deliverable over a network such as the Internet. Various extensions can be developed by third party developers for incorporation into the program or platform.
In one described embodiment, extension files that comprise a software extension are hosted on a network server such as an Internet server. These include descriptor files that describe aspects of the software extension. These descriptor files logically describe an extension to the program or platform and designate the location of other extension files. Extensions are incorporated on a client by navigating to a particular network or Internet site through which the extensions can be accessed. The files describing the extension files are downloaded on the client. These files tell the client where, when and how the particular extension can be plugged into the program or platform, as well as where to find the appropriate extension files and how to download them. The extension files are then downloaded and incorporated into the platform.
In one embodiment, an inventive software architecture is provided for handling and consolidating particular types of descriptive files associated with various extensions. A filtering mechanism called attachment points, is used to create handlers for the different descriptive types of files that define a software extension. Each of these handlers is known as an attachment manager. Attachment managers are provided for each extensible feature type. The attachment managers interpret data from extensions files which are supplied by attachment points. In addition to predefined attachment managers, custom attachment managers can be created using data from attachment points. When an extension extends a particular feature type, the attachment points ensure that only the appropriate attachment manager is notified so that the feature type can be incorporated into the program or platform efficiently.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a high level view of a system that can be utilized in accordance with one described embodiment.
FIG. 2 is an exemplary computer system that can be utilized in accordance with the described embodiment.
FIG. 3 is a diagram of an exemplary EDF and PKG in accordance with one described embodiment.
FIG. 4 shows a portion of an EDF in accordance with the described embodiment.
FIG. 5 shows a portion of an EDF schema in accordance with the described embodiment.
FIG. 6 shows a portion of a PKG in accordance with the described embodiment.
FIG. 7 is a block diagram illustrating how file hashes can be used for versioning in accordance with one embodiment.
FIG. 8 is a block diagram that illustrates two exemplary package objects in accordance with one embodiment.
FIG. 9 is a flow diagram that describes steps in a method in accordance with one described embodiment.
FIG. 10 is a flow diagram that describes steps in a method in accordance with one described embodiment.
FIG. 11 is a block diagram that illustrates an exemplary package manifest creation tool in accordance with one described embodiment.
FIG. 12 is a flow diagram that describes steps in a method in accordance with one described embodiment.
FIG. 13 is a flow diagram that describes steps in a method in accordance with one described embodiment.
FIG. 14 is a flow diagram of steps in a method in accordance with the described embodiment.
FIG. 15 is a flow diagram of steps in a method in accordance with the described embodiment.
FIG. 16 shows a portion of an exemplary catalog structure in accordance with the described embodiment.
FIG. 17 is a block diagram of a software architecture in accordance with the described embodiment.
FIG. 18 is a flow diagram of steps in a method in accordance with the described embodiment.
FIG. 19 is a diagram that illustrates one aspect of attachment point architecture in accordance with the described embodiment.
FIG. 20 is a diagram that illustrates one aspect of theFIG. 17 architecture.
DETAILED DESCRIPTION
Overview
The methods and systems described just below provide a mechanism by which functionality can be added dynamically to an application program or software platform. Functionalities or “extensions” as they will be referred to, can be advantageously added via a network such as the Internet. Extensions, that can implement new features or add to existing features, can be added using only a network address, such as a URL, as a basis for extension installation. That is, all of the files that comprise an extension can be maintained on the network and accessed via one or more network sites.
Extensions can be described in a variety of ways. One way utilizes a hierarchical tag-based language which facilitates handling and use of the various extensions. In one particular implementation, a software platform is provided that can incorporate various functionalities. The software platform and the inventive architecture described below enable third and fourth party developers to develop extensions for the platform that can be easily and seamlessly incorporated into the platform without having any knowledge of (or relationship with) a hosting service. A third party developer is a developer who develops an extension for the platform. A fourth party developer might be a developer who develops an extension to a third party developer's extension. Thus, the incorporation of third and fourth party extensions is essentially a transparent process, as far as developers are concerned.
Consider for example,FIG. 1 which shows a user'scomputer100 and several so-calledextension sources102,104, and106. The extension sources can comprise any entity from which a software extension can be obtained via a network. In an exemplary implementation, the network can comprise the Internet, although other networks (e.g. LANs and WANs) can certainly be utilized. Extension sources can include, without limitation, business entities such as retail stores that might maintain a network site. In one implementation, a user can execute software on their computer that provides an application program or software platform. In this document, the terms “application program” and “software platform” will be used interchangeably. Each of the different extension sources102-106 can provide software extensions that can plug into the software platform that is executing on the user's machine. These extensions are deliverable via a network such as the Internet, and assist in providing applications that can be executed on the user's machine. In the described embodiment, the extensions are logically described in XML which is in line with emerging industry standards. Additionally, the use of XML assists in the future discoverability of extensions by promoting XML DOM properties on the Internet. It will be appreciated, however, that any suitable format can be used for describing the extensions, e.g. a binary description could be used.
Extensions can be delivered from any number of different extension sources. The inventive methods and systems provide a streamlined and organized way to handle the provided extensions. The use of XML advantageously enables efficient handling of extensions from multiple different extension sources, without unduly taxing the software components that utilize specific portions of an extension or extensions.
In one particular implementation, the software platform on the user's machine provides various different integrated functionalities that enable a user to accomplish different document-centric tasks. An exemplary system is described in the U.S. patent application entitled “Single Window Navigation Methods and Systems”, incorporated by reference above.
Exemplary Computer Environment
The embodiment described just below can be employed in connection with various computer systems. A computer system, for purposes of this document, can be considered as any computing device that includes some type of processor, i.e. a microprocessor, and some type of operating system. Thus, a computer system can be construed to include, without limitation, traditional desktop computers, more powerful servers, various hand-held devices such as cell phones, pocket-held computer devices and the like.
FIG. 2 shows but one exemplary computer system that can be used to implement the embodiments described herein.Computer130 includes one or more processors orprocessing units132, asystem memory134, and abus136 that couples various system components including thesystem memory134 toprocessors132. Thebus136 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Thesystem memory134 includes read only memory (ROM)138 and random access memory (RAM)140. A basic input/output system (BIOS)142, containing the basic routines that help to transfer information between elements withincomputer130, such as during start-up, is stored inROM138.
Computer130 further includes ahard disk drive144 for reading from and writing to a hard disk (not shown), amagnetic disk drive146 for reading from and writing to a removablemagnetic disk148, and anoptical disk drive150 for reading from or writing to a removableoptical disk152 such as a CD ROM or other optical media. Thehard disk drive144,magnetic disk drive146, andoptical disk drive150 are connected to thebus136 by anSCSI interface154 or some other appropriate interface. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data forcomputer130. Although the exemplary environment described herein employs a hard disk, a removablemagnetic disk148 and a removableoptical disk152, it should be appreciated by those skilled in the art that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on thehard disk144,magnetic disk148,optical disk152,ROM138, orRAM140, including anoperating system158, one ormore application programs160,other program modules162, andprogram data164. A user may enter commands and information intocomputer130 through input devices such as akeyboard166 and apointing device168. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to theprocessing unit132 through aninterface170 that is coupled to thebus136. Amonitor172 or other type of display device is also connected to thebus136 via an interface, such as avideo adapter174. In addition to the monitor, personal computers typically include other peripheral output devices (not shown) such as speakers and printers.
Computer130 commonly operates in a networked environment using logical connections to one or more remote computers, such as aremote computer176. Theremote computer176 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative tocomputer130, although only amemory storage device178 has been illustrated inFIG. 2. The logical connections depicted inFIG. 2 include a local area network (LAN)180 and a wide area network (WAN)182. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
When used in a LAN networking environment,computer130 is connected to thelocal network180 through a network interface oradapter184. When used in a WAN networking environment,computer130 typically includes amodem186 or other means for establishing communications over thewide area network182, such as the Internet. Themodem186, which may be internal or external, is connected to thebus136 via aserial port interface156. In a networked environment, program modules depicted relative to thepersonal computer130, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Generally, the data processors ofcomputer130 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory. The invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described below.
For purposes of illustration, programs and other executable program components such as the operating system are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computer, and are executed by the data processor(s) of the computer.
Extensions
An “extension”, as used in this document, will be considered to include, without limitation, software functionality and content that can be added to an application program or software platform. These additions typically provide some type of functionality that the application program may not have had before the extension was incorporated, or alter the behavior of at least one existing feature. The extension is incorporated or integrated directly into the application program in a way that changes, to some degree, the manner in which the application program behaves or operates. Extensions provide dynamically added content and can provide applications (such as an email application), plug-ins to extend existing applications (like a fax plug-in to an email application), or simply web pages, to name just a few.
In the described embodiment, extensions are described using XML, an industry-standard, text-based markup language. XML greatly facilitates the extensibility of software content. Specifically, various extensions can be authored by third parties and described in XML in a manner that enables the extensions to be readily integrated into application programs. It should be appreciated, however, the XML constitutes but one exemplary way of describing and using the extensions. Other ways can, of course, be used.
Exemplary Extension Organization
In the described embodiment, extensions are organized in three separate but related portions: an Extension Definition File (EDF), a Package Manifest (PKG), and the code, components, or “bits” that make up or define the extension. An EDF can be, but need not be associated with a URL (Universal Resource Locator) that provides a way for a client to access the EDF. By convention and choice, the PKG file is located at the same URL as the EDF. It will be appreciated that the described EDFs and PKG are each not required for the other to be used. It just so happens that, in the example that is given is this document, the two are employed together. To that end, each of these features can be separately and independently employed.
EDFs describe logical attachments to an application program or software platform, while PKGs specify the physical files and resources that are used in an extension. There can be a one to one correspondence between EDFs and PKGs.
FIG. 3 shows anexemplary organization300 that includes anEDF302 and a corresponding package manifest (PKG)304. In the illustrated example, theEDF302 uses XML to describe the logical attachments or extensions to an application program. The correspondingPKG304 specifies the physical files and resources that are associated with a particular extension. Exemplary file types are shown to the right ofPKG304 and include, without limitation, HTM, GIF, UDO, XML, DLL, and various other types of files.
Extension Definition File (EDF)
In the described example, an EDF is an XML file that logically describes an extension. For example, the EDF can describe HTML that makes up a user interface (UI), the objects that contain code for implementing various functions, and the like. The EDF can also contain all or part of the functionality that comprises an extension. For instance, the HTML that describes a toolbar could be incorporated directly into an EDF file, and a toolbar attachment manager could read it from the EDF file, instead of from a URL. The information contained in the EDF is processed and (together with the information contained in the PKG), the appropriate files are automatically installed on a user's computer. This is done unobtrusively without manipulating the computer's persisted settings, as might be found in the user's system registry.
An EDF, implemented in XML, contains various tags that are associated with various extensions. The various tags can correspond to:
    • User interface elements
    • Behaviors/Components/Objects
    • Store Elements
    • User-defined objects
    • Or anything else that represents a point of extensibility in the application or platform
EDFs advantageously have an “open schema” which means that third party developers can extend the extension mechanism and include their own extensions by creating their own tags. Additionally, extensions can themselves be extended by other developers. EDFs can also have one or more predefined tags. Exemplary predefined XML tags for user interface elements can include tags for feature types such as: tool bars, accelerators, menu items, and themes. These feature types are utilized in the single navigable window application incorporated by reference above and defined in the table immediately below:
TABLE 1
Feature TypeDefinition
Tool BarsHorizontal command containers above the document
area.
AcceleratorsKeyboard shortcuts for commands
Menu ItemsPop-up or drop-down menu choices that third parties can
add to well-known, named menu attachments in the
platform
ThemesA data-driven way to provide overrides for well-known
resources of the platform, such as default buttons or
default style sheet
Exemplary predefined XML tags for behaviors/components/objects include tags for Services. These feature types are utilized in the single navigable window application incorporated by reference above and defined in the table immediately below:
TABLE 2
Feature TypeDefinition
ServicesServices are objects that extend existing objects (such as
the application, window, or document) in the application
or platform's Object Model. For example, editing
functions use Object Model Attachments attached to the
window or document that maintain document context
and editing state per-window. These can also include
Object Model Attachments attached to the application
(such as a spellchecker dictionary object)
Exemplary predefined XML tags for store elements include tags for content classes and offline data sources. These feature types are utilized in the single navigable window application incorporated by reference above and defined in the table immediately below:
TABLE 3
Feature TypeDefinition
Content ClassesAllow extension writers to define new types of XML
documents with new schemas.
Offline DataAllow for extension writers to define store replication
Sourcesinstructions in an EDF.
EDF Schema
In the described embodiment, the EDFs have a particular XML schema that is utilized. The schema comprises collections of XML tags that are arranged in a hierarchical organization to facilitate information dissemination to software components that need certain extensions. In the described embodiment, the outer (encompassing tag) for EDFs is an “extension” tag.
FIG. 4 shows an exemplary extension tag. “extension” tags can include one or more of the following attributes, all of which are optional:
TABLE 4
AttributeDefinition
urnID for the extension. It allows extension writers to specify
relative locations for content in EDFs without using relative
paths or fixed URLs. It also allows hosting administrators
to move around extensions on servers without breaking
any links.
nameName that can be used in a status bar or message display
versionVendor-determined version number for the extension.
lastUpdateDate/time that the EDF was last modified.
descriptionBrief description of the extension.
Within the “extension” outer tag are one or more child tags, also referred to as “top level tags”. These top level tags are each associated with a feature type that can be added by a particular extension. Exemplary feature types are discussed in connection with Tables 1-3 above. Underneath each top level tag there can be one or more child tags that are individually associated with a particular feature of the feature type that is to be added by a particular extension.
FIG. 5 shows an exemplary XML schema organization in accordance with this embodiment. For each top level tag in an EDF, there is an associated attachment manager which is a software component that receives data associated with the tag so that the data can be used to incorporate the extension into the platform or application program. Different attachment managers may interpret the data from the tag in different ways to provide different types of extensibility, so different top level tags will contain different types of data in different structures. This will become more evident in the “Architecture” section below. Note that the “edf:” XML namespace qualifier enables support of an open schema where extensions can provide their own tags and corresponding attachment managers. Tags within the edf namespace are used by built-in attachment managers in the application or software platform. Tags in other namespaces are used by third-parties to provide additional points of extensibility.
Package Manifest (PKG File)
Package Manifest Definition
In the described embodiment, a package manifest (PKG file) comprises a list of files that are utilized in a package. The list is advantageously compressed somewhat and digitally signed. Each package manifest can contain a list of one or more files each of which can include an associated hash, as well as download directives that control caching of the files. Once an extension is authored, a software tool can be used to generate the package manifest.
In addition, the package manifest can specify several other pieces of information:
    • File Group
All files in an extension can be labeled according to a number of predefined file groups. The file group of a particular file determines when the particular file gets downloaded, where it is stored on the client, and how it gets packaged. In the described embodiment, four predefined file groups are provided and are listed and described in the table immediately below:
Where
Whenstored on
Group namedownloadedthe clientPackagingContent
RequiredDownloaded before anyNetDocsAll requiredDLLs included so that
other files in thepackagefiles in ana user will not have to
extension.cacheextension arewait for a prolonged
packagedperiod of time before
together as aclicking on a UI
CAB* file.element
OfflineOffline files start gettingNetDocsFile are sentBulk of the UI files.
downloaded as soon aspackagedown
Required are down.cacheindividually.
Providing the user stays
on line long enough,
these files will all get
downloaded and will
later be available for
offline use.
On demandOnly downloaded whenNetDocsFiles are sentTo avoid using up disk
they are requested forpackagedownspace on the client,
the first time.cacheindividually.advanced features can
be put in this category.
Online onlyDownloaded onWinInetFiles are sentContent that is not to
demand. Content isCachedownbe provided offline.
only available when theindividuallyExamples include help
user is online.pages and other
content that can
consume a large
amount of disk space.
*CAB stands for the CABinet technology that Internet Explorer uses to package bits for download. CAB files average from 2 to 3:1 compression, and are optimized for quick expansion. CAB files have the added security benefit that they are easily signed.
    • File Download Priority
Files in each group are listed according to the order in which they should be downloaded. This download order is implicit in the ordering of the files in the package manifest, an example of which is shown inFIG. 6.
    • Hash Value for Security/Versioning
Individual files in the package manifest can have an associated hash value. Each hash value is generated by running the file through an encryption algorithm. An exemplary encryption algorithm is Microsoft's CryptoAPI. In the illustrated example, each file can be listed with a base 64-encoded hash value, so that the file can be validated once the content arrives at the client. Specifically the package manifest is sent to the client in a secure manner (i.e. it is digitally signed). The package manifest contains the hash values for individual files. When the individual files are received by the client, each of the files can be run through the same Crypto API that was used to provide the hash values in the package manifest. If the hash values for a particular file compare favorably, then the file has not been altered and is secure.
When a file is updated, hash values can serve a useful purpose in identifying files that have not been changed between different versions of an extension. ConsiderFIG. 7, for example. There, anold directory700 in a client package cache contains package A which include two files—file1 with hash=x, and file2 with hash=y. Assume that this package is associated with an older version of an extension. When an updated version is produced, its package manifest is delivered to the client. The updated extension version is represented on a source directory of a code orweb server704. The package manifest includes the hash values for all of the files in the new extension version. A newclient destination directory702 is defined for all of the files of the new extension. If any of the hash values for files in the new extension are the same as the hash values of the files in theold directory700, then those files can be copied directly from theold directory700 to thenew destination directory702. In this example, file1's hash value is the same as the hash value forfile1 on thesource directory704, so it can be copied into thenew destination directory702.File2's hash value, however is different from the hash value forfile2 on the source directory, so it is not copied from theold directory700. Rather, file2 is downloaded from the code server. Anew file3 has been added and is also downloaded from the code server. Hence, in this example, a new version of an extension resulted in a download of less than all of the files in the extension version. This is because hash values for each of the files in the old extension version were able to be compared with hash values of the files in the new extension version. Those hash values that are the same indicate files that have not changed as between versions.
Using hash values for versioning has two important advantages over traditional versioning schemes. First, the update process is automatic. That is, with an explicit version number, it is possible to forget to update the version number when shipping a new release of a file. Using hash values avoids this problem. Second, versioning does not rely on file types. Specifically, traditional versioning schemes commonly embed version information within files; however, not all files (e.g. GIF files) support embedded version information. In the present example, using hash values for versioning does not depend on whether a particular file type supports or does not support embedded version information. In addition, the version information can be stored separately from the file itself. Thus, access to actual file to determine whether it is current is not needed.
    • Total Storage Size of Package
The total storage size of a package is useful at download time to verify that the user has sufficient disk space.
    • ClassID's For the DLLs
Listing ClassIDs for each DLL is necessary to enable script writers to create classes by scripting against the OM. Additionally, this enables a determination of which package contains the code for a particular class.
    • DLL Load Dependencies
The reason for the dependencies section is to allow for legacy code that relies on being loaded by virtue of being in the search path of some other dll. In this case we have to make sure that the dependency dll is in the package cache directory before the dependant dll is loaded.FIG. 6 shows anexemplary package manifest600 that is defined in a hierarchical tag-based language. Advantageously, the tag-based language comprises XML which is desirably extensible and flexible. In this example, a number of tags are provided in a hierarchical arrangement. The “package” tag contains information about the size of the package. The “files” tag is a child of the “package” tag and contains information about the file groups that are contained in that particular package. The “file” tag is a child of the “group” tag and contains information about specific files that comprise the extension, i.e. file name and hash value. A “dependency” tag is provided as a child of the “file” tag and lists any dependencies as discussed above. A “COMClass” tag is also provided as a child of the “file” tag and contains IDs as mentioned above. The ordering of the file groups in this schema implicitly defines the download order of the files.
Package Delivery
To optimize package delivery, two different delivery schemes are utilized. First, a throttled download approach is utilized using known throttling download techniques. Here, considerations such as available bandwidth and media over which the extensions are being provided are considered.
Second, a background download approach is utilized. Background downloads enable a user to continue to work within an application program while content is downloaded. Foreground downloads are used when the user has explicitly requested a file/extension by clicking, for example, on an extension link, or requested an action, for example, by clicking on the “Compose” mail button, that requires download of files which are not available locally.
Along with background downloads, a queue management feature is provided. Specifically, when an extension must be installed or updated, a package manager, which is essentially a software component that manages packages, is provided with the following information:
    • URL for the package manifest information on a code server
    • URN for package destination directory in the package cache at the client
    • (Optional) URN for the old package directory (if one exists) in the package cache
From this information, the package manager creates a package object and adds the package object to a download queue. The download queue is designed for easy rearrangement of a package download order. Consider, for example,FIG. 8 which shows a portion of adownload queue800 that contains two package objects-package object802 (corresponding to package A) and package object804 (corresponding to package B). The package objects maintain a list of which files of a corresponding package have been downloaded or installed. In the present example, files 1 and 2 from package A have been installed whilefile 3 has not been installed; and files 1, 2, and 3 have not been installed from package B. The download queue can be rearranged based on what the user is doing. That is, based on the actions that a user takes, the priority of files that are to be downloaded can be changed. In this example, the package manager is designed to process the first uninstalled file in the package at the head of the download queue. If, however, the user starts to use a file in an extension that is different from the extension whose files are at the head of the download queue, the corresponding package for the file that the user has started to use can be moved to the head of the download queue. Because a file's package is specified by its URN, the file's package can be quickly identified and located in the download queue. For example, and consideringFIG. 8, if one of the files in package B is requested before the package manager has started to install package A's third file, then package B will be moved to the head of the download queue.
FIG. 9 is a flow diagram that describes steps in a download queue management method in accordance with the described example. The method can be implemented in any suitable hardware, software, firmware or combination thereof. In the present example, the method is implemented in software.
Step900 receives one or more requests for an extension. The requests can be generated in any suitable way. Step902 creates a package object that corresponds to each extension package that is to be downloaded. Step904 arranges the package objects in a download queue. Step906 then downloads files corresponding to the package objects in the download queue. This step can be implemented by, for example, starting at the head of the download queue and downloading files until all of the files for a package object have been downloaded, and then moving to the next package object. Step908 ascertains whether a user action requires a file that is not described in the current package object. If the user's action does not require a file not described by the current package object, then the method branches back to step906 and continues to download files associated with the current package object. If, on the other hand, the user's action requires a files that is not described in the current package object, then step910 moves the package object associated with the required file to the head of the download queue and begins to download files associated with this newly-repositioned package object. This step can be implemented by ascertaining which package object is associated with the required file by ascertaining the URN associated with the file. This URN specifies the file's package so that its package object can be quickly located and moved to the front of the download queue.
Package Creation
One of the innovative features of the described embodiment is its extensibility. That is, a software platform is provided in the form of an application program that can be extended by various third-party user-defined extensions. These extensions are delivered via the Web and are integrated directly into the software platform. In order to provide an organized delivery process, packages should be created in a uniform manner so that they can be predictably handled and integrated into the software platform.
In accordance with the described embodiment, each package should correspond to an end-user feature. For example, in the patent application incorporated by reference above, separate packages are provided for each of the email, contacts, document authoring, and planner functionalities. If packages that do not depend on one another share a dependency, then this shared dependency should become its own package. For example, there is no reason why the email and document authoring functionalities should depend on one another, yet both of them require the ability to publish content. By separating the publishing functionality into its own package, a certain amount of download order flexibility is preserved. Depending on what the user starts to work on, the files corresponding to the email functionality or the document authoring can be downloaded first.
FIG. 10 is a flow diagram that describes steps in a package creation method in accordance with the described example. The method can be implemented in any suitable hardware, software, firmware or combination thereof. Portions of the method might, however, be implemented manually.
Step1000 identifies end user features that are to be provided as extensions.Step1002 identifies any shared dependencies among the end user features.Step1004 creates individual packages for the end user features.Step1006 creates individual packages for any shared dependencies among the end user features.
Automated Package Manifest Creation Tool
Advantageously, and in accordance with one implementation, an automated package manifest tool is provided and takes various input parameters and automatically creates a package manifest. The tool can be available to third parties to assist them in creating a package manifest.
FIG. 11 shows an exemplary packagemanifest creation tool1100 that is desirably implemented in software. In this specific example, the tool can take the following input parameters (some of which are optional):
    • Extension directory
    • File group information and DLL load dependencies (Optional)
    • File usage statistics from scenario runs (Optional)
The extension directory input parameter specifies the directory containing all of the files that will be described by the package manifest. If this is the only parameter, thentool1100 will generate a manifest in which the EDF and DLLs in the directory are listed in the “Required” set, and all other content is “Offline”.
The file group information and load dependencies parameter is optional. If an extension author has an idea of the categories in which his or her files should be placed, the categories should be specified here. For example, the author of the template manifest shown below knows that he wants his error handling GIF to be included in the package's required set. His choices here will always be respected in the final manifest. Additionally, if the extension author knows of any DLL load dependencies, these should be specified here as well.
<?xml version=”1.0”?>
<Package>
<Files>
<Group Name= “required”>
<File Name = “bar.dll”/>
<File Name = “foo.dll”/>
<Dependencies>
<File Name= “bar.dll”/>
</Dependencies>
</File>
<File Name= “myextension.edf”/>
<File Name= “errorhandling.gif”>
</Group> ...
</Files>
</Package>
The file usage statistics from scenario runs parameter is an optional parameter. This parameter enables the file download priority to be determined based on scenario runs. A scenario is a script of tasks that the average user typically follows when using a product during a particular portion of product use. For example, one scenario might pertain to the tasks involved in sending an email message (i.e. click “new mail” button, type in “TO” well, type is “Subject” well, etc.). In the described embodiment, file usage statistics from scenario runs are collected from running IIS logs on various scenarios. The different scenarios are directed to ensuring, with some degree of probabilistic support, that the file download order reflects, in some way, the files that will likely be used by the user first.
It will be appreciated that the file usage statistics can be provided dynamically by building a knowledge base that describes the actual tasks that people typically accomplish. The information that is maintained in the knowledge base can then be used to generate and adapt download scenarios that actually conform to patterns that are established across a user base.
If extension writers want to pass the packagemanifest creation tool1100 this information, they need to specify the log directory, as well as the start and end dates of the section of the log that the tool should analyze. For third parties, the download priority order within a group will be the order in which the group's files were requested in the logs across all scenarios.
In one implementation, the approach is somewhat more sophisticated. Additional information (in addition to the scripted steps) is stored in the IIS logs and includes scenario priority and checkpoints. The scenario priority is a priority that is assigned for each scenario. So, for example, if one scenario is ten times more important than another scenario, this information can be maintained. The priority (e.g. a rating from between 1 to 100, with 100 being the highest priority), should be equal to a best guess as to the percentage of the time that users will step through the scenario, assuming they use the extension at all. Checkpoints provide a way to separate one scenario from another. For example, checkpoints designated as “Offline” and “Shutdown” can be automatically added at the beginning and end of the scenarios, respectively, so there can be a differentiation between scenario runs in the log. Additionally, script authors can optionally use checkpoints mid-scenario to indicate a change in group priority, e.g. part of a scenario script could be labeled as an “On demand” feature and another part could be labeled as “Offline”.
FIG. 12 is a flow diagram that describes steps in a package manifest creation method in accordance with the described example. The method can be implemented in any suitable hardware, software, firmware or combination thereof. In the described example, various steps of the method are implemented by a manifest creation tool that is implemented in software.
Step1200 provides a package manifest creation tool. This tool can be a software tool that resides on an extension author's machine.Step1202 receives information pertaining to an extension directory as a first input parameter. Step determines whether there is any file group information or load dependency information provided by the extension author. If there is,step1206 receives the information as an input parameter.Step1208 determines whether there is any file usage statistic information. Such information can be provided, in one embodiment, through the use of scenario runs as described above. If such information is provided, then step1210 receives the information as an input parameter.Step1212 then uses all of the information provided as input parameters to generate a manifest automatically.
Exemplary File Ordering Heuristics Based on File Usage Statistics
FIG. 13 is a flow diagram that describes but one exemplary file ordering or sorting heuristic in accordance with the described embodiment. It is to be understood that this specific example constitutes but one way of ordering files for download. Accordingly, other heuristics can be used without departing from the spirit and scope of the claimed subject matter.
Step1300 sorts files by file group. Recall that in the illustrated example above, files can be grouped in one of four possible groups: Required, Offline, On Demand and Online Only. A file's group is determined first by the manifest, and, if it does not provide any group information, then by the highest priority group that it uses, according to checkpoint information in the log. Files in the “Required” set should not be considered because their order is already known. If no group information is included about a file, then an assumption is made that the EDF and all DLLs are “Required” files and all other files in the directory are “Offline”.
Consider, for example, the following initial file usage information for three different scenarios:
    • Scenario 1 file usage: 1) FileA.gif, 2)FileB.xml, 3)FileE.dll
    • Scenario 2 file usage: 1) FileC.xml, 2) FileA.gif
    • Scenario 3 file usage: 1)File D.js, 2)FileA.gif
    • Scenario 1=priority 80
    • Scenario 2=priority 80
    • Scenario 3=priority 40
In this example, there are three scenarios that have files associated with them. Each of the scenarios has a priority with which it is associated. The files are first sorted by group (step1300). Recall that in this ordering heuristic, DLLs are “Required” and all other files are considered “Offline”. This provides the following sorted files:
Required files
FileE
Offline files
FileA, FileB, FileC, File D
Step1302 sorts files based on scenario priorities (from highest to lowest). Higher priority files are ordered so that they are downloaded first. This step provides the following sorted files:
Required files
FileE
Offline files
Priority 80 group: files used byScenarios 1 & 2=File A, File B, and File C
Priority 40 group: files used by Scenario 3 (that are not already listed)=File D.
Step1304 then sorts the files by file usage order within a scenario run. For each priority grouping with more than one file, the files are sorted according to the average order in which they were downloaded within scenarios of their labeled priority. Scenarios with a smaller average usage order will be downloaded earlier. Ties are broken based on the order in which the scenarios appear in the input file. As an example, consider the following:
File A: average order=(Scenario 1 order+Scenario 2 order)/2=(1+2)/2=1.5.
File B: average order=(Scenario 1 order)/1=(2)/1=2.
File C: average order=(Scenario 2 order)/1=(1)/1=1.
Here, file A got used first byscenario 1 and second byscenario 2 for an average of 1.5, and so one. File C has the smallest order number so, of the Offline files, it is sent first. The final file order is shown below:
Required files
FileE
Offline files
FileC, FileA, FileB, File D
Code, Components and “Bits”
The following files and resources can be, but need not be included with an extension. This list is not exclusive, as other resources can certainly be incorporated into an extension.
    • Customized UI and keyboard shortcuts
    • Components and Behaviors
    • XML browsing and editing components (including XSL and business logic objects)
    • Static pages or other resources
    • Third-party defined custom content
Users install extensions by navigating to a network site for the extension. In an Internet implementation, the user navigates to an appropriate URL for the extension. Hosting administrators can also “push” extensions so that users can automatically receive them by adding an entry into the appropriate users' “Preference” settings.
Platform Set Up and Extension Installation
FIG. 14 is a flow diagram that describes exemplary steps in a set up and extension installation process in accordance with the described embodiment. This example describes an Internet-based example. In the illustrated example, various extensions are maintained at or accessible through various Internet sites. The extensions are deliverable via the Internet to a client. It will be appreciated that the illustrated division of computers may not necessarily exist at all. For example, all of the functionality embodied by the computers may reside on one machine, or the extension may be local, or the platform and the extensions may be on the same machine, etc.
The flow diagram, in this example, is illustrated in connection with three separate “zones”, one of which represents a client, one of which represents a “platform” Internet server, and one of which represents a third party Internet server. The acts that are described in connection with the different zones are performed, in this example, by the entities assigned to the zone. In some configurations, one or more of these zones may overlap. For instance, the platform server may be the same device as the extension server.
Step1400 navigates a user to a particular Internet site that is associated with the software platform that is to be utilized as the foundation for extension installation described below. Instep1402, the user clicks an “install” button that sends a message to the software platform server that indicates that a user wishes to install the software platform. This step can be an optional step.Steps1404 and1405 then download the software associated with the software platform to the client. In the illustrated example,step1404 downloads the package file for the single navigable window application and based on that file's contents step1405 downloads other components and files to the user's computer.Step1406 installs the software code on the client machine and can create local directories for the application cache, a local store and preferences. It will be appreciated, however, that local directories or preferences are not necessarily needed.Step1408 launches the software platform.
The steps described immediately above constitute steps associated with an initial set up in which the software code for the single navigable window application is delivered to and installed on a client machine. The steps described immediately below are associated with extension installation.
Step1410 uses a link that is associated with an extension to access the extension. This step can be implemented by a user navigating their browser to a particular Internet site through which one or more extensions can be accessed. Alternately, a reference to the link can be placed in the user's preferences or the preferences of a computing group with which the user is associated (e.g. the system administrator can place a reference in a group's preferences). The link can advantageously be associated with a third party Internet server or Internet site.Step1412 downloads extension files according to the PKG associated with an EDF. The files are delivered to the client and step1414 places the extension files in a local store as specified by the PKG specification. At this point, an extension is installed and the user can utilize the functionality provided by the extension.Step1416 determines whether extension updates are available. This can be done by periodically polling an extension catalog (discussed in an “Extension Catalog” section below) to ascertain whether there are any updates to various extensions. Alternately, notifications might be automatically sent to the client so that the client is aware of updates or any other method might be used to determine if updates are available. If there are updates available, step1418 branches to step1412 which downloads the extension files associated with the update and installs them on the client.
Developing Extensions
Developing extensions for the software platform is a fairly straight-forward process. A developer develops the extension content using a tool such as Notepad or other tools such as Visual Studio. The extension is then described in an EDF and PKG and the PKG is digitally-signed and then optionally compressed. The extension can then be hosted on a particular network server.
FIG. 15 is a flow diagram that describes steps in an extension development method in accordance with the described embodiment. One or more of these steps can be performed by a software developer or organization that creates a particular extension. Some of the steps are implemented in software.Step1500 develops an extension. Any suitable tools can be used to develop the extension.Step1502 then creates an extension definition file (EDF) for the extension. The EDF, in this example, is defined using XML as discussed above. Other formats can, of course, be used to describe the EDF.Step1504 creates a package manifest (PKG) for the extension. The PKG, in this example, is defined using XML as discussed above.Step1506 then hosts the EDF and PKG on a network server such as an Internet server. Additionally, the associated extension files that are described in the PKG can also be hosted by the network or Internet server (step1508). Having accomplished the above, users can now navigate to an EDF directly (using, for example, the associated URL or some other network address), which then installs the extension by caching any required files locally and placing a reference to the extension in the user's preferences.
Specifically,step1510 delivers the EDF and PKG files to a client. This step can be implemented by a user navigating to a particular Internet site where the appropriate files are hosted and then downloading the files.Step1512 delivers the extension files that are associated with the EDF and PKG files to the client, whereupon they can be installed and used.
Extension Catalog
One optimization, discussed briefly in connection withFIG. 14, is an extension or EDF catalog which provides an additional level of indirection to the EDF. An EDF catalog allows organizations to group extensions and provides a single place to determine when an extension changes. The desired extension can be automatically selected from the catalog by the software platform based upon the user's settings. The catalog can be queried to determine which extension is most appropriate for the user.
In the described embodiment, a catalog is an XML file that contains mappings from extension URNs to one or more package URNs based upon language, version or other attributes. Catalogs can, however, be defined using any suitable format. Catalogs can provide:
    • The ability for a hosting organization to update version information for one or more hosted extensions in a single place
    • Optional automatic indirection to correct version based upon user's settings. For instance, a catalog may list several versions of an extension for different languages. The catalog file can be processed to find the version of the extension that matches the user's language settings.
    • Optional automatic upgrade to new versions of extensions as they become available
Like EDFs, catalogs can be compressed and digitally signed to prevent tampering. By subscribing to a catalog in order to detect changes for one or more hosted extensions, the number of server pings required from the client (or notifications to the client) in order to discover extension updates can be reduced.
FIG. 16 shows an exemplary XML catalog structure. Entries in the catalog can be structured as follows:
AttributeTypeRequiredDescription
extensionURNuriYIdentifier for an extension.
There may be more than one
entry for a given extension
urn in a single catalog
representing different
versions, languages, etc.
nameStringNFriendly name for an
extension.
packageURNuriYRequired urn for the package.
Package urn corresponds to a
discrete set of bits. It is
different from the extension
urn: For each user, the
extension urn (name)
corresponds to a specific set
of files based upon language
preferences and version. This
means that, for shared
machines, different users may
have different extensionURN
to packageURN maps based
upon their preferences.
packageURLuriYurl of the digitally signed
compressed file containing
the PKG file is required.
languageStringNLanguage is an optional
language specifier.
versionStringNVersion is an optional version
specifier
defaultLanguageStringNDefaultLanguage is an
optional attribute specifying
the default language package.
For a given version of an
extension, there should be
only one entry with
DefaultLanguage attribute.
defaultVersionStringNDefaultVersion is an optional
attribute specifying default
version for an extension. For
a given extension urn and
language attribute there
should be only one entry with
DefaultVersion attribute.
In this particular example:
    • The default language of the netdocs-planner is the English version.
    • The default English version is 1.1. The default French version is 1.0. If there is no version available in the user's specified language on the platform, they will get the English version 1.1 by default.
    • The English version of netdocs-planner has been upgraded from V1 to V1.1.
    • There is also a French version. The extension URN is the same as the English version. There is no 1.1 release for French yet, so 1.0 is the current version for French speaking users.
    • A query against the catalog returns only the rows where language matches the user's language preferences. The query would also return all rows where language is the user's language or default=‘yes’ and throw out duplicates for the same name.
Architecture
In the described embodiment, one of the aspects that provide desirable utility is the extensibility of the software platform. That is, third and fourth party developers are free to develop their own extensions which can then be used within the framework of the software platform. The extensions are integrated directly into the software so that the platform's functionality is modified by the extensions. Recall that in order to provide an extension, the developer simply authors the extension, describes their extension in an EDF and PKG, and then hosts the EDF, PKG, and associated files on a network server.
The EDF, as pointed out above, can be defined in an XML schema that includes a root node (i.e. the “extension” tag) and one or more child nodes. In this particular example, the child nodes generally correspond to the individual extension feature types that are desired for incorporation into the software platform. For example, recall that Tables 1-3 above describe various exemplary predefined feature types that can be added through an extension using the predefined XML schema.
Consider now a developer who wants to add two menus and a toolbar to the software platform. The menus and toolbar might be associated with a retail store that maintains a Web site for its customers. The retail store might want a customer who visits its Web site to be presented with a UI that is unique to the retail store and provides services that are specifically tailored to the store. To do this, the developer develops two different menus, one of which might be associated with displaying the most recent specials, and other of which might be associated with providing a search mechanism through which the user can search for specific products. The toolbar might contain specific buttons that are unique to the retail store. A simplified EDF called “retail.edf” for the retail store's extension is shown directly below:
<edf:extension name= “retail extension” urn= “extension.retail.com”>
<edf:menus>
<edf:menuurl= “url1.htm”/>
<edf:menuurl= “url2.htm”/>
</edf:menus>
<edf:toolbars>
<edf:toolbarurl= “url3.htm”/>
</edf:toolbars>
</edf:/extension>
Here, the outer “extension” tag designates this XML file as an extension. The inner “menus” and “toolbars” tags are top level tags that designate that the information between these tags pertains respectively to menus and toolbars that correspond to the extensions that the developer has added. The boldface “menu” and “toolbar” tags describe data pertaining to the actual extension and contain a URL that is associated with each extension as described above. The EDF above logically describes the extensions that are being provided as including two menus and one tool bar.
Consider also that the above EDF can constitute but one of many EDFs that are loaded into the system. Each EDF can contain one or more top level tags, each of which is associated with one or more specific extensions that are to be added to the software platform.
FIG. 17 is a block diagram of an exemplary software architecture that is configured to process multiple different EDFs so that the software components that are responsible for incorporating each particular extension into the software platform receive the appropriate information that is specific to their extension. This example is specific to the XML implementation that is discussed throughout this document. It is to be understood that other architectures, similar in functionality to the one discussed below, can be used in other implementations without departing from the spirit and scope of the claimed subject matter.
Utility objects, herein referred to as attachment points, are used to process the information from the multiple EDFs. An attachment point is simply a collection of objects that fire events to registered listeners as objects are added to or removed from the collection. Many types of attachment points can be created, but all take data from a source (often another attachment point), process it (either dynamically or statically), and expose the results of their processing. Some of the simplest attachment points include:
    • An XML attachment point, which loads an XML file and exposes the top-level nodes of the XML as objects in its collection.
    • A filter attachment point, that connects to another attachment point and exposes only those objects from it that meet some criteria.
    • A merge attachment point, that connects to one or more other attachment points and exposes all of their objects as one, merged collection of objects.
In the illustrated example, the architecture includes a collection of one or more attachment points, including a funnel structure known as anEDFHub1700, anattachment point manager1702, andmultiple attachment managers1704. TheEDFHub1700 receives all of the EDFs and merges them together and exposes them as a single list. Other individual attachment points provide mechanisms that manipulate (including filter, merge and expand) the single list that is exposed by theEDFHub1700. Whenever a new extension or EDF is added to or removed from the EDFHub, the various attachment points will see to it that the appropriate attachment manager(s) is notified. This is done by firing events to the appropriate attachment managers. Theattachment point manager1702 creates, destroys and manages the various attachment points in the system and allows easy reuse of identical attachment points.
For each top level tag (i.e. “menus” and “toolbars” tags), there is acorresponding attachment manager1704 that uses data provided by the attachment points to incorporate a particular type of feature within the software platform. Each attachment manager requests a set of attachment points from theattachment point manager1702. These manipulate the data exposed by theEDFHub1700. In the illustrated example, the attachment points can be requested as a predicate chain that the attachment point manager uses to create and build a set of attachment points that operate on the data exposed by theEDFHub1700.
FIG. 18 is a flow diagram that describes steps in a method in accordance with the described embodiment. The method is implemented in software and, in this example, by the software components ofFIG. 17.
Step1800 receives multiple EDFs. These files can be received in any suitable way. For example, a user can specify in their preferences particular extensions that they desire to be loaded when they are online. Alternately, a user might navigate using a link to a particular Internet site that recognizes that the user is executing a software platform that is configured to dynamically add the extensions. The EDFs, in this example, are funneled into theEDFHub1700 which uses attachment points to combine the EDFs (step1802). In this example, the EDFs are defined as XML files and the nodes are combined into one single XML list.Step1804 exposes the combined EDFs. In this particular example, the EDFs are combined into a single XML list that is exposed to other various attachment points which then further manipulate that data (step1806). One goal of the attachment points is to avoid having theattachment managers1704 re-query the whole system every time an extension gets added or removed from the system. Thus, if an extension gets added or removed, the attachment points ensure that only theappropriate attachment manager1704 is notified of the specific additions or deletions of the extension. For example, if an EDF indicates the addition of a menu, then only the attachment manager associated with menus is notified. Accordingly,step1808 notifies the appropriate attachment manager of any new data that matches the attachment managers requirements.
Attachment Points and the Attachment Point Manager
Attachment points are objects that expose collections of ordered objects and fire notifications when new objects are inserted or deleted. In the exemplary system, the objects are XML nodes, but they could be any type of object. Although there are many types of attachment points, they all follow a similar process:
    • 1) Initially attach to one or more data sources. These could be files or, commonly, other attachment points.
    • 2) Process the data based on some logic. Usually the logic is quite simple and could involve something like filtering the objects based on some criteria.
    • 3) Expose the results of theprocessing step 2 in a new collection of objects.
    • 4) Fire events to indicate how the exposed collection of objects changed (OnInserted(index, count) or OnRemoved(index, count).
    • 5) Optionally, continue to listen for changes in the data sources and repeat step 2-4 when changes occur.
Alone, each attachment point is quite simple, but when different types of attachment points are combined to form “chains”, where one attachment point processes data from a second attachment point, the processing can be quite powerful. This is especially true if the attachment points only process the changed data instep 2, since they only do a small amount of simple work at any one time. In the exemplary system, this incremental processing means that the whole system does not have to be re-queried when a new extension is installed or when an existing extension is removed. Additionally, each attachment manager in the exemplary system uses a specific chain of attachment points and so is only informed of changes that impact its area of extensibility.
The attachment point manager performs two important functions when building chains of attachment points. First, it allows the chains to be described as predicate strings. The attachment point manager interprets these strings and builds the required chain of attachment points. Second, it allows the reuse of identical attachment points, which makes the system more efficient. As the attachment point manager creates each chain of attachment points, it tracks which predicate string corresponds to which attachment point. If that predicate string is later requested again, it simply reuses the existing attachment point without creating a new one.
As an example, consider that the attachment manager associated with menus has requested the following predicate chain of attachment points that utilizes the retail.edf file above: (Note: this example does not assume the presence of an EDFHub attachment point).
    • Explode(Filter(“menus”, Explode (URL (“retail.edf”))))
This string represents all of the menus in the retail.edf file. The XML file located at retail.edf is loaded by the URL attachment point which exposes the root node of the XML file as the only object in its collection. The inner Explode attachment point uses the URL attachment point as its data source and exposes all of the children of the objects in that source collection. In this case, the children of the root node are the top level XML tags “menu” and “toolbars”. The Filter attachment point uses the Explode attachment point as its data source and filters the exposed objects looking only for the nodes that are “menus”. The outer Explode attachment point uses the Filter attachment point as its data source and exposes all of the children of the filtered menu nodes to provide a list containing the two menus that are added by the extension. Since this particular XML file contained menus that were identified by the attachment points associated with menu attachment manager, that attachment manager is then notified that two menus have been added by an extension.
This process is diagrammatically illustrated inFIG. 19 which shows attachment points1900,1902,1904, and1906. Each attachment point exposes a list of XML nodes.URL attachment point1900 takes an input (a URL to an XML file—e.g. retail.edj) and exposes a list of XML nodes. This list contains only the root node “<edf:extension>”. Explodeattachment point1902 takes as aninput attachment point1900 and exposes a list of XML nodes which are children of source XML nodes. In this example, the list of XML nodes exposed byattachment point1902 are the “<menus>” nodes and the “<toolbars>” nodes. Thefilter attachment point1904 takesattachment point1902 as an input and filters on “menus.” It then exposes an XML list having only “<menus>” nodes in it. The explodeattachment point1906 takesattachment point1904 as an input and exposes a list with the XML nodes that are contained in the “<menus>” nodes—here both of the “<menu>” nodes.
Consider additionally that the toolbar attachment manager would request a predicate chain of attachment points which would also use URL attachment point, an Explode attachment point and afilter attachment point1904 that filters on “toolbars”. Thus, the corresponding explodeattachment point1906 would expose an XML list containing only the “<toolbar>” node. But, the attachment point manager would detect the commonality of the URL attachment point and the inner Explode attachment point, so it would reuse the same attachment points it created for the menu attachment manager. The Filter attachment points used by the toolbar attachment manager and the menu attachment manager would use the same Explode attachment point as their data sources but would expose different collections of nodes, because they were filtering based on different criteria.
ConsiderFIG. 20 which incorporates anEDFHub attachment point2000. This attachment point receives all of the EDFs and, as discussed above, combines them into a single XML list. The EDFHub then exposes the root nodes of all of the EDFs. The explodeattachment point2002 then exposes an XML list that contains all of the top level nodes for all of the EDFs. As an example, there may be multiple EDFs that each contain top level menu nodes, toolbar nodes, accelerator nodes and the like. Explodeattachment point2002 exposes an XML list that contains all of these top level nodes for all of the EDFs.Filter attachment point2004 can then filter the XML list exposed by the explodeattachment point2002 in accordance with any suitable parameters (i.e. filter on menu nodes, tool bar nodes, accelerator nodes and the like). The final explodeattachment point2006 then exposes a list of the individual children nodes of the list exposed by thefilter attachment point2004. This list describes all of the specific features (of the particular type that were filtered) that have been added by all of the EDFs.
The table below lists a number of different attachment points that can be utilized in accordance with this described embodiment but many more can easily be created.
Attachment PointPurpose
URLLoads the URL and exposes the top
level XML node as a member of the
collection
ContextFor every member, it gets the
“expression” attribute and binds to it. If
the expression evaluates to true, then
the member is exposed.
EDFSame as the URL AP, but also exposes a
fabricated member with data to create
an APP based on the URL and URN
(which exists in the XML DOM).
MergeTakes zero or more Attachment Points
(of any type) and merges them together.
The order and continuity of the original
collections will be maintained.
FilterMonitors a single Attachment Point and
only exposes those nodes that match the
specified name. The order of the
original collection will be maintained.
DuplicateMonitors a single Attachment Point and
filters out any duplicates. A duplicate is
defined to be having the same URN
attribute. If no URN attribute is present
then the node is exposed. Order of the
original collection will be maintained.
ExplodeMonitors a single Attachment Point and
for every member exposes the children
of that member as its members. The
order of the original collection will be
maintained as well as the order of the
children within the nodes.
LinkMonitors a single Attachment Point and
for every member looks for a URL
attribute and creates a URL AP and
merges it into itself. If the optional
include Content is set to true, it will
merge the original collection in as well.
OrderMonitors a single Attachment Point.
For every member, it gets three
attributes: id, before and after. Based
on this information, it reorders the
members as specified. If no ordering
information is supplied, the order of the
original collection will be maintained.
EDFHubThis Attachment Point is the central
merge point that represents all the EDF
points.
CONCLUSION
The embodiments described above provide a platform solution that provides for customization and extensibility through a consistent and logical extensibility mechanism and object model that can be easily understood by third party developers. Internet-based downloads can be accomplished without a great deal of user intervention and without manipulating any user persisted settings. Extensions can be provided to a software platform or application program dynamically based upon the user's computing context.
Although the invention has been described in language specific to structural features and/or methodological steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of implementing the claimed invention.

Claims (17)

We claim:
1. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
multiple attachment points collectively arranged to filter data associated with files that describe software extensions, each attachment point including logic for filtering data;
an extension definition hub to:
receive the data associated with files that describe software extensions as multiple extension definition files;
combine the multiple extension definition files into a single list;
expose the single list for processing by the multiple attachment points; and
multiple extension managers each associated with one or more of said multiple attachment points and with a respective feature type that can be added to a software platform by software extensions and being configured to receive data from the associated one or more said multiple attachment points that pertains to a software extension having the respective feature type with which the extension manager is associated and to process the received data to add the software extension to the software platform.
2. A method comprising:
receiving data associated with files that describe software extensions as multiple extension definition files;
combining the multiple extension definition files into a single list;
exposing the single list for processing to install the software extensions in a software platform;
collectively arranging multiple attachment points to filter the exposed single list, wherein each said attachment point includes logic for filtering the exposed single list to obtain data that pertains to software extensions of a feature type with which the attachment point is associated; and
associating each of multiple extension managers with one of the multiple attachment points;
associating each of the multiple extension managers with a respective feature type that can be added to the software platform by the software extensions, wherein the extension managers are configured to receive data from the multiple attachment points that pertains to the feature type with which the extension manager is associated.
3. The method ofclaim 2, further comprising defining the attachment points as predicate chains.
4. The method ofclaim 2, further comprising filtering extensible markup language (XML) data with the attachment points.
5. The method ofclaim 4, wherein each feature type is associated with an XML tag.
6. The method ofclaim 4, wherein each feature type is associated with an XML tag, at least one said feature type comprising a user-defined feature type.
7. The method ofclaim 2, further comprising exposing collections of ordered nodes with each attachment point.
8. The method ofclaim 2, further comprising exposing collections of ordered XML nodes with each attachment point.
9. A computer-readable medium embodying computer-executable code that implements a software architecture, the architecture comprising:
a data structure configured to:
receive multiple different files that describe software extensions that can be added to a software platform;
expose the multiple different files to a filter structure comprising attachment points collectively arranged to filter data associated with the multiple different files, each attachment point including logic for filtering data; and
associate each of multiple extension managers with at least one of said attachment points, wherein each of the multiple extension managers is:
associated with a respective feature type that can be added to a software platform by software extensions, and
configured to receive data from the at least one associated said attachment point that pertains to the feature type with which the extension manager is associated.
10. A system for adding functionality to a software platform, the system comprising:
a processor;
memory; and
one or more modules stored in the memory and executable on the processor to provide the software platform, the one or more modules to further provide:
an extension definition file (EDF) hub receiving one or more EDFs and combining the one or more EDFs into a single list, each EDF describing a software extension that can be added to the software platform;
multiple extension managers managing addition of an associated extension to the software platform, wherein each extension manager is associated with a particular feature type to manage software extensions having the particular feature type;
one or more attachment points, each attachment point associated with one or more of the EDFs and with one or more of the extension managers, and notifying the associated one or more of the extension managers when an EDF having a particular feature type associated with the one or more of the extension managers is added to or removed from the list,
wherein, when an EDF is added to or removed from the list, said one or more of the extension managers that are notified responsively add to or remove from the software platform a said software extension that is described by the EDF.
11. A system as recited inclaim 10 wherein the one or more attachment points comprise an extensible markup language (XML) attachment point that exposes XML nodes.
12. A system as recited inclaim 10 wherein the one or more attachment points comprise a filter attachment point filtering objects from another attachment point.
13. A system as recited inclaim 10 wherein the one or more attachment points comprise a merge attachment point that exposes objects of one or more attachment points as one collection of objects.
14. A system as recited inclaim 10 wherein the one or more attachment points are arranged in a predicate chain.
15. A system as recited inclaim 10 wherein one or more of the EDFs contain at least part of the software included in the extension.
16. A system as recited inclaim 10 wherein one of the attachment managers reads a portion of the associated extension from the EDF and another portion of the associated extension from a resource identified by a uniform resource locator (URL) address.
17. A system as recited inclaim 10 further comprising at least one package manifest associated with each of the EDFs, each package manifest specifying one or more resources included in an extension.
US10/953,9332000-06-212004-09-29Architectures for and methods of providing network-based software extensionsExpired - Fee RelatedUS7392522B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US10/953,933US7392522B2 (en)2000-06-212004-09-29Architectures for and methods of providing network-based software extensions

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US09/599,812US6874143B1 (en)2000-06-212000-06-21Architectures for and methods of providing network-based software extensions
US10/953,933US7392522B2 (en)2000-06-212004-09-29Architectures for and methods of providing network-based software extensions

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US09/599,812ContinuationUS6874143B1 (en)2000-06-212000-06-21Architectures for and methods of providing network-based software extensions

Publications (2)

Publication NumberPublication Date
US20050044524A1 US20050044524A1 (en)2005-02-24
US7392522B2true US7392522B2 (en)2008-06-24

Family

ID=34193420

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US09/599,812Expired - LifetimeUS6874143B1 (en)2000-06-212000-06-21Architectures for and methods of providing network-based software extensions
US10/953,933Expired - Fee RelatedUS7392522B2 (en)2000-06-212004-09-29Architectures for and methods of providing network-based software extensions

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
US09/599,812Expired - LifetimeUS6874143B1 (en)2000-06-212000-06-21Architectures for and methods of providing network-based software extensions

Country Status (1)

CountryLink
US (2)US6874143B1 (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20040268344A1 (en)*2001-03-082004-12-30Sridhar ObilisettyCentrally managed and distributed applications
US20060048146A1 (en)*2004-08-242006-03-02Lg Electronics Inc.Forcibly downloading program in mobile communications terminal
US20070130197A1 (en)*2005-12-022007-06-07Guard Insurance GroupSystem and method to track the status, physical location, and logical location of workflow objects in a workflow cycle
US20070192339A1 (en)*2006-01-302007-08-16International Business Machines CorporationExtensible user interface framework for a componentized application environment
US20070261066A1 (en)*2006-04-212007-11-08Hiroyuki MiyamotoMethod and system for extension registry filtering
US20070277170A1 (en)*2006-05-252007-11-29International Business Machines CorporationMerger driven application installation
US20080127055A1 (en)*2006-09-072008-05-29Microsoft CorporationApplication proxy
US20080127053A1 (en)*2006-09-072008-05-29Microsoft CorporationControlling application features
US20080127054A1 (en)*2006-09-072008-05-29Microsoft CorporationConnecting with an application instance
US20090119661A1 (en)*2007-11-062009-05-07Bernoth Andrew JMethod and System for Providing a Filter for a Router
US20100037217A1 (en)*2008-08-072010-02-11International Business Machines CorporationComputer program product for evaluating the workloads of installation plans in quantity by building a pre-requisite relation knowledge-base
US7721281B1 (en)*2005-07-012010-05-18Cisco Technology, Inc.Methods and apparatus for securing local application execution
US20100257518A1 (en)*2009-04-022010-10-07International Business Machines CorporationAutomatically recommending an upgrade approach for a customizable software product
US20110173560A1 (en)*2003-03-282011-07-14Microsoft CorporationElectronic Form User Interfaces
US20120268463A1 (en)*2009-11-242012-10-25Ice Edge Business SolutionsSecurely sharing design renderings over a network
US20130080878A1 (en)*2007-10-262013-03-28International Business Machines CorporationSystem for Processing Mixed-Format Files
US20140173582A1 (en)*2006-10-032014-06-19Salesforce. Com, Inc.Methods and systems for upgrading and installing application packages to an application platform
US8892993B2 (en)2003-08-012014-11-18Microsoft CorporationTranslation file
US8918729B2 (en)2003-03-242014-12-23Microsoft CorporationDesigning electronic forms
US9189571B2 (en)2011-06-112015-11-17Ice Edge Business Solutions, Ltd.Automated re-use of structural components
US9210234B2 (en)2005-12-052015-12-08Microsoft Technology Licensing, LlcEnabling electronic documents for limited-capability computing devices
US20160034266A1 (en)*2012-03-272016-02-04Microsoft Technology Licensing, LlcDynamic plugin(s) for cloud application(s)
US9268760B2 (en)2003-08-062016-02-23Microsoft Technology Licensing, LlcCorrelation, association, or correspondence of electronic forms
US9519407B2 (en)2008-03-112016-12-13Ice Edge Business Solutions, Ltd.Automatically creating and modifying furniture layouts in design software
US9536340B2 (en)2004-08-172017-01-03Dirtt Environmental Solutions, Ltd.Software incorporating efficient 3-D rendering
US10469473B2 (en)*2016-08-312019-11-05Hewlett Packard Enterprise Development LpNetwork authentication system extensions
US10970084B2 (en)*2018-05-162021-04-06Sage (Uk) Ltd.Application deployment
US11416235B2 (en)*2017-09-282022-08-16Oracle International CorporationSystem and method for managed server independence for deployment of software applications and libraries

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6425126B1 (en)*1999-05-192002-07-23International Business Machines CorporationApparatus and method for synchronizing software between computers
US7770102B1 (en)2000-06-062010-08-03Microsoft CorporationMethod and system for semantically labeling strings and providing actions based on semantically labeled strings
US7712024B2 (en)2000-06-062010-05-04Microsoft CorporationApplication program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7788602B2 (en)*2000-06-062010-08-31Microsoft CorporationMethod and system for providing restricted actions for recognized semantic categories
US7716163B2 (en)2000-06-062010-05-11Microsoft CorporationMethod and system for defining semantic categories and actions
US7421645B2 (en)2000-06-062008-09-02Microsoft CorporationMethod and system for providing electronic commerce actions based on semantically labeled strings
US7624356B1 (en)2000-06-212009-11-24Microsoft CorporationTask-sensitive methods and systems for displaying command sets
US6883168B1 (en)2000-06-212005-04-19Microsoft CorporationMethods, systems, architectures and data structures for delivering software via a network
US7000230B1 (en)2000-06-212006-02-14Microsoft CorporationNetwork-based software extensions
US7890947B2 (en)*2000-10-132011-02-15Sony CorporationSystem, method and apparatus for embedded firmware code update
US7003551B2 (en)*2000-11-302006-02-21Bellsouth Intellectual Property Corp.Method and apparatus for minimizing storage of common attachment files in an e-mail communications server
US7797431B2 (en)*2001-02-092010-09-14Willard CaseEnhanced data exchange and functionality control system and method
US7249190B2 (en)*2001-02-092007-07-24Comlet Technologies, Llc.Enhanced data exchange and presentation/communication system
JP2002318692A (en)*2001-04-192002-10-31Sony CorpInstallation support system, installation support device, installation support method, program for supporting installation and recording medium in which the same program is recorded
US7778816B2 (en)*2001-04-242010-08-17Microsoft CorporationMethod and system for applying input mode bias
JP4165796B2 (en)*2001-08-152008-10-15株式会社スクウェア・エニックス Client, data download method, program, and recording medium
US7552222B2 (en)2001-10-182009-06-23Bea Systems, Inc.Single system user identity
US7546606B2 (en)*2001-10-182009-06-09Bea Systems, Inc.System and method using a connector architecture for application integration
US7137004B2 (en)2001-11-162006-11-14Microsoft CorporationManifest-based trusted agent management in a trusted operating system environment
AU2002366938A1 (en)*2001-12-142003-07-09Spl Innotech Pte Ltd.System, method and apparatus for multimedia display
US7000228B2 (en)*2002-01-172006-02-14Sun Microsystems, Inc.Online upgrade of container-based software components
JP3932477B2 (en)*2002-01-292007-06-20ソニー株式会社 Information processing system, information processing apparatus and method, and program
US7516447B2 (en)2002-02-222009-04-07Bea Systems, Inc.Methods and apparatus for building, customizing and using software abstractions of external entities
US7640504B2 (en)*2002-04-222009-12-29Hewlett-Packard Development Company, L.P.Method and system for exporting menu objects to a peripheral using a direct data entry structure
US7155438B2 (en)2002-05-012006-12-26Bea Systems, Inc.High availability for event forwarding
US20040078440A1 (en)*2002-05-012004-04-22Tim PotterHigh availability event topic
US7257645B2 (en)2002-05-012007-08-14Bea Systems, Inc.System and method for storing large messages
US8135772B2 (en)*2002-05-012012-03-13Oracle International CorporationSingle servlets for B2B message routing
US7526519B2 (en)*2002-05-012009-04-28Bea Systems, Inc.High availability application view deployment
US7424717B2 (en)2002-05-012008-09-09Bea Systems, Inc.Systems and methods for business process plug-in development
US7676538B2 (en)2002-05-022010-03-09Bea Systems, Inc.Systems and methods for application view transactions
US7222148B2 (en)2002-05-022007-05-22Bea Systems, Inc.System and method for providing highly available processing of asynchronous service requests
US7484224B2 (en)*2002-05-022009-01-27Bae Systems, Inc.Adapter deployment without recycle
US7493628B2 (en)2002-05-022009-02-17Bea Systems, Inc.Shared common connection factory
US7325194B2 (en)2002-05-072008-01-29Microsoft CorporationMethod, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US7707496B1 (en)2002-05-092010-04-27Microsoft CorporationMethod, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7707024B2 (en)*2002-05-232010-04-27Microsoft CorporationMethod, system, and apparatus for converting currency values based upon semantically labeled strings
US7742048B1 (en)2002-05-232010-06-22Microsoft CorporationMethod, system, and apparatus for converting numbers based upon semantically labeled strings
US7281245B2 (en)*2002-06-052007-10-09Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US7827546B1 (en)*2002-06-052010-11-02Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en)2002-06-062008-04-08Microsoft CorporationProviding contextually sensitive tools and help content in computer-generated documents
US7716676B2 (en)2002-06-252010-05-11Microsoft CorporationSystem and method for issuing a message to a program
US7392479B2 (en)2002-06-272008-06-24Microsoft CorporationSystem and method for providing namespace related information
US7209915B1 (en)2002-06-282007-04-24Microsoft CorporationMethod, system and apparatus for routing a query to one or more providers
EP1395006B1 (en)*2002-08-292007-02-21Hewlett-Packard CompanyMethod and apparatus for data distribution through a network
US7263697B2 (en)*2003-01-172007-08-28Sap AktiengesellschaftComposite computer program extensions
US7783614B2 (en)*2003-02-132010-08-24Microsoft CorporationLinking elements of a document to corresponding fields, queries and/or procedures in a database
US7774697B2 (en)2003-02-252010-08-10Bea Systems, Inc.System and method for structuring distributed applications
US7584474B2 (en)2003-02-252009-09-01Bea Systems, Inc.Systems and methods for transaction chaining
US7293038B2 (en)*2003-02-252007-11-06Bea Systems, Inc.Systems and methods for client-side filtering of subscribed messages
US20050022164A1 (en)*2003-02-252005-01-27Bea Systems, Inc.Systems and methods utilizing a workflow definition language
US7539985B2 (en)*2003-02-262009-05-26Bea Systems, Inc.Systems and methods for dynamic component versioning
US7650276B2 (en)2003-02-262010-01-19Bea Systems, Inc.System and method for dynamic data binding in distributed applications
US8032860B2 (en)*2003-02-262011-10-04Oracle International CorporationMethods for type-independent source code editing
US7707564B2 (en)2003-02-262010-04-27Bea Systems, Inc.Systems and methods for creating network-based software services using source code annotations
US20040230955A1 (en)*2003-02-262004-11-18Bea Systems, Inc.System for multi-language debugging
US7076772B2 (en)*2003-02-262006-07-11Bea Systems, Inc.System and method for multi-language extensible compiler framework
US7636722B2 (en)*2003-02-282009-12-22Bea Systems, Inc.System and method for describing application extensions in XML
US7444620B2 (en)*2003-02-282008-10-28Bea Systems, Inc.Systems and methods for a common runtime container framework
US20040172584A1 (en)*2003-02-282004-09-02Microsoft CorporationMethod and system for enhancing paste functionality of a computer software application
US7650592B2 (en)2003-03-012010-01-19Bea Systems, Inc.Systems and methods for multi-view debugging environment
US7181739B1 (en)*2003-03-142007-02-20Novell, Inc.Installation relationship database
US7275244B1 (en)*2003-03-182007-09-25Microsoft CorporationSystem and method for incrementally saving web files to a web server using file hash values
US20060179431A1 (en)*2003-03-192006-08-10Unisys CorporationRules-based deployment of computing components
US7370066B1 (en)2003-03-242008-05-06Microsoft CorporationSystem and method for offline editing of data files
US7275216B2 (en)2003-03-242007-09-25Microsoft CorporationSystem and method for designing electronic forms and hierarchical schemas
CN101699505B (en)2003-04-252016-02-17苹果公司A kind of network media system
US20040215534A1 (en)2003-04-252004-10-28Apple Computer, Inc.Method and system for network-based allowance control
US7711550B1 (en)2003-04-292010-05-04Microsoft CorporationMethods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US7558841B2 (en)2003-05-142009-07-07Microsoft CorporationMethod, system, and computer-readable medium for communicating results to a data query in a computer network
US7222339B2 (en)*2003-06-132007-05-22Intel CorporationMethod for distributed update of firmware across a clustered platform infrastructure
US7739588B2 (en)2003-06-272010-06-15Microsoft CorporationLeveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7178102B1 (en)2003-12-092007-02-13Microsoft CorporationRepresenting latent data in an extensible markup language document
US7404195B1 (en)2003-12-092008-07-22Microsoft CorporationProgrammable object model for extensible markup language markup in an application
US7487515B1 (en)2003-12-092009-02-03Microsoft CorporationProgrammable object model for extensible markup language schema validation
US7434157B2 (en)2003-12-092008-10-07Microsoft CorporationProgrammable object model for namespace or schema library support in a software application
US7509573B1 (en)2004-02-172009-03-24Microsoft CorporationAnti-virus security information in an extensible markup language document
US20050182617A1 (en)*2004-02-172005-08-18Microsoft CorporationMethods and systems for providing automated actions on recognized text strings in a computer-generated document
US7607126B2 (en)*2004-05-212009-10-20Bea Systems, Inc.System and method for external override of annotations
US8487879B2 (en)2004-10-292013-07-16Microsoft CorporationSystems and methods for interacting with a computer through handwriting to a screen
CN101057230A (en)*2004-11-122007-10-17佳思腾软件公司Data processing device, document processing device, and document processing method
EP1672486A1 (en)*2004-12-152006-06-21Sony Ericsson Mobile Communications ABMethod and device for permitting secure use of program modules
US20060199599A1 (en)*2005-01-032006-09-07Arun GuptaMethod for setting communication device and communication device thereof
US7937651B2 (en)2005-01-142011-05-03Microsoft CorporationStructural editing operations for network forms
US20060158023A1 (en)*2005-01-142006-07-20The Boler CompanyContinuous radius axle and fabricated spindle assembly
US7343364B2 (en)*2005-02-042008-03-11Efunds CorporationRules-based system architecture and systems using the same
CN101176079B (en)*2005-03-162011-12-07航空照片技术有限公司Method for distributing computing between server and client
US7519562B1 (en)*2005-03-312009-04-14Amazon Technologies, Inc.Automatic identification of unreliable user ratings
US8010515B2 (en)*2005-04-152011-08-30Microsoft CorporationQuery to an electronic form
US20070006166A1 (en)*2005-06-202007-01-04Seagate Technology LlcCode coverage for an embedded processor system
US8200975B2 (en)2005-06-292012-06-12Microsoft CorporationDigital signatures for network forms
US7661074B2 (en)*2005-07-012010-02-09Microsoft CorporationKeyboard accelerator
US7992085B2 (en)2005-09-262011-08-02Microsoft CorporationLightweight reference user interface
US7788590B2 (en)*2005-09-262010-08-31Microsoft CorporationLightweight reference user interface
US7730164B1 (en)2005-11-232010-06-01Adobe Systems IncorporatedBootstrap approaches to downloading data in response to a download indication
US9286308B2 (en)2005-12-222016-03-15Alan Joshua ShapiroSystem and method for metadata modification
CN101390050B (en)2005-12-222018-04-24艾伦·J·薛比洛Apparatus and method for selectively allocating software resources by subtractive installation
US20070150889A1 (en)2005-12-222007-06-28Shapiro Alan JMethod and apparatus for panoplex generation and gryphing
US8108851B2 (en)*2006-01-302012-01-31International Business Machines CorporationExternal registration for function configuration within a client platform application
EP1818820A1 (en)*2006-02-032007-08-15Research In Motion LimitedSystem and method for installing custom services on a component-based application platform
CN101018217A (en)*2006-02-102007-08-15朗迅科技公司Electronic tray exchange method for the radio network application processor system
US20070240134A1 (en)*2006-02-282007-10-11Joydeep BuragohainSoftware packaging model supporting multiple entity types
US8522228B1 (en)2006-03-312013-08-27Vmware, Inc.Updating software on dormant disks
US7823145B1 (en)*2006-03-312010-10-26Vmware, Inc.Updating software on dormant disks
US8875135B2 (en)*2006-04-172014-10-28Cisco Systems, Inc.Assigning component operations of a task to multiple servers using orchestrated web service proxy
US20080209052A1 (en)*2007-02-222008-08-28Radialpoint Inc.System and Method for Delivering Value Added Services from Services Providers
US9720671B2 (en)*2008-06-172017-08-01Microsoft Technology Licensing, LlcInstallation of customized applications
US20090313743A1 (en)*2008-06-202009-12-24Craig Jason HofmeyerPants with saggy pants control system
US9009082B1 (en)2008-06-302015-04-14Amazon Technologies, Inc.Assessing user-supplied evaluations
US8145750B2 (en)*2008-11-242012-03-27At&T Intellectual Property I, LpDetecting hidden shared dependencies through covert channels
US8667483B2 (en)*2009-03-252014-03-04Microsoft CorporationDevice dependent on-demand compiling and deployment of mobile applications
US20100251099A1 (en)*2009-03-262010-09-30David MakowerSchema Validation for Submissions of Digital Assets for Network-Based Distribution
US20100299219A1 (en)*2009-05-252010-11-25Cortes Ricardo DConfiguration and Management of Add-ons to Digital Application Programs for Network-Based Distribution
US9729609B2 (en)*2009-08-072017-08-08Apple Inc.Automatic transport discovery for media submission
US8381206B2 (en)*2009-12-222013-02-19Sap AgSystem and method for extending computerized applications
US9224119B2 (en)*2010-02-022015-12-29International Business Machines CorporationArchitecting and defining extensible methods and processes to build hybrid solutions
US9053241B2 (en)*2010-06-112015-06-09Hewlett-Packard Development Company, L.P.Scripting application with role identification
US8677346B1 (en)*2011-09-272014-03-18Symantec CorporationProviding installer package information to a user
US10423719B2 (en)*2013-02-192019-09-24International Business Machines CorporationDynamic loading of tabular data
US9116713B1 (en)*2013-03-122015-08-25Emc CorporationSystem and method for expression evaluation in a distributed networking environment
CN103246533B (en)*2013-04-112017-03-29小米科技有限责任公司A kind of method for adding plug-in unit in address list, device and equipment
US20140359605A1 (en)*2013-05-302014-12-04Microsoft CorporationBundle package signing
US9323514B2 (en)2013-05-302016-04-26Microsoft Technology Licensing, LlcResource package indexing
US8918775B1 (en)*2013-07-122014-12-23Ca, Inc.Dynamic release control of software application version changes
US10599860B2 (en)*2014-05-222020-03-24Tata Consultancy Services LimitedAccessing enterprise data
US9652214B1 (en)*2015-12-182017-05-16Sap SePluggable extension of software applications

Citations (541)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4201978A (en)1978-10-191980-05-06NCR Canada Ltd. -- NCR Canada LteeDocument processing system
US4498147A (en)1982-11-181985-02-05International Business Machines CorporationMethodology for transforming a first editable document form prepared with a batch text processing system to a second editable document form usable by an interactive or batch text processing system
US4514800A (en)1981-05-221985-04-30Data General CorporationDigital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets
US4564752A (en)1982-12-231986-01-14Ncr Canada LtdConcurrent, image-based, reject-re-entry system and method
US4641274A (en)1982-12-031987-02-03International Business Machines CorporationMethod for communicating changes made to text form a text processor to a remote host
US4674040A (en)1984-12-261987-06-16International Business Machines CorporationMerging of documents
US4723211A (en)1984-08-301988-02-02International Business Machines Corp.Editing of a superblock data structure
US4739477A (en)1984-08-301988-04-19International Business Machines Corp.Implicit creation of a superblock data structure
JPS6385960U (en)1986-11-261988-06-04
US4815029A (en)1985-09-231989-03-21International Business Machines Corp.In-line dynamic editor for mixed object documents
US4847749A (en)1986-06-131989-07-11International Business Machines CorporationJob interrupt at predetermined boundary for enhanced recovery
US4910663A (en)1987-07-101990-03-20Tandem Computers IncorporatedSystem for measuring program execution by replacing an executable instruction with interrupt causing instruction
US4933880A (en)1988-06-151990-06-12International Business Machines Corp.Method for dynamically processing non-text components in compound documents
US4962475A (en)1984-12-261990-10-09International Business Machines CorporationMethod for generating a document utilizing a plurality of windows associated with different data objects
US5025484A (en)1987-12-111991-06-18Kabushiki Kaisha ToshibaCharacter reader device
US5072412A (en)1987-03-251991-12-10Xerox CorporationUser interface with multiple workspaces for sharing display system objects
US5179703A (en)1987-11-171993-01-12International Business Machines CorporationDynamically adaptive environment for computer programs
US5182709A (en)1986-03-311993-01-26Wang Laboratories, Inc.System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure
US5187786A (en)1991-04-051993-02-16Sun Microsystems, Inc.Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
US5191645A (en)1991-02-281993-03-02Sony Corporation Of AmericaDigital signal processing system employing icon displays
US5195183A (en)1989-01-311993-03-16Norand CorporationData communication system with communicating and recharging docking apparatus for hand-held data terminal
US5204947A (en)1990-10-311993-04-20International Business Machines CorporationApplication independent (open) hypermedia enablement services
US5206951A (en)1987-08-211993-04-27Wang Laboratories, Inc.Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5218672A (en)1990-01-191993-06-08Sony Corporation Of AmericaOffline editing system with user interface for controlling edit list generation
US5222160A (en)1989-12-281993-06-22Fujitsu LimitedDocument revising system for use with document reading and translating system
US5228100A (en)1989-07-101993-07-13Hitachi, Ltd.Method and system for producing from document image a form display with blank fields and a program to input data to the blank fields
US5237680A (en)1990-09-271993-08-17Sun Microsystems, Inc.Method for incremental rename propagation between hierarchical file name spaces
US5249275A (en)1986-04-211993-09-28Texas Instruments IncorporatedApparatus and method enabling a compiled program to exactly recreate its source code
US5274803A (en)1991-04-261993-12-28Sun Microsystems, Inc.Method and apparatus for aligning a restored parent environment to its child environments with minimal data loss
US5297249A (en)1990-10-311994-03-22International Business Machines CorporationHypermedia link marker abstract and search services
US5297283A (en)1989-06-291994-03-22Digital Equipment CorporationObject transferring system and method in an object based computer operating system
US5313631A (en)1991-05-211994-05-17Hewlett-Packard CompanyDual threshold system for immediate or delayed scheduled migration of computer data files
US5313646A (en)1989-02-241994-05-17Sun Microsystems, Inc.Method and apparatus for translucent file system
US5317686A (en)1990-09-101994-05-31Lotus Development CorporationData processing apparatus and method for a reformattable multidimensional spreadsheet
US5333317A (en)1989-12-221994-07-26Bull Hn Information Systems Inc.Name resolution in a directory database
US5339423A (en)1989-06-161994-08-16International Business Machines CorporationSystem for accessing objects external to an application using tables containing path definitions
US5339424A (en)1991-04-191994-08-16Mitsubishi Denki Kabushiki KaishaSystem and method for compiling and executing a computer program written in more than one programming language
US5341478A (en)1990-08-141994-08-23Digital Equipment CorporationMethods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US5369778A (en)1987-08-211994-11-29Wang Laboratories, Inc.Data processor that customizes program behavior by using a resource retrieval capability
US5369766A (en)1993-03-251994-11-29Taligent, Inc.Object-oriented loader system with support for different load formats
US5371675A (en)1992-06-031994-12-06Lotus Development CorporationSpreadsheet program which implements alternative range references
US5377323A (en)1991-09-131994-12-27Sun Microsytems, Inc.Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5379419A (en)1990-12-071995-01-03Digital Equipment CorporationMethods and apparatus for accesssing non-relational data files using relational queries
US5381547A (en)1989-11-291995-01-10Siemens AktiengesellschaftMethod for dynamically linking definable program elements of an interactive data processing system
US5390325A (en)1992-12-231995-02-14Taligent, Inc.Automated testing system
US5396623A (en)1992-10-301995-03-07Bmc Software Inc.Method for editing the contents of a DB2 table using an editproc manager
US5408665A (en)1993-04-301995-04-18Borland International, Inc.System and methods for linking compiled code with extended dictionary support
US5410688A (en)1989-07-211995-04-25Hewlett-Packard CompanyDistributed object based systems for communicating object data among different storage domains
US5410646A (en)1991-01-311995-04-25Park City Group, Inc.System and method for creating, processing, and storing forms electronically
US5412772A (en)1992-10-131995-05-02Novell, Inc.System for permitting a view of an object or a user interface to be exchanged between operating system environments
US5434975A (en)1992-09-241995-07-18At&T Corp.System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
US5436637A (en)1993-03-051995-07-25Borland International, Inc.Graphical user interface system and methods for improved user feedback
US5438659A (en)1992-10-081995-08-01Hewlett-Packard CompanyObject-action user interface management system
US5440744A (en)1990-08-141995-08-08Digital Equipment CorporationMethods and apparatus for implementing server functions in a distributed heterogeneous environment
US5446842A (en)1993-02-261995-08-29Taligent, Inc.Object-oriented collaboration system
US5455875A (en)1992-12-151995-10-03International Business Machines CorporationSystem and method for correction of optical character recognition with display of image segments according to character data
US5459865A (en)1993-04-051995-10-17Taligent Inc.Runtime loader
US5481722A (en)1991-08-191996-01-02Sun Microsystems, Inc.Method and apparatus for merging change control delta structure files of a source module from a parent and a child development environment
US5497489A (en)1987-05-051996-03-05Menne; David M.Data storage and retrieval systems having labelling for data
US5504898A (en)1994-06-201996-04-02Candle Distributed Solutions, Inc.Threaded environment for AS/400
US5517655A (en)1991-04-261996-05-14Hewlett-Packard CompanyMethod for monitoring transactions in an object-oriented environment
US5535389A (en)1993-01-261996-07-09International Business Machines CorporationBusiness process objects with associated attributes such as version identifier
US5542070A (en)1993-05-201996-07-30Ag Communication Systems CorporationMethod for rapid development of software systems
US5550976A (en)1992-12-081996-08-27Sun Hydraulics CorporationDecentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5551035A (en)1989-06-301996-08-27Lucent Technologies Inc.Method and apparatus for inter-object communication in an object-oriented program controlled system
US5555325A (en)1993-10-221996-09-10Lockheed Martin Federal Systems, Inc.Data capture variable priority method and system for managing varying processing capacities
US5572643A (en)1995-10-191996-11-05Judson; David H.Web browser with dynamic display of information objects during linking
US5572648A (en)1993-01-191996-11-05Canon Kabushiki KaishaSystem for simultaneously displaying a static tool palette having predefined windowing tool functions and a dynamic tool palette which changes windowing tool functons in accordance with a context of an executed application program
US5577252A (en)1993-07-281996-11-19Sun Microsystems, Inc.Methods and apparatus for implementing secure name servers in an object-oriented system
US5581760A (en)1992-07-061996-12-03Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
US5581686A (en)1992-12-011996-12-03Microsoft CorporationMethod and system for in-place interaction with contained objects
US5602996A (en)1993-01-271997-02-11Apple Computer, Inc.Method and apparatus for determining window order when one of multiple displayed windows is selected
US5608720A (en)1993-03-091997-03-04Hubbell IncorporatedControl system and operations system interface for a network element in an access system
US5625783A (en)1994-12-131997-04-29Microsoft CorporationAutomated system and method for dynamic menu construction in a graphical user interface
US5627979A (en)1994-07-181997-05-06International Business Machines CorporationSystem and method for providing a graphical user interface for mapping and accessing objects in data stores
US5630126A (en)1994-12-131997-05-13International Business Machines Corp.Systems and methods for integrating computations into compound documents
US5634121A (en)1995-05-301997-05-27Lockheed Martin CorporationSystem for identifying and linking domain information using a parsing process to identify keywords and phrases
US5640544A (en)1991-12-281997-06-17Nec CorporationComputer network having an asynchronous document data management system
US5644738A (en)1995-09-131997-07-01Hewlett-Packard CompanySystem and method using context identifiers for menu customization in a window
US5649099A (en)1993-06-041997-07-15Xerox CorporationMethod for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5659729A (en)1996-02-011997-08-19Sun Microsystems, Inc.Method and system for implementing hypertext scroll attributes
US5664178A (en)1992-07-061997-09-02Microsoft CorporationMethod and system for organizing internal structure of a file
US5668966A (en)1994-02-151997-09-16International Business Machines CorporationSystem and method for direct manipulation of search predicates using a graphical user interface
US5669005A (en)1993-05-101997-09-16Apple Computer, Inc.System for automatically embedding or incorporating contents added to a document
US5689667A (en)1995-06-061997-11-18Silicon Graphics, Inc.Methods and system of controlling menus with radial and linear portions
US5704029A (en)1994-05-231997-12-30Wright Strategies, Inc.System and method for completing an electronic form
US5706501A (en)1995-02-231998-01-06Fuji Xerox Co., Ltd.Apparatus and method for managing resources in a network combining operations with name resolution functions
US5717939A (en)1991-11-181998-02-10Compaq Computer CorporationMethod and apparatus for entering and manipulating spreadsheet cell data
US5721824A (en)1996-04-191998-02-24Sun Microsystems, Inc.Multiple-package installation with package dependencies
US5742504A (en)1995-11-061998-04-21Medar, Inc.Method and system for quickly developing application software for use in a machine vision system
US5745712A (en)1990-10-311998-04-28Borland International, Inc.Graphical programming system and methods for assisting a user with creating screen objects on a screen device
US5745683A (en)1995-07-051998-04-28Sun Microsystems, Inc.System and method for allowing disparate naming service providers to dynamically join a naming federation
US5748807A (en)1992-10-091998-05-05Panasonic Technologies, Inc.Method and means for enhancing optical character recognition of printed documents
EP0841615A2 (en)1996-11-081998-05-13International Computers LimitedUpdating mechanism for software
US5758184A (en)1995-04-241998-05-26Microsoft CorporationSystem for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5758358A (en)1996-01-291998-05-26Microsoft CorporationMethod and system for reconciling sections of documents
US5761408A (en)1996-01-161998-06-02Parasoft CorporationMethod and system for generating a computer program test suite using dynamic symbolic execution
US5761683A (en)1996-02-131998-06-02Microtouch Systems, Inc.Techniques for changing the behavior of a link in a hypertext document
US5764984A (en)1993-02-261998-06-09International Business Machines CorporationSystem for multiple co-existing operating system personalities on a microkernel
US5764985A (en)1994-12-131998-06-09Microsoft CorpNotification mechanism for coordinating software extensions
US5778402A (en)1995-06-071998-07-07Microsoft CorporationMethod and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US5778372A (en)1996-04-181998-07-07Microsoft CorporationRemote retrieval and display management of electronic document with incorporated images
US5784555A (en)1996-04-181998-07-21Microsoft CorporationAutomation and dial-time checking of system configuration for internet
US5790796A (en)*1996-06-141998-08-04Symantec CorporationPolymorphic package files to update software components
US5798757A (en)1993-12-151998-08-25Borland International, Inc.Methods and interface for building command expressions in a computer system
US5802304A (en)1996-04-181998-09-01Microsoft CorporationAutomatic dialer responsive to network programming interface access
US5806079A (en)1993-11-191998-09-08Smartpatents, Inc.System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US5815830A (en)1994-12-231998-09-29Anthony; Andre CharlesAutomatic generation of hypertext links to multimedia topic objects
US5826265A (en)1996-12-061998-10-20International Business Machines CorporationData management system having shared libraries
US5835777A (en)1996-03-201998-11-10Hewlett-Packard CompanyMethod of automatically generating a software installation package
US5838906A (en)1994-10-171998-11-17The Regents Of The University Of CaliforniaDistributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5845077A (en)1995-11-271998-12-01Microsoft CorporationMethod and system for identifying and obtaining computer software from a remote computer
US5845090A (en)1994-02-141998-12-01Platinium Technology, Inc.System for software distribution in a digital computer network
US5854630A (en)1996-07-011998-12-29Sun Microsystems, Inc.Prospective view for web backtrack
US5859973A (en)1996-08-211999-01-12International Business Machines CorporationMethods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US5862372A (en)1994-11-161999-01-19Morris; Robert M.Visually oriented computer implemented application development system utilizing standardized objects and multiple views
US5864819A (en)1996-11-081999-01-26International Business Machines CorporationInternal window object tree method for representing graphical user interface applications for speech navigation
WO1999024945A1 (en)1997-11-121999-05-20Koninklijke Philips Electronics N.V.Software update manager
US5907704A (en)1995-04-031999-05-25Quark, Inc.Hierarchical encapsulation of instantiated objects in a multimedia authoring system including internet accessible objects
US5910895A (en)1997-06-131999-06-08Teradyne, Inc.Low cost, easy to use automatic test system software
US5911776A (en)1996-12-181999-06-15Unisys CorporationAutomatic format conversion system and publishing methodology for multi-user network
US5915112A (en)1996-01-021999-06-22International Business Machines CorporationRemote procedure interface with support for multiple versions
US5922072A (en)1997-01-031999-07-13Ncr CorporationMethod and apparatus for creating alternate boot environments in a computer
US5929858A (en)1995-04-041999-07-27Fujitsu LimitedDevice for aiding analysis of infeasible solution and unbounded solution
US5940075A (en)1997-09-301999-08-17Unisys Corp.Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US5950010A (en)1996-11-251999-09-07J.D. Edwards World Source Co.System and method for customized application package building and installation
US5956481A (en)1997-02-061999-09-21Microsoft CorporationMethod and apparatus for protecting data files on a computer from virus infection
US5960199A (en)1996-11-121999-09-28International Business Machines CorporationModel trace view for object-oriented systems
US5963964A (en)1996-04-051999-10-05Sun Microsystems, Inc.Method, apparatus and program product for updating visual bookmarks
US5974454A (en)*1997-11-141999-10-26Microsoft CorporationMethod and system for installing and updating program module components
WO1999056207A1 (en)1998-04-301999-11-04Intervu, Inc.System and method for automated identification, retrieval and installation of software components
US5982370A (en)1997-07-181999-11-09International Business Machines CorporationHighlighting tool for search specification in a user interface of a computer system
US5987480A (en)1996-07-251999-11-16Donohue; MichaelMethod and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5991731A (en)1997-03-031999-11-23University Of FloridaMethod and system for interactive prescription and distribution of prescriptions in conducting clinical studies
US5991877A (en)1997-04-031999-11-23Lockheed Martin CorporationObject-oriented trusted application framework
US5991710A (en)1997-05-201999-11-23International Business Machines CorporationStatistical translation system with features based on phrases or groups of words
US5995103A (en)1996-05-101999-11-30Apple Computer, Inc.Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US6005570A (en)1993-03-051999-12-21Inprise CorporationGraphical user interface system and methods for improved user feedback
US6014135A (en)1997-04-042000-01-11Netscape Communications Corp.Collaboration centric document processing environment using an information centric visual user interface and information presentation method
US6016520A (en)1995-07-142000-01-18Microsoft CorporationMethod of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US6018743A (en)1996-10-042000-01-25International Business Machines CorporationFramework for object-oriented interface to record file data
US6026416A (en)1996-05-302000-02-15Microsoft Corp.System and method for storing, viewing, editing, and processing ordered sections having different file formats
US6026379A (en)1996-06-172000-02-15Verifone, Inc.System, method and article of manufacture for managing transactions in a high availability system
US6031989A (en)1997-02-272000-02-29Microsoft CorporationMethod of formatting and displaying nested documents
US6035309A (en)1993-02-092000-03-07International Business Machines CorporationSystem and method for editing and viewing a very wide flat file
US6035297A (en)1996-12-062000-03-07International Business Machines MachineData management system for concurrent engineering
US6044205A (en)1996-02-292000-03-28Intermind CorporationCommunications system for transferring information between memories according to processes transferred with the information
US6052531A (en)*1998-03-252000-04-18Symantec CorporationMulti-tiered incremental software updating
US6052710A (en)1996-06-282000-04-18Microsoft CorporationSystem and method for making function calls over a distributed network
US6054987A (en)1998-05-292000-04-25Hewlett-Packard CompanyMethod of dynamically creating nodal views of a managed network
JP2000132436A (en)1998-10-292000-05-12Hitachi Ltd Program and file generation management method for offline terminals
US6072870A (en)1996-06-172000-06-06Verifone Inc.System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6078924A (en)1998-01-302000-06-20Aeneid CorporationMethod and apparatus for performing data collection, interpretation and analysis, in an information platform
US6078327A (en)1997-09-112000-06-20International Business Machines CorporationNavigating applications and objects in a graphical user interface
US6078326A (en)1996-04-232000-06-20Roku Technologies, L.L.C.System and method providing centricity user environment
US6081610A (en)1995-12-292000-06-27International Business Machines CorporationSystem and method for verifying signatures on documents
US6084585A (en)1998-07-292000-07-04International Business Machines Corp.System for directly accessing fields on electronic forms
US6088708A (en)1997-01-312000-07-11Microsoft CorporationSystem and method for creating an online table from a layout of objects
US6091417A (en)1998-03-162000-07-18Earthlink Network, Inc.Graphical user interface
US6094657A (en)1997-10-012000-07-25International Business Machines CorporationApparatus and method for dynamic meta-tagging of compound documents
US6098081A (en)1996-05-062000-08-01Microsoft CorporationHypermedia navigation using soft hyperlinks
US6097382A (en)1998-05-122000-08-01Silverstream Software, Inc.Method and apparatus for building an application interface
US6108637A (en)1996-09-032000-08-22Nielsen Media Research, Inc.Content display monitor
US6108783A (en)1998-02-112000-08-22International Business Machines CorporationChameleon hashing and signatures
US6115646A (en)1997-12-182000-09-05Nortel Networks LimitedDynamic and generic process automation system
US6122647A (en)1998-05-192000-09-19Perspecta, Inc.Dynamic generation of contextual links in hypertext documents
US6121965A (en)1997-10-172000-09-19Lucent Technologies Inc.User interface for graphical application tool
US6144969A (en)1996-02-092000-11-07Sony CorporationFile name conversion
US6151624A (en)1998-02-032000-11-21Realnames CorporationNavigating network resources based on metadata
US6154128A (en)1997-05-212000-11-28Sun Microsystems, Inc.Automatic building and distribution of alerts in a remote monitoring system
US6163772A (en)1996-06-172000-12-19Hewlett-Packard CompanyVirtual point of sale processing using gateway-initiated messages
US6167523A (en)1997-05-052000-12-26Intel CorporationMethod and apparatus for forms data validation and processing control
US6167521A (en)1997-08-292000-12-26International Business Machines CorporationSecurely downloading and executing code from mutually suspicious authorities
US6182095B1 (en)1998-04-302001-01-30General Electric Capital CorporationDocument generator
US6188401B1 (en)1998-03-252001-02-13Microsoft CorporationScript-based user interface implementation defining components using a text markup language
US6192367B1 (en)1998-11-232001-02-20International Business Machines CorporationData file editor presenting semi-formatted view
US6191797B1 (en)1996-05-222001-02-20Canon Kabushiki KaishaExpression tree optimization for processing obscured graphical objects
US6195661B1 (en)1988-07-152001-02-27International Business Machines Corp.Method for locating application records in an interactive-services database
US6199204B1 (en)1998-01-282001-03-06International Business Machines CorporationDistribution of software updates via a computer network
US6209128B1 (en)1998-06-052001-03-27International Business Machines CorporationApparatus and method for providing access to multiple object versions
US6216152B1 (en)1997-10-272001-04-10Sun Microsystems, Inc.Method and apparatus for providing plug in media decoders
US6219698B1 (en)1997-12-192001-04-17Compaq Computer CorporationConfiguring client software using remote notification
US6225996B1 (en)1998-02-202001-05-01Corel CorporationSystem and method for displaying a current value of a cell of a document
US6235027B1 (en)1999-01-212001-05-22Garrett D. HerzonThermal cautery surgical forceps
WO2001044934A1 (en)1999-12-152001-06-21Sun Microsystems, Inc.Preparation of a software configuration using an xml type programming language
US6253374B1 (en)1998-07-022001-06-26Microsoft CorporationMethod for validating a signed program prior to execution time or an unsigned program at execution time
US6253366B1 (en)1999-03-312001-06-26Unisys Corp.Method and system for generating a compact document type definition for data interchange among software tools
US20010007109A1 (en)1999-12-142001-07-05Thomas LangeMethod and system for inserting a data object into a computer-generated document using a text instruction
US6263313B1 (en)1998-08-132001-07-17International Business Machines CorporationMethod and apparatus to create encoded digital content
JP3191429B2 (en)1992-09-022001-07-23富士通テン株式会社 Electronic device insertion / ejection device
US6266810B1 (en)1997-04-172001-07-24Matsushita Electric Industrial Co., Ltd.Remote program downloading system and apparatus
US6268852B1 (en)1997-06-022001-07-31Microsoft CorporationSystem and method for facilitating generation and editing of event handlers
US6272506B1 (en)1997-09-122001-08-07Doxis, LlcComputerized verification form processing system and method
US6275599B1 (en)1998-08-282001-08-14International Business Machines CorporationCompressed image authentication and verification
US6275227B1 (en)1998-02-092001-08-14International Business Machines CorporationComputer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US6281896B1 (en)1998-03-312001-08-28International Business Machines CorporationData processor controlled interface with multiple tree of elements views expandable into individual detail views
US6282711B1 (en)1999-08-102001-08-28Hewlett-Packard CompanyMethod for more efficiently installing software components from a remote server source
US6286033B1 (en)2000-04-282001-09-04Genesys Telecommunications Laboratories, Inc.Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US6292897B1 (en)1997-11-032001-09-18International Business Machines CorporationUndeniable certificates for digital signature verification
US20010024195A1 (en)2000-03-212001-09-27Keisuke HayakawaPage information display method and device and storage medium storing program for displaying page information
US6297819B1 (en)1998-11-162001-10-02Essential Surfing Gear, Inc.Parallel web sites
US6300948B1 (en)1996-09-172001-10-09Scott D. GellerMethods and systems for user interfaces and constraint handling in configuration software
US6307955B1 (en)1998-12-182001-10-23Topaz Systems, Inc.Electronic signature management system
US6308273B1 (en)1998-06-122001-10-23Microsoft CorporationMethod and system of security location discrimination
US6308179B1 (en)1998-08-312001-10-23Xerox CorporationUser level controlled mechanism inter-positioned in a read/write path of a property-based document management system
US6311271B1 (en)1997-02-132001-10-30International Business Machines CorporationHow to sign digital streams
US20010037345A1 (en)2000-03-212001-11-01International Business Machines CorporationTagging XML query results over relational DBMSs
US6321259B1 (en)1998-10-022001-11-20Nortel Networks LimitedAttribute inheritance schema for network switches
US6321334B1 (en)1998-07-152001-11-20Microsoft CorporationAdministering permissions associated with a security zone in a computer system security model
US6327628B1 (en)2000-05-192001-12-04Epicentric, Inc.Portal server that provides a customizable user Interface for access to computer networks
US6331864B1 (en)1997-09-232001-12-18Onadime, Inc.Real-time multimedia visual programming system
US20010054004A1 (en)2000-06-072001-12-20Powers Arthur C.Method of direct communication between a business and its customers
US20010056429A1 (en)2000-03-232001-12-27Moore Reagan W.Persistent archives
US20010056460A1 (en)2000-04-242001-12-27Ranjit SahotaMethod and system for transforming content for execution on multiple platforms
US20020010743A1 (en)2000-02-112002-01-24Ryan Mark H.Method and system for distributing and collecting spreadsheet information
US20020010746A1 (en)2000-02-142002-01-24Jilk David J.System, method, apparatus and computer program product for operating a web site by electronic mail
US6342907B1 (en)1998-10-192002-01-29International Business Machines CorporationSpecification language for defining user interface panels that are platform-independent
US6343149B1 (en)1998-05-132002-01-29Oki Electric Industry Co, Ltd.Document character reading system
US6343302B1 (en)1997-02-132002-01-29Yahoo! Inc.Remote web site authoring system and method
US20020013788A1 (en)1998-11-102002-01-31Pennell Mark E.System and method for automatically learning information used for electronic form-filling
US6345278B1 (en)1998-06-042002-02-05Collegenet, Inc.Universal forms engine
US6345361B1 (en)1998-04-062002-02-05Microsoft CorporationDirectional set operations for permission based security in a computer system
US6347323B1 (en)1999-03-262002-02-12Microsoft CorporationRobust modification of persistent objects while preserving formatting and other attributes
US6349408B1 (en)1998-03-232002-02-19Sun Microsystems, Inc.Techniques for implementing a framework for extensible applications
US20020023113A1 (en)2000-08-182002-02-21Jeff HsingRemote document updating system using XML and DOM
US6351574B1 (en)1998-12-112002-02-26International Business Machines CorporationInteractive verification of OCRed characters
US20020026441A1 (en)2000-06-052002-02-28Ali KutaySystem and method for integrating multiple applications
US20020026461A1 (en)2000-06-052002-02-28Ali KutaySystem and method for creating a source document and presenting the source document to a user in a target format
US6353926B1 (en)1998-07-152002-03-05Microsoft CorporationSoftware update notification
US6356906B1 (en)1999-07-262002-03-12Microsoft CorporationStandard database queries within standard request-response protocols
US6357038B1 (en)1998-04-132002-03-12Adobe Systems IncorporatedCross platform and cross operating system macros
US20020032590A1 (en)2000-03-282002-03-14International Business Machines CorporationE-market architecture for supporting multiple roles and reconfigurable business porcesses
US20020032706A1 (en)1999-12-232002-03-14Jesse PerlaMethod and system for building internet-based applications
US20020032768A1 (en)2000-04-102002-03-14Voskuil Erik K.Method and system for configuring remotely located applications
US20020035579A1 (en)2000-09-122002-03-21Wang Wayne W.Transform rule generator for web-based markup languages
US20020035581A1 (en)2000-06-062002-03-21Microsoft CorporationApplication program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US6366912B1 (en)1998-04-062002-04-02Microsoft CorporationNetwork security zones
US6366907B1 (en)1999-12-152002-04-02Napster, Inc.Real-time search engine
US6367013B1 (en)1995-01-172002-04-02Eoriginal Inc.System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US20020040469A1 (en)2000-06-032002-04-04International Business Machines CorporationSystem and method for the configuration of software products
US6369841B1 (en)1996-01-252002-04-09Siemens AktiengesellschaftGraphical user interface for the programming of programmable controllers
US6374402B1 (en)1998-11-162002-04-16Into Networks, Inc.Method and apparatus for installation abstraction in a secure content delivery system
US6381742B2 (en)1998-06-192002-04-30Microsoft CorporationSoftware package management
US6381743B1 (en)1999-03-312002-04-30Unisys Corp.Method and system for generating a hierarchial document type definition for data interchange among software tools
US20020057297A1 (en)2000-06-122002-05-16Tom GrimesPersonalized content management
US6393456B1 (en)1998-11-302002-05-21Microsoft CorporationSystem, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
US6396488B1 (en)1999-01-042002-05-28Corel Inc.System and method for determining a path in a graphical diagram
US20020070973A1 (en)1998-03-232002-06-13Croley James E.Method of entering, updating and display of related data on a single screen page
US6408311B1 (en)1999-06-302002-06-18Unisys Corp.Method for identifying UML objects in a repository with objects in XML content
US20020078074A1 (en)2000-05-302002-06-20Cho Charles J.Method and system for facilitating networked information exchange
US20020078103A1 (en)2000-12-202002-06-20Gorman William PhillipWizard development kit
JP2002183652A (en)2000-12-192002-06-28Nippon Yunishisu KkWork flow item slip forming system
US6414700B1 (en)1998-07-212002-07-02Silicon Graphics, Inc.System for accessing a large number of menu items using a zoned menu bar
US6421656B1 (en)1998-10-082002-07-16International Business Machines CorporationMethod and apparatus for creating structure indexes for a data base extender
US6425125B1 (en)1999-03-302002-07-23Microsoft CorporationSystem and method for upgrading client software
US20020100027A1 (en)2000-07-262002-07-25International Business Machines CorporationMethod of externalizing relational and ASN.1-formatted data into XML format
US6429885B1 (en)1998-10-302002-08-06Sony CorporationGUI resource editor for an embedded system
US6434563B1 (en)1999-01-212002-08-13Simple.Com, Inc.WWW browser configured to provide a windowed content manifestation environment
US6434564B2 (en)1997-08-222002-08-13Sap AktiengesellschaftBrowser for hierarchical structures
US20020112224A1 (en)2001-01-312002-08-15International Business Machines CorporationXML data loading
US6442755B1 (en)1998-07-072002-08-27United Video Properties, Inc.Electronic program guide using markup language
US6442563B1 (en)1998-04-302002-08-27EnterworksWorkflow management system, method, and medium that morphs work items
US6446110B1 (en)1999-04-052002-09-03International Business Machines CorporationMethod and apparatus for representing host datastream screen image information using markup languages
US6449617B1 (en)1999-06-152002-09-10Microsoft CorporationEdit command delegation program for editing electronic files
US20020129056A1 (en)2000-12-112002-09-12Conant Michael V.Method and apparatus for electronic negotiation of document content
US20020133484A1 (en)1999-12-022002-09-19International Business Machines CorporationStoring fragmented XML data into a relational database by decomposing XML documents with application specific mappings
US6457009B1 (en)1998-11-092002-09-24Denison W. BollayMethod of searching multiples internet resident databases using search fields in a generic form
US6460058B2 (en)1996-12-062002-10-01Microsoft CorporationObject-oriented framework for hyperlink navigation
US6463419B1 (en)2000-03-072002-10-08Chartering SolutionsInternet system for exchanging and organizing vessel transport information
US20020152222A1 (en)2000-11-152002-10-17Holbrook David M.Apparatus and method for organizing and-or presenting data
US20020152244A1 (en)2000-12-222002-10-17International Business Machines CorporationMethod and apparatus to dynamically create a customized user interface based on a document type definition
US6470349B1 (en)1999-03-112002-10-22Browz, Inc.Server-side scripting language and programming tool
US20020156929A1 (en)2001-04-232002-10-24International Business Machines CorporationXML-based system and method for collaborative web-based design and verification of system-on-a-chip
US20020156846A1 (en)2000-04-282002-10-24Jai RawatIntelligent client-side form filler
US6473800B1 (en)1998-07-152002-10-29Microsoft CorporationDeclarative permission requests in a computer system
US6476828B1 (en)1999-05-282002-11-05International Business Machines CorporationSystems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6477544B1 (en)1999-07-162002-11-05Microsoft CorporationSingle instance store for file systems
US6480860B1 (en)1999-02-112002-11-12International Business Machines CorporationTagged markup language interface with document type definition to access data in object oriented database
US20020174417A1 (en)2001-03-302002-11-21Michael SijacicDefining and creating custom data fields within process management software
US20020174147A1 (en)2000-05-192002-11-21Zhi WangSystem and method for transcoding information for an audio or limited display user interface
US6487566B1 (en)1998-10-052002-11-26International Business Machines CorporationTransforming documents using pattern matching and a replacement language
US6490601B1 (en)1999-01-152002-12-03Infospace, Inc.Server for enabling the automatic insertion of data into electronic forms on a user computer
US20020184219A1 (en)2001-05-312002-12-05International Business Machines CorporationSystem, method, and computer program product for reformatting non-XML data for use with internet based systems
US20020188613A1 (en)2001-06-072002-12-12Krishneadu ChakrabortyMethod and apparatus for runtime merging of hierarchical trees
US20020188597A1 (en)2000-09-012002-12-12Jonathan KernMethods and systems for linking tasks to workflow
US20020194219A1 (en)2001-04-172002-12-19Bradley George WesleyMethod and system for cross-platform form creation and deployment
US20020196288A1 (en)2000-02-022002-12-26Ramin EmraniMethod and apparatus for converting text files into hierarchical charts as a learning aid
US20020198891A1 (en)2001-06-142002-12-26International Business Machines CorporationMethods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US20020198935A1 (en)2001-06-252002-12-26Crandall Steven AllenMethods and systems for validating the fields of a form
US20020196281A1 (en)1999-08-172002-12-26Kevin Forbes AudlemanGenerating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US6502101B1 (en)2000-07-132002-12-31Microsoft CorporationConverting a hierarchical data structure into a flat data structure
US6502103B1 (en)1999-06-142002-12-31International Business Machines CorporationProviding composed containers and data objects to support multiple resources
US6501864B1 (en)1995-07-312002-12-31Fujitsu LimitedData medium handling apparatus and data medium handling method
US20030004951A1 (en)2000-02-042003-01-02Sandip ChokshiAutomated client-server data validation
US6505230B1 (en)1999-05-142003-01-07Pivia, Inc.Client-server independent intermediary mechanism
US6505300B2 (en)1998-06-122003-01-07Microsoft CorporationMethod and system for secure running of untrusted content
US20030007000A1 (en)2001-06-132003-01-09Worldcom, Inc.Method, system and program product for viewing and manipulating graphical objects representing hierarchically arranged elements of a modeled environment
US6507856B1 (en)1999-01-052003-01-14International Business Machines CorporationDynamic business process automation system using XML documents
US20030018668A1 (en)2001-07-202003-01-23International Business Machines CorporationEnhanced transcoding of structured documents through use of annotation techniques
US20030020746A1 (en)2001-01-312003-01-30Computer Associates Think, Inc.System and method for dynamically generating a web page
US20030023641A1 (en)2001-07-272003-01-30Gorman William PhillipWeb page authoring tool
US6516322B1 (en)2000-04-282003-02-04Microsoft CorporationXML-based representation of mobile process calculi
US20030026507A1 (en)2001-07-312003-02-06International Business Machines CorporationSorting images for improved data entry productivity
US20030025732A1 (en)2001-07-312003-02-06Prichard Scot D.Method and apparatus for providing customizable graphical user interface and screen layout
US6519617B1 (en)1999-04-082003-02-11International Business Machines CorporationAutomated creation of an XML dialect and dynamic generation of a corresponding DTD
US20030037303A1 (en)2001-08-032003-02-20Bodlaender Maarten PeterMethod of and system for updating a document
US20030046665A1 (en)2001-02-282003-03-06Thomas IlinReusable software component for textually supplementing, modifying, evaluating and processing procedural logic for a compiled host program at run-time
US20030043986A1 (en)2001-09-052003-03-06International Business Machines CorporationMethod and apparatus for calendar based call control
US20030048301A1 (en)2001-03-232003-03-13Menninger Anthony FrankSystem, method and computer program product for editing supplier site information in a supply chain management framework
US20030055828A1 (en)2001-03-292003-03-20Koch Kevin S.Methods for synchronizing on-line and off-line transcript projects
US20030056198A1 (en)2001-09-202003-03-20International Business Machines CorporationSQL debugging using XML dataflows
US20030061386A1 (en)2001-09-242003-03-27International Business Machines Corp.Method and system of use of transcode directives for distributed control of transcoding servers
US20030061567A1 (en)2001-09-052003-03-27International Business Machines CorporationApparatus and method for protecting entries in a form using access rights information
US6546546B1 (en)1999-05-192003-04-08International Business Machines CorporationIntegrating operating systems and run-time systems
USRE38070E1 (en)1995-06-292003-04-08Microsoft CorporationCryptography system and method for providing cryptographic services for a computer application
US6549922B1 (en)1999-10-012003-04-15Alok SrivastavaSystem for collecting, transforming and managing media metadata
US6549878B1 (en)1998-12-312003-04-15Microsoft CorporationSystem and method for editing a spreadsheet via an improved editing and cell selection model
US6549221B1 (en)1999-12-092003-04-15International Business Machines Corp.User interface management through branch isolation
US6553402B1 (en)1999-05-052003-04-22Nextpage, Inc.Method for coordinating activities and sharing information using a data definition language
US20030084424A1 (en)2001-07-262003-05-01Reddy Sreedhar SannareddyPattern-based comparison and merging of model versions
US6560620B1 (en)1999-08-032003-05-06Aplix Research, Inc.Hierarchical document comparison system and method
US6563514B1 (en)2000-04-132003-05-13Extensio Software, Inc.System and method for providing contextual and dynamic information retrieval
US6571253B1 (en)2000-04-282003-05-27International Business Machines CorporationHierarchical view of data binding between display elements that are organized in a hierarchical structure to a data store that is also organized in a hierarchical structure
US6578144B1 (en)1999-03-232003-06-10International Business Machines CorporationSecure hash-and-sign signatures
JP2003173288A (en)2001-12-062003-06-20Sharp Corp Organizer of download information by browser
US6584548B1 (en)1999-07-222003-06-24International Business Machines CorporationMethod and apparatus for invalidating data in a cache
US20030120671A1 (en)2001-12-212003-06-26Xmlcities, Inc.Extensible stylesheet designs in visual graphic environments
US20030120578A1 (en)2001-12-212003-06-26Peter NewmanSystem and methods for electronic securities underwriting and electronic dissemination of annual financial and disclosure information from issuers to information repositories in accordance with U.S. securities laws and regulations
US20030120651A1 (en)2001-12-202003-06-26Microsoft CorporationMethods and systems for model matching
US20030120659A1 (en)2000-03-202003-06-26Sridhar Mandayam AnandampillaiSystems for developing websites and methods therefor
US6585778B1 (en)1999-08-302003-07-01International Business Machines CorporationEnforcing data policy using style sheet processing
US20030126555A1 (en)2002-01-032003-07-03International Business Machines CorporationEnhanced attribute prompting in browser clients
US6589290B1 (en)1999-10-292003-07-08America Online, Inc.Method and apparatus for populating a form with data
US20030128196A1 (en)1999-05-252003-07-10Paul LapstunComputer system interface surface with reference points and sensor with identifier
US20030135825A1 (en)2001-12-052003-07-17Matthew GertnerDynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US6598219B1 (en)1998-11-302003-07-22International Business Machines CorporationMethod and mechanism for a task oriented XML data model
US20030140132A1 (en)2002-01-222003-07-24Yves-Andre ChampagneMethod and apparatus for updating network device configuration information in a network management system
US6603489B1 (en)2000-02-092003-08-05International Business Machines CorporationElectronic calendaring system that automatically predicts calendar entries based upon previous activities
US6604099B1 (en)2000-03-202003-08-05International Business Machines CorporationMajority schema in semi-structured data
US6606606B2 (en)1998-11-092003-08-12Onecore Financial Network, Inc.Systems and methods for performing integrated financial transaction
EP0961197B1 (en)1998-05-292003-08-13Hewlett-Packard Company, A Delaware CorporationA user interface mechanism for manipulating context in computer management applications
US6609200B2 (en)1996-12-202003-08-19Financial Services Technology ConsortiumMethod and system for processing electronic documents
US20030158897A1 (en)2000-05-092003-08-21Viryanet Ltd.Networked platform for creating and supporting communities
US6611843B1 (en)2000-10-262003-08-26Docent, Inc.Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom
US6611822B1 (en)1999-05-052003-08-26Ac Properties B.V.System method and article of manufacture for creating collaborative application sharing
US6611840B1 (en)2000-01-212003-08-26International Business Machines CorporationMethod and system for removing content entity object in a hierarchically structured content object stored in a database
US6613098B1 (en)1999-06-152003-09-02Microsoft CorporationStorage of application specific data in HTML
US6615276B1 (en)2000-02-092003-09-02International Business Machines CorporationMethod and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user
US20030167277A1 (en)2001-07-102003-09-04Anders HejlsbergApplication program interface for network software platform
US20030182268A1 (en)2002-03-182003-09-25International Business Machines CorporationMethod and system for storing and querying of markup based documents in a relational database
US20030182327A1 (en)2002-03-202003-09-25Srinivasan RamanujamSynchronizing data shared between two devices independent of any other devices that may also share the data
US6629109B1 (en)1999-03-052003-09-30Nec CorporationSystem and method of enabling file revision management of application software
US20030187756A1 (en)2001-12-272003-10-02Klivington Eva T.Electronic realty and transaction system and method therein
US20030187930A1 (en)2002-03-272003-10-02International Business Machines CorporationMessaging system and method with transcoder filtering of baseline message representations
US20030188260A1 (en)2002-03-262003-10-02Jensen Arthur DMethod and apparatus for creating and filing forms
US6631497B1 (en)1999-07-192003-10-07International Business Machines CorporationBinding data from data source to cells in a spreadsheet
US6631519B1 (en)2000-03-302003-10-07Microsoft CorporationAutomated schema and interface generation
US20030192008A1 (en)2000-09-162003-10-09Hong_Kyu LeeSystem and method for comprising manual function for managing a form
US20030189593A1 (en)2001-01-052003-10-09Yarvin Curtis G.Method and apparatus for dynamically updating a markup language based user interface
US6632251B1 (en)1996-07-032003-10-14Polydoc N.V.Document producing support system
US6635089B1 (en)1999-01-132003-10-21International Business Machines CorporationMethod for producing composite XML document object model trees using dynamic data retrievals
US20030204814A1 (en)1999-09-272003-10-30Sara EloSystem & method for creating, editing, an on-line publication
US20030204511A1 (en)2002-04-302003-10-30Microsoft CorporationSystem and method for viewing relational data using a hierarchical schema
US6643684B1 (en)1998-10-082003-11-04International Business Machines CorporationSender- specified delivery customization
US6643652B2 (en)2000-01-142003-11-04Saba Software, Inc.Method and apparatus for managing data exchange among systems in a network
US20030205615A1 (en)2002-05-022003-11-06International Business Machines CorporationSmart business card system
US20030212664A1 (en)2002-05-102003-11-13Martin BreiningQuerying markup language data sources using a relational query processor
US6651217B1 (en)1999-09-012003-11-18Microsoft CorporationSystem and method for populating forms with previously used data values
US6654932B1 (en)1999-08-032003-11-25International Business Machines CorporationValidating data within container objects handled by view controllers
US6654737B1 (en)2000-05-232003-11-25Centor Software Corp.Hypertext-based database architecture
US6658417B1 (en)1997-12-312003-12-02International Business Machines CorporationTerm-based methods and apparatus for access to files on shared storage devices
US6658622B1 (en)1998-12-142003-12-02International Business Machines CorporationSelf-diagnosing and self-correcting data entry components with dependency behavior
US20030225829A1 (en)2002-05-222003-12-04Sony CorporationSystem and method for platform and language-independent development and delivery of page-based content
US20030225768A1 (en)2002-06-032003-12-04Microsoft CorporationWorkload analysis tool for relational databases
US20030226132A1 (en)2001-05-112003-12-04David TondreauMethod and system for transforming legacy software applications into modern object-oriented systems
US20030226111A1 (en)2002-06-032003-12-04Steve WirtsApplication development acceleration employing declarative user interfaces
US20030225469A1 (en)2002-04-152003-12-04Deremer Robert A.Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with unified messaging interface
US20030233644A1 (en)2002-06-172003-12-18Microsoft CorporationSystem and method for manipulating offline software
US20030233374A1 (en)2002-03-142003-12-18Ulrich SpinolaDynamic workflow process
US6668369B1 (en)1999-12-292003-12-23International Business Machines CorporationSoftware debugging tool for displaying dynamically written software code
US20030236859A1 (en)2002-06-192003-12-25Alexander VaschilloSystem and method providing API interface between XML and SQL while interacting with a managed object environment
US20030237047A1 (en)2002-06-182003-12-25Microsoft CorporationComparing hierarchically-structured documents
US20030237046A1 (en)2002-06-122003-12-25Parker Charles W.Transformation stylesheet editor
US20040003353A1 (en)2002-05-142004-01-01Joey RiveraWorkflow integration system for automatic real time data management
US20040002939A1 (en)2002-06-282004-01-01Microsoft CorporationSchemaless dataflow within an XML storage solution
US20040003389A1 (en)2002-06-052004-01-01Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US20040003031A1 (en)2002-06-262004-01-01International Business Machines CorporationRunning dynamic web pages off-line with a wizard
US6675202B1 (en)2000-05-302004-01-06Cary D. PerttunenMethods, articles and apparatus for providing a browsing session
US20040010752A1 (en)2002-07-092004-01-15Lucent Technologies Inc.System and method for filtering XML documents with XPath expressions
US20040024842A1 (en)2002-07-312004-02-05Sap AktiengesellschaftValidation framework for validating markup page input on a client computer
US6691281B1 (en)1999-06-152004-02-10Microsoft CorporationPublishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6691230B1 (en)1998-10-152004-02-10International Business Machines CorporationMethod and system for extending Java applets sand box with public client storage
US20040030991A1 (en)2002-04-222004-02-12Paul HepworthSystems and methods for facilitating automatic completion of an electronic form
US6697944B1 (en)1999-10-012004-02-24Microsoft CorporationDigital content distribution, transmission and protection system and method, and portable device for use therewith
US20040039990A1 (en)2002-03-302004-02-26Xorbix Technologies, Inc.Automated form and data analysis tool
US6701486B1 (en)1999-07-292004-03-02Grischa CorporationMethod, apparatus, and computer program product for automatic page suppression in forms
US6701434B1 (en)1999-05-072004-03-02International Business Machines CorporationEfficient hybrid public key signature scheme
US20040044965A1 (en)2002-04-302004-03-04Haruhiko ToyamaStructured document edit apparatus, structured document edit method, and program product
US20040044961A1 (en)2002-08-282004-03-04Leonid PesensonMethod and system for transformation of an extensible markup language document
US6704906B1 (en)1999-03-272004-03-09Movaris, Inc.Self-directed routable electronic form system and method
US6711679B1 (en)1999-03-312004-03-23International Business Machines CorporationPublic key infrastructure delegation
US20040059754A1 (en)2002-07-132004-03-25Lauren BarghoutPerceptual information processing system
US6720985B1 (en)1999-09-172004-04-13Silverbrook Research Pty LtdMethod and system for object selection
US20040073565A1 (en)2000-10-312004-04-15Kaufman Michael PhilipSystem and method for generating automatic user interface for arbitrarily complex or large databases
US20040073868A1 (en)2002-08-272004-04-15Clark EasterMethod and system for compliance forms and compliance forms user interface
US6725426B1 (en)2000-03-172004-04-20Broadvision, Inc.Mechanism for translating between word processing documents and XML documents
US20040078756A1 (en)2002-10-152004-04-22Napper Jonathon LeighMethod of improving recognition accuracy in form-based data entry systems
US6728755B1 (en)2000-09-262004-04-27Hewlett-Packard Development Company, L.P.Dynamic user profiling for usability
US20040083426A1 (en)2002-10-252004-04-29Smita SahuSystem and method for generating pre-populated forms
US20040088647A1 (en)2002-11-062004-05-06Miller Adrian S.Web-based XML document processing system
US6735721B1 (en)2000-06-212004-05-11Bellsouth Intellectual Property CorporationSystem and method for message handling
US20040093596A1 (en)2002-10-312004-05-13Canon Kabushiki KaishaInformation processing apparatus having a capability of halting a printing process for off-line processing, and method and program for controlling printing process including halting the printing process for off-ling processing
US20040107367A1 (en)2001-02-092004-06-03Friedrich KistersMethod, arrangement and secure medium for authentication of a user
US6748385B1 (en)1998-02-102004-06-08National Broadcasting Company, Inc.Dynamic insertion and updating of hypertext links for internet servers
US6751777B2 (en)1998-10-192004-06-15International Business Machines CorporationMulti-target links for navigating between hypertext documents and the like
US20040117769A1 (en)2002-12-162004-06-17International Business Machines CorporationVisual debugger for stylesheets
US6754874B1 (en)2002-05-312004-06-22Deloitte Development LlcComputer-aided system and method for evaluating employees
US20040123277A1 (en)2002-12-182004-06-24Schrader Stuart LyleMethod, system and computer product for parsing binary data
US6757868B1 (en)1998-06-222004-06-29International Business Machines CorporationProgrammatic switching of arbitrary HTML forms
US6760723B2 (en)2000-01-312004-07-06Commvault Systems Inc.Storage management across multiple time zones
US6763343B1 (en)1999-09-202004-07-13David M. BrookePreventing duplication of the data in reference resource for XML page generation
US20040146199A1 (en)2003-01-292004-07-29Kathrin BerknerReformatting documents using document analysis information
US6772139B1 (en)1998-10-052004-08-03Smith, Iii Julius O.Method and apparatus for facilitating use of hypertext links on the world wide web
US6772165B2 (en)2000-05-162004-08-03O'carroll GarrettElectronic document processing system and method for merging source documents on a node-by-node basis to generate a target document
US6774926B1 (en)1999-09-032004-08-10United Video Properties, Inc.Personal television channel system
US6779154B1 (en)2000-02-012004-08-17Cisco Technology, Inc.Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US20040163041A1 (en)2003-02-132004-08-19Paterra, Inc.Relational database structures for structured documents
US6782144B2 (en)2001-03-122004-08-24Multiscan Corp.Document scanner, system and method
US6781609B1 (en)2000-05-092004-08-24International Business Machines CorporationTechnique for flexible inclusion of information items and various media types in a user interface
US20040172442A1 (en)2001-06-272004-09-02Ripley John R.System and Method for Sharing Data Between Hierarchical Databases
US6799299B1 (en)1999-09-232004-09-28International Business Machines CorporationMethod and apparatus for creating stylesheets in a data processing system
US20040189716A1 (en)2003-03-242004-09-30Microsoft Corp.System and method for designing electronic forms and hierarchical schemas
US20040188762A1 (en)2003-03-242004-09-30Yasuhiro ShimamotoSemiconductor device and manufacturing method thereof
US20040194035A1 (en)2003-03-312004-09-30Amit ChakrabortySystems and methods for automatic form segmentation for raster-based passive electronic documents
US6801929B1 (en)1998-09-012004-10-05Bigfix, Inc.Relevance clause for computed relevance messaging
US20040205525A1 (en)2001-04-302004-10-14Murren Brian T.Automatic identification of form contents
US20040205671A1 (en)2000-09-132004-10-14Tatsuya SukehiroNatural-language processing system
US20040205534A1 (en)2000-05-162004-10-14Koelle Steven K.System and method for providing access to forms and maintaining the data used to complete the forms
US20040205605A1 (en)2002-03-122004-10-14International Business Machines CorporationMethod and system for stylesheet rule creation, combination, and removal
US20040205592A1 (en)2001-08-232004-10-14Xmlcities, Inc.Method and apparatus for extensible stylesheet designs
US20040205653A1 (en)2001-12-172004-10-14Workshare Technology, Ltd.Method and system for document collaboration
US20040205571A1 (en)2002-03-122004-10-14International Business Machines CorporationMethod and system for stylesheet-centric editing
US20040205473A1 (en)2000-01-272004-10-14Gwyn FisherMethod and system for implementing an enterprise information portal
US20040210599A1 (en)1999-07-262004-10-21Microsoft CorporationMethods and apparatus for parsing extensible markup language (XML) data streams
US20040221238A1 (en)2000-06-132004-11-04Chris CifraAutomatic generation of programs with GUI controls for interactively setting or viewing values
US20040221245A1 (en)2000-12-272004-11-04Justin ChicklesGraphical user interface including palette windows with an improved navigation interface
US6816849B1 (en)1998-05-262004-11-09Gerald B. Halt, Jr.Advanced internet interface
US20040237030A1 (en)2003-05-192004-11-25Malkin Wayne AllanSystem and method of implementing calculation fields in an electronic form
US20040268229A1 (en)2003-06-272004-12-30Microsoft CorporationMarkup language editing with an electronic form
US20050005248A1 (en)2000-06-212005-01-06Microsoft CorporationTask-sensitive methods and systems for displaying command sets
US20050004893A1 (en)2003-07-022005-01-06Sangroniz James M.Workflow management devices and systems, and workflow assignment and management methods
US6845499B2 (en)2001-01-312005-01-18I2 Technologies Us, Inc.System and method for developing software applications using an extended XML-based framework
US6845380B2 (en)2002-03-042005-01-18Hewlett-Packard Development Company, L.P.Method and system of valuing transformation between extensible markup language (XML) documents
US20050015732A1 (en)2000-09-142005-01-20Microsoft CorporationMapping tool graphical user interface
US20050015279A1 (en)2003-05-212005-01-20Rucker Donald W.Service order system and user interface for use in healthcare and other fields
US6847387B2 (en)1997-01-212005-01-25International Business Machines CorporationMenu management mechanism that displays menu items based on multiple heuristic factors
US6848078B1 (en)1998-11-302005-01-25International Business Machines CorporationComparison of hierarchical structures and merging of differences
US20050022115A1 (en)2001-05-312005-01-27Roberts BaumgartnerVisual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
US20050027757A1 (en)2002-12-192005-02-03Rick KiessigSystem and method for managing versions
US20050033728A1 (en)2000-06-212005-02-10Microsoft CorporationMethods, systems, architectures and data structures for delivering software via a network
US20050038711A1 (en)2003-08-132005-02-17Merwin MarleloMethod for advertising for sale classroom materials and services
US20050055627A1 (en)1997-03-072005-03-10Signaturemail.Com, LlcSystem and method for personalizing electronic mail messages
US20050060324A1 (en)2002-11-132005-03-17Jerry JohnsonSystem and method for creation and maintenance of a rich content or content-centric electronic catalog
US6871220B1 (en)1998-10-282005-03-22Yodlee, Inc.System and method for distributed storage and retrieval of personal information
US20050065933A1 (en)2003-09-222005-03-24Thomas GoeringSystem and method for customizing form elements in a form building application
US20050065936A1 (en)2003-09-222005-03-24Thomas GoeringSystem and method for reusing form elements in a form building application
US20050066287A1 (en)2003-09-112005-03-24Tattrie Scott I.User-friendly data binding, such as drag-and-drop data binding in a workflow application
US6874130B1 (en)2000-02-172005-03-29International Business Machines CorporationCopy/move graphical user interface apparatus and method
US20050071752A1 (en)2003-09-242005-03-31Marlatt Jane E.Forms management system
US20050076049A1 (en)2003-10-022005-04-07Marwan QubtiBusiness workflow database and user system
US20050091305A1 (en)1998-10-232005-04-28General MagicNetwork system extensible by users
US20050091285A1 (en)2003-10-232005-04-28Krishnan Prasanna V.Promotion and demotion techniques to facilitate file property management between object systems
US6889359B1 (en)1999-10-072005-05-03International Business Machines CorporationMethod for providing a visual representation of dynamic HTML table attributes
US20050102612A1 (en)2003-11-062005-05-12International Business Machines CorporationWeb-enabled XML editor
US20050102370A1 (en)2003-10-232005-05-12Yun LinTruth on client persistent caching
US20050108104A1 (en)2003-11-142005-05-19Katherine WooIntegrating third party shopping cart applications with an online payment service
US20050108624A1 (en)2003-11-132005-05-19International Business Machines CorporationLightweight form pattern validation
US6901403B1 (en)2000-03-022005-05-31Quovadx, Inc.XML presentation of general-purpose data sources
US20050138086A1 (en)2003-12-232005-06-23Sap AktiengesellschaftCross-system update method and system
US6915454B1 (en)2001-06-122005-07-05Microsoft CorporationWeb controls validation
US20050171746A1 (en)1995-01-172005-08-04Intertech Ventures, Ltd.Network models of complex systems
US6931532B1 (en)1999-10-212005-08-16International Business Machines CorporationSelective data encryption using style sheet processing
US6941511B1 (en)2000-08-312005-09-06International Business Machines CorporationHigh-performance extensible document transformation
US6941521B2 (en)2002-03-292005-09-06Intel CorporationMethod for dynamically generating a user interface from XML-based documents
US6941510B1 (en)2000-06-062005-09-06Groove Networks, Inc.Method and apparatus for efficient management of XML documents
US20050198125A1 (en)2004-01-262005-09-08Macleod Beck Christopher C.Methods and system for creating and managing identity oriented networked communication
US20050198247A1 (en)2000-07-112005-09-08Ciena CorporationGranular management of network resources
US6948135B1 (en)2000-06-212005-09-20Microsoft CorporationMethod and systems of providing information to computer users
US6948133B2 (en)2001-03-232005-09-20Siemens Medical Solutions Health Services CorporationSystem for dynamically configuring a user interface display
US6950980B1 (en)2000-05-312005-09-27International Business Machines CorporationSystem, method, and program product for saving a submitted form of a web page
US20050223320A1 (en)1996-09-092005-10-06Microsoft CorporationAutomatic layout of content in a design for a medium
US20050223063A1 (en)2004-03-312005-10-06Bay-Wei ChangQuick reply form
US20050240876A1 (en)2001-10-312005-10-27Qcorps Residential, Inc.System and method for generating XSL transformation documents
US6961897B1 (en)1999-06-142005-11-01Lockheed Martin CorporationSystem and method for interactive electronic media extraction for web page generation
US6968505B2 (en)2001-04-272005-11-22International Business Machines CorporationUse of conceptual diagrams to support relationships between launchpads and its wizards
US6968503B1 (en)2000-03-092005-11-22Quovadx, Inc.XML user interface for a workflow server
US20050268222A1 (en)2004-05-262005-12-01Cheng Kai MMethod of creating, processing and storing HTML documents
US20060020586A1 (en)2000-03-032006-01-26Michel PromptSystem and method for providing access to databases via directories and other hierarchical structures and interfaces
US6993714B2 (en)2002-10-032006-01-31Microsoft CorporationGrouping and nesting hierarchical namespaces
US6996776B1 (en)2000-05-162006-02-07International Business Machines CorporationMethod and system for SGML-to-HTML migration to XML-based system
US20060031757A9 (en)2003-06-112006-02-09Vincent Winchel T IiiSystem for creating and editing mark up language forms and documents
US20060036995A1 (en)2000-12-272006-02-16Justin ChicklesSearch window for adding program elements to a program
US7003722B2 (en)2003-02-282006-02-21Microsoft CorporationMethod and system for converting a schema-based hierarchical data structure into a flat data structure
US20060041838A1 (en)2004-08-232006-02-23Sun Microsystems, Inc.System and method for automatically generating XML schema for validating XML input documents
US20060059434A1 (en)2004-09-162006-03-16International Business Machines CorporationSystem and method to capture and manage input values for automatic form fill
US20060069605A1 (en)2004-09-292006-03-30Microsoft CorporationWorkflow association in a collaborative application
US7024417B1 (en)2002-11-142006-04-04Hyperion Solutions CorporationData mining framework using a signature associated with an algorithm
US7032170B2 (en)2002-06-032006-04-18General Electric CompanyCreating data structures from a form file and creating a web page in conjunction with corresponding data structures
US20060085409A1 (en)2000-06-282006-04-20Microsoft CorporationMethod and apparatus for information transformation and exchange in a relational database environment
US7036072B1 (en)2001-12-182006-04-25Jgr Acquisition, Inc.Method and apparatus for declarative updating of self-describing, structured documents
US7039875B2 (en)2000-11-302006-05-02Lucent Technologies Inc.Computer user interfaces that are generated as needed
US20060101037A1 (en)2004-11-112006-05-11Microsoft CorporationApplication programming interface for text mining and search
US7051273B1 (en)1990-11-302006-05-23Microsoft CorporationCustomizing forms in an electronic mail system utilizing custom field behaviors and user defined operations
US7058663B2 (en)2001-03-132006-06-06Koninklijke Philips Electronics, N.V.Automatic data update
US7065493B1 (en)2000-04-062006-06-20International Business Machines CorporationWorkflow system and method
US20060143220A1 (en)2003-12-312006-06-29Spencer Herman JrSoftware application framework using meta-data defined object definitions
US7080325B2 (en)2002-02-222006-07-18Call-Tell LlcGraphical device for comprehensive viewing and input of variable data via a browser-based display
US7086009B2 (en)2001-06-222006-08-01Invensys Systems, Inc.Customizable system for creating supervisory process control and manufacturing information applications
US7088374B2 (en)2003-03-272006-08-08Microsoft CorporationSystem and method for managing visual structure, timing, and animation in a graphics processing system
US7100147B2 (en)2001-06-282006-08-29International Business Machines CorporationMethod, system, and program for generating a workflow
US7103611B2 (en)2003-05-012006-09-05Oracle International CorporationTechniques for retaining hierarchical information in mapping between XML documents and relational data
US7107521B2 (en)2001-07-032006-09-12International Business Machines CorporationXSL dynamic inheritance
US7106888B1 (en)1999-05-252006-09-12Silverbrook Research Pty LtdSignature capture via interface surface
US7107282B1 (en)2002-05-102006-09-12Oracle International CorporationManaging XPath expressions in a database system
US7152205B2 (en)2000-12-182006-12-19Siemens Corporate Research, Inc.System for multimedia document and file processing and format conversion
US7168035B1 (en)2003-06-112007-01-23Microsoft CorporationBuilding a view on markup language data through a set of components
US20070036433A1 (en)2005-08-152007-02-15Microsoft CorporationRecognizing data conforming to a rule
US20070050719A1 (en)1999-05-072007-03-01Philip LuiSystem and method for dynamic assistance in software applications using behavior and host application models
US7190376B1 (en)1999-03-162007-03-13Canon Kabushiki KaishaMethod of compiling compositing expressions for optimised rendering
US7191394B1 (en)2000-06-212007-03-13Microsoft CorporationAuthoring arbitrary XML documents using DHTML and XSLT
US20070061467A1 (en)2005-09-152007-03-15Microsoft CorporationSessions and session states
US20070061706A1 (en)2005-09-142007-03-15Microsoft CorporationMapping property hierarchies to schemas
US7236982B2 (en)2003-09-152007-06-26Pic Web Services, Inc.Computer systems and methods for platform independent presentation design
EP1076290B1 (en)1999-08-102007-08-01Sun Microsystems, Inc.Method for on-demand network application download and execution
US20070208606A1 (en)2000-04-072007-09-06Jpmorgan Chase Bank, N.A.Workflow management system and method
US7272789B2 (en)2002-11-182007-09-18Typefi Systems Pty. Ltd.Method of formatting documents
US7313758B2 (en)2002-04-242007-12-25Canon Kabushiki KaishaMarkup-language document formatting in memory-constrained environment
US7316003B1 (en)2002-12-182008-01-01Oracle International Corp.System and method for developing a dynamic web page
US7318237B2 (en)1998-10-282008-01-08Bea Systems, Inc.System and method for maintaining security in a distributed computer network
US7334178B1 (en)2005-09-092008-02-19Xsigo SystemsRandomized self-checking test system
US7350141B2 (en)2000-06-212008-03-25Microsoft CorporationUser interface for integrated spreadsheets and word processing tables

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US533424A (en)*1895-02-05Grease-separator
DE4013462A1 (en)*1990-04-271991-11-07Heidelberger Druckmasch Ag DEVICE FOR LACQUERING PRINTED SHEETS ON PRINTING MACHINES
WO1999046853A1 (en)1998-03-131999-09-16Matsushita Electric Industrial Co., Ltd.Amplifying circuit and optical receiver comprising the same
US6560616B1 (en)*1999-03-262003-05-06Microsoft CorporationRobust modification of persistent objects while preserving formatting and other attributes
US7010580B1 (en)*1999-10-082006-03-07Agile Software Corp.Method and apparatus for exchanging data in a platform independent manner
US7519905B2 (en)*1999-10-122009-04-14Webmd Corp.Automatic formatting and validating of text for a markup language graphical user interface
US6853997B2 (en)*2000-06-292005-02-08Infoglide CorporationSystem and method for sharing, mapping, transforming data between relational and hierarchical databases
US20020032692A1 (en)*2000-09-082002-03-14Atsuhito SuzukiWorkflow management method and workflow management system of controlling workflow process
US6850939B2 (en)*2000-11-302005-02-01ProjectvillageSystem and method for providing selective data access and workflow in a network environment
US7120699B2 (en)*2001-09-202006-10-10Ricoh Company, Ltd.Document controlled workflow systems and methods
US8381091B2 (en)*2002-09-162013-02-19International Business Machines CorporationReal-time method, system and program product for collecting web form data

Patent Citations (574)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4201978A (en)1978-10-191980-05-06NCR Canada Ltd. -- NCR Canada LteeDocument processing system
US4514800A (en)1981-05-221985-04-30Data General CorporationDigital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets
US4498147A (en)1982-11-181985-02-05International Business Machines CorporationMethodology for transforming a first editable document form prepared with a batch text processing system to a second editable document form usable by an interactive or batch text processing system
US4641274A (en)1982-12-031987-02-03International Business Machines CorporationMethod for communicating changes made to text form a text processor to a remote host
US4564752A (en)1982-12-231986-01-14Ncr Canada LtdConcurrent, image-based, reject-re-entry system and method
US4723211A (en)1984-08-301988-02-02International Business Machines Corp.Editing of a superblock data structure
US4739477A (en)1984-08-301988-04-19International Business Machines Corp.Implicit creation of a superblock data structure
US4962475A (en)1984-12-261990-10-09International Business Machines CorporationMethod for generating a document utilizing a plurality of windows associated with different data objects
US4674040A (en)1984-12-261987-06-16International Business Machines CorporationMerging of documents
US4815029A (en)1985-09-231989-03-21International Business Machines Corp.In-line dynamic editor for mixed object documents
US5182709A (en)1986-03-311993-01-26Wang Laboratories, Inc.System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure
US5249275A (en)1986-04-211993-09-28Texas Instruments IncorporatedApparatus and method enabling a compiled program to exactly recreate its source code
US4847749A (en)1986-06-131989-07-11International Business Machines CorporationJob interrupt at predetermined boundary for enhanced recovery
JPS6385960U (en)1986-11-261988-06-04
US5072412A (en)1987-03-251991-12-10Xerox CorporationUser interface with multiple workspaces for sharing display system objects
US5497489A (en)1987-05-051996-03-05Menne; David M.Data storage and retrieval systems having labelling for data
US4910663A (en)1987-07-101990-03-20Tandem Computers IncorporatedSystem for measuring program execution by replacing an executable instruction with interrupt causing instruction
US5206951A (en)1987-08-211993-04-27Wang Laboratories, Inc.Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5369778A (en)1987-08-211994-11-29Wang Laboratories, Inc.Data processor that customizes program behavior by using a resource retrieval capability
US5179703A (en)1987-11-171993-01-12International Business Machines CorporationDynamically adaptive environment for computer programs
US5025484A (en)1987-12-111991-06-18Kabushiki Kaisha ToshibaCharacter reader device
US4933880A (en)1988-06-151990-06-12International Business Machines Corp.Method for dynamically processing non-text components in compound documents
US6195661B1 (en)1988-07-152001-02-27International Business Machines Corp.Method for locating application records in an interactive-services database
US5195183A (en)1989-01-311993-03-16Norand CorporationData communication system with communicating and recharging docking apparatus for hand-held data terminal
US5313646A (en)1989-02-241994-05-17Sun Microsystems, Inc.Method and apparatus for translucent file system
US5339423A (en)1989-06-161994-08-16International Business Machines CorporationSystem for accessing objects external to an application using tables containing path definitions
US5297283A (en)1989-06-291994-03-22Digital Equipment CorporationObject transferring system and method in an object based computer operating system
US5551035A (en)1989-06-301996-08-27Lucent Technologies Inc.Method and apparatus for inter-object communication in an object-oriented program controlled system
US5228100A (en)1989-07-101993-07-13Hitachi, Ltd.Method and system for producing from document image a form display with blank fields and a program to input data to the blank fields
US5410688A (en)1989-07-211995-04-25Hewlett-Packard CompanyDistributed object based systems for communicating object data among different storage domains
US5381547A (en)1989-11-291995-01-10Siemens AktiengesellschaftMethod for dynamically linking definable program elements of an interactive data processing system
US5333317A (en)1989-12-221994-07-26Bull Hn Information Systems Inc.Name resolution in a directory database
US5222160A (en)1989-12-281993-06-22Fujitsu LimitedDocument revising system for use with document reading and translating system
US5218672A (en)1990-01-191993-06-08Sony Corporation Of AmericaOffline editing system with user interface for controlling edit list generation
US5440744A (en)1990-08-141995-08-08Digital Equipment CorporationMethods and apparatus for implementing server functions in a distributed heterogeneous environment
US5341478A (en)1990-08-141994-08-23Digital Equipment CorporationMethods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US5317686A (en)1990-09-101994-05-31Lotus Development CorporationData processing apparatus and method for a reformattable multidimensional spreadsheet
US5237680A (en)1990-09-271993-08-17Sun Microsystems, Inc.Method for incremental rename propagation between hierarchical file name spaces
US5297249A (en)1990-10-311994-03-22International Business Machines CorporationHypermedia link marker abstract and search services
US5204947A (en)1990-10-311993-04-20International Business Machines CorporationApplication independent (open) hypermedia enablement services
US5745712A (en)1990-10-311998-04-28Borland International, Inc.Graphical programming system and methods for assisting a user with creating screen objects on a screen device
US7051273B1 (en)1990-11-302006-05-23Microsoft CorporationCustomizing forms in an electronic mail system utilizing custom field behaviors and user defined operations
US5379419A (en)1990-12-071995-01-03Digital Equipment CorporationMethods and apparatus for accesssing non-relational data files using relational queries
US5410646A (en)1991-01-311995-04-25Park City Group, Inc.System and method for creating, processing, and storing forms electronically
US5191645A (en)1991-02-281993-03-02Sony Corporation Of AmericaDigital signal processing system employing icon displays
US5187786A (en)1991-04-051993-02-16Sun Microsystems, Inc.Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
US5339424A (en)1991-04-191994-08-16Mitsubishi Denki Kabushiki KaishaSystem and method for compiling and executing a computer program written in more than one programming language
US5517655A (en)1991-04-261996-05-14Hewlett-Packard CompanyMethod for monitoring transactions in an object-oriented environment
US5274803A (en)1991-04-261993-12-28Sun Microsystems, Inc.Method and apparatus for aligning a restored parent environment to its child environments with minimal data loss
US5313631A (en)1991-05-211994-05-17Hewlett-Packard CompanyDual threshold system for immediate or delayed scheduled migration of computer data files
US5481722A (en)1991-08-191996-01-02Sun Microsystems, Inc.Method and apparatus for merging change control delta structure files of a source module from a parent and a child development environment
US5377323A (en)1991-09-131994-12-27Sun Microsytems, Inc.Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5717939A (en)1991-11-181998-02-10Compaq Computer CorporationMethod and apparatus for entering and manipulating spreadsheet cell data
US5640544A (en)1991-12-281997-06-17Nec CorporationComputer network having an asynchronous document data management system
US5371675A (en)1992-06-031994-12-06Lotus Development CorporationSpreadsheet program which implements alternative range references
US5664178A (en)1992-07-061997-09-02Microsoft CorporationMethod and system for organizing internal structure of a file
US5842018A (en)1992-07-061998-11-24Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
US5581760A (en)1992-07-061996-12-03Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
US5682536A (en)1992-07-061997-10-28Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
US5689703A (en)1992-07-061997-11-18Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
US5740439A (en)1992-07-061998-04-14Microsoft CorporationMethod and system for referring to and binding to objects using identifier objects
JP3191429B2 (en)1992-09-022001-07-23富士通テン株式会社 Electronic device insertion / ejection device
US5434975A (en)1992-09-241995-07-18At&T Corp.System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
US5438659A (en)1992-10-081995-08-01Hewlett-Packard CompanyObject-action user interface management system
US5748807A (en)1992-10-091998-05-05Panasonic Technologies, Inc.Method and means for enhancing optical character recognition of printed documents
US5412772A (en)1992-10-131995-05-02Novell, Inc.System for permitting a view of an object or a user interface to be exchanged between operating system environments
US5396623A (en)1992-10-301995-03-07Bmc Software Inc.Method for editing the contents of a DB2 table using an editproc manager
US5581686A (en)1992-12-011996-12-03Microsoft CorporationMethod and system for in-place interaction with contained objects
US5801701A (en)1992-12-011998-09-01Microsoft CorporationMethod and system for in-place interaction with contained objects
US5550976A (en)1992-12-081996-08-27Sun Hydraulics CorporationDecentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5455875A (en)1992-12-151995-10-03International Business Machines CorporationSystem and method for correction of optical character recognition with display of image segments according to character data
US5390325A (en)1992-12-231995-02-14Taligent, Inc.Automated testing system
US5572648A (en)1993-01-191996-11-05Canon Kabushiki KaishaSystem for simultaneously displaying a static tool palette having predefined windowing tool functions and a dynamic tool palette which changes windowing tool functons in accordance with a context of an executed application program
US5535389A (en)1993-01-261996-07-09International Business Machines CorporationBusiness process objects with associated attributes such as version identifier
US5602996A (en)1993-01-271997-02-11Apple Computer, Inc.Method and apparatus for determining window order when one of multiple displayed windows is selected
US6035309A (en)1993-02-092000-03-07International Business Machines CorporationSystem and method for editing and viewing a very wide flat file
US5446842A (en)1993-02-261995-08-29Taligent, Inc.Object-oriented collaboration system
US5764984A (en)1993-02-261998-06-09International Business Machines CorporationSystem for multiple co-existing operating system personalities on a microkernel
US5436637A (en)1993-03-051995-07-25Borland International, Inc.Graphical user interface system and methods for improved user feedback
US6005570A (en)1993-03-051999-12-21Inprise CorporationGraphical user interface system and methods for improved user feedback
US5608720A (en)1993-03-091997-03-04Hubbell IncorporatedControl system and operations system interface for a network element in an access system
US5369766A (en)1993-03-251994-11-29Taligent, Inc.Object-oriented loader system with support for different load formats
US5459865A (en)1993-04-051995-10-17Taligent Inc.Runtime loader
US5408665A (en)1993-04-301995-04-18Borland International, Inc.System and methods for linking compiled code with extended dictionary support
US5669005A (en)1993-05-101997-09-16Apple Computer, Inc.System for automatically embedding or incorporating contents added to a document
US5542070A (en)1993-05-201996-07-30Ag Communication Systems CorporationMethod for rapid development of software systems
US5649099A (en)1993-06-041997-07-15Xerox CorporationMethod for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5577252A (en)1993-07-281996-11-19Sun Microsystems, Inc.Methods and apparatus for implementing secure name servers in an object-oriented system
US5555325A (en)1993-10-221996-09-10Lockheed Martin Federal Systems, Inc.Data capture variable priority method and system for managing varying processing capacities
US6389434B1 (en)1993-11-192002-05-14Aurigin Systems, Inc.System, method, and computer program product for creating subnotes linked to portions of data objects after entering an annotation mode
US5806079A (en)1993-11-191998-09-08Smartpatents, Inc.System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US5798757A (en)1993-12-151998-08-25Borland International, Inc.Methods and interface for building command expressions in a computer system
US5845090A (en)1994-02-141998-12-01Platinium Technology, Inc.System for software distribution in a digital computer network
US5668966A (en)1994-02-151997-09-16International Business Machines CorporationSystem and method for direct manipulation of search predicates using a graphical user interface
US5704029A (en)1994-05-231997-12-30Wright Strategies, Inc.System and method for completing an electronic form
US5504898A (en)1994-06-201996-04-02Candle Distributed Solutions, Inc.Threaded environment for AS/400
US5627979A (en)1994-07-181997-05-06International Business Machines CorporationSystem and method for providing a graphical user interface for mapping and accessing objects in data stores
US5838906A (en)1994-10-171998-11-17The Regents Of The University Of CaliforniaDistributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5862372A (en)1994-11-161999-01-19Morris; Robert M.Visually oriented computer implemented application development system utilizing standardized objects and multiple views
US5630126A (en)1994-12-131997-05-13International Business Machines Corp.Systems and methods for integrating computations into compound documents
US5764985A (en)1994-12-131998-06-09Microsoft CorpNotification mechanism for coordinating software extensions
US5625783A (en)1994-12-131997-04-29Microsoft CorporationAutomated system and method for dynamic menu construction in a graphical user interface
US5815830A (en)1994-12-231998-09-29Anthony; Andre CharlesAutomatic generation of hypertext links to multimedia topic objects
US20050171746A1 (en)1995-01-172005-08-04Intertech Ventures, Ltd.Network models of complex systems
US6367013B1 (en)1995-01-172002-04-02Eoriginal Inc.System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US5706501A (en)1995-02-231998-01-06Fuji Xerox Co., Ltd.Apparatus and method for managing resources in a network combining operations with name resolution functions
US5907704A (en)1995-04-031999-05-25Quark, Inc.Hierarchical encapsulation of instantiated objects in a multimedia authoring system including internet accessible objects
US5929858A (en)1995-04-041999-07-27Fujitsu LimitedDevice for aiding analysis of infeasible solution and unbounded solution
US5758184A (en)1995-04-241998-05-26Microsoft CorporationSystem for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5634121A (en)1995-05-301997-05-27Lockheed Martin CorporationSystem for identifying and linking domain information using a parsing process to identify keywords and phrases
US5689667A (en)1995-06-061997-11-18Silicon Graphics, Inc.Methods and system of controlling menus with radial and linear portions
US5778402A (en)1995-06-071998-07-07Microsoft CorporationMethod and system for auto-formatting a document using an event-based rule engine to format a document as the user types
USRE38070E1 (en)1995-06-292003-04-08Microsoft CorporationCryptography system and method for providing cryptographic services for a computer application
US5745683A (en)1995-07-051998-04-28Sun Microsystems, Inc.System and method for allowing disparate naming service providers to dynamically join a naming federation
US6016520A (en)1995-07-142000-01-18Microsoft CorporationMethod of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US6501864B1 (en)1995-07-312002-12-31Fujitsu LimitedData medium handling apparatus and data medium handling method
US5644738A (en)1995-09-131997-07-01Hewlett-Packard CompanySystem and method using context identifiers for menu customization in a window
US5572643A (en)1995-10-191996-11-05Judson; David H.Web browser with dynamic display of information objects during linking
US5742504A (en)1995-11-061998-04-21Medar, Inc.Method and system for quickly developing application software for use in a machine vision system
US5845077A (en)1995-11-271998-12-01Microsoft CorporationMethod and system for identifying and obtaining computer software from a remote computer
US6081610A (en)1995-12-292000-06-27International Business Machines CorporationSystem and method for verifying signatures on documents
US5915112A (en)1996-01-021999-06-22International Business Machines CorporationRemote procedure interface with support for multiple versions
US5761408A (en)1996-01-161998-06-02Parasoft CorporationMethod and system for generating a computer program test suite using dynamic symbolic execution
US6369841B1 (en)1996-01-252002-04-09Siemens AktiengesellschaftGraphical user interface for the programming of programmable controllers
US5758358A (en)1996-01-291998-05-26Microsoft CorporationMethod and system for reconciling sections of documents
US5659729A (en)1996-02-011997-08-19Sun Microsystems, Inc.Method and system for implementing hypertext scroll attributes
US6144969A (en)1996-02-092000-11-07Sony CorporationFile name conversion
US5761683A (en)1996-02-131998-06-02Microtouch Systems, Inc.Techniques for changing the behavior of a link in a hypertext document
US6044205A (en)1996-02-292000-03-28Intermind CorporationCommunications system for transferring information between memories according to processes transferred with the information
US5835777A (en)1996-03-201998-11-10Hewlett-Packard CompanyMethod of automatically generating a software installation package
US5963964A (en)1996-04-051999-10-05Sun Microsystems, Inc.Method, apparatus and program product for updating visual bookmarks
US5778372A (en)1996-04-181998-07-07Microsoft CorporationRemote retrieval and display management of electronic document with incorporated images
US5784555A (en)1996-04-181998-07-21Microsoft CorporationAutomation and dial-time checking of system configuration for internet
US5802304A (en)1996-04-181998-09-01Microsoft CorporationAutomatic dialer responsive to network programming interface access
US5721824A (en)1996-04-191998-02-24Sun Microsystems, Inc.Multiple-package installation with package dependencies
US6078326A (en)1996-04-232000-06-20Roku Technologies, L.L.C.System and method providing centricity user environment
US6098081A (en)1996-05-062000-08-01Microsoft CorporationHypermedia navigation using soft hyperlinks
US5995103A (en)1996-05-101999-11-30Apple Computer, Inc.Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US6191797B1 (en)1996-05-222001-02-20Canon Kabushiki KaishaExpression tree optimization for processing obscured graphical objects
US6026416A (en)1996-05-302000-02-15Microsoft Corp.System and method for storing, viewing, editing, and processing ordered sections having different file formats
US5790796A (en)*1996-06-141998-08-04Symantec CorporationPolymorphic package files to update software components
US6163772A (en)1996-06-172000-12-19Hewlett-Packard CompanyVirtual point of sale processing using gateway-initiated messages
US6072870A (en)1996-06-172000-06-06Verifone Inc.System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6026379A (en)1996-06-172000-02-15Verifone, Inc.System, method and article of manufacture for managing transactions in a high availability system
US6052710A (en)1996-06-282000-04-18Microsoft CorporationSystem and method for making function calls over a distributed network
US5854630A (en)1996-07-011998-12-29Sun Microsystems, Inc.Prospective view for web backtrack
US6632251B1 (en)1996-07-032003-10-14Polydoc N.V.Document producing support system
US5987480A (en)1996-07-251999-11-16Donohue; MichaelMethod and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5859973A (en)1996-08-211999-01-12International Business Machines CorporationMethods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US6108637A (en)1996-09-032000-08-22Nielsen Media Research, Inc.Content display monitor
US20050223320A1 (en)1996-09-092005-10-06Microsoft CorporationAutomatic layout of content in a design for a medium
US6300948B1 (en)1996-09-172001-10-09Scott D. GellerMethods and systems for user interfaces and constraint handling in configuration software
US6018743A (en)1996-10-042000-01-25International Business Machines CorporationFramework for object-oriented interface to record file data
US5864819A (en)1996-11-081999-01-26International Business Machines CorporationInternal window object tree method for representing graphical user interface applications for speech navigation
US5999740A (en)1996-11-081999-12-07International Computers LimitedUpdating mechanism for software
EP0841615A2 (en)1996-11-081998-05-13International Computers LimitedUpdating mechanism for software
US5960199A (en)1996-11-121999-09-28International Business Machines CorporationModel trace view for object-oriented systems
US5950010A (en)1996-11-251999-09-07J.D. Edwards World Source Co.System and method for customized application package building and installation
US5826265A (en)1996-12-061998-10-20International Business Machines CorporationData management system having shared libraries
US6460058B2 (en)1996-12-062002-10-01Microsoft CorporationObject-oriented framework for hyperlink navigation
US6035297A (en)1996-12-062000-03-07International Business Machines MachineData management system for concurrent engineering
US5911776A (en)1996-12-181999-06-15Unisys CorporationAutomatic format conversion system and publishing methodology for multi-user network
US6609200B2 (en)1996-12-202003-08-19Financial Services Technology ConsortiumMethod and system for processing electronic documents
US5922072A (en)1997-01-031999-07-13Ncr CorporationMethod and apparatus for creating alternate boot environments in a computer
US6847387B2 (en)1997-01-212005-01-25International Business Machines CorporationMenu management mechanism that displays menu items based on multiple heuristic factors
US6088708A (en)1997-01-312000-07-11Microsoft CorporationSystem and method for creating an online table from a layout of objects
US5956481A (en)1997-02-061999-09-21Microsoft CorporationMethod and apparatus for protecting data files on a computer from virus infection
US6311271B1 (en)1997-02-132001-10-30International Business Machines CorporationHow to sign digital streams
US6343302B1 (en)1997-02-132002-01-29Yahoo! Inc.Remote web site authoring system and method
US6581061B2 (en)1997-02-132003-06-17Yahoo!, Inc.Remote web site authoring system and method
US6031989A (en)1997-02-272000-02-29Microsoft CorporationMethod of formatting and displaying nested documents
US5991731A (en)1997-03-031999-11-23University Of FloridaMethod and system for interactive prescription and distribution of prescriptions in conducting clinical studies
US20050055627A1 (en)1997-03-072005-03-10Signaturemail.Com, LlcSystem and method for personalizing electronic mail messages
US5991877A (en)1997-04-031999-11-23Lockheed Martin CorporationObject-oriented trusted application framework
US6014135A (en)1997-04-042000-01-11Netscape Communications Corp.Collaboration centric document processing environment using an information centric visual user interface and information presentation method
US6266810B1 (en)1997-04-172001-07-24Matsushita Electric Industrial Co., Ltd.Remote program downloading system and apparatus
US6167523A (en)1997-05-052000-12-26Intel CorporationMethod and apparatus for forms data validation and processing control
US5991710A (en)1997-05-201999-11-23International Business Machines CorporationStatistical translation system with features based on phrases or groups of words
US6154128A (en)1997-05-212000-11-28Sun Microsystems, Inc.Automatic building and distribution of alerts in a remote monitoring system
US6268852B1 (en)1997-06-022001-07-31Microsoft CorporationSystem and method for facilitating generation and editing of event handlers
US5910895A (en)1997-06-131999-06-08Teradyne, Inc.Low cost, easy to use automatic test system software
US5982370A (en)1997-07-181999-11-09International Business Machines CorporationHighlighting tool for search specification in a user interface of a computer system
US6434564B2 (en)1997-08-222002-08-13Sap AktiengesellschaftBrowser for hierarchical structures
US6167521A (en)1997-08-292000-12-26International Business Machines CorporationSecurely downloading and executing code from mutually suspicious authorities
US6078327A (en)1997-09-112000-06-20International Business Machines CorporationNavigating applications and objects in a graphical user interface
US6272506B1 (en)1997-09-122001-08-07Doxis, LlcComputerized verification form processing system and method
US6331864B1 (en)1997-09-232001-12-18Onadime, Inc.Real-time multimedia visual programming system
US5940075A (en)1997-09-301999-08-17Unisys Corp.Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6094657A (en)1997-10-012000-07-25International Business Machines CorporationApparatus and method for dynamic meta-tagging of compound documents
US6121965A (en)1997-10-172000-09-19Lucent Technologies Inc.User interface for graphical application tool
US6216152B1 (en)1997-10-272001-04-10Sun Microsystems, Inc.Method and apparatus for providing plug in media decoders
US6292897B1 (en)1997-11-032001-09-18International Business Machines CorporationUndeniable certificates for digital signature verification
WO1999024945A1 (en)1997-11-121999-05-20Koninklijke Philips Electronics N.V.Software update manager
US5974454A (en)*1997-11-141999-10-26Microsoft CorporationMethod and system for installing and updating program module components
US6115646A (en)1997-12-182000-09-05Nortel Networks LimitedDynamic and generic process automation system
US6219698B1 (en)1997-12-192001-04-17Compaq Computer CorporationConfiguring client software using remote notification
US6658417B1 (en)1997-12-312003-12-02International Business Machines CorporationTerm-based methods and apparatus for access to files on shared storage devices
US6199204B1 (en)1998-01-282001-03-06International Business Machines CorporationDistribution of software updates via a computer network
US6078924A (en)1998-01-302000-06-20Aeneid CorporationMethod and apparatus for performing data collection, interpretation and analysis, in an information platform
US6151624A (en)1998-02-032000-11-21Realnames CorporationNavigating network resources based on metadata
US6275227B1 (en)1998-02-092001-08-14International Business Machines CorporationComputer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US6748385B1 (en)1998-02-102004-06-08National Broadcasting Company, Inc.Dynamic insertion and updating of hypertext links for internet servers
US6108783A (en)1998-02-112000-08-22International Business Machines CorporationChameleon hashing and signatures
US6225996B1 (en)1998-02-202001-05-01Corel CorporationSystem and method for displaying a current value of a cell of a document
US6091417A (en)1998-03-162000-07-18Earthlink Network, Inc.Graphical user interface
US20020070973A1 (en)1998-03-232002-06-13Croley James E.Method of entering, updating and display of related data on a single screen page
US6349408B1 (en)1998-03-232002-02-19Sun Microsystems, Inc.Techniques for implementing a framework for extensible applications
US6052531A (en)*1998-03-252000-04-18Symantec CorporationMulti-tiered incremental software updating
US6188401B1 (en)1998-03-252001-02-13Microsoft CorporationScript-based user interface implementation defining components using a text markup language
US6281896B1 (en)1998-03-312001-08-28International Business Machines CorporationData processor controlled interface with multiple tree of elements views expandable into individual detail views
US20010022592A1 (en)1998-03-312001-09-20Claudia AlimpichData processor controlled interface with multiple tree of elements views expandable into individual detail views
US6345361B1 (en)1998-04-062002-02-05Microsoft CorporationDirectional set operations for permission based security in a computer system
US6366912B1 (en)1998-04-062002-04-02Microsoft CorporationNetwork security zones
US6357038B1 (en)1998-04-132002-03-12Adobe Systems IncorporatedCross platform and cross operating system macros
US6442563B1 (en)1998-04-302002-08-27EnterworksWorkflow management system, method, and medium that morphs work items
US6182095B1 (en)1998-04-302001-01-30General Electric Capital CorporationDocument generator
WO1999056207A1 (en)1998-04-301999-11-04Intervu, Inc.System and method for automated identification, retrieval and installation of software components
US6097382A (en)1998-05-122000-08-01Silverstream Software, Inc.Method and apparatus for building an application interface
US6343149B1 (en)1998-05-132002-01-29Oki Electric Industry Co, Ltd.Document character reading system
US6122647A (en)1998-05-192000-09-19Perspecta, Inc.Dynamic generation of contextual links in hypertext documents
US6816849B1 (en)1998-05-262004-11-09Gerald B. Halt, Jr.Advanced internet interface
EP0961197B1 (en)1998-05-292003-08-13Hewlett-Packard Company, A Delaware CorporationA user interface mechanism for manipulating context in computer management applications
US6054987A (en)1998-05-292000-04-25Hewlett-Packard CompanyMethod of dynamically creating nodal views of a managed network
US6345278B1 (en)1998-06-042002-02-05Collegenet, Inc.Universal forms engine
US6209128B1 (en)1998-06-052001-03-27International Business Machines CorporationApparatus and method for providing access to multiple object versions
US6308273B1 (en)1998-06-122001-10-23Microsoft CorporationMethod and system of security location discrimination
US6505300B2 (en)1998-06-122003-01-07Microsoft CorporationMethod and system for secure running of untrusted content
US6381742B2 (en)1998-06-192002-04-30Microsoft CorporationSoftware package management
US6757868B1 (en)1998-06-222004-06-29International Business Machines CorporationProgrammatic switching of arbitrary HTML forms
US6253374B1 (en)1998-07-022001-06-26Microsoft CorporationMethod for validating a signed program prior to execution time or an unsigned program at execution time
US6442755B1 (en)1998-07-072002-08-27United Video Properties, Inc.Electronic program guide using markup language
US20030051243A1 (en)1998-07-072003-03-13United Video Properties, Inc.Electronic program guide using markup language
US6321334B1 (en)1998-07-152001-11-20Microsoft CorporationAdministering permissions associated with a security zone in a computer system security model
US6353926B1 (en)1998-07-152002-03-05Microsoft CorporationSoftware update notification
US6473800B1 (en)1998-07-152002-10-29Microsoft CorporationDeclarative permission requests in a computer system
US6414700B1 (en)1998-07-212002-07-02Silicon Graphics, Inc.System for accessing a large number of menu items using a zoned menu bar
US6084585A (en)1998-07-292000-07-04International Business Machines Corp.System for directly accessing fields on electronic forms
US6345256B1 (en)1998-08-132002-02-05International Business Machines CorporationAutomated method and apparatus to package digital content for electronic distribution using the identity of the source content
US6263313B1 (en)1998-08-132001-07-17International Business Machines CorporationMethod and apparatus to create encoded digital content
US6275599B1 (en)1998-08-282001-08-14International Business Machines CorporationCompressed image authentication and verification
US6308179B1 (en)1998-08-312001-10-23Xerox CorporationUser level controlled mechanism inter-positioned in a read/write path of a property-based document management system
US6801929B1 (en)1998-09-012004-10-05Bigfix, Inc.Relevance clause for computed relevance messaging
US6321259B1 (en)1998-10-022001-11-20Nortel Networks LimitedAttribute inheritance schema for network switches
US6772139B1 (en)1998-10-052004-08-03Smith, Iii Julius O.Method and apparatus for facilitating use of hypertext links on the world wide web
US6487566B1 (en)1998-10-052002-11-26International Business Machines CorporationTransforming documents using pattern matching and a replacement language
US6643684B1 (en)1998-10-082003-11-04International Business Machines CorporationSender- specified delivery customization
US6421656B1 (en)1998-10-082002-07-16International Business Machines CorporationMethod and apparatus for creating structure indexes for a data base extender
US6691230B1 (en)1998-10-152004-02-10International Business Machines CorporationMethod and system for extending Java applets sand box with public client storage
US6751777B2 (en)1998-10-192004-06-15International Business Machines CorporationMulti-target links for navigating between hypertext documents and the like
US6342907B1 (en)1998-10-192002-01-29International Business Machines CorporationSpecification language for defining user interface panels that are platform-independent
US20050091305A1 (en)1998-10-232005-04-28General MagicNetwork system extensible by users
US7318237B2 (en)1998-10-282008-01-08Bea Systems, Inc.System and method for maintaining security in a distributed computer network
US6871220B1 (en)1998-10-282005-03-22Yodlee, Inc.System and method for distributed storage and retrieval of personal information
JP2000132436A (en)1998-10-292000-05-12Hitachi Ltd Program and file generation management method for offline terminals
US6429885B1 (en)1998-10-302002-08-06Sony CorporationGUI resource editor for an embedded system
US6457009B1 (en)1998-11-092002-09-24Denison W. BollayMethod of searching multiples internet resident databases using search fields in a generic form
US6606606B2 (en)1998-11-092003-08-12Onecore Financial Network, Inc.Systems and methods for performing integrated financial transaction
US20020013788A1 (en)1998-11-102002-01-31Pennell Mark E.System and method for automatically learning information used for electronic form-filling
US6374402B1 (en)1998-11-162002-04-16Into Networks, Inc.Method and apparatus for installation abstraction in a secure content delivery system
US6297819B1 (en)1998-11-162001-10-02Essential Surfing Gear, Inc.Parallel web sites
US6192367B1 (en)1998-11-232001-02-20International Business Machines CorporationData file editor presenting semi-formatted view
US6598219B1 (en)1998-11-302003-07-22International Business Machines CorporationMethod and mechanism for a task oriented XML data model
US6393456B1 (en)1998-11-302002-05-21Microsoft CorporationSystem, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
US6848078B1 (en)1998-11-302005-01-25International Business Machines CorporationComparison of hierarchical structures and merging of differences
US6351574B1 (en)1998-12-112002-02-26International Business Machines CorporationInteractive verification of OCRed characters
US6658622B1 (en)1998-12-142003-12-02International Business Machines CorporationSelf-diagnosing and self-correcting data entry components with dependency behavior
US6307955B1 (en)1998-12-182001-10-23Topaz Systems, Inc.Electronic signature management system
US6549878B1 (en)1998-12-312003-04-15Microsoft CorporationSystem and method for editing a spreadsheet via an improved editing and cell selection model
US6396488B1 (en)1999-01-042002-05-28Corel Inc.System and method for determining a path in a graphical diagram
US6507856B1 (en)1999-01-052003-01-14International Business Machines CorporationDynamic business process automation system using XML documents
US6635089B1 (en)1999-01-132003-10-21International Business Machines CorporationMethod for producing composite XML document object model trees using dynamic data retrievals
US6490601B1 (en)1999-01-152002-12-03Infospace, Inc.Server for enabling the automatic insertion of data into electronic forms on a user computer
US6434563B1 (en)1999-01-212002-08-13Simple.Com, Inc.WWW browser configured to provide a windowed content manifestation environment
US6235027B1 (en)1999-01-212001-05-22Garrett D. HerzonThermal cautery surgical forceps
US6480860B1 (en)1999-02-112002-11-12International Business Machines CorporationTagged markup language interface with document type definition to access data in object oriented database
US6629109B1 (en)1999-03-052003-09-30Nec CorporationSystem and method of enabling file revision management of application software
US6470349B1 (en)1999-03-112002-10-22Browz, Inc.Server-side scripting language and programming tool
US7190376B1 (en)1999-03-162007-03-13Canon Kabushiki KaishaMethod of compiling compositing expressions for optimised rendering
US6578144B1 (en)1999-03-232003-06-10International Business Machines CorporationSecure hash-and-sign signatures
US6347323B1 (en)1999-03-262002-02-12Microsoft CorporationRobust modification of persistent objects while preserving formatting and other attributes
US6704906B1 (en)1999-03-272004-03-09Movaris, Inc.Self-directed routable electronic form system and method
US6425125B1 (en)1999-03-302002-07-23Microsoft CorporationSystem and method for upgrading client software
US6381743B1 (en)1999-03-312002-04-30Unisys Corp.Method and system for generating a hierarchial document type definition for data interchange among software tools
US6253366B1 (en)1999-03-312001-06-26Unisys Corp.Method and system for generating a compact document type definition for data interchange among software tools
US6711679B1 (en)1999-03-312004-03-23International Business Machines CorporationPublic key infrastructure delegation
US6446110B1 (en)1999-04-052002-09-03International Business Machines CorporationMethod and apparatus for representing host datastream screen image information using markup languages
US6519617B1 (en)1999-04-082003-02-11International Business Machines CorporationAutomated creation of an XML dialect and dynamic generation of a corresponding DTD
US6611822B1 (en)1999-05-052003-08-26Ac Properties B.V.System method and article of manufacture for creating collaborative application sharing
US6553402B1 (en)1999-05-052003-04-22Nextpage, Inc.Method for coordinating activities and sharing information using a data definition language
US20070050719A1 (en)1999-05-072007-03-01Philip LuiSystem and method for dynamic assistance in software applications using behavior and host application models
US6701434B1 (en)1999-05-072004-03-02International Business Machines CorporationEfficient hybrid public key signature scheme
US6505230B1 (en)1999-05-142003-01-07Pivia, Inc.Client-server independent intermediary mechanism
US6546546B1 (en)1999-05-192003-04-08International Business Machines CorporationIntegrating operating systems and run-time systems
US7106888B1 (en)1999-05-252006-09-12Silverbrook Research Pty LtdSignature capture via interface surface
US20030128196A1 (en)1999-05-252003-07-10Paul LapstunComputer system interface surface with reference points and sensor with identifier
US6476828B1 (en)1999-05-282002-11-05International Business Machines CorporationSystems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6502103B1 (en)1999-06-142002-12-31International Business Machines CorporationProviding composed containers and data objects to support multiple resources
US6961897B1 (en)1999-06-142005-11-01Lockheed Martin CorporationSystem and method for interactive electronic media extraction for web page generation
US6449617B1 (en)1999-06-152002-09-10Microsoft CorporationEdit command delegation program for editing electronic files
US6613098B1 (en)1999-06-152003-09-02Microsoft CorporationStorage of application specific data in HTML
US6691281B1 (en)1999-06-152004-02-10Microsoft CorporationPublishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6408311B1 (en)1999-06-302002-06-18Unisys Corp.Method for identifying UML objects in a repository with objects in XML content
US6477544B1 (en)1999-07-162002-11-05Microsoft CorporationSingle instance store for file systems
US6631497B1 (en)1999-07-192003-10-07International Business Machines CorporationBinding data from data source to cells in a spreadsheet
US6584548B1 (en)1999-07-222003-06-24International Business Machines CorporationMethod and apparatus for invalidating data in a cache
US20060069985A1 (en)1999-07-262006-03-30Microsoft CorporationParsing extensible markup language (XML) data streams
US6356906B1 (en)1999-07-262002-03-12Microsoft CorporationStandard database queries within standard request-response protocols
US20040210599A1 (en)1999-07-262004-10-21Microsoft CorporationMethods and apparatus for parsing extensible markup language (XML) data streams
US6701486B1 (en)1999-07-292004-03-02Grischa CorporationMethod, apparatus, and computer program product for automatic page suppression in forms
US6654932B1 (en)1999-08-032003-11-25International Business Machines CorporationValidating data within container objects handled by view controllers
US6560620B1 (en)1999-08-032003-05-06Aplix Research, Inc.Hierarchical document comparison system and method
US6282711B1 (en)1999-08-102001-08-28Hewlett-Packard CompanyMethod for more efficiently installing software components from a remote server source
EP1076290B1 (en)1999-08-102007-08-01Sun Microsystems, Inc.Method for on-demand network application download and execution
US20020196281A1 (en)1999-08-172002-12-26Kevin Forbes AudlemanGenerating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US6585778B1 (en)1999-08-302003-07-01International Business Machines CorporationEnforcing data policy using style sheet processing
US6651217B1 (en)1999-09-012003-11-18Microsoft CorporationSystem and method for populating forms with previously used data values
US6774926B1 (en)1999-09-032004-08-10United Video Properties, Inc.Personal television channel system
US6720985B1 (en)1999-09-172004-04-13Silverbrook Research Pty LtdMethod and system for object selection
US6763343B1 (en)1999-09-202004-07-13David M. BrookePreventing duplication of the data in reference resource for XML page generation
US6799299B1 (en)1999-09-232004-09-28International Business Machines CorporationMethod and apparatus for creating stylesheets in a data processing system
US20030204814A1 (en)1999-09-272003-10-30Sara EloSystem & method for creating, editing, an on-line publication
US6549922B1 (en)1999-10-012003-04-15Alok SrivastavaSystem for collecting, transforming and managing media metadata
US6697944B1 (en)1999-10-012004-02-24Microsoft CorporationDigital content distribution, transmission and protection system and method, and portable device for use therewith
US6889359B1 (en)1999-10-072005-05-03International Business Machines CorporationMethod for providing a visual representation of dynamic HTML table attributes
US6931532B1 (en)1999-10-212005-08-16International Business Machines CorporationSelective data encryption using style sheet processing
US6589290B1 (en)1999-10-292003-07-08America Online, Inc.Method and apparatus for populating a form with data
US20020133484A1 (en)1999-12-022002-09-19International Business Machines CorporationStoring fragmented XML data into a relational database by decomposing XML documents with application specific mappings
US20030014397A1 (en)1999-12-022003-01-16International Business Machines CorporationGenerating one or more XML documents from a relational database using XPath data model
US20020156772A1 (en)1999-12-022002-10-24International Business MachinesGenerating one or more XML documents from a single SQL query
US6636845B2 (en)1999-12-022003-10-21International Business Machines CorporationGenerating one or more XML documents from a single SQL query
US6643633B2 (en)1999-12-022003-11-04International Business Machines CorporationStoring fragmented XML data into a relational database by decomposing XML documents with application specific mappings
US6549221B1 (en)1999-12-092003-04-15International Business Machines Corp.User interface management through branch isolation
US20010007109A1 (en)1999-12-142001-07-05Thomas LangeMethod and system for inserting a data object into a computer-generated document using a text instruction
WO2001044934A1 (en)1999-12-152001-06-21Sun Microsystems, Inc.Preparation of a software configuration using an xml type programming language
US6366907B1 (en)1999-12-152002-04-02Napster, Inc.Real-time search engine
US20020032706A1 (en)1999-12-232002-03-14Jesse PerlaMethod and system for building internet-based applications
US6668369B1 (en)1999-12-292003-12-23International Business Machines CorporationSoftware debugging tool for displaying dynamically written software code
US6643652B2 (en)2000-01-142003-11-04Saba Software, Inc.Method and apparatus for managing data exchange among systems in a network
US6611840B1 (en)2000-01-212003-08-26International Business Machines CorporationMethod and system for removing content entity object in a hierarchically structured content object stored in a database
US20040205473A1 (en)2000-01-272004-10-14Gwyn FisherMethod and system for implementing an enterprise information portal
US6760723B2 (en)2000-01-312004-07-06Commvault Systems Inc.Storage management across multiple time zones
US6779154B1 (en)2000-02-012004-08-17Cisco Technology, Inc.Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US20020196288A1 (en)2000-02-022002-12-26Ramin EmraniMethod and apparatus for converting text files into hierarchical charts as a learning aid
US20030004951A1 (en)2000-02-042003-01-02Sandip ChokshiAutomated client-server data validation
US6615276B1 (en)2000-02-092003-09-02International Business Machines CorporationMethod and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user
US6603489B1 (en)2000-02-092003-08-05International Business Machines CorporationElectronic calendaring system that automatically predicts calendar entries based upon previous activities
US20020010743A1 (en)2000-02-112002-01-24Ryan Mark H.Method and system for distributing and collecting spreadsheet information
US20020010746A1 (en)2000-02-142002-01-24Jilk David J.System, method, apparatus and computer program product for operating a web site by electronic mail
US6874130B1 (en)2000-02-172005-03-29International Business Machines CorporationCopy/move graphical user interface apparatus and method
US6901403B1 (en)2000-03-022005-05-31Quovadx, Inc.XML presentation of general-purpose data sources
US20060020586A1 (en)2000-03-032006-01-26Michel PromptSystem and method for providing access to databases via directories and other hierarchical structures and interfaces
US6463419B1 (en)2000-03-072002-10-08Chartering SolutionsInternet system for exchanging and organizing vessel transport information
US6968503B1 (en)2000-03-092005-11-22Quovadx, Inc.XML user interface for a workflow server
US6725426B1 (en)2000-03-172004-04-20Broadvision, Inc.Mechanism for translating between word processing documents and XML documents
US6604099B1 (en)2000-03-202003-08-05International Business Machines CorporationMajority schema in semi-structured data
US20030120659A1 (en)2000-03-202003-06-26Sridhar Mandayam AnandampillaiSystems for developing websites and methods therefor
US20010024195A1 (en)2000-03-212001-09-27Keisuke HayakawaPage information display method and device and storage medium storing program for displaying page information
US20010037345A1 (en)2000-03-212001-11-01International Business Machines CorporationTagging XML query results over relational DBMSs
US6963875B2 (en)2000-03-232005-11-08General AtomicsPersistent archives
US20010056429A1 (en)2000-03-232001-12-27Moore Reagan W.Persistent archives
US20050198086A1 (en)2000-03-232005-09-08Moore Reagan W.Persistent archives
US20020032590A1 (en)2000-03-282002-03-14International Business Machines CorporationE-market architecture for supporting multiple roles and reconfigurable business porcesses
US6631519B1 (en)2000-03-302003-10-07Microsoft CorporationAutomated schema and interface generation
US7065493B1 (en)2000-04-062006-06-20International Business Machines CorporationWorkflow system and method
US20070208606A1 (en)2000-04-072007-09-06Jpmorgan Chase Bank, N.A.Workflow management system and method
US20020032768A1 (en)2000-04-102002-03-14Voskuil Erik K.Method and system for configuring remotely located applications
US6563514B1 (en)2000-04-132003-05-13Extensio Software, Inc.System and method for providing contextual and dynamic information retrieval
US20050114757A1 (en)2000-04-242005-05-26Ranjit SahotaMethod and system for transforming content for execution on multiple platforms
US20010056460A1 (en)2000-04-242001-12-27Ranjit SahotaMethod and system for transforming content for execution on multiple platforms
US6571253B1 (en)2000-04-282003-05-27International Business Machines CorporationHierarchical view of data binding between display elements that are organized in a hierarchical structure to a data store that is also organized in a hierarchical structure
US6516322B1 (en)2000-04-282003-02-04Microsoft CorporationXML-based representation of mobile process calculi
US6286033B1 (en)2000-04-282001-09-04Genesys Telecommunications Laboratories, Inc.Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US20020156846A1 (en)2000-04-282002-10-24Jai RawatIntelligent client-side form filler
US20030158897A1 (en)2000-05-092003-08-21Viryanet Ltd.Networked platform for creating and supporting communities
US6781609B1 (en)2000-05-092004-08-24International Business Machines CorporationTechnique for flexible inclusion of information items and various media types in a user interface
US6996776B1 (en)2000-05-162006-02-07International Business Machines CorporationMethod and system for SGML-to-HTML migration to XML-based system
US6772165B2 (en)2000-05-162004-08-03O'carroll GarrettElectronic document processing system and method for merging source documents on a node-by-node basis to generate a target document
US20040205534A1 (en)2000-05-162004-10-14Koelle Steven K.System and method for providing access to forms and maintaining the data used to complete the forms
US6327628B1 (en)2000-05-192001-12-04Epicentric, Inc.Portal server that provides a customizable user Interface for access to computer networks
US20020174147A1 (en)2000-05-192002-11-21Zhi WangSystem and method for transcoding information for an audio or limited display user interface
US6654737B1 (en)2000-05-232003-11-25Centor Software Corp.Hypertext-based database architecture
US6675202B1 (en)2000-05-302004-01-06Cary D. PerttunenMethods, articles and apparatus for providing a browsing session
US20020078074A1 (en)2000-05-302002-06-20Cho Charles J.Method and system for facilitating networked information exchange
US6950980B1 (en)2000-05-312005-09-27International Business Machines CorporationSystem, method, and program product for saving a submitted form of a web page
US20020040469A1 (en)2000-06-032002-04-04International Business Machines CorporationSystem and method for the configuration of software products
US20020169789A1 (en)2000-06-052002-11-14Ali KutaySystem and method for accessing, organizing, and presenting data
US20020026441A1 (en)2000-06-052002-02-28Ali KutaySystem and method for integrating multiple applications
US20020026461A1 (en)2000-06-052002-02-28Ali KutaySystem and method for creating a source document and presenting the source document to a user in a target format
US6941510B1 (en)2000-06-062005-09-06Groove Networks, Inc.Method and apparatus for efficient management of XML documents
US20020035581A1 (en)2000-06-062002-03-21Microsoft CorporationApplication program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US20010054004A1 (en)2000-06-072001-12-20Powers Arthur C.Method of direct communication between a business and its customers
US20020057297A1 (en)2000-06-122002-05-16Tom GrimesPersonalized content management
US20040221238A1 (en)2000-06-132004-11-04Chris CifraAutomatic generation of programs with GUI controls for interactively setting or viewing values
US6735721B1 (en)2000-06-212004-05-11Bellsouth Intellectual Property CorporationSystem and method for message handling
US20070074106A1 (en)2000-06-212007-03-29Microsoft CorporationAuthoring Arbitrary XML Documents Using DHTML and XSLT
US20060026534A1 (en)2000-06-212006-02-02Microsoft CorporationProviding information to computer users
US7346610B2 (en)2000-06-212008-03-18Microsoft CorporationMethods and systems of providing information to computer users
US20050033728A1 (en)2000-06-212005-02-10Microsoft CorporationMethods, systems, architectures and data structures for delivering software via a network
US20050005248A1 (en)2000-06-212005-01-06Microsoft CorporationTask-sensitive methods and systems for displaying command sets
US6948135B1 (en)2000-06-212005-09-20Microsoft CorporationMethod and systems of providing information to computer users
US7350141B2 (en)2000-06-212008-03-25Microsoft CorporationUser interface for integrated spreadsheets and word processing tables
US7191394B1 (en)2000-06-212007-03-13Microsoft CorporationAuthoring arbitrary XML documents using DHTML and XSLT
US20060085409A1 (en)2000-06-282006-04-20Microsoft CorporationMethod and apparatus for information transformation and exchange in a relational database environment
US20050198247A1 (en)2000-07-112005-09-08Ciena CorporationGranular management of network resources
US6502101B1 (en)2000-07-132002-12-31Microsoft CorporationConverting a hierarchical data structure into a flat data structure
US20020100027A1 (en)2000-07-262002-07-25International Business Machines CorporationMethod of externalizing relational and ASN.1-formatted data into XML format
US20020023113A1 (en)2000-08-182002-02-21Jeff HsingRemote document updating system using XML and DOM
US6941511B1 (en)2000-08-312005-09-06International Business Machines CorporationHigh-performance extensible document transformation
US20020188597A1 (en)2000-09-012002-12-12Jonathan KernMethods and systems for linking tasks to workflow
US20020035579A1 (en)2000-09-122002-03-21Wang Wayne W.Transform rule generator for web-based markup languages
US20040205671A1 (en)2000-09-132004-10-14Tatsuya SukehiroNatural-language processing system
US20050015732A1 (en)2000-09-142005-01-20Microsoft CorporationMapping tool graphical user interface
US20030192008A1 (en)2000-09-162003-10-09Hong_Kyu LeeSystem and method for comprising manual function for managing a form
US6728755B1 (en)2000-09-262004-04-27Hewlett-Packard Development Company, L.P.Dynamic user profiling for usability
US6611843B1 (en)2000-10-262003-08-26Docent, Inc.Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom
US20040073565A1 (en)2000-10-312004-04-15Kaufman Michael PhilipSystem and method for generating automatic user interface for arbitrarily complex or large databases
US20020152222A1 (en)2000-11-152002-10-17Holbrook David M.Apparatus and method for organizing and-or presenting data
US7039875B2 (en)2000-11-302006-05-02Lucent Technologies Inc.Computer user interfaces that are generated as needed
US20020129056A1 (en)2000-12-112002-09-12Conant Michael V.Method and apparatus for electronic negotiation of document content
US7152205B2 (en)2000-12-182006-12-19Siemens Corporate Research, Inc.System for multimedia document and file processing and format conversion
JP2002183652A (en)2000-12-192002-06-28Nippon Yunishisu KkWork flow item slip forming system
US20020078103A1 (en)2000-12-202002-06-20Gorman William PhillipWizard development kit
US20020152244A1 (en)2000-12-222002-10-17International Business Machines CorporationMethod and apparatus to dynamically create a customized user interface based on a document type definition
US20040221245A1 (en)2000-12-272004-11-04Justin ChicklesGraphical user interface including palette windows with an improved navigation interface
US20060036995A1 (en)2000-12-272006-02-16Justin ChicklesSearch window for adding program elements to a program
EP1221661A3 (en)2001-01-052005-03-02Openwave Systems Inc.Method and apparatus for dynamically updating a HTML based user interface
US20030189593A1 (en)2001-01-052003-10-09Yarvin Curtis G.Method and apparatus for dynamically updating a markup language based user interface
US20020112224A1 (en)2001-01-312002-08-15International Business Machines CorporationXML data loading
US6631379B2 (en)2001-01-312003-10-07International Business Machines CorporationParallel loading of markup language data files and documents into a computer database
US6845499B2 (en)2001-01-312005-01-18I2 Technologies Us, Inc.System and method for developing software applications using an extended XML-based framework
US20030020746A1 (en)2001-01-312003-01-30Computer Associates Think, Inc.System and method for dynamically generating a web page
US20040107367A1 (en)2001-02-092004-06-03Friedrich KistersMethod, arrangement and secure medium for authentication of a user
US20030046665A1 (en)2001-02-282003-03-06Thomas IlinReusable software component for textually supplementing, modifying, evaluating and processing procedural logic for a compiled host program at run-time
US6782144B2 (en)2001-03-122004-08-24Multiscan Corp.Document scanner, system and method
US7058663B2 (en)2001-03-132006-06-06Koninklijke Philips Electronics, N.V.Automatic data update
US20030048301A1 (en)2001-03-232003-03-13Menninger Anthony FrankSystem, method and computer program product for editing supplier site information in a supply chain management framework
US6948133B2 (en)2001-03-232005-09-20Siemens Medical Solutions Health Services CorporationSystem for dynamically configuring a user interface display
US20030055828A1 (en)2001-03-292003-03-20Koch Kevin S.Methods for synchronizing on-line and off-line transcript projects
US20020174417A1 (en)2001-03-302002-11-21Michael SijacicDefining and creating custom data fields within process management software
US20020194219A1 (en)2001-04-172002-12-19Bradley George WesleyMethod and system for cross-platform form creation and deployment
US20020156929A1 (en)2001-04-232002-10-24International Business Machines CorporationXML-based system and method for collaborative web-based design and verification of system-on-a-chip
US6968505B2 (en)2001-04-272005-11-22International Business Machines CorporationUse of conceptual diagrams to support relationships between launchpads and its wizards
US20040205525A1 (en)2001-04-302004-10-14Murren Brian T.Automatic identification of form contents
US20030226132A1 (en)2001-05-112003-12-04David TondreauMethod and system for transforming legacy software applications into modern object-oriented systems
US20020184219A1 (en)2001-05-312002-12-05International Business Machines CorporationSystem, method, and computer program product for reformatting non-XML data for use with internet based systems
US20050022115A1 (en)2001-05-312005-01-27Roberts BaumgartnerVisual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
US20020188613A1 (en)2001-06-072002-12-12Krishneadu ChakrabortyMethod and apparatus for runtime merging of hierarchical trees
US6915454B1 (en)2001-06-122005-07-05Microsoft CorporationWeb controls validation
US20030007000A1 (en)2001-06-132003-01-09Worldcom, Inc.Method, system and program product for viewing and manipulating graphical objects representing hierarchically arranged elements of a modeled environment
US20020198891A1 (en)2001-06-142002-12-26International Business Machines CorporationMethods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US7086009B2 (en)2001-06-222006-08-01Invensys Systems, Inc.Customizable system for creating supervisory process control and manufacturing information applications
US20020198935A1 (en)2001-06-252002-12-26Crandall Steven AllenMethods and systems for validating the fields of a form
US20040172442A1 (en)2001-06-272004-09-02Ripley John R.System and Method for Sharing Data Between Hierarchical Databases
US7100147B2 (en)2001-06-282006-08-29International Business Machines CorporationMethod, system, and program for generating a workflow
US7107521B2 (en)2001-07-032006-09-12International Business Machines CorporationXSL dynamic inheritance
US20030167277A1 (en)2001-07-102003-09-04Anders HejlsbergApplication program interface for network software platform
US20030018668A1 (en)2001-07-202003-01-23International Business Machines CorporationEnhanced transcoding of structured documents through use of annotation techniques
US20030084424A1 (en)2001-07-262003-05-01Reddy Sreedhar SannareddyPattern-based comparison and merging of model versions
US20030023641A1 (en)2001-07-272003-01-30Gorman William PhillipWeb page authoring tool
US20030026507A1 (en)2001-07-312003-02-06International Business Machines CorporationSorting images for improved data entry productivity
US20030025732A1 (en)2001-07-312003-02-06Prichard Scot D.Method and apparatus for providing customizable graphical user interface and screen layout
US20030037303A1 (en)2001-08-032003-02-20Bodlaender Maarten PeterMethod of and system for updating a document
US20040205592A1 (en)2001-08-232004-10-14Xmlcities, Inc.Method and apparatus for extensible stylesheet designs
US20030061567A1 (en)2001-09-052003-03-27International Business Machines CorporationApparatus and method for protecting entries in a form using access rights information
US20030043986A1 (en)2001-09-052003-03-06International Business Machines CorporationMethod and apparatus for calendar based call control
US20030056198A1 (en)2001-09-202003-03-20International Business Machines CorporationSQL debugging using XML dataflows
US20030061386A1 (en)2001-09-242003-03-27International Business Machines Corp.Method and system of use of transcode directives for distributed control of transcoding servers
US6996781B1 (en)2001-10-312006-02-07Qcorps Residential, Inc.System and method for generating XSL transformation documents
US20050240876A1 (en)2001-10-312005-10-27Qcorps Residential, Inc.System and method for generating XSL transformation documents
US20030135825A1 (en)2001-12-052003-07-17Matthew GertnerDynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
JP2003173288A (en)2001-12-062003-06-20Sharp Corp Organizer of download information by browser
US20040205653A1 (en)2001-12-172004-10-14Workshare Technology, Ltd.Method and system for document collaboration
US7036072B1 (en)2001-12-182006-04-25Jgr Acquisition, Inc.Method and apparatus for declarative updating of self-describing, structured documents
US20030120651A1 (en)2001-12-202003-06-26Microsoft CorporationMethods and systems for model matching
US7080083B2 (en)2001-12-212006-07-18Kim Hong JExtensible stylesheet designs in visual graphic environments
US7146564B2 (en)2001-12-212006-12-05Xmlcities, Inc.Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US20030120671A1 (en)2001-12-212003-06-26Xmlcities, Inc.Extensible stylesheet designs in visual graphic environments
US20030120578A1 (en)2001-12-212003-06-26Peter NewmanSystem and methods for electronic securities underwriting and electronic dissemination of annual financial and disclosure information from issuers to information repositories in accordance with U.S. securities laws and regulations
US20030120686A1 (en)2001-12-212003-06-26Xmlcities, Inc.Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US20030187756A1 (en)2001-12-272003-10-02Klivington Eva T.Electronic realty and transaction system and method therein
US20030126555A1 (en)2002-01-032003-07-03International Business Machines CorporationEnhanced attribute prompting in browser clients
US20030140132A1 (en)2002-01-222003-07-24Yves-Andre ChampagneMethod and apparatus for updating network device configuration information in a network management system
US7080325B2 (en)2002-02-222006-07-18Call-Tell LlcGraphical device for comprehensive viewing and input of variable data via a browser-based display
US6845380B2 (en)2002-03-042005-01-18Hewlett-Packard Development Company, L.P.Method and system of valuing transformation between extensible markup language (XML) documents
US20040205571A1 (en)2002-03-122004-10-14International Business Machines CorporationMethod and system for stylesheet-centric editing
US20040205605A1 (en)2002-03-122004-10-14International Business Machines CorporationMethod and system for stylesheet rule creation, combination, and removal
US20030233374A1 (en)2002-03-142003-12-18Ulrich SpinolaDynamic workflow process
US20030182268A1 (en)2002-03-182003-09-25International Business Machines CorporationMethod and system for storing and querying of markup based documents in a relational database
US20030182327A1 (en)2002-03-202003-09-25Srinivasan RamanujamSynchronizing data shared between two devices independent of any other devices that may also share the data
US20030188260A1 (en)2002-03-262003-10-02Jensen Arthur DMethod and apparatus for creating and filing forms
US20030187930A1 (en)2002-03-272003-10-02International Business Machines CorporationMessaging system and method with transcoder filtering of baseline message representations
US6941521B2 (en)2002-03-292005-09-06Intel CorporationMethod for dynamically generating a user interface from XML-based documents
US20040039990A1 (en)2002-03-302004-02-26Xorbix Technologies, Inc.Automated form and data analysis tool
US20030225469A1 (en)2002-04-152003-12-04Deremer Robert A.Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with unified messaging interface
US20040030991A1 (en)2002-04-222004-02-12Paul HepworthSystems and methods for facilitating automatic completion of an electronic form
US7313758B2 (en)2002-04-242007-12-25Canon Kabushiki KaishaMarkup-language document formatting in memory-constrained environment
US20040044965A1 (en)2002-04-302004-03-04Haruhiko ToyamaStructured document edit apparatus, structured document edit method, and program product
US20030204511A1 (en)2002-04-302003-10-30Microsoft CorporationSystem and method for viewing relational data using a hierarchical schema
US20030205615A1 (en)2002-05-022003-11-06International Business Machines CorporationSmart business card system
US20030212664A1 (en)2002-05-102003-11-13Martin BreiningQuerying markup language data sources using a relational query processor
US7107282B1 (en)2002-05-102006-09-12Oracle International CorporationManaging XPath expressions in a database system
US20040003353A1 (en)2002-05-142004-01-01Joey RiveraWorkflow integration system for automatic real time data management
US20030225829A1 (en)2002-05-222003-12-04Sony CorporationSystem and method for platform and language-independent development and delivery of page-based content
US6754874B1 (en)2002-05-312004-06-22Deloitte Development LlcComputer-aided system and method for evaluating employees
US20030225768A1 (en)2002-06-032003-12-04Microsoft CorporationWorkload analysis tool for relational databases
US7032170B2 (en)2002-06-032006-04-18General Electric CompanyCreating data structures from a form file and creating a web page in conjunction with corresponding data structures
US20030226111A1 (en)2002-06-032003-12-04Steve WirtsApplication development acceleration employing declarative user interfaces
US20040003389A1 (en)2002-06-052004-01-01Microsoft CorporationMechanism for downloading software components from a remote source for use by a local software application
US20030237046A1 (en)2002-06-122003-12-25Parker Charles W.Transformation stylesheet editor
US20030233644A1 (en)2002-06-172003-12-18Microsoft CorporationSystem and method for manipulating offline software
US7062764B2 (en)2002-06-172006-06-13Microsoft CorporationSystem and method for manipulating offline software
US20030237047A1 (en)2002-06-182003-12-25Microsoft CorporationComparing hierarchically-structured documents
US20030236859A1 (en)2002-06-192003-12-25Alexander VaschilloSystem and method providing API interface between XML and SQL while interacting with a managed object environment
US20040003031A1 (en)2002-06-262004-01-01International Business Machines CorporationRunning dynamic web pages off-line with a wizard
US20040002939A1 (en)2002-06-282004-01-01Microsoft CorporationSchemaless dataflow within an XML storage solution
US20040010752A1 (en)2002-07-092004-01-15Lucent Technologies Inc.System and method for filtering XML documents with XPath expressions
US20040059754A1 (en)2002-07-132004-03-25Lauren BarghoutPerceptual information processing system
US20040024842A1 (en)2002-07-312004-02-05Sap AktiengesellschaftValidation framework for validating markup page input on a client computer
US20040073868A1 (en)2002-08-272004-04-15Clark EasterMethod and system for compliance forms and compliance forms user interface
US20040044961A1 (en)2002-08-282004-03-04Leonid PesensonMethod and system for transformation of an extensible markup language document
US6993714B2 (en)2002-10-032006-01-31Microsoft CorporationGrouping and nesting hierarchical namespaces
US20040078756A1 (en)2002-10-152004-04-22Napper Jonathon LeighMethod of improving recognition accuracy in form-based data entry systems
US20040083426A1 (en)2002-10-252004-04-29Smita SahuSystem and method for generating pre-populated forms
US20040093596A1 (en)2002-10-312004-05-13Canon Kabushiki KaishaInformation processing apparatus having a capability of halting a printing process for off-line processing, and method and program for controlling printing process including halting the printing process for off-ling processing
US20040088647A1 (en)2002-11-062004-05-06Miller Adrian S.Web-based XML document processing system
US20050060324A1 (en)2002-11-132005-03-17Jerry JohnsonSystem and method for creation and maintenance of a rich content or content-centric electronic catalog
US7024417B1 (en)2002-11-142006-04-04Hyperion Solutions CorporationData mining framework using a signature associated with an algorithm
US7272789B2 (en)2002-11-182007-09-18Typefi Systems Pty. Ltd.Method of formatting documents
US20040117769A1 (en)2002-12-162004-06-17International Business Machines CorporationVisual debugger for stylesheets
US7316003B1 (en)2002-12-182008-01-01Oracle International Corp.System and method for developing a dynamic web page
US20040123277A1 (en)2002-12-182004-06-24Schrader Stuart LyleMethod, system and computer product for parsing binary data
US20050027757A1 (en)2002-12-192005-02-03Rick KiessigSystem and method for managing versions
US20040146199A1 (en)2003-01-292004-07-29Kathrin BerknerReformatting documents using document analysis information
US20040163041A1 (en)2003-02-132004-08-19Paterra, Inc.Relational database structures for structured documents
US7003722B2 (en)2003-02-282006-02-21Microsoft CorporationMethod and system for converting a schema-based hierarchical data structure into a flat data structure
US20070101280A1 (en)2003-03-242007-05-03Microsoft CorporationCloser Interface for Designing Electronic Forms and Hierarchical Schemas
US20070100877A1 (en)2003-03-242007-05-03Microsoft CorporationBuilding Electronic Forms
US20070094589A1 (en)2003-03-242007-04-26Microsoft CorporationIncrementally Designing Electronic Forms and Hierarchical Schemas
US20040189716A1 (en)2003-03-242004-09-30Microsoft Corp.System and method for designing electronic forms and hierarchical schemas
US20040188762A1 (en)2003-03-242004-09-30Yasuhiro ShimamotoSemiconductor device and manufacturing method thereof
US7088374B2 (en)2003-03-272006-08-08Microsoft CorporationSystem and method for managing visual structure, timing, and animation in a graphics processing system
US20040194035A1 (en)2003-03-312004-09-30Amit ChakrabortySystems and methods for automatic form segmentation for raster-based passive electronic documents
US7103611B2 (en)2003-05-012006-09-05Oracle International CorporationTechniques for retaining hierarchical information in mapping between XML documents and relational data
US20040237030A1 (en)2003-05-192004-11-25Malkin Wayne AllanSystem and method of implementing calculation fields in an electronic form
US20050015279A1 (en)2003-05-212005-01-20Rucker Donald W.Service order system and user interface for use in healthcare and other fields
US7168035B1 (en)2003-06-112007-01-23Microsoft CorporationBuilding a view on markup language data through a set of components
US20060031757A9 (en)2003-06-112006-02-09Vincent Winchel T IiiSystem for creating and editing mark up language forms and documents
US20040268229A1 (en)2003-06-272004-12-30Microsoft CorporationMarkup language editing with an electronic form
US20050004893A1 (en)2003-07-022005-01-06Sangroniz James M.Workflow management devices and systems, and workflow assignment and management methods
US20050038711A1 (en)2003-08-132005-02-17Merwin MarleloMethod for advertising for sale classroom materials and services
US20050066287A1 (en)2003-09-112005-03-24Tattrie Scott I.User-friendly data binding, such as drag-and-drop data binding in a workflow application
US7236982B2 (en)2003-09-152007-06-26Pic Web Services, Inc.Computer systems and methods for platform independent presentation design
US20050065933A1 (en)2003-09-222005-03-24Thomas GoeringSystem and method for customizing form elements in a form building application
US20050065936A1 (en)2003-09-222005-03-24Thomas GoeringSystem and method for reusing form elements in a form building application
US20050071752A1 (en)2003-09-242005-03-31Marlatt Jane E.Forms management system
US20050076049A1 (en)2003-10-022005-04-07Marwan QubtiBusiness workflow database and user system
US20050091285A1 (en)2003-10-232005-04-28Krishnan Prasanna V.Promotion and demotion techniques to facilitate file property management between object systems
US20050102370A1 (en)2003-10-232005-05-12Yun LinTruth on client persistent caching
US20050102612A1 (en)2003-11-062005-05-12International Business Machines CorporationWeb-enabled XML editor
US20050108624A1 (en)2003-11-132005-05-19International Business Machines CorporationLightweight form pattern validation
US20050108104A1 (en)2003-11-142005-05-19Katherine WooIntegrating third party shopping cart applications with an online payment service
US20050138086A1 (en)2003-12-232005-06-23Sap AktiengesellschaftCross-system update method and system
US20060143220A1 (en)2003-12-312006-06-29Spencer Herman JrSoftware application framework using meta-data defined object definitions
US20050198125A1 (en)2004-01-262005-09-08Macleod Beck Christopher C.Methods and system for creating and managing identity oriented networked communication
US20050223063A1 (en)2004-03-312005-10-06Bay-Wei ChangQuick reply form
US20050268222A1 (en)2004-05-262005-12-01Cheng Kai MMethod of creating, processing and storing HTML documents
US20060041838A1 (en)2004-08-232006-02-23Sun Microsystems, Inc.System and method for automatically generating XML schema for validating XML input documents
US20060059434A1 (en)2004-09-162006-03-16International Business Machines CorporationSystem and method to capture and manage input values for automatic form fill
US20060069605A1 (en)2004-09-292006-03-30Microsoft CorporationWorkflow association in a collaborative application
US20060101037A1 (en)2004-11-112006-05-11Microsoft CorporationApplication programming interface for text mining and search
US20070036433A1 (en)2005-08-152007-02-15Microsoft CorporationRecognizing data conforming to a rule
US7334178B1 (en)2005-09-092008-02-19Xsigo SystemsRandomized self-checking test system
US20070061706A1 (en)2005-09-142007-03-15Microsoft CorporationMapping property hierarchies to schemas
US20070061467A1 (en)2005-09-152007-03-15Microsoft CorporationSessions and session states

Non-Patent Citations (121)

* Cited by examiner, † Cited by third party
Title
"Architecture for a Dynamic Information Area Control" IBM Technical Disclosure Bulletin, IBM Corp. New Yrok US, vol. 37 No. 10, Jan. 10, 1994, pp. 245-246.
"Enter Key", Retrieved from the Internet at http://systems.webopedia.com/TERM/Enter<SUB>-</SUB>key.html on Dec. 20, 2006.
"Microsoft Visual Basic 5.0 Programmer's Guide 1997"; pp. 578-579; Redmond WA 98052-6399.
"Microsoft Visual Basic 5.0 Programmer's Guide", Microsoft Press, (1997), pp. 42-43, 54-58.
"Netscape Communicator 4.61 for OS/2 Warp" Netscapte Communication Corporation, Software 1999, The whole software release & "Netscape-Version 4.6 [en]-010615" Netscape Screenhot Oct. 2, 2002.
"Netscape window" Netscape Screenshot Oct. 2, 2002.
"SmartUpdate Developer's Guide" Netscapte Communication Corporation, Online Mar. 11, 1999 retrieved from the Internet on Dec. 8, 2000: http://developer.netscape.com:80/docs/manuals/communicator/jarman/index.htm> 83 pages.
"Store and Organize Related Files in a Binder," Getting Results with Microsoft Office, 1990, pp. 109-112.
"Webopedia Computer Dictionary" retrieved on May 9, 2006, at <<http://www.pewebopedia.com/TERM/OLE.html>>, Jupitermedia Corporation, 2006, pp. 07.
"Whitehill Composer" Whitehill Technologies Inc. 2 pages.
"Enter Key", Retrieved from the Internet at http://systems.webopedia.com/TERM/Enter—key.html on Dec. 20, 2006.
"Microsoft Word 2000 Screenshoots", Word,(2000), 1-17.
"Microsoft Word 2000 Screenshots", (2000), 11-17.
"Microsoft Word 2000", Screenshot, (1999), 1-5.
"X-Form 1.0", W3C,(Jul. 16, 2001).
Adams, Susie et al., "BizTalk Unleashed", Sams publishing, 2002, first printing Mar. 2001,(3/2001), 1-2, 31-138.
Alschuler; "A Tour of Xmetal" O'Reilly XML.COM 'Online Jul. 14, 1999 XP002230081 retrieved from the internet Feb. 5, 2003: <URL:http//www.xml.com/pub/a/SeyboldReport/ip0311025.html>.
Alschuler; "A Tour of Xmetal" O'Reilly XML.COM ′Online Jul. 14, 1999 XP002230081 retrieved from the internet Feb. 5, 2003: <URL:http//www.xml.com/pub/a/SeyboldReport/ip0311025.html>.
Altova et al. XML Spy, XML integrated Development Environments, Altova Inc., 2002, pp. 1-18.
Altova, "Altova Tools for XPath 1.0/2.0", Altova, 1-12.
Altova, et al., "User and Reference Manual Version 4.4", www.xmlspy.com, May 24, 2007, 1-565.
Altova, Inc., "XML Spy 4.0 Manual," Altova Inc. & Altova GmbH, coyright 1998-2001, Chapters 1, 2, and 6, encompassing pages 1-17, 18-90, and 343-362.
Anat, Eyal et al., "Integrating and Customizing Hererogeneous E-Commerce Applications", The VLDB Journal-The International Journal on Very Large Data Bases, vol. 10, Issue 1, (Aug. 2001), 16-38.
Atova, "User Reference manual Version 4.4, XML Spy suite 4.4," Atova Ges.m.b.H and Altova, Inc., May 24, 2002, pages cover, copyright p. 1-565.
Au et al.; "Netscape Communicator's Collapsible Toolbars" CHI'98 Human Factors in Computing Systems Conference Proceedings, Los Angeles CA, Apr. 1998, pp. 81-86.
Barker et al., "Creating In-Line Objects Within An Integrated Editing Environment," IBM Technical Disclosure Bulletin, vol. 27, No. 5, Oct. 1984, p. 2962.
Battle et al., "Flexible Information Presentation with XML" 1998 The Institution of Electrical Engineers, 6 pages.
Beauchemin, Dave "Using InfoPath to Create Smart Forms", Retrieved from the Internet at http:/www.microsoft.com/office/infopath/prodinfo/using.mspx on Jan. 21, 2007,(Mar. 27, 2003).
Begun, Andrew et al., "Support and Troubleshooting for XML Schemas in InfoPath 2003", Microsoft Office InfoPath 2003 Technical Articles, Retrieved from the Internet at http://msdn2.microsoft.com/en-us/library/aa168241(office.11,d=printer).aspx on Jan. 21, 2007,(Aug. 2004).
Ben-Natan, Provisional U.S. Appl. No. 60/203,081, filed May 9, 2000, entitled "Internet platform for creating and supporting communities".
Berg A., "Naming and Binding: Monikers" Inside OLE, 1995, Chapter 9, pp. 431-490.
Borland, Russo "Running Microsoft Word 97", 314-315, 338, 361-362, 390, and 714-719.
Brabrand, et al., "Power Forms Declarative Client-side Form Field Validation", (2002), 1-20.
Brogden ; "Arbortext Adept 8 Editor Review" O'Reilly XML.COM 'Online! Sep. 22, 1999 XP002230080 retrieved from the Internet Feb. 5, 2003; <URL:http://www.xml.com/pub/a/1999/09/adept/AdeptRvw.htm>.
Bruce Halberg et al, "Using Microsoft Excel 97", Published 1997, Bestseller Edition, Pertinent pp. 1-9, 18-25, 85-89, 98-101;106-113, 124-127, 144-147, 190-201, 209-210, 218-227, 581-590, 632-633, 650-655, 712-714.
Chen, Yi et al.; "XKvalidator: A Constraint Validator for XML" CIKM '02, Copyright 2002, ACM 1-58113-492-4-02-0011, Nov. 2002, pp. 446-452.
Cheng, Ya Bing et al.; "Designing Valid XML Views" ER 2002, LNCS 2503 2002, Springer-Verlag Berlin Heidelberg 2002. pp. 463-477.
Chien, Shu-Yao et al.; "Efficient Management of Multiversion Documents by Object Referencing" Proceedings of the 27th VLDB Conference, 2001, pp. 291-300.
Chien, Shu-Yao et al.; "Efficient Schemes for Managing Mulitversion XML Documents" VLDB Journal, 2002, pp. 332-352.
Chien, Shu-Yao et al.; "Storing and Querying Multiversion XML Documents using Durable Node Numbers" IEEE 2002, pp. 232-241.
Chien, Shu-Yao et al.; "XML Document Versioning" SIGMOD Record vol. 30 No. 3, Sep. 2001, pp. 46-53.
Chuang, Tyng-Ruey; "Generic Validation of Structural Content with Parametric Modules" ICFP '01, Sep. 2001, Copyright 2001, ACM 1-58113-415-0/01/0009, pp. 98-109.
Ciancarini, Paolo et al.; "Managing Complex Documents Over the WWW: A Case Study for XML" Transactions on Knowledge and Data Engineering, vol. I. 11 No. 4, Jul./Aug. 1999. pp. 629-938.
Clapp D., "The NeXT Appliction Kit Part I: Non-Responsive Classes," The NeXT Bible 1990, Chapter 16, pp. 275-293.
Clark, J. et al.; "XML Path Language (XPath) Version 1.0" W3C (MIT Inria Kejo), Nov. 16, 1999, pp. 1-49.
Clark, James; "XSL Transformation (XSLT) Version 1.0" W3C (MIT Inria Kejo), Nov. 16, 1999 pp. 1-156.
Clarke, P.; "From Small Beginnings" Knowledge Management Nov. 2001, pp. 28-30.
Cover, XML Forms Architecture, retrieved at << http://xml.coverpages.org/xfa.html>> on Aug. 17, 2006, Coverpages, Jun. 16, 1999.
Cybook, Inc.: "Copying the Search Form to Services-based Web Sites" INternet Article, (online) Jul. 26, 2004.*the whole document*.
Davidow; "XML Editors: Allegations of Functionality in Search of Reality" Internet 'Online! 1999 XP002230082 retrieved from the Internet <URL:http://www.ivritype.com/xml/>.
Davidow; "XML Editors: Allegations of Functionality in Search of Reality" Internet ′Online! 1999 XP002230082 retrieved from the Internet <URL:http://www.ivritype.com/xml/>.
Dayton et al.; "Photo Shop 5/5.5 Wow! Book" 2000 Peachpit Press pp. 8-17.
Description of Whitehill Composer software product producted by Whitehill Technologies Inc. available at <http://www.xml.com/pub/p/221> accessed on, Apr. 2004, two pages.
DiLascia et al., "Sweeper" Microsoft Interactive Developer, vol. 1, No. 1, 1996, 27 pages.
Dodds, "Toward an XPath API", xml.com,(May 7, 2001), 1-3.
Dubinko, Micah "XForms and Microsoft InfoPath", Retrieved from the Internet at http://www.xml.com/lpt/a/1311 on Jan. 21, 2007,(Oct. 29, 2003).
Dyck; "XML Spy Tops as XML Editor" http://www.eweek.com/article2/0395972404100.asp Nov. 2002, 4 pages.
Excel Developer Tip (hereinafter "Excel"), "Determining the Data Type of a Cell", May 13, 1998, p. 1 (available at http://jwalk.com/ss//excel/tips/tip62.htm).
Grosso, et al., "XML Fragment Interchange", W3C,(Feb. 2001), 1-28.
Halberg, Bruce et al., "Using Microsoft Excel 97", (1997), 191-201, 213-219.
Hall; "Agent-based Software Configuration and Deployment" Thesis of the University of Colorado Online, Dec. 31, 1999, retrieved from the Internet on Nov. 7, 2003: <http://www.cs.colorado.edu/users/rickhall/documents/ThesisFinal.pdf> 169 pages.
Han et al., WebSplitter: A Unified XML Framework for Multi-Device Collaborative Web Browsing, 2000, ACM Conference on Cimputer Supported Cooperative Work, 10 pages.
Hardy et al.; "Mapping and Displaying Structural Transformations between XML and PDF" DocEng '02, Nov. 8-9, 2002, Copyright 2002, ACM 1-58113-597-7/02/0011, pp. 95-102.
Haukeland ; "Tsbiff-tildeslash biff-version 1.2.1" Internet Document [Online] Jun. 1999 URL: http://web.archive.org/web/19990912001527/http://www.tildeslash.com/tsbiff/.
Herzner et al., "CDRAM- Compound Document Access and Management. An Object-Oriented Approach" Multimedia Systems Interactions and Applications, 1992, Chapter 3, pp. 17-36.
Hoffman, Michael "Architecture of Microsoft Office InfoPath 2003", Microsoft Office InfoPath 2003 Technical Articles, Retrieved from the Internet at http://msdn2.microsoft.com/en-us/library/aa219024(office.11,d=printer).aspx on Jan. 21, 2007,(Jun. 2003).
Hwang et al.; "Micro-Firewalls for Dynamic Network Security with Distributed Intrusion Detection"; IEEE INternational Symposium on Network Computing and Applications; 2001; pp. 68-79.
IBM; Stack Algorithm for Extractin Subtree from Serialized Tree, Mar. 1, 1994, TDB-ACC-NONN94033, 3 pages.
Ixia Soft, "Streamlining content, retrieval, and publishing ont he Web using TEXTML Server and SML Spy 4 Suite in an Integrated, Web publishing environment," (Partner's Whitepaper, published on the Web as of Jun. 6, 2002, downloaded pp. 1-16.
Kaiya et al.; "Specifying Runtime Environments and Functionalities of Downloadable Components Under the Sandbox Mode"; International Symposium on Principles of Software Evolution; 2000; pp. 138-142.
Kanemoto Hirotaka et al; "An Efficiently Updatable Index Scheme for Structured Documents" IEEE, 1998, pp. 991-996.
Kim, Sangg-Kyun et al.; "Immediate and Partial Validation Mechanism for the Conflict Resolution of Update Operations in XML Databases" WAIM 2002, LNCS 2419, 2002, Springer-Veriag Berlin Heidelberg 2002, pp. 387-439.
Kobayashi et al., "An Update on BTRON-specification OS Development" IEEE 1991 pp. 132-140.
Komatsu, N. et al. A proposal o; "A Proposal on Digital Watermark in Document Image Communication and Its Application to Realizing a Signature" Electronics and Communications in Japan Part I: Communications vol. 73 No. 5, May 1990, pp. 22-33.
Kutay, U.S. Appl. No. 60/209,713, filed Jun. 5, 2000, entitled, "Methods and systems for accessing, organizing presenting and viewing data".
Laura Acklen and Read Gilgen, "Using Corel Wordperfect 9", 251-284, 424-434, 583-586 (1998).
LeBlond et al, "PC Magazine Guide to Quattro Pro for Windows", pp. 9-11, 42-61, Ziff-Davis Press, Copyright 1993 by the LeBlond Group.
Lehtonen, Miro et al., "A Dynamic User Interface for Document Assembly", Department of Computer Science, University of Helsinki,(Nov. 2002).
Macromedia, Inc.: "Dreamweaver Technote, Changes in Copying and pasting in Dreamweaver 4" Internet Article (online). *the whole document*.
Mansfield, "Excel 97 for Busy People", Published by Osborne/McGraw-Hill 1997 pp. 48-50.
McCright, J.S.; "New Tool Kit to Link Groove with Microsoft Sharepoint" eWeek Enterprise News & Reviews Ziff Davis Media Inc., Jul. 2002, 1 page.
Microsoft Corporation, "Microsoft Computer Dictionary" Microsoft Press, Fifth Edition, p. 149.
Microsoft Word 2000 (see Screen Shot "About Microsoft Word") Published 1983-1999 and Microsoft Excel 2000 (see Screen Shot "About Microsoft Excel") Published 1988-1999, Three pages.
Moore, U.S. Appl. No. 60/191,662, filed Mar. 23, 2000, entitled "Collection-based presistent digital archives".
Musgrave; "Networking Technology-Impact and Opportunities" Survey and Statistical Computing 1996, Proceedings of the Second ASC International Conference, Sep. 1996, pp. 369-378. London UK.
Nelson, Joe "Client-side Form Validation Using JavaScript", Developer Advisory, (Sep. 21, 2001).
Nelson, Mark; "Validation with MSXML and XML Schema" Windows Developer Magazine, Jan. 2002, pp. 35-38.
Noore, A.; "A Secure Conditional Access System Using Digital Signature and Encryption" 2003 Digest of Technical Paper, International Conference on Consumer Electronics, Jun. 2003, pp. 220-221.
OMG XML Metadata Inerchange (XMI) Specification Version 1.2 Jan. 2002.
Pacheco et al.; "Delphi 5 Developer's Guide" Sams Publishing, 1999, Chapter 31,Section: Data Streaming, 6 pages.
Pacheco, Xavier et al., "Delphi 5 Developer's Guide", Sams Publishing. Chapter 31, Section: Data Streaming,(1999),4.
Peterson B. , "Unix Variants," Unix Review, vol. 10, No. 4, Apr. 1992, pp. 29-31.
Pike et al., "Plan 9 from Bell Labs" UKUUG, Summer 1990, 10 pages.
Pike et al., "The Use of Name Spaces in Plan 9," Operating Systems Review Vol. 27, No. 2, Apr. 1993, pp. 72-76.
Prevelakis et al.; "Sandboxing Applications"; Proceedings of the Freenix Track;2001; pp. 119-126.
Rado, Dave: "How to create a template that makes it easy for users to "fill in the blanks", without doing any programming" Microsoft Word MVP Faq Site, (online) Apr. 30, 2004, the whole document.
Raggett, "HTML Tables", retrieved on Aug. 6, 2006, at <<http:www.//is-edu.hcmuns.edu.vn/WebLib/books/Web/Tet/html3-tables.html>>, W3C Internet Draft, Jul. 7, 1995, pp. 1-12.
Raman, T.V., et al., "XForms 1.0", (Dec. 2001),Section 1-12.2.3 & Appendices A-G.
Rapaport; "Gel more from SharePoint" Transform Magazine, vol. 11 No. 3 Mar. 2002, pp. 1315.
Rees, Michael J., "Evolving the Browser Towards a Standard User Interface Architecture", School of Information Technology, Bond University, Australia,(2001).
Rogge Bories et al.; "Validating MPEG-21 Encapsulated Functional Metadata" IEEE 2002, pp. 209-212.
Schmid et al.; "Protection Data from Malicious Software"; 18th Annual Computer Security Application Conference; 2002; pp. 199-208.
Singh, Darshan "Microsoft InfoPath 2003 By Example", Retrieved from the Internet at http://www.perfectxml.com/InfoPath.asp on Jan. 21, 2007,(Apr. 20, 2003).
Staneck W., "Internal and External Media", Electronic Publishing Unleashed, 1995, Chapter 22, pp. 510-542.
Stylusstudio, "StylusStudio: XPath Tools", 2004-2007, StylusStudio, 1-14.
Sun Q. et al.; "A robust and Secure Media Signature Scheme for JPEG Images" Proceedings of 2002 IEEE Workshop on Multimedia Signal Processing, Dec. 2002, pp. 296-299.
Sutanthavibul Supoj et al.; "XFIG Version 3.2 Patchlevel 2 (Jul. 2, 1998) Users Manual (Edition 1.0)" Internet Document [Online] Jul. 2, 1998 XP002229137 Retrieved from the Internet: <URL:http://www.ice.mtu.edu/online<SUB>-</SUB>docs/xfig332/> [retrieved on Jan. 28, 2003].
Sutanthavibul Supoj et al.; "XFIG Version 3.2 Patchlevel 2 (Jul. 2, 1998) Users Manual (Edition 1.0)" Internet Document [Online] Jul. 2, 1998 XP002229137 Retrieved from the Internet: <URL:http://www.ice.mtu.edu/online—docs/xfig332/> [retrieved on Jan. 28, 2003].
Tomimori et al.; "An Efficient and Flexible Access Control Framework for Java Programs in Mobile Terminals"; 22nd International Conference on Distributed Computing Systems Workshops; 2002; pp. 777-782.
Trupin J., "The Visual Programmer," Microsoft Systems Journal, Apr. 1996, pp. 103-105.
U.S. Appl. No. 60/209,713, filed Jan. 1, 1990, Kutay et al.
Udell, Jon "InfoPath and XForms", Retrieved from the Internet at http://weblog.infoworld.com/udell/2003/02/26.html,(Feb. 26, 2003).
Usdin, et al.; "XML: Not a Silver Bullet But a Great Pipe Wrench" Standardview vol. 6. No. 3, Sep. 1998, pp. 125-132.
Van Hoff et al.; "The Open Software Description Format" Online Aug. 13, 1997, retrieved from the Internet on Nov. 7, 2003: <http://www.w3.org/TR/NOTE-OSD>, 11 pages.
Vasters, Clemens F., "BizTalk Server 2000 A Beginner's Guide", Osborne/McGraw-Hill,(2001), 1-2, 359-402.
Verlamis Iraklis et al.; "Bridging XML-Schema and relational databases. A System for generating and manipulating relational databases using valid XML documents." DocEng '01, Nov. 9-10, 2001, Copyright 2001, ACM 1-58113-432-0/01/0011, pp. 105-114.
Villard, et al., "An Incremental XSLT Transformation Processor for XML Document Manipulation", http://www2002.org/CDROM/refereed/321, Printed on May 18, 2007,(May 2002), 25 pages.
Williams et al.; "The Component Object Model" A Technical Overview Microsoft Corp., Oct. 1994, pp. 1-14.
Wong, Raymond K. et al.; "Managing and Querying Multi-Version XML Data with Update Logging" DocEng '02, Nov. 8-9, 2002, Copyright 2002, ACM ACM 1-58113-594-7/02/0011, pp. 74-81.
XMLSPY, "XmlSpy 2004 Enterprise Edition Manual", Altova,(May 17, 2004), 1-25, 220-225.
Zdonik S., "Object Management System Concepts," ACM, 1984, pp. 13-19.

Cited By (48)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20040268344A1 (en)*2001-03-082004-12-30Sridhar ObilisettyCentrally managed and distributed applications
US8918729B2 (en)2003-03-242014-12-23Microsoft CorporationDesigning electronic forms
US9229917B2 (en)2003-03-282016-01-05Microsoft Technology Licensing, LlcElectronic form user interfaces
US20110173560A1 (en)*2003-03-282011-07-14Microsoft CorporationElectronic Form User Interfaces
US8892993B2 (en)2003-08-012014-11-18Microsoft CorporationTranslation file
US9239821B2 (en)2003-08-012016-01-19Microsoft Technology Licensing, LlcTranslation file
US9268760B2 (en)2003-08-062016-02-23Microsoft Technology Licensing, LlcCorrelation, association, or correspondence of electronic forms
US9536340B2 (en)2004-08-172017-01-03Dirtt Environmental Solutions, Ltd.Software incorporating efficient 3-D rendering
US20060048146A1 (en)*2004-08-242006-03-02Lg Electronics Inc.Forcibly downloading program in mobile communications terminal
US7770166B2 (en)*2004-08-242010-08-03Lg Electronics Inc.Forcibly downloading program in mobile communications terminal
US7721281B1 (en)*2005-07-012010-05-18Cisco Technology, Inc.Methods and apparatus for securing local application execution
US20070130197A1 (en)*2005-12-022007-06-07Guard Insurance GroupSystem and method to track the status, physical location, and logical location of workflow objects in a workflow cycle
US8838466B2 (en)*2005-12-022014-09-16Guard Insurance GroupSystem and method to track the status, physical location, and logical location of workflow objects in a workflow cycle
US9210234B2 (en)2005-12-052015-12-08Microsoft Technology Licensing, LlcEnabling electronic documents for limited-capability computing devices
US7765485B2 (en)*2006-01-302010-07-27International Business Machines CorporationExtensible user interface framework for a componentized application environment
US20070192339A1 (en)*2006-01-302007-08-16International Business Machines CorporationExtensible user interface framework for a componentized application environment
US20070261066A1 (en)*2006-04-212007-11-08Hiroyuki MiyamotoMethod and system for extension registry filtering
US8132188B2 (en)*2006-04-212012-03-06International Business Machines CorporationMethod and system for extension registry filtering
US20070277170A1 (en)*2006-05-252007-11-29International Business Machines CorporationMerger driven application installation
US20080127053A1 (en)*2006-09-072008-05-29Microsoft CorporationControlling application features
US20080127054A1 (en)*2006-09-072008-05-29Microsoft CorporationConnecting with an application instance
US7908580B2 (en)*2006-09-072011-03-15Microsoft CorporationConnecting an integrated development environment with an application instance
US20080127055A1 (en)*2006-09-072008-05-29Microsoft CorporationApplication proxy
US8850388B2 (en)2006-09-072014-09-30Microsoft CorporationControlling application features
US9348576B2 (en)*2006-10-032016-05-24Salesforce.Com, Inc.Methods and systems for upgrading and installing application packages to an application platform
US9870218B2 (en)2006-10-032018-01-16Salesforce.Com Inc.Methods and systems for upgrading and installing application packages to an application platform
US20140173582A1 (en)*2006-10-032014-06-19Salesforce. Com, Inc.Methods and systems for upgrading and installing application packages to an application platform
US10831462B2 (en)2006-10-032020-11-10Salesforce.Com, Inc.Methods and systems for upgrading and installing application packages to an application platform
US8683313B2 (en)*2007-10-262014-03-25International Business Machines CorporationSystem for processing mixed-format files
US20130080878A1 (en)*2007-10-262013-03-28International Business Machines CorporationSystem for Processing Mixed-Format Files
US20090119661A1 (en)*2007-11-062009-05-07Bernoth Andrew JMethod and System for Providing a Filter for a Router
US8443359B2 (en)*2007-11-062013-05-14International Business Machines CorporationMethod and system for providing a filter for a router
US9519407B2 (en)2008-03-112016-12-13Ice Edge Business Solutions, Ltd.Automatically creating and modifying furniture layouts in design software
US20100037217A1 (en)*2008-08-072010-02-11International Business Machines CorporationComputer program product for evaluating the workloads of installation plans in quantity by building a pre-requisite relation knowledge-base
US8230418B2 (en)*2008-08-072012-07-24International Business Machines CorporationComputer program product for evaluating the workloads of installation plans in quantity by building a pre-requisite relation knowledge-base
CN101859254A (en)*2009-04-022010-10-13国际商业机器公司Automatically recommending upgrade approach for customizable software product
US20100257518A1 (en)*2009-04-022010-10-07International Business Machines CorporationAutomatically recommending an upgrade approach for a customizable software product
US8402452B2 (en)*2009-04-022013-03-19International Business Machines CorporationAutomatically recommending an upgrade approach for a customizable software product
US9245064B2 (en)*2009-11-242016-01-26Ice Edge Business SolutionsSecurely sharing design renderings over a network
US20120268463A1 (en)*2009-11-242012-10-25Ice Edge Business SolutionsSecurely sharing design renderings over a network
US9189571B2 (en)2011-06-112015-11-17Ice Edge Business Solutions, Ltd.Automated re-use of structural components
US20160034266A1 (en)*2012-03-272016-02-04Microsoft Technology Licensing, LlcDynamic plugin(s) for cloud application(s)
US9740469B2 (en)*2012-03-272017-08-22Microsoft Technology Licensing, LlcDynamic plugin(s) for cloud application(s)
US20170329592A1 (en)*2012-03-272017-11-16Microsoft Technology Licensing, LlcDynamic plugin(s) for cloud application(s)
US10740078B2 (en)2012-03-272020-08-11Microsoft Technology Licensing, LlcDynamic plugin(s) for cloud application(s)
US10469473B2 (en)*2016-08-312019-11-05Hewlett Packard Enterprise Development LpNetwork authentication system extensions
US11416235B2 (en)*2017-09-282022-08-16Oracle International CorporationSystem and method for managed server independence for deployment of software applications and libraries
US10970084B2 (en)*2018-05-162021-04-06Sage (Uk) Ltd.Application deployment

Also Published As

Publication numberPublication date
US6874143B1 (en)2005-03-29
US20050044524A1 (en)2005-02-24

Similar Documents

PublicationPublication DateTitle
US7392522B2 (en)Architectures for and methods of providing network-based software extensions
US7979856B2 (en)Network-based software extensions
US8074217B2 (en)Methods and systems for delivering software
US8099664B2 (en)Dynamic help user interface control with secured customization
US9870218B2 (en)Methods and systems for upgrading and installing application packages to an application platform
US9430193B2 (en)Interface for a computer platform
US20070220429A1 (en)Layered customization of a help user interface
JP5787963B2 (en) Computer platform programming interface
US7370066B1 (en)System and method for offline editing of data files
CN101611422A (en)Web data usage platform
US7383535B1 (en)System and method for implementing code hooks in a web-based environment
BRPI0111802B1 (en) NETWORK-BASED SOFTWARE EXTENSION DISTRIBUTION METHOD
Rayns et al.Introduction to CICS Dynamic Scripting
ChouA package management system for Web based applications

Legal Events

DateCodeTitleDescription
STCFInformation on status: patent grant

Free format text:PATENTED CASE

FPAYFee payment

Year of fee payment:4

ASAssignment

Owner name:MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0477

Effective date:20141014

FPAYFee payment

Year of fee payment:8

FEPPFee payment procedure

Free format text:MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPSLapse for failure to pay maintenance fees

Free format text:PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCHInformation on status: patent discontinuation

Free format text:PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FPLapsed due to failure to pay maintenance fee

Effective date:20200624


[8]ページ先頭

©2009-2025 Movatter.jp