Various embodiments can support a richly dynamic form environment that permits editing on the client side and can alleviate many of the server-imposed processing complexities that have existed in the past. In at least some embodiments, complex editing scenarios permit users to make complex editing changes on a form, and have those editing changes captured and rendered on the client side for later communication to the server. Particular aspects of at least some of the embodiments can permit scalability, and can, in at least some instances, be employed in the context of a wide variety of browsers having different levels of capability, e.g. “thin” and “thick” browsers.
|
1. A method comprising:
enabling a user to interact with a form on a client device;
keeping track of changes made to the form, as well as an order in which the changes are made in an event log;
implementing one or more of the changes made to the form without requiring communication with a form server, at least one of the changes being a structural change to the form associated with one or more of:
modifying a control in the form;
inserting a control in the form; or
removing a control from the form; and
automatically and periodically communicating the changes and the order to the form server without the user's intervention, wherein the communicating is performed by a user agent comprising a web browser which determines, based at least in part on predefined criteria, when said communicating occurs, wherein said criteria is associated with at least one of:
the event log's size;
the implementing one or more of the changes; or
implementing functionality associated with the form.
4. One or more computer-readable storage media having computer-readable instructions embodied as a web browser thereon which, when executed by one or more processors, cause the one or more processors to implement a method comprising:
enabling a user to interact with a form on a client device;
keeping track of changes made to the form, as well as an order in which the changes are made in an event log, wherein at least one of the changes comprises a change to the structure of the form associated with at least one of:
modifying a control in the form;
inserting a control in the form; or
removing a control from the form;
implementing at least one of the changes made to the form without requiring communication with a form server;
automatically and periodically communicating the changes and the order to the form server without the user's intervention, wherein the communicating is performed by the web browser; and
determining, based at least in part on predefined criteria, when said communicating occurs, wherein determining is performed by the web browser, and wherein said criteria is associated with at least one of:
the event log's size;
the implementing one or more of the changes; or
implementing functionality associated with the form.
2. The method of
3. The method of
5. The one or more computer-readable storage media of
6. The one or more computer-readable storage media of
|
This invention relates to methods and systems for exchanging and rendering forms on computing devices.
Conventional form-rendering systems, such as those that render HTML forms, utilize a simple protocol to communicate between a client device on which the form is rendered and manipulated by a user, and a server that processes and provides data for rendering on the client device. More specifically, client devices in this type of environment typically send data to the server in the form of name-value pairs. The name portion of the name-value pair corresponds to a particular control in the form (such as a field in which the user might enter their name or address), and the value portion of the name-value pair corresponds to data that appears in a control.
Typically, the server has been responsible for figuring out which data has changed and then, responsively, taking the appropriate action such as modifying the form, and then returning HTML data to the client device which can then be rendered for the user.
This simple protocol leaves much to be desired and has many shortcomings not the least of which include the inability to provide or support a rich, dynamic user experience, the inability to scale in a desirable manner, and taxing server resources.
Various embodiments can support a richly dynamic form environment that permits editing on the client side and can alleviate many of the server-imposed processing complexities that have existed in the past. In at least some embodiments, complex editing scenarios permit users to make complex editing changes on a form, and have those editing changes captured and rendered on the client side for later communication to the server. Particular aspects of at least some of the embodiments can permit scalability, and can, in at least some instances, be employed in the context of a wide variety of browsers having different levels of capability, e.g. “thin” and “thick” browsers.
Overview
Various embodiments described below can support a richly dynamic form environment that permits editing on the client side and can alleviate many of the server-imposed processing complexities that have existed in the past. In at least some embodiments, complex editing scenarios permit users to make complex editing changes on a form, and have those editing changes captured and rendered on the client side for later communication to the server. Particular aspects of at least some of the embodiments described below can permit scalability, and can, in at least some instances, be employed in the context of a wide variety of browsers having different levels of capability, e.g. “thin” and “thick” browsers.
Exemplary Computing Environment
Preliminarily, the embodiments about to be described can be utilized in connection with a client/server computing environment, such as the one shown generally at 100. Environment 100 includes, in this example, a client computing device 102 that communicates with one or more servers 104 which, in this example can comprise form servers.
In the illustrated and described embodiment, computing device 102 communicates with server(s) 104 via a communication network 106, such as an intranet or the Internet. Computing device 102 comprises at least one or more processors 108, an operating system 110, one or more computer-readable media 112 and one or more applications 114 embodied on the computer-readable media 112. A more detailed description of an exemplary computing device appears at the end of this document under the heading “Exemplary Computing Device”.
In this particular example, one of application 114 comprises a user agent such as a web browser. The user agent allows a user to interact with a form that is provided by form server 104. In the context of a user agent that comprises a web browser, the user agent enables a user to access the Internet and interact with form server 104 to receive and edit a form.
It is to be appreciated and understood that other well-known computing systems, environments, and/or configurations can be utilized in connection with the embodiments that are about to be described. For example, such computing systems, environments and/or configurations can include, without limitation, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The embodiments about to be described can be described in the general context of, or implemented with, computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures and etc. that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed in various embodiments, including those described below.
These computer-executable instructions can comprise or be embodied on computer-readable media 112 which can comprise, for example, computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information. This stored information can comprise computer-readable instructions, data structures, program modules, and other data. Computer storage media comprise, by way of example, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical storage, magnetic media storage devices, or any other medium that can be used to store the desired information.
Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transport mechanism) and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Communication media can comprise, for example, wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above can also be included within the scope of computer-readable media.
Capturing User Form Modifications
In at least one embodiment, when a user interacts with a particular form, a user agent executing on the client device keeps track of the changes made to the form, as well as the order of the changes or events that are generated by the user's interaction. The user agent can then, periodically, communicate those changes, in the order that the changes occurred, to the appropriate form server for processing. In at least some embodiments, the user agent can make the changes directly on the form that the user interacts with. For example, if a user manipulates the structure of the form, at least some user agents can implement the structural change and then, at some later time communicate those changes to the server for processing.
When the form server receives the changes, the server can then process the changes and send appropriate data to the client device for rendering. More specifically, when the server receives the data that describes the user-made changes and the order in which the changes were made to a form served up by the server, the server can process the data to produce processed data that can be sent to the client device and used to render an updated form on the client device. Examples of how this can be done are described below.
In at least one embodiment, only the changes are sent to the server, rather than all of the data associated with the entire form and its controls. In turn, server resources and overhead are conserved because the server does not have to process data that is unassociated with the changes or modifications that the user made to the form.
As an example, consider
In accordance with at least one embodiment, only the form changes (and the order in which they occur) are communicated to the server. That is, there are a number of controls whose associated information does not change. In this case, information associated with those controls is not communicated to the server. Hence, in this example, only information associated with the controls “Reference No.”. “Date Ordered” and “Date Requested” is eventually communicated to the server.
Consider further that the user wishes to modify the structure of the form in some way. For example, assume that the user wishes to insert an additional address control (e.g. “Address 3”). In the present embodiment, the user can manipulate the structure of the form and have those manipulations tracked and implemented by the user agent which, in this example, is a web browser. Eventually, as will be discussed, those manipulations as well as other changes to the form can be articulated to the server so that the server can provide updated data back to the client device for rendering.
The Event Log
Although the user agent can maintain the user-induced modifications of a particular form in any suitable structure, in at least one embodiment, the agent maintains an event log which maintains a list of changes or events that have occurred. Periodically, the user agent articulates the event log to the server so that the server can process the event log as described in more detail below. By maintaining the list of changes and/or events on the client device, the client device can implement the changes in a generally contemporaneous manner to provide the user with almost immediate feedback, without necessarily having to communicate with the server to affect the changes. In this way, the user can see their changes implemented without the changes being affected by the communication latency between the client device and the server. In addition, because the changes or events can be tracked and then periodically provided to the server, the server is not called upon to process, in a piecemeal manner, every single change that the user makes every time they make a change or generate an event. Hence, this approach can conserve server processing resources.
In the illustrated and described embodiment, the event log is structured in a format that is powerful and extensible enough to support arbitrary editing actions. This enables the browser, in at least some instances, to support such editing actions without having to communicate with the server. In the illustrated and described embodiment, the event log can naturally scale to the capabilities of a particular browser. For browsers that are less functional (i.e. “thin” browsers), there is typically more frequent communication with a particular server. An example of this is given below. For browsers that are more functional, there is typically less frequent communication with a particular server and hence, the event logs can be longer.
Descriptors
Description
StartEventLog(serialId)
Starts the event log. Used by the
server to make sure logs are
submitted in order.
Change(controlId, newValue)
Performs an “in-place” change of a
control.
Click(buttonId, containerId)
Handles a button click.
Submit( )
Performs a server-side “submit”
operation (such as submit to a
secondary data source).
XCollectionInsert(containerId,
Performs an insertion of a new
beforeSiblingId, newControlId)
control.
XCollectionInsertBefore(containerId,
Performs an insertion of a new
beforeSiblingId, newControlId)
control.
XCollectionInsertAfter(containerId,
Performs an insertion of a new
afterSiblingId, newControlId)
control.
XOptionalInsert(containerId,
Performs an insertion of a new
beforeSiblingId, newControlId)
control.
XCollectionRemove(controlId)
Removes a single item of a
repeating collection.
XCollectionRemoveAll(controlId)
Removes all items of a
repeating collection.
XOptionalRemove(controlId)
Removes an optional item.
VerifyChange(controlId,
Implicit Change: verifies that a
expectedValue)
client-side change that was caused
by a side-effect was also triggered
on the server.
VerifyValidation(controlId,
Declarative validation: verifies that
expectedErrors)
a validation error triggered by
the client was also triggered by
the server.
A control ID field 304 contains values associated with the identifier for a control to which the editing action is to be applied. A parameters field 306 includes the parameters for a particular editing action. For example, some editing actions may require a text string to be inserted for a particular editing action. In this case, the parameters field would include a text string value. Another example would be a button click, in which case the parameters would include the button id and the button's current container. Yet another example would be an insertion of a new control, where the parameters would include a container for insertion, relative sibling and a name for a new control.
A value field 308 maintains entries associated with new control values. This assists the server in maintaining the state of the controls throughout a user's editing actions. This assists the server in maintaining the state of the controls throughout a user's editing actions. A new control ID field 310 is provided and, if new controls are created by the user because of an editing action, holds an identifier for the new control. This permits subsequent entries in the event log to refer to the new control(s).
It is to be appreciated and understood that the exemplary event log illustrated in
Exemplary Method
Step 400 receives user input relative to a rendered form. The user input can be received in any suitable form. For example, the user may type a text string into a field associated with a particular control, the user can click on a particular control and the like. Step 402 computes changes to the form associated with the received input and implements the changes on the form. The changes can involve, for example, modifications to the controls or data fields associated with the control or, in at least some embodiments, can involve changing, in some way, the structure of the form. For example, the user may wish to add a column or row to a particular table on the form. Alternately or additionally, the user may wish to add a button or some other type of control to a particular form. In this case, step 402 would compute the form change and implement the change on the form.
Step 404 makes an entry in an event log that pertains to the form changes spawned by the user's input. It is to be appreciated and understood that the entries in the event log are made serially and track the input provided by the user. That is, the entries in the event log capture the nature of the changes and the order in which the changes occur. But one example of an event log is provided above in
Step 406 ascertains whether the event log should be reported to the server. Any suitable criteria can be utilized to ascertain whether the event log should be sent to the server. For example, some browsers may have a practical size limit on the size of the event log. In this case, when the size of the event log reaches some threshold, it can be sent to the server. Alternately or additionally, some browsers may be “thin” browsers in the sense that they need to communicate with the server frequently because, for example, they may not be able to implement certain changes that the user desires to make. For example, some browsers may not be able to make structural changes to a particular form. In this case, these thin browsers can maintain an event log and, when a desired user action cannot be performed by the browser, the browser can send the event log, along with an indication of the desired action to the server. Alternately or additionally, there may be a lack of sufficient information on the client device such that the event log should be reported to the server. For example, a user may trigger an action that requires a database lookup; or a user may trigger a calculation for which all data is not available. Alternately or additionally, the user may make a change to the form that radically alters the presentation in which case some browsers may not be able to implement the change. Alternately or additionally, in some cases, browsers may not be able to implement advanced functionality, such as spellchecking and the like in which case, the event log might be reported to the server.
If, depending on whatever criterion is used, the event log need not be reported to the server, then the method returns to step 400. If, on the other hand, the event log is to be reported to the server, then the method reports the event log to the server (following the “Yes” branch in the figure).
Step 408, performed by the server, receives the event log that is reported from the browser. Step 410 processes the event log and step 412 returns data to the browser that can be used to render the form.
The event log can be processed by the server in any suitable way. For example, in one embodiment, when the server receives the event log, it can return back HTML to the browser that is utilized to render the view that the user sees. Alternately, the server can process the event log and return back data for the appropriate controls that are to be rendered by the browser. For example, in the case of a “thin” browser, the server might return all of the HTML that is to be processed and used to render the form on the client device. Alternately, for robust browsers that possess robust functionality, the server may just return the appropriate data associated with the appropriate controls that are to be rendered.
From a practical standpoint and in connection with one embodiment, once the server receives the event log, it first parses the event log into individual events and invokes the appropriate form for each event. In this embodiment, the forms are based on XML data. Accordingly, the server instantiates the form's XML DOM in memory, and then processes each event. For each event, the control has an identification or ID (as noted in the event log above). The control ID for a particular event is processed and mapped onto a corresponding node in the XML DOM. The server then performs the operation indicated in the event log entry. This provides modified XML data which reflects the modifications made by the user.
When the processing is finished insofar as event log entries are concerned, the resultant XML data can either be processed, as by applying suitable transforms to the XML data, to recreate the form view HTML which is sent to the browser (in the event of “thin browsers”), or the actual data for the associated controls can be sent to the browser (in the event of “thick” browsers).
Exemplary Computing Device
Computing device 542 can further comprise a hard disk drive 556 for reading from and writing to a hard disk (not shown), a magnetic disk drive 558 for reading from and writing to a removable magnetic disk 560, and an optical disk drive 562 for reading from or writing to a removable optical disk 564 such as a CD ROM or other optical media. The hard disk drive 556, magnetic disk drive 558, and optical disk drive 562 are connected to the bus 548 by an SCSI interface 566 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 for computer 542. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 560 and a removable optical disk 564, 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 the hard disk 556, magnetic disk 560, optical disk 564, ROM 550, or RAM 552, including an operating system 570, one or more application programs 572 (such as a user agent or browser), other program modules 574, and program data 576. A user may enter commands and information into computer 542 through input devices such as a keyboard 578 and a pointing device 580. Other input devices (not shown) may comprise a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to the processing unit 544 through an interface 582 that is coupled to the bus 548. A monitor 584 or other type of display device is also connected to the bus 548 via an interface, such as a video adapter 586. In addition to the monitor, personal computers typically comprise other peripheral output devices (not shown) such as speakers and printers.
Computer 542 commonly operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 588. The remote computer 588 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically comprises many or all of the elements described above relative to computer 542. The logical connections depicted in
When used in a LAN networking environment, computer 542 is connected to the local network through a network interface or adapter 594. When used in a WAN networking environment, computer 542 typically comprises a modem 596 or other means for establishing communications over the wide area network 592, such as the Internet. The modem 596, which may be internal or external, is connected to the bus 548 via a serial port interface 568. In a networked environment, program modules depicted relative to the personal computer 542, 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 of computer 542 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 system described herein comprises these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the blocks described, in conjunction with a microprocessor or other data processor. The system described can also comprise the computer itself when programmed according to the methods and techniques described herein.
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.
Conclusion
The various embodiments described above can support a richly dynamic form environment that permits editing on the client side and can alleviate many of the server-imposed processing complexities that have existed in the past. In at least some embodiments, complex editing scenarios permit users to make complex editing changes on a form, and have those editing changes captured and rendered on the client side for later communication to the server. Particular aspects of at least some of the embodiments described above can permit scalability, and can, in at least some instances, be employed in the context of a wide variety of browsers having different levels of capability, e.g. “thin” and “thick” browsers.
Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.
Kelkar, Amol S, Sikchi, Prakash, Airapetyan, David
Patent | Priority | Assignee | Title |
7653694, | Dec 15 2004 | Microsoft Technology Licensing, LLC | E-mail containing a web-based form |
7747558, | Jun 07 2007 | Google Technology Holdings LLC | Method and apparatus to bind media with metadata using standard metadata headers |
9015574, | Mar 10 2011 | Apparatus, system and method for a vector-based form field document | |
9037600, | Jan 28 2011 | Verizon Patent and Licensing Inc | Any-image labeling engine |
9218364, | Jan 28 2011 | Verizon Patent and Licensing Inc | Monitoring an any-image labeling engine |
9633272, | Feb 15 2013 | YAHOO ASSETS LLC | Real time object scanning using a mobile phone and cloud-based visual search engine |
Patent | Priority | Assignee | Title |
4201978, | Oct 19 1978 | NCR Canada Ltd. -- NCR Canada Ltee | Document processing system |
4498147, | Nov 18 1982 | INTERNATIONAL BUSINESS MACHINES CORPORATIONA NY CORP | Methodology 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 |
4514800, | May 22 1981 | Data General Corporation | Digital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets |
4564752, | Dec 23 1982 | NCR Canada Ltd | Concurrent, image-based, reject-re-entry system and method |
4641274, | Dec 03 1982 | International Business Machines Corporation | Method for communicating changes made to text form a text processor to a remote host |
4674040, | Dec 26 1984 | International Business Machines Corporation | Merging of documents |
4723211, | Aug 30 1984 | International Business Machines Corp. | Editing of a superblock data structure |
4739477, | Aug 30 1984 | International Business Machines Corp. | Implicit creation of a superblock data structure |
4815029, | Sep 23 1985 | International Business Machines Corp. | In-line dynamic editor for mixed object documents |
4847749, | Jun 13 1986 | International Business Machines Corporation | Job interrupt at predetermined boundary for enhanced recovery |
4910663, | Jul 10 1987 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System for measuring program execution by replacing an executable instruction with interrupt causing instruction |
4933880, | Jun 15 1988 | International Business Machines Corp.; INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NEW YORK 10504, A CORP OF NY | Method for dynamically processing non-text components in compound documents |
4962475, | Dec 26 1984 | LENOVO SINGAPORE PTE LTD | Method for generating a document utilizing a plurality of windows associated with different data objects |
5025484, | Dec 11 1987 | Kabushiki Kaisha Toshiba | Character reader device |
5072412, | Mar 25 1987 | Technology Licensing Corporation | User interface with multiple workspaces for sharing display system objects |
5179703, | Nov 17 1987 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
5182709, | Mar 31 1986 | CASCABEL RESEARCH LLC | System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure |
5187786, | Apr 05 1991 | Sun Microsystems, Inc. | Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system |
5191645, | Feb 28 1991 | Sony Electronics INC | Digital signal processing system employing icon displays |
5195183, | Jan 31 1989 | Intermec IP CORP | Data communication system with communicating and recharging docking apparatus for hand-held data terminal |
5204947, | Oct 31 1990 | International Business Machines Corporation | Application independent (open) hypermedia enablement services |
5206951, | Aug 21 1987 | Eastman Kodak Company | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
5218672, | Jan 19 1990 | Sony Electronics INC | Offline editing system with user interface for controlling edit list generation |
5220649, | Mar 20 1991 | Microsoft Corporation | Script/binary-encoded-character processing method and system with moving space insertion mode |
5222160, | Dec 28 1989 | PFU Limited | Document revising system for use with document reading and translating system |
5228100, | Jul 10 1989 | Hitachi, Ltd.; Hitachi Software Engineering Co., 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 |
5237680, | Sep 27 1990 | Sun Microsystems, Inc | Method for incremental rename propagation between hierarchical file name spaces |
5249275, | Apr 21 1986 | Texas Instruments Incorporated | Apparatus and method enabling a compiled program to exactly recreate its source code |
5274803, | Apr 26 1991 | Sun Microsystems, Inc.; Sun Microsystems, Inc | Method and apparatus for aligning a restored parent environment to its child environments with minimal data loss |
5297249, | Oct 31 1990 | International Business Machines Corporation | Hypermedia link marker abstract and search services |
5297283, | Jun 29 1989 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Object transferring system and method in an object based computer operating system |
5313631, | May 21 1991 | Hewlett-Packard Company; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P ; Agilent Technologies, Inc | Dual threshold system for immediate or delayed scheduled migration of computer data files |
5313646, | Jun 10 1989 | Sun Microsystems, Inc. | Method and apparatus for translucent file system |
5317686, | Sep 10 1990 | International Business Machines Corporation | Data processing apparatus and method for a reformattable multidimensional spreadsheet |
5333317, | Dec 22 1989 | Bull HN Information Systems Inc. | Name resolution in a directory database |
5339423, | Jun 16 1989 | International Business Machines Corporation | System for accessing objects external to an application using tables containing path definitions |
5339424, | Apr 19 1991 | Mitsubishi Denki Kabushiki Kaisha | System and method for compiling and executing a computer program written in more than one programming language |
5341478, | Aug 14 1990 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
5369766, | Mar 25 1993 | Apple Inc | Object-oriented loader system with support for different load formats |
5369778, | Aug 21 1987 | SAMSUNG ELECTRONICS CO , LTD | Data processor that customizes program behavior by using a resource retrieval capability |
5371675, | Jun 03 1992 | International Business Machines Corporation | Spreadsheet program which implements alternative range references |
5377323, | Sep 13 1991 | Sun Microsytems, Inc.; SUN MICROSYSTEMS, INC , A CORP OF DE | Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems |
5379419, | Dec 07 1990 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Methods and apparatus for accesssing non-relational data files using relational queries |
5381547, | Nov 29 1989 | Siemens Aktiengesellschaft | Method for dynamically linking definable program elements of an interactive data processing system |
5390325, | Dec 23 1992 | Apple Inc | Automated testing system |
5396623, | Oct 30 1992 | BMC Software Inc. | Method for editing the contents of a DB2 table using an editproc manager |
5408665, | Apr 30 1993 | CODEGEAR LLC | System and methods for linking compiled code with extended dictionary support |
5410646, | Jan 31 1991 | Stafanpolus KG, Limited Liability Company | System and method for creating, processing, and storing forms electronically |
5410688, | Jul 21 1989 | Hewlett-Packard Company | Distributed object based systems for communicating object data among different storage domains |
5412772, | Oct 13 1992 | RPX Corporation | System for permitting a view of an object or a user interface to be exchanged between operating system environments |
5434975, | Sep 24 1992 | AT&T IPM Corp | System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications |
5436637, | Mar 05 1993 | Borland Software Corporation | Graphical user interface system and methods for improved user feedback |
5438659, | Oct 08 1992 | Hewlett-Packard Company | Object-action user interface management system |
5440744, | Aug 14 1990 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Methods and apparatus for implementing server functions in a distributed heterogeneous environment |
5446842, | Feb 26 1993 | Apple Inc | Object-oriented collaboration system |
5455875, | Dec 15 1992 | International Business Machines Corporation | System and method for correction of optical character recognition with display of image segments according to character data |
5459865, | Apr 05 1993 | Apple Inc | Runtime loader |
5481722, | Aug 19 1991 | Sun Microsystems, Inc. | Method and apparatus for merging change control delta structure files of a source module from a parent and a child development environment |
5497489, | May 05 1987 | CHEMICALS PTY LTD | Data storage and retrieval systems having labelling for data |
5504898, | Jun 20 1994 | International Business Machines Corporation | Threaded environment for AS/400 |
5517655, | Apr 26 1991 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method for monitoring transactions in an object-oriented environment |
5535389, | Jan 26 1993 | International Business Machines Corporation | Business process objects with associated attributes such as version identifier |
5542070, | May 20 1993 | AG Communication Systems Corporation | Method for rapid development of software systems |
5550976, | Dec 08 1992 | NMETRIC, LLC | Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication |
5551035, | Jun 30 1989 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Method and apparatus for inter-object communication in an object-oriented program controlled system |
5555325, | Oct 22 1993 | Lockheed Martin Corporation | Data capture variable priority method and system for managing varying processing capacities |
5566330, | Aug 20 1991 | SYBASE, INC A CORPORATION OF DELAWARE | Method for forming a reusable and modifiable database interface object |
5572643, | Oct 19 1995 | INTERNETAD SYSTEMS LLC | Web browser with dynamic display of information objects during linking |
5572648, | Jan 19 1993 | Canon Kabushiki Kaisha | System 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 |
5577252, | Jul 28 1993 | Sun Microsystems, Inc | Methods and apparatus for implementing secure name servers in an object-oriented system |
5581686, | Apr 15 1994 | Microsoft Technology Licensing, LLC | Method and system for in-place interaction with contained objects |
5581760, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for referring to and binding to objects using identifier objects |
5600789, | Nov 19 1992 | Borland Software Corporation | Automated GUI interface testing |
5602996, | Jan 27 1993 | Apple Inc | Method and apparatus for determining window order when one of multiple displayed windows is selected |
5608720, | Mar 09 1993 | PULSE COMMUNICATIONS, INC | Control system and operations system interface for a network element in an access system |
5625783, | Dec 13 1994 | Microsoft Technology Licensing, LLC | Automated system and method for dynamic menu construction in a graphical user interface |
5627979, | Jul 18 1994 | International Business Machines Corporation | System and method for providing a graphical user interface for mapping and accessing objects in data stores |
5630126, | Dec 13 1994 | International Business Machines Corp. | Systems and methods for integrating computations into compound documents |
5634121, | May 30 1995 | Lockheed Martin Corporation | System for identifying and linking domain information using a parsing process to identify keywords and phrases |
5634124, | Aug 21 1987 | Eastman Kodak Company | Data integration by object management |
5640544, | Dec 28 1991 | NEC Corporation | Computer network having an asynchronous document data management system |
5644738, | Sep 13 1995 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method using context identifiers for menu customization in a window |
5649099, | Jun 04 1993 | Xerox Corporation | Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security |
5659729, | Feb 01 1996 | Oracle America, Inc | Method and system for implementing hypertext scroll attributes |
5664178, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for organizing internal structure of a file |
5668966, | Feb 15 1994 | International Business Machines Corporation | System and method for direct manipulation of search predicates using a graphical user interface |
5669005, | May 10 1993 | Apple Inc | System for automatically embedding or incorporating contents added to a document |
5682536, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for referring to and binding to objects using identifier objects |
5689667, | Jun 06 1995 | AUTODESK CANADA CO | Methods and system of controlling menus with radial and linear portions |
5689703, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for referring to and binding to objects using identifier objects |
5704029, | May 23 1994 | Seven Networks, Inc | System and method for completing an electronic form |
5706501, | Feb 23 1995 | Fuji Xerox Co., Ltd. | Apparatus and method for managing resources in a network combining operations with name resolution functions |
5717939, | Nov 18 1991 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method and apparatus for entering and manipulating spreadsheet cell data |
5721824, | Apr 19 1996 | Oracle America, Inc | Multiple-package installation with package dependencies |
5740439, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for referring to and binding to objects using identifier objects |
5742504, | Nov 06 1995 | MICROSCAN SYSTEMS, INC | Method and system for quickly developing application software for use in a machine vision system |
5745683, | Jul 05 1995 | Oracle America, Inc | System and method for allowing disparate naming service providers to dynamically join a naming federation |
5745712, | Oct 31 1990 | Borland Software Corporation | Graphical programming system and methods for assisting a user with creating screen objects on a screen device |
5748807, | Oct 09 1992 | Matsushita Electric Corporation of America | Method and means for enhancing optical character recognition of printed documents |
5758184, | Apr 24 1995 | Microsoft Technology Licensing, LLC | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
5758358, | Jan 29 1996 | Microsoft Technology Licensing, LLC | Method and system for reconciling sections of documents |
5761408, | Jan 16 1996 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution |
5761683, | Feb 13 1996 | 3M Innovative Properties Company | Techniques for changing the behavior of a link in a hypertext document |
5764984, | Feb 26 1993 | International Business Machines Corporation | System for multiple co-existing operating system personalities on a microkernel |
5764985, | Dec 13 1994 | Microsoft Technology Licensing, LLC | Notification mechanism for coordinating software extensions |
5778372, | Apr 18 1996 | Microsoft Technology Licensing, LLC | Remote retrieval and display management of electronic document with incorporated images |
5778402, | Jun 07 1995 | Microsoft Technology Licensing, LLC | Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types |
5784555, | Apr 18 1996 | Microsoft Technology Licensing, LLC | Automation and dial-time checking of system configuration for internet |
5790796, | Jun 14 1996 | NORTONLIFELOCK INC | Polymorphic package files to update software components |
5798757, | Dec 15 1993 | Borland Software Corporation | Methods and interface for building command expressions in a computer system |
5801701, | Dec 01 1992 | Microsoft Technology Licensing, LLC | Method and system for in-place interaction with contained objects |
5802304, | Apr 18 1996 | Microsoft Technology Licensing, LLC | Automatic dialer responsive to network programming interface access |
5806079, | Nov 18 1994 | DATACLOUD TECHNOLOGIES, LLC | System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects |
5815830, | Dec 23 1994 | Automatic generation of hypertext links to multimedia topic objects | |
5826265, | Dec 06 1996 | International Business Machines Corporation | Data management system having shared libraries |
5835777, | Mar 20 1996 | Hewlett Packard Enterprise Development LP | Method of automatically generating a software installation package |
5838906, | Oct 17 1994 | EOLAS TECHNOLOGIES INC | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
5842018, | Jul 06 1992 | Microsoft Technology Licensing, LLC | Method and system for referring to and binding to objects using identifier objects |
5845077, | Nov 27 1995 | Microsoft Technology Licensing, LLC | Method and system for identifying and obtaining computer software from a remote computer |
5845090, | Feb 14 1994 | GOOGLE LLC | System for software distribution in a digital computer network |
5854630, | Jul 01 1996 | Oracle America, Inc | Prospective view for web backtrack |
5859973, | Aug 21 1996 | International Business Machines Corporation; IBM Corporation | Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system |
5862372, | Nov 16 1994 | Google Inc | Visually oriented computer implemented application development system utilizing standardized objects and multiple views |
5862379, | Mar 07 1995 | International Business Machines Corp | Visual programming tool for developing software applications |
5864819, | Nov 08 1996 | International Business Machines Corporation | Internal window object tree method for representing graphical user interface applications for speech navigation |
5907704, | Apr 03 1995 | Q LIQUIDATING TRUST | Hierarchical encapsulation of instantiated objects in a multimedia authoring system including internet accessible objects |
5910895, | Jun 13 1997 | Teradyne, Inc. | Low cost, easy to use automatic test system software |
5911776, | Dec 18 1996 | Unisys Corporation | Automatic format conversion system and publishing methodology for multi-user network |
5915112, | Jan 02 1996 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
5922072, | Jan 03 1997 | HUAWEI TECHNOLOGIES CO , LTD | Method and apparatus for creating alternate boot environments in a computer |
5928363, | Aug 27 1997 | International Business Machines Corporation | Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures |
5929858, | Apr 04 1995 | Fujitsu Limited | Device for aiding analysis of infeasible solution and unbounded solution |
5940075, | Sep 30 1997 | Unisys Corp.; Unisys Corporation | Method for extending the hypertext markup language (HTML) to support enterprise application data binding |
5950010, | Nov 25 1996 | Oracle International Corporation | System and method for customized application package building and installation |
5956481, | Feb 06 1997 | Microsoft Technology Licensing, LLC | Method and apparatus for protecting data files on a computer from virus infection |
5960199, | Nov 12 1996 | International Business Machines Corporation | Model trace view for object-oriented systems |
5963964, | Apr 05 1996 | Oracle America, Inc | Method, apparatus and program product for updating visual bookmarks |
5973696, | Aug 08 1996 | Conexant Systems, Inc | Embedded web server |
5974454, | Nov 14 1997 | Microsoft Technology Licensing, LLC | Method and system for installing and updating program module components |
5982370, | Jul 18 1997 | International Business Machines Corporation | Highlighting tool for search specification in a user interface of a computer system |
5983348, | Sep 10 1997 | Trend Micro, Incorporated | Computer network malicious code scanner |
5987480, | Jul 25 1996 | INTERWORLD TECHNOLOGY VENTURES, INC | Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content |
5991710, | May 20 1997 | International Business Machines Corporation; IBM Corporation | Statistical translation system with features based on phrases or groups of words |
5991731, | Mar 03 1997 | University of Florida Research Foundation, Incorporated | Method and system for interactive prescription and distribution of prescriptions in conducting clinical studies |
5991877, | Apr 03 1997 | Lockheed Martin Corporation | Object-oriented trusted application framework |
5995103, | May 10 1996 | Apple Inc | Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system |
5999740, | Nov 08 1996 | International Computers Limited | Updating mechanism for software |
6005570, | Mar 05 1993 | Borland Software Corporation | Graphical user interface system and methods for improved user feedback |
6014135, | Apr 04 1997 | Meta Platforms, Inc | Collaboration centric document processing environment using an information centric visual user interface and information presentation method |
6016520, | Jul 14 1995 | Microsoft Technology Licensing, LLC | Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching |
6018743, | Oct 04 1996 | International Business Machines Corporation | Framework for object-oriented interface to record file data |
6026379, | Jun 17 1996 | Hewlett Packard Enterprise Development LP | System, method and article of manufacture for managing transactions in a high availability system |
6026416, | May 30 1996 | Microsoft Technology Licensing, LLC | System and method for storing, viewing, editing, and processing ordered sections having different file formats |
6031989, | Feb 27 1997 | Microsoft Technology Licensing, LLC | Method of formatting and displaying nested documents |
6035297, | Dec 06 1996 | International Business Machines Machine | Data management system for concurrent engineering |
6035309, | Feb 09 1993 | International Business Machines Corporation | System and method for editing and viewing a very wide flat file |
6044205, | Feb 29 1996 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
6052531, | Mar 25 1998 | CA, INC | Multi-tiered incremental software updating |
6052710, | Jun 28 1996 | Microsoft Technology Licensing, LLC | System and method for making function calls over a distributed network |
6054987, | May 29 1998 | Hewlett Packard Enterprise Development LP | Method of dynamically creating nodal views of a managed network |
6070184, | Aug 28 1997 | International Business Machines Corporation | Server-side asynchronous form management |
6072870, | Jun 17 1996 | Hewlett Packard Enterprise Development LP | System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture |
6078326, | Apr 23 1996 | ACORN, LLC; NYGMATECH, LLC | System and method providing centricity user environment |
6078327, | Sep 11 1997 | GOOGLE LLC | Navigating applications and objects in a graphical user interface |
6078924, | Jan 30 1998 | EOEXCHANGE, INC | Method and apparatus for performing data collection, interpretation and analysis, in an information platform |
6081610, | Dec 29 1995 | GOOGLE LLC | System and method for verifying signatures on documents |
6084585, | Dec 05 1997 | International Business Machines Corp. | System for directly accessing fields on electronic forms |
6088708, | Jan 31 1997 | Microsoft Technology Licensing, LLC | System and method for creating an online table from a layout of objects |
6091417, | Mar 16 1998 | GOOGLE LLC | Graphical user interface |
6094657, | Oct 01 1997 | International Business Machines Corporation | Apparatus and method for dynamic meta-tagging of compound documents |
6097382, | May 12 1998 | RPX Corporation | Method and apparatus for building an application interface |
6098081, | May 06 1996 | Microsoft Technology Licensing, LLC | Hypermedia navigation using soft hyperlinks |
6108637, | Sep 03 1996 | Comscore, Inc | Content display monitor |
6108783, | Feb 11 1998 | IBM Corporation | Chameleon hashing and signatures |
6115646, | Dec 18 1997 | Nortel Networks Limited | Dynamic and generic process automation system |
6121965, | Oct 17 1997 | WSOU Investments, LLC | User interface for graphical application tool |
6122647, | May 19 1998 | AT HOME BONDHOLDERS LIQUIDATING TRUST | Dynamic generation of contextual links in hypertext documents |
6144969, | Feb 09 1996 | Sony Corporation | File name conversion |
6151624, | Feb 03 1998 | R2 SOLUTIONS LLC | Navigating network resources based on metadata |
6154128, | May 21 1997 | Oracle America, Inc | Automatic building and distribution of alerts in a remote monitoring system |
6163772, | Jun 17 1996 | Hewlett Packard Enterprise Development LP | Virtual point of sale processing using gateway-initiated messages |
6167521, | Aug 29 1997 | IBM Corporation | Securely downloading and executing code from mutually suspicious authorities |
6167523, | May 05 1997 | Intel Corporation | Method and apparatus for forms data validation and processing control |
6182094, | Jun 25 1997 | SAMSUNG ELECTRONICS CO , LTD | Programming tool for home networks with an HTML page for a plurality of home devices |
6182095, | Apr 30 1998 | GE CAPITAL US HOLDINGS, INC | Document generator |
6188401, | Mar 25 1998 | Microsoft Technology Licensing, LLC | Script-based user interface implementation defining components using a text markup language |
6191797, | May 22 1996 | Canon Kabushiki Kaisha | Expression tree optimization for processing obscured graphical objects |
6192367, | Nov 23 1998 | International Business Machines Corporation | Data file editor presenting semi-formatted view |
6195661, | Jul 15 1988 | International Business Machines Corporation | Method for locating application records in an interactive-services database |
6199204, | Jan 28 1998 | FINJAN BLUE, INC | Distribution of software updates via a computer network |
6209128, | Jun 05 1998 | International Business Machines Corporation | Apparatus and method for providing access to multiple object versions |
6216152, | Oct 27 1997 | Oracle America, Inc | Method and apparatus for providing plug in media decoders |
6219698, | Dec 19 1997 | GOOGLE LLC | Configuring client software using remote notification |
6225996, | Feb 20 1998 | Corel Corporation | System and method for displaying a current value of a cell of a document |
6235027, | Jan 21 1999 | Thermal cautery surgical forceps | |
6253366, | Mar 31 1999 | Unisys Corp.; Unisys Corp | Method and system for generating a compact document type definition for data interchange among software tools |
6253374, | Jul 02 1998 | Microsoft Technology Licensing, LLC | Method for validating a signed program prior to execution time or an unsigned program at execution time |
6263313, | Oct 22 1998 | Level 3 Communications, LLC | Method and apparatus to create encoded digital content |
6266810, | Apr 17 1997 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Remote program downloading system and apparatus |
6268852, | Jun 02 1997 | Microsoft Technology Licensing, LLC | System and method for facilitating generation and editing of event handlers |
6272506, | Sep 12 1997 | FLECTERE LLC | Computerized verification form processing system and method |
6275227, | Feb 09 1998 | International Business Machines Corporation | Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor |
6275599, | Aug 28 1998 | International Business Machines Corporation | Compressed image authentication and verification |
6279042, | Jul 28 1997 | Juniper Networks, Inc | Methods of performing an interdependent task on a document |
6281896, | Mar 31 1998 | Ricoh Company, LTD | Data processor controlled interface with multiple tree of elements views expandable into individual detail views |
6282711, | Aug 10 1999 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method for more efficiently installing software components from a remote server source |
6286033, | Apr 28 2000 | Genesys 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 |
6292897, | Nov 03 1997 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
6297819, | Nov 16 1998 | TUMBLEWEED HOLDINGS LLC | Parallel web sites |
6300948, | Sep 17 1996 | 2 ORDER COM, INC | Methods and systems for user interfaces and constraint handling in configuration software |
6307955, | Dec 18 1998 | TOPAZ SYSTEMS, INC | Electronic signature management system |
6308179, | Aug 31 1998 | GOOGLE LLC | User level controlled mechanism inter-positioned in a read/write path of a property-based document management system |
6308273, | Jun 12 1998 | Microsoft Technology Licensing, LLC | Method and system of security location discrimination |
6311271, | Feb 13 1997 | International Business Machines Corporation | How to sign digital streams |
6314415, | Nov 04 1998 | CCH Incorporated | Automated forms publishing system and method using a rule-based expert system to dynamically generate a graphical user interface |
6321259, | |||
6321334, | |||
6327628, | May 19 2000 | Open Text SA ULC | Portal server that provides a customizable user Interface for access to computer networks |
6331864, | Sep 23 1997 | WIREMED TECH LLC | Real-time multimedia visual programming system |
6342907, | Oct 19 1998 | International Business Machines Corporation | Specification language for defining user interface panels that are platform-independent |
6343149, | May 13 1998 | Oki Electric Industry Co, Ltd. | Document character reading system |
6343302, | Feb 13 1997 | OATH INC | Remote web site authoring system and method |
6345256, | Aug 13 1998 | International Business Machines Corporation | Automated method and apparatus to package digital content for electronic distribution using the identity of the source content |
6345278, | Jun 04 1998 | CollegeNet, Inc | Universal forms engine |
6345361, | Apr 06 1998 | Microsoft Technology Licensing, LLC | Directional set operations for permission based security in a computer system |
6347323, | Mar 26 1999 | Microsoft Technology Licensing, LLC | Robust modification of persistent objects while preserving formatting and other attributes |
6349408, | Mar 23 1998 | Oracle America, Inc | Techniques for implementing a framework for extensible applications |
6351574, | Dec 11 1998 | International Business Machines Corporation | Interactive verification of OCRed characters |
6353851, | Dec 28 1998 | WSOU Investments, LLC | Method and apparatus for sharing asymmetric information and services in simultaneously viewed documents on a communication system |
6353926, | Jul 15 1998 | Microsoft Technology Licensing, LLC | Software update notification |
6356906, | Jul 26 1999 | Microsoft Technology Licensing, LLC | Standard database queries within standard request-response protocols |
6357038, | Apr 13 1998 | Adobe Systems Incorporated | Cross platform and cross operating system macros |
6366907, | Dec 15 1999 | MOON GLOW, SERIES 82 OF ALLIED SECURITY TRUST I | Real-time search engine |
6366912, | Apr 06 1998 | Microsoft Technology Licensing, LLC | Network security zones |
6367013, | Jan 17 1995 | EORIGINAL, INC | System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents |
6369840, | Mar 10 1999 | AOL Inc | Multi-layered online calendaring and purchasing |
6369841, | Jan 25 1996 | Siemens Aktiengesellschaft | Graphical user interface for the programming of programmable controllers |
6374402, | Nov 16 1998 | Microsoft Technology Licensing, LLC | Method and apparatus for installation abstraction in a secure content delivery system |
6381742, | Jun 19 1998 | Microsoft Technology Licensing, LLC | Software package management |
6381743, | Mar 31 1999 | Unisys Corp.; Unisys Corporation | Method and system for generating a hierarchial document type definition for data interchange among software tools |
6389434, | Nov 19 1993 | DATACLOUD TECHNOLOGIES, LLC | System, method, and computer program product for creating subnotes linked to portions of data objects after entering an annotation mode |
6393456, | Nov 30 1998 | Microsoft Technology Licensing, LLC | System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type |
6396488, | Jan 04 1999 | IGRAFX, LLC | System and method for determining a path in a graphical diagram |
6405221, | Oct 20 1995 | Oracle America, Inc | Method and apparatus for creating the appearance of multiple embedded pages of information in a single web browser display |
6405238, | Jul 31 1998 | Hewlett Packard Enterprise Development LP | Quick navigation upon demand to main areas of web site |
6408311, | Jun 30 1999 | Unisys Corp.; Unisys Corporation | Method for identifying UML objects in a repository with objects in XML content |
6414700, | Jul 21 1998 | AUTODESK, Inc | System for accessing a large number of menu items using a zoned menu bar |
6421070, | Nov 12 1996 | Digimarc Corporation | Smart images and image bookmarking for an internet browser |
6421656, | Oct 08 1998 | International Business Machines Corporation | Method and apparatus for creating structure indexes for a data base extender |
6425125, | Mar 30 1999 | Microsoft Technology Licensing, LLC | System and method for upgrading client software |
6429885, | Oct 30 1998 | Sony Corporation | GUI resource editor for an embedded system |
6434563, | Jan 21 1999 | SIMPLE COM INC | WWW browser configured to provide a windowed content manifestation environment |
6434564, | Aug 22 1997 | SAP SE | Browser for hierarchical structures |
6442563, | Apr 30 1998 | ENTERWORKS ACQUISITION, INC | Workflow management system, method, and medium that morphs work items |
6442755, | Jul 07 1998 | Rovi Guides, Inc; TV GUIDE, INC ; UV CORP | Electronic program guide using markup language |
6446110, | Apr 05 1999 | International Business Machines Corporation; IBM Corporation; International Business Machines Corporatoin | Method and apparatus for representing host datastream screen image information using markup languages |
6449617, | Jun 15 1999 | Microsoft Technology Licensing, LLC | Edit command delegation program for editing electronic files |
6457009, | Nov 09 1998 | CORRINO HOLDINGS LLC | Method of searching multiples internet resident databases using search fields in a generic form |
6460058, | Dec 06 1996 | Microsoft Technology Licensing, LLC | Object-oriented framework for hyperlink navigation |
6463419, | Mar 07 2000 | Chartering Solutions | Internet system for exchanging and organizing vessel transport information |
6470349, | Mar 11 1999 | BROWZ LLC | Server-side scripting language and programming tool |
6473800, | Jul 15 1998 | Microsoft Technology Licensing, LLC | Declarative permission requests in a computer system |
6476828, | May 28 1999 | International Business Machines Corporation | Systems, methods and computer program products for building and displaying dynamic graphical user interfaces |
6476833, | Mar 30 1999 | Koninklijke Philips Electronics N V | Method and apparatus for controlling browser functionality in the context of an application |
6477544, | Jul 16 1999 | Microsoft Technology Licensing, LLC | Single instance store for file systems |
6480860, | Feb 11 1999 | International Business Machines Corporation | Tagged markup language interface with document type definition to access data in object oriented database |
6487566, | Oct 05 1998 | LinkedIn Corporation | Transforming documents using pattern matching and a replacement language |
6490601, | Jan 15 1999 | Liberty Peak Ventures, LLC | Server for enabling the automatic insertion of data into electronic forms on a user computer |
6493702, | May 05 1999 | GOOGLE LLC | System and method for searching and recommending documents in a collection using share bookmarks |
6501864, | Jul 31 1995 | Fujitsu Limited | Data medium handling apparatus and data medium handling method |
6502101, | Jul 13 2000 | Microsoft Technology Licensing, LLC | Converting a hierarchical data structure into a flat data structure |
6502103, | Jun 14 1999 | International Business Machines Corporation | Providing composed containers and data objects to support multiple resources |
6505200, | Jul 06 2000 | KING COM LTD | Application-independent data synchronization technique |
6505230, | May 14 1999 | F5 Networks, Inc | Client-server independent intermediary mechanism |
6505300, | Jun 12 1998 | Microsoft Technology Licensing, LLC | Method and system for secure running of untrusted content |
6507856, | Jan 05 1999 | International Business Machines Corporation | Dynamic business process automation system using XML documents |
6516322, | Apr 28 2000 | Microsoft Technology Licensing, LLC | XML-based representation of mobile process calculi |
6519617, | Apr 08 1999 | International Business Machines Corporation | Automated creation of an XML dialect and dynamic generation of a corresponding DTD |
6546546, | May 19 1999 | International Business Machines Corporation | Integrating operating systems and run-time systems |
6549221, | Dec 09 1999 | International Business Machines Corp. | User interface management through branch isolation |
6549878, | Dec 31 1998 | Microsoft Technology Licensing, LLC | System and method for editing a spreadsheet via an improved editing and cell selection model |
6549922, | Oct 01 1999 | Oracle International Corporation | System for collecting, transforming and managing media metadata |
6553402, | May 05 1999 | NEXTPAGE, INC | Method for coordinating activities and sharing information using a data definition language |
6560616, | Mar 26 1999 | Microsoft Technology Licensing, LLC | Robust modification of persistent objects while preserving formatting and other attributes |
6560620, | Aug 03 1999 | APLIX RESEARCH, INC | Hierarchical document comparison system and method |
6560640, | Jan 22 1999 | GOOGLE LLC | Remote bookmarking for wireless client devices |
6563514, | Apr 13 2000 | EXTENSIO SOFTWARE, INC | System and method for providing contextual and dynamic information retrieval |
6571253, | Apr 28 2000 | International Business Machines Corporation | Hierarchical 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 |
6578144, | Mar 23 1999 | GOOGLE LLC | Secure hash-and-sign signatures |
6581061, | Feb 13 1997 | OATH INC | Remote web site authoring system and method |
6584469, | Mar 16 2000 | International Business Machines Corporation | Automatically initiating a knowledge portal query from within a displayed document |
6584548, | Jul 22 1999 | International Business Machines Corporation | Method and apparatus for invalidating data in a cache |
6585778, | Aug 30 1999 | International Business Machines Corporation | Enforcing data policy using style sheet processing |
6589290, | Oct 29 1999 | Microsoft Technology Licensing, LLC | Method and apparatus for populating a form with data |
6594686, | Mar 02 2000 | JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC | Obtaining user responses in a virtual execution environment |
6598219, | Nov 30 1998 | International Business Machines Corporation | Method and mechanism for a task oriented XML data model |
6603489, | Feb 09 2000 | GOOGLE LLC | Electronic calendaring system that automatically predicts calendar entries based upon previous activities |
6604099, | Mar 20 2000 | GOOGLE LLC | Majority schema in semi-structured data |
6606606, | Nov 09 1998 | ONECORE FINANCIAL NETWORK | Systems and methods for performing integrated financial transaction |
6609200, | Dec 20 1996 | FleetBoston Financial Corporation | Method and system for processing electronic documents |
6611822, | May 05 1999 | Accenture Global Services Limited | System method and article of manufacture for creating collaborative application sharing |
6611840, | Jan 21 2000 | International Business Machines Corporation | Method and system for removing content entity object in a hierarchically structured content object stored in a database |
6611843, | Oct 26 2000 | SUMTOTAL SYSTEMS, INC | Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom |
6613098, | Jun 15 1999 | Microsoft Technology Licensing, LLC | Storage of application specific data in HTML |
6615276, | Feb 09 2000 | International Business Machines Corporation | Method and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user |
6629109, | Mar 05 1999 | HTC Corporation | System and method of enabling file revision management of application software |
6631357, | Oct 25 1996 | PERKOWSKI, THOMAS J | METHOD OF AND SYSTEM FOR FINDING CONSUMER PRODUCT RELATED INFORMATION ON THE INTERNET USING AUTOMATIC REGISTRATION SOLICITATION TECHNIQUES TO HELP CREATE UPN/TM/PD/URL DATA LINKS STORED IN AN INTERNET-BASED RELATIONAL DATABASE SERVER |
6631379, | Jan 31 2001 | GOOGLE LLC | Parallel loading of markup language data files and documents into a computer database |
6631497, | Jul 19 1999 | WELLS FARGO FOOTHILL, INC | Binding data from data source to cells in a spreadsheet |
6631519, | Mar 30 2000 | Microsoft Technology Licensing, LLC | Automated schema and interface generation |
6632251, | Jul 03 1996 | SOPHEON N V | Document producing support system |
6635089, | Jan 13 1999 | International Business Machines Corporation; IBM Corporation | Method for producing composite XML document object model trees using dynamic data retrievals |
6636845, | Dec 02 1999 | HUAWEI TECHNOLOGIES CO , LTD | Generating one or more XML documents from a single SQL query |
6643633, | Dec 02 1999 | HUAWEI TECHNOLOGIES CO , LTD | Storing fragmented XML data into a relational database by decomposing XML documents with application specific mappings |
6643652, | Jan 14 2000 | SABA SOFTWARE, INC | Method and apparatus for managing data exchange among systems in a network |
6643684, | Oct 08 1998 | SNAP INC | Sender- specified delivery customization |
6651217, | Sep 01 1999 | Microsoft Technology Licensing, LLC | System and method for populating forms with previously used data values |
6654737, | May 23 2000 | DASSAULT SYSTEMES AMERICAS CORP | Hypertext-based database architecture |
6654932, | Aug 03 1999 | International Business Machines Corporation | Validating data within container objects handled by view controllers |
6658417, | Dec 31 1997 | International Business Machines Corporation | Term-based methods and apparatus for access to files on shared storage devices |
6658622, | Dec 14 1998 | TREND MICRO INCORPORATED | Self-diagnosing and self-correcting data entry components with dependency behavior |
6661920, | Jan 19 2000 | Qualcomm Incorporated | Method and apparatus for multiple simultaneously active data entry mechanisms on a computer system |
6668369, | Dec 29 1999 | International Business Machines Corporation | Software debugging tool for displaying dynamically written software code |
6671805, | Jun 17 1999 | WOLTERS KLUWER TECHNOLOGY B V | System and method for document-driven processing of digitally-signed electronic documents |
6675202, | May 30 2000 | Methods, articles and apparatus for providing a browsing session | |
6678717, | Mar 22 1999 | MEC MANAGEMENT, LLC | Method, product, and apparatus for requesting a network resource |
6681370, | May 19 1999 | Microsoft Technology Licensing, LLC | HTML/XML tree synchronization |
6691230, | Oct 15 1998 | GOOGLE LLC | Method and system for extending Java applets sand box with public client storage |
6691281, | Jun 15 1999 | Microsoft Technology Licensing, LLC | Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables |
6697944, | Oct 01 1999 | Microsoft Technology Licensing, LLC | Digital content distribution, transmission and protection system and method, and portable device for use therewith |
6701434, | May 07 1999 | eBay Inc | Efficient hybrid public key signature scheme |
6701486, | Jul 29 1999 | TUMBLEWEED HOLDINGS LLC | Method, apparatus, and computer program product for automatic page suppression in forms |
6704906, | |||
6711679, | Mar 31 1999 | International Business Machines Corporation | Public key infrastructure delegation |
6720985, | Sep 17 1999 | Silverbrook Research Pty LTD | Method and system for object selection |
6725426, | Mar 17 2000 | BROADVISION, INC | Mechanism for translating between word processing documents and XML documents |
6728755, | Sep 26 2000 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Dynamic user profiling for usability |
6735721, | Jun 21 2000 | BENHOV GMBH, LLC | System and method for message handling |
6745367, | Sep 27 1999 | International Business Machines Corporation | Method and computer program product for implementing parental supervision for internet browsing |
6748385, | Feb 10 1998 | General Electric Company | Dynamic insertion and updating of hypertext links for internet servers |
6751777, | Oct 19 1998 | International Business Machines Corporation | Multi-target links for navigating between hypertext documents and the like |
6754874, | May 31 2002 | Deloitte Development LLC | Computer-aided system and method for evaluating employees |
6757826, | Apr 14 1998 | CITICORP CREDIT SERVICES, INC USA | Digital graphic signature system |
6757868, | Jun 22 1998 | International Business Machines Corporation | Programmatic switching of arbitrary HTML forms |
6760723, | Jan 31 2000 | CommVault Systems Inc. | Storage management across multiple time zones |
6763343, | Sep 20 1999 | DELL, USA, L P | Preventing duplication of the data in reference resource for XML page generation |
6772139, | Oct 05 1998 | MIND FUSION, LLC | Method and apparatus for facilitating use of hypertext links on the world wide web |
6772165, | May 16 2000 | MEC MANAGEMENT, LLC | Electronic document processing system and method for merging source documents on a node-by-node basis to generate a target document |
6774926, | Sep 03 1999 | Rovi Guides, Inc; TV GUIDE, INC ; UV CORP | Personal television channel system |
6779154, | Feb 01 2000 | Cisco Technology, Inc | Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents |
6781609, | May 09 2000 | International Business Machines Corporation | Technique for flexible inclusion of information items and various media types in a user interface |
6782144, | Mar 12 2001 | Multiscan Corp. | Document scanner, system and method |
6799299, | Sep 23 1999 | IBM Corporation | Method and apparatus for creating stylesheets in a data processing system |
6801929, | Sep 01 1998 | International Business Machines Corporation | Relevance clause for computed relevance messaging |
6816849, | May 26 1998 | Intellectual Ventures I LLC | Advanced internet interface |
6828992, | Nov 04 1999 | Adrea, LLC | User interface with dynamic menu option organization |
6845380, | Mar 04 2002 | Hewlett Packard Enterprise Development LP | Method and system of valuing transformation between extensible markup language (XML) documents |
6845499, | Jan 31 2001 | JDA SOFTWARE GROUP, INC | System and method for developing software applications using an extended XML-based framework |
6847387, | Jan 21 1997 | International Business Machines Corporation | Menu management mechanism that displays menu items based on multiple heuristic factors |
6848078, | Nov 30 1998 | International Business Machines Corporation | Comparison of hierarchical structures and merging of differences |
6850895, | Nov 30 1998 | Oracle America, Inc | Assignment manager |
6871220, | Oct 28 1998 | YODLEE, INC | System and method for distributed storage and retrieval of personal information |
6874130, | Feb 17 2000 | International Business Machines Corporation | Copy/move graphical user interface apparatus and method |
6876996, | Nov 14 2001 | Oracle America, Inc | Method and apparatus for using a shared library mechanism to facilitate sharing of metadata |
6889359, | Oct 07 1999 | International Business Machines Corporation | Method for providing a visual representation of dynamic HTML table attributes |
6901403, | Mar 02 2000 | ROGUE WAVE SOFTWARE, INC | XML presentation of general-purpose data sources |
6915454, | Jun 12 2001 | Microsoft Technology Licensing, LLC | Web controls validation |
6931532, | Oct 21 1999 | International Business Machines Corporation | Selective data encryption using style sheet processing |
6941510, | Jun 06 2000 | Microsoft Technology Licensing, LLC | Method and apparatus for efficient management of XML documents |
6941511, | Aug 31 2000 | International Business Machines Corporation; IBM Corporation | High-performance extensible document transformation |
6941521, | Mar 29 2002 | Intel Corporation | Method for dynamically generating a user interface from XML-based documents |
6948129, | Feb 08 2001 | LOGIC TREE, LLC | Multi-modal, multi-path user interface for simultaneous access to internet data over multiple media |
6948133, | Mar 23 2001 | Siemens Medical Solutions USA, Inc | System for dynamically configuring a user interface display |
6948135, | Jun 21 2000 | Microsoft Technology Licensing, LLC | Method and systems of providing information to computer users |
6950980, | May 31 2000 | International Business Machines Corporation | System, method, and program product for saving a submitted form of a web page |
6954754, | Apr 16 2001 | Qualcomm Incorporated | Apparatus and methods for managing caches on a mobile device |
6961897, | Jun 14 1999 | Lockheed Martin Corporation | System and method for interactive electronic media extraction for web page generation |
6963875, | Mar 23 2000 | General Atomics | Persistent archives |
6968503, | Mar 09 2000 | QUOVADX, INC , GEORGIA CORPORATION | XML user interface for a workflow server |
6968505, | Apr 27 2001 | International Business Machines Corporation | Use of conceptual diagrams to support relationships between launchpads and its wizards |
6993714, | Oct 03 2002 | Microsoft Technology Licensing, LLC | Grouping and nesting hierarchical namespaces |
6996776, | May 16 2000 | International Business Machines Corporation | Method and system for SGML-to-HTML migration to XML-based system |
6996781, | Oct 31 2001 | BADGER I, LLC | System and method for generating XSL transformation documents |
7000179, | Mar 27 1999 | MOVARIS | Method and apparatus for programmatic learned routing in an electronic form system |
7002560, | Oct 04 2002 | Human Interface Technologies Inc. | Method of combining data entry of handwritten symbols with displayed character data |
7003722, | Feb 28 2003 | Microsoft Technology Licensing, LLC | Method and system for converting a schema-based hierarchical data structure into a flat data structure |
7010580, | Oct 08 1999 | Agile Software Corporation | Method and apparatus for exchanging data in a platform independent manner |
7020869, | Dec 01 2000 | Progress Software Corporation | Business rules user interface for development of adaptable enterprise applications |
7024417, | Nov 14 2002 | Oracle International Corporation | Data mining framework using a signature associated with an algorithm |
7032170, | Jun 03 2002 | General Electric Company | Creating data structures from a form file and creating a web page in conjunction with corresponding data structures |
7036072, | Dec 18 2001 | International Business Machines Corporation | Method and apparatus for declarative updating of self-describing, structured documents |
7039875, | Nov 30 2000 | Alcatel-Lucent USA Inc | Computer user interfaces that are generated as needed |
7043687, | Dec 27 2000 | GXS, INC | Document/message management |
7051273, | Nov 30 1990 | Microsoft Technology Licensing, LLC | Customizing forms in an electronic mail system utilizing custom field behaviors and user defined operations |
7058663, | Mar 13 2001 | Agilent Technologies, Inc | Automatic data update |
7062764, | Jun 17 2002 | Microsoft Technology Licensing, LLC | System and method for manipulating offline software |
7065493, | Apr 06 2000 | GINEGAR LLC | Workflow system and method |
7076728, | Dec 22 2000 | International Business Machines Corporation | Method and apparatus for end-to-end content publishing system using XML with an object dependency graph |
7080083, | Dec 21 2001 | CHARTOLEAUX KG LIMITED LIABILITY COMPANY | Extensible stylesheet designs in visual graphic environments |
7080325, | Feb 22 2002 | INTERFACE IP HOLDINGS LLC | Graphical device for comprehensive viewing and input of variable data via a browser-based display |
7086009, | Jun 22 2001 | Schneider Electric Software, LLC | Customizable system for creating supervisory process control and manufacturing information applications |
7086042, | Apr 23 2002 | International Business Machines Corporation | Generating and utilizing robust XPath expressions |
7088374, | Mar 27 2003 | Microsoft Technology Licensing, LLC | System and method for managing visual structure, timing, and animation in a graphics processing system |
7100147, | Jun 28 2001 | International Business Machines Corporation | Method, system, and program for generating a workflow |
7103611, | May 01 2003 | Oracle International Corporation | Techniques for retaining hierarchical information in mapping between XML documents and relational data |
7106888, | May 25 1999 | Silverbrook Research Pty LTD | Signature capture via interface surface |
7107282, | May 10 2002 | Oracle International Corporation | Managing XPath expressions in a database system |
7107521, | Jul 03 2001 | International Business Machines Corporation | XSL dynamic inheritance |
7120863, | Nov 15 1999 | International Business Machines Corporation | Method, system, and program for interfacing with elements in a document |
7130885, | Sep 05 2000 | METRICSTREAM, INC | Methods and apparatus providing electronic messages that are linked and aggregated |
7143341, | Jun 20 2002 | Cadence Design Systems, INC | Method and apparatus for concurrent engineering and design synchronization of multiple tools |
7146564, | Dec 21 2001 | CHARTOLEAUX KG LIMITED LIABILITY COMPANY | Extensible stylesheet designs using meta-tag and/or associated meta-tag information |
7152205, | Dec 18 2000 | Siemens Corporation | System for multimedia document and file processing and format conversion |
7168035, | Jun 11 2003 | Microsoft Technology Licensing, LLC | Building a view on markup language data through a set of components |
7178166, | Sep 19 2000 | KYNDRYL, INC | Vulnerability assessment and authentication of a computer by a local scanner |
7190376, | Mar 16 1999 | Canon Kabushiki Kaisha | Method of compiling compositing expressions for optimised rendering |
7191394, | Jun 21 2000 | Microsoft Technology Licensing, LLC | Authoring arbitrary XML documents using DHTML and XSLT |
7200816, | Jan 21 2004 | Altova, GmbH | Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment |
7213200, | Apr 23 2002 | International Business Machines Corporation | Selectable methods for generating robust XPath expressions |
7236982, | Sep 15 2003 | Pic Web Services, Inc.; PIC WEB SERVICES, INC | Computer systems and methods for platform independent presentation design |
7249328, | May 21 1999 | E-NUMERATE SOLUTIONS, INC | Tree view for reusable data markup language |
7272789, | Nov 18 2002 | TYPEFI SYSTEMS PTY LTD | Method of formatting documents |
7281018, | May 26 2004 | Microsoft Technology Licensing, LLC | Form template data source change |
7284208, | Apr 29 2005 | Xenogenic Development Limited Liability Company | System and method for enabling at least one independent data navigation and interaction activity within a document |
7287218, | Oct 25 2000 | Oracle International Corporation | Dynamic publication of information from a database |
7296017, | Mar 28 2003 | Microsoft Technology Licensing, LLC | Validation of XML data files |
7313758, | Apr 24 2002 | Canon Kabushiki Kaisha | Markup-language document formatting in memory-constrained environment |
7316003, | Dec 18 2002 | Oracle International Corp. | System and method for developing a dynamic web page |
7318237, | Oct 28 1998 | Oracle International Corporation | System and method for maintaining security in a distributed computer network |
7334178, | Sep 09 2005 | Oracle International Corporation | Randomized self-checking test system |
7337391, | Mar 12 2002 | Meta Platforms, Inc | Method and system for stylesheet execution interactive feedback |
7337392, | Jan 27 2003 | Method and apparatus for adapting web contents to different display area dimensions | |
7346610, | Jun 21 2000 | Microsoft Technology Licensing, LLC | Methods and systems of providing information to computer users |
7346840, | Feb 26 2001 | Cisco Technology, Inc. | Application server configured for dynamically generating web forms based on extensible markup language documents and retrieved subscriber data |
7346848, | Jun 21 2000 | Microsoft Technology Licensing, LLC | Single window navigation methods and systems |
7350141, | Jun 21 2000 | Microsoft Technology Licensing, LLC | User interface for integrated spreadsheets and word processing tables |
7373595, | Jun 27 2002 | Microsoft Technology Licensing, LLC | System and method for validating an XML document and reporting schema violations |
7412649, | Jan 24 2005 | GOOGLE LLC | Viewing and editing markup language files with complex semantics |
7424671, | May 16 2003 | BLAST RADIUS SOFTWARE INC ; JUSTSYSTEMS CANADA INC | Methods and systems for enabling collaborative authoring of hierarchical documents |
7428699, | Jan 15 2003 | Adobe Inc | Configurable representation of structured data |
20010007109, | |||
20010022592, | |||
20010024195, | |||
20010037345, | |||
20010054004, | |||
20010056429, | |||
20010056460, | |||
20020010700, | |||
20020010743, | |||
20020010746, | |||
20020010855, | |||
20020013788, | |||
20020019941, | |||
20020023113, | |||
20020026441, | |||
20020026461, | |||
20020032590, | |||
20020032692, | |||
20020032706, | |||
20020032768, | |||
20020035579, | |||
20020035581, | |||
20020040469, | |||
20020054126, | |||
20020057297, | |||
20020065798, | |||
20020065847, | |||
20020070973, | |||
20020078074, | |||
20020078103, | |||
20020083318, | |||
20020099952, | |||
20020100027, | |||
20020112224, | |||
20020129056, | |||
20020133484, | |||
20020152222, | |||
20020152244, | |||
20020156772, | |||
20020156846, | |||
20020156929, | |||
20020169752, | |||
20020169789, | |||
20020174147, | |||
20020174417, | |||
20020178380, | |||
20020184219, | |||
20020188597, | |||
20020188613, | |||
20020194219, | |||
20020196281, | |||
20020196288, | |||
20020198891, | |||
20020198935, | |||
20030004951, | |||
20030007000, | |||
20030014397, | |||
20030018668, | |||
20030020746, | |||
20030023641, | |||
20030025732, | |||
20030026507, | |||
20030028550, | |||
20030028561, | |||
20030037303, | |||
20030043986, | |||
20030046665, | |||
20030048301, | |||
20030051243, | |||
20030055811, | |||
20030055828, | |||
20030056198, | |||
20030061386, | |||
20030061567, | |||
20030084424, | |||
20030093755, | |||
20030110443, | |||
20030120578, | |||
20030120651, | |||
20030120659, | |||
20030120671, | |||
20030120686, | |||
20030126555, | |||
20030128196, | |||
20030135825, | |||
20030140132, | |||
20030142072, | |||
20030149934, | |||
20030158897, | |||
20030163285, | |||
20030167277, | |||
20030182268, | |||
20030182327, | |||
20030187756, | |||
20030187930, | |||
20030188260, | |||
20030189593, | |||
20030192008, | |||
20030200506, | |||
20030204511, | |||
20030204814, | |||
20030205615, | |||
20030212664, | |||
20030212902, | |||
20030217053, | |||
20030220930, | |||
20030225469, | |||
20030225768, | |||
20030225829, | |||
20030226132, | |||
20030233374, | |||
20030233644, | |||
20030236859, | |||
20030236903, | |||
20030237046, | |||
20030237047, | |||
20040002939, | |||
20040002950, | |||
20040003031, | |||
20040003353, | |||
20040003389, | |||
20040010752, | |||
20040024842, | |||
20040030991, | |||
20040039990, | |||
20040039993, | |||
20040044961, | |||
20040044965, | |||
20040054966, | |||
20040059754, | |||
20040073565, | |||
20040073868, | |||
20040078756, | |||
20040083426, | |||
20040088647, | |||
20040088652, | |||
20040093596, | |||
20040107367, | |||
20040117769, | |||
20040123277, | |||
20040146199, | |||
20040148178, | |||
20040163041, | |||
20040172442, | |||
20040181711, | |||
20040186762, | |||
20040189708, | |||
20040189716, | |||
20040194035, | |||
20040205473, | |||
20040205525, | |||
20040205534, | |||
20040205571, | |||
20040205592, | |||
20040205605, | |||
20040205653, | |||
20040205671, | |||
20040210599, | |||
20040210645, | |||
20040221238, | |||
20040221245, | |||
20040237030, | |||
20040260593, | |||
20040261019, | |||
20040268229, | |||
20050004893, | |||
20050005248, | |||
20050015279, | |||
20050015732, | |||
20050022115, | |||
20050027757, | |||
20050028073, | |||
20050038711, | |||
20050055627, | |||
20050060324, | |||
20050060721, | |||
20050065933, | |||
20050065936, | |||
20050066287, | |||
20050071752, | |||
20050076049, | |||
20050091285, | |||
20050091305, | |||
20050097536, | |||
20050102370, | |||
20050102612, | |||
20050108104, | |||
20050108624, | |||
20050114757, | |||
20050132043, | |||
20050132196, | |||
20050138031, | |||
20050138086, | |||
20050138539, | |||
20050149375, | |||
20050160398, | |||
20050171746, | |||
20050198086, | |||
20050198125, | |||
20050198247, | |||
20050210263, | |||
20050223063, | |||
20050223320, | |||
20050246304, | |||
20050262112, | |||
20050268222, | |||
20060020586, | |||
20060026534, | |||
20060031757, | |||
20060036995, | |||
20060041838, | |||
20060059107, | |||
20060059434, | |||
20060069605, | |||
20060069985, | |||
20060080657, | |||
20060085409, | |||
20060101037, | |||
20060101051, | |||
20060129583, | |||
20060129978, | |||
20060143220, | |||
20060161559, | |||
20060200754, | |||
20070036433, | |||
20070050719, | |||
20070061467, | |||
20070061706, | |||
20070074106, | |||
20070094589, | |||
20070100877, | |||
20070101280, | |||
20070118803, | |||
20070130504, | |||
20070186157, | |||
20070208606, | |||
20070208769, | |||
20080028340, | |||
EP841615, | |||
EP961197, | |||
EP1076290, | |||
JP2000132436, | |||
JP2002183652, | |||
JP2003173288, | |||
JP3191429, | |||
JP401173140, | |||
JP406014105, | |||
JP4225466, | |||
JP5314152, | |||
JP6139241, | |||
JP6180697, | |||
JP6180698, | |||
JP63085960, | |||
RE38070, | Jun 29 1995 | Microsoft Technology Licensing, LLC | Cryptography system and method for providing cryptographic services for a computer application |
WO144934, | |||
WO9924945, | |||
WO9956207, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 11 2004 | KELKAR, AMOL S | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015662 | /0746 | |
Nov 11 2004 | ALRAPETYAN, DAVID | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015662 | /0746 | |
Nov 12 2004 | SIKCHI, PRAKASH | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015662 | /0746 | |
Nov 16 2004 | Microsoft Corporation | (assignment on the face of the patent) | / | |||
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034543 | /0001 |
Date | Maintenance Fee Events |
Aug 28 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 08 2016 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Nov 09 2020 | REM: Maintenance Fee Reminder Mailed. |
Apr 26 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 24 2012 | 4 years fee payment window open |
Sep 24 2012 | 6 months grace period start (w surcharge) |
Mar 24 2013 | patent expiry (for year 4) |
Mar 24 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 24 2016 | 8 years fee payment window open |
Sep 24 2016 | 6 months grace period start (w surcharge) |
Mar 24 2017 | patent expiry (for year 8) |
Mar 24 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 24 2020 | 12 years fee payment window open |
Sep 24 2020 | 6 months grace period start (w surcharge) |
Mar 24 2021 | patent expiry (for year 12) |
Mar 24 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |