US6167451A - Multiple push protocol unifying system - Google Patents
Multiple push protocol unifying system Download PDFInfo
- Publication number
- US6167451A US6167451A US09/009,619 US961998A US6167451A US 6167451 A US6167451 A US 6167451A US 961998 A US961998 A US 961998A US 6167451 A US6167451 A US 6167451A
- Authority
- US
- United States
- Prior art keywords
- consumer
- filter
- stream
- producer
- information stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Definitions
- the invention relates to push technology as used in connection with computer networks. More particularly, the invention relates to the interpretation and handling of multiple push protocols as used with a computer network and efficient distribution of the resulting information to a client.
- Push technology distributes information that constantly or periodically changes, such as stock market quotes, to clients via computer networks.
- push technology first generation products require the clients 101, 102, 103, and 104 to poll the server 105 constantly with requests for any information changes 106.
- the constant polling floods the servers.
- true push technology occurs when the server 201, rather than the clients 203, 204, 205, and 206, initiates the event.
- the server 201 pushes out a message 202 to all of the clients 203, 204, 205, and 206 which tells them that this is the new content.
- This approach is much more efficient than the previous method because there is only traffic across the network when something has actually changed, i.e. when an update is required.
- URL Universal Resource Locators
- This approach is only useful for pushed channels and it is not applicable to other types of pushed content, such as notification (also referred to as instant messaging). Additionally, this approach defines a URL for each item pushed, therefore it is not possible to have a pushed channel with a dynamic structure. Rather every item must be previously planned for and identified in a definition file. Finally, this approach defines pushed content with the same namespace (URLS) as pulled content, which is a poor design. A URL is not meant to refer to a stream of content, it properly refers to one item.
- URLS namespace
- the invention provides a unifying push framework system.
- the invention uses an easily configured push framework that allows a system to adjust dynamically to different push protocols that are delivered from a server to a client in a computer network environment.
- the invention utilizes a multiprotocol unifying system that enables the client to subscribe to several different push protocols without affecting the client or the server that sends or receives the protocols.
- a plumbing approach is used wherein a "pipe" (producer) is created to interpret a specified push protocol.
- Push Universal Resource Locators (PURLs) (the streams) are delivered from a server across the computer network to each pipe that handles the specific protocol. The pipe interprets the protocol and delivers the stream to the subscribing client (consumer).
- Pipes can be combined and clients can subscribe to several different protocols. These pipes are capable of delivering streams to multiple clients. Pipes are created dynamically as each client subscribes to different protocols.
- Filters are easily added and removed dynamically to or from the system to filter streams.
- a filter can be added to the output side of a pipe before distribution to the clients. Additionally, a filter can be added before the client to filter the incoming stream. This allows for a flexible system with multiple filtering schemes.
- FIG. 1 is a block schematic diagram of a client-initiated push technology scenario
- FIG. 2 is a block schematic diagram of a true push technology example
- FIG. 3 is a block schematic diagram of the plumbing approach used in a preferred embodiment of the invention.
- FIG. 4 is a block schematic diagram of a Push Universal Resource Locator (PURL) stream flow through a preferred embodiment of the invention
- FIG. 5 is a block schematic diagram of a multicast example of a preferred embodiment of the invention.
- FIG. 6 is a block schematic diagram of a task-oriented view of a preferred embodiment of the invention.
- the invention is embodied in a unifying push framework system for client/server applications.
- a system according to the invention provides an easily configurable multi-protocol push framework that interprets and distributes different protocols in a computer network, thereby allowing the user to select any combination of push protocols at any time.
- the existing solutions provide little or no control over dynamic changes in protocol selection.
- the invention can be used for any type of pushed application.
- notification can be accommodated by using the mid: Universal Resource Locator (URL) scheme which is used for message IDs assigned to mail and other messages.
- URL Universal Resource Locator
- a plumbing system approach is used in the preferred embodiment of the invention.
- the push stream approach herein does not impose any limitation on which URLs may be passed through the system, making the invention much more dynamic than existing systems.
- the invention separates push URLs from pull URLs, which prevents certain types of design errors by making it impossible to commingle the two.
- the push framework simplifies the process of building the server and client applications that send or receive pushes. Every time information is pushed, the transaction is modeled as an event. With respect to FIG. 3, the framework allows the user to create a "plumbing" piece 302 that is assembled with other pieces 303, and 304.
- a plumbing piece 302 is a source, the piece that receives the events from the network 301 and passes them down to a receiver 307.
- a plumbing piece 301 takes in an event from the network 301 and replicates it across to n receivers 307, 308, and 309.
- a filter 305 can be added to a plumbing piece 302 that filters according to a particular filter strategy.
- a filter 306 can also be added before a receiver 307.
- a plumbing piece can also receive data, put it in the browser's cache, and notify the browser that the content that it is currently viewing has changed.
- the user can also build a framework for an application that performs notification.
- the notification feature receives a message which appears immediately on the screen.
- the invention can also be used for channel push or anything else that depends on getting a stream of messages to someone, either the user, cache, or program that is going to be using the stream, e.g. the framework could deliver stock market information intended for analysis.
- a Push URL (PURL) (the stream) 401 is passed to the producer infrastructure 402.
- the producer infrastructure 402 selects and creates the correct pipe (producer) 403, 404, 405, or 406 to deliver the PURL.
- Producers are created dynamically as each consumer subscribes to different protocols.
- the producers 403, 404, 405, and 406 interpret the protocol and deliver the stream to the network.
- the actual distribution to the consumers 408, 409, and 410 is handled by the consumer infrastructure 407 that knows which consumers have subscribed to the particular producer's stream. This functionality is contained within the client or server 413 receiving the PURL. Filters may be dynamically added or removed after the producer output 411 or before the consumer input 412 to filter the incoming stream.
- the invention allows for more efficiency.
- the applications request a subscription to the feed and the data is automatically delivered.
- the invention allows the user to transform or save the stream as it moves through the system without interfering with the consumers or producers of the stream.
- the Push Framework is a Java Application Programming Interface (API) for building applications that use true push technology (i.e., where the server sends pages as they change, rather than having the client poll the pages regularly).
- API Java Application Programming Interface
- the framework is designed to make it easy to plug in new push protocols without updating client applications. It will be appreciated that it is not necessary to use the Java API. Rather, those skilled in the art will appreciate that other API's may be used to implement the invention.
- a push stream coming from the network is identified by a PURL, i.e. a Push URL.
- pages flow from Producers to Consumers; the simplest case is a Producer which receives pages from the network and a Consumer which displays them. It is also possible to construct more complicated pipelines through the API, by connecting Producers and Consumers together with intermediate classes, in a manner similar to Unix command-line filters.
- a Command can be a grouping of simpler Commands, enabling a Consumer to treat them as a unit. This allows a protocol to group a set of changes together, to be applied together, so that the application does not attempt to reflect any of the changes until it has reached a consistent state.
- Producer is an interface representing a source of Web pages.
- a Producer must implement three methods:
- setConsumer() tells the Producer to which Consumer to pass the Commands for its stream. Note that any given Producer passes Commands to exactly one Consumer. If it is necessary to pass a stream to multiple Consumers, create a CompositeConsumer which contains the Consumers to receive the stream.
- setConsumer() is simply a matter of setting an instance variable.
- pushIncludes() asks the Producer whether the stream it is producing includes the stream indicated by the given PURL. This enables a client to avoid subscribing to two overlapping streams.
- a Decorator (a class that adds additional functionality to an underlying object) applies a FilterStrategy to filter the output of a Producer.
- a ProducerFilterDecorator is itself a Producer, and can be used with a Consumer as normal. Its constructor takes the underlying Producer and the FilterStrategy to apply; after that, no further user intervention is needed.
- a ProducerFactory must implement two methods: getPurlProtocol() and makeProducer().
- getPurlProtocol returns a String, the name of the PURL protocol being implemented.
- makeProducer() takes a PURL (whose protocol is guaranteed to match getPurlProtocol()) and constructs a Producer.
- ProducerFactory also implements three important methods:
- register() which adds the factory to a static table of known factories for PURL protocols
- newProducer() which takes a PURL, finds its protocol, and asks the correct registered factory to create a Producer. register() and unregister() are called by protocol developers. NewProducer() is called by applications needing Producers for their PURLs (or by SubscriptionManager).
- a ConsumerFilterDecorator is itself a Consumer, and can be used with a Producer as normal. Its constructor takes the underlying Consumer and the FilterStrategy to apply; after that, no further user intervention is needed.
- An EntityChangeCommand may have a parent (set at construction time), indicating that it is part of a batch of commands; the apply() method uses this to decide whether to invoke the Consumer's pushRefresh() method after calling -- apply(). Only Commands without parents trigger pushRefresh(). This means that the Consumer treats a batch of commands as a unit.
- -- apply() takes a Consumer and uses its methods to carry out the change which the Command represents; isStrategy interested takes a FilterStrategy and invokes the appropriate interested() method(s) to find out whether the filter is interested in the Command's contents.
- the EntityPutCommand is an EntityChangeCommand which is constructed with an HTTPEntity. It indicates that the entity has been received from the network. Its -- apply() invokes the Consumer's pushStore() method; its isStrategyInterested() invokes the FilterStrategy's interested(HTTPEntity) method.
- the EntityDelCommand is an EntityChangeCommand which is constructed with a URL. It indicates that the entity at that URL is no longer valid. Its -- apply() invokes the Consumer's pushDel() method; its isStrategy interested() invokes the FilterStrategy's interested(URL) method.
- the EntityBatchCommand is a composite EntityChangeCommand, a Command that represents a batch of Commands which must be treated as a group. It adds a single method to EntityChangeCommand, addCommand(), which adds a new Command to the composite.
- the HTTPEntity provides methods to access these header fields and data.
- An HTTPEntity is normally created by a Producer implementing a protocol, when the push server sends an object of Web content.
- the HTTPEntity must provide a Content-Location:, so that the receiver knows where to cache the entity.
- the producer factory 601 creates producers 602.
- the producer factory 601 finds the PURL protocol type and constructs a producer that handles the specific PURL protocol.
- the consumer factory 606 creates consumers 605.
- a consumer 605 receives Web pages and executes commands from the PURL stream, updating the page content to reflect the commands.
- Consumers 605 use the subscription manager 607 to subscribe and unsubscribe to producers 602 for specific PURLs.
- the subscription manager 607 requests producers 602 from the producer factory 601.
- the producers 602 that are created for each subscription pass the commands for its type of stream to a specified consumer 605.
- Consumers 605 can subscribe to multiple producers through a type of producer 602 called a composite producer which sends multiple streams to a specific consumer 605.
- a composite consumer can also be created in the same manner through the consumer factory 606 that allows a stream from a producer 602 to be provided to multiple consumers.
- a producer filter 603 is optionally added to filter the output stream from a producer 602.
- a consumer filter 604 is also available to filter streams coming into a consumer 605.
- Filters for example, can sort by URL prefix or Multipurpose Internet Mail Extensions (MIME) type. Multiple filters can be grouped together to provide boolean logic filters.
- MIME Multipurpose Internet Mail Extensions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/009,619 US6167451A (en) | 1998-01-20 | 1998-01-20 | Multiple push protocol unifying system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/009,619 US6167451A (en) | 1998-01-20 | 1998-01-20 | Multiple push protocol unifying system |
Publications (1)
Publication Number | Publication Date |
---|---|
US6167451A true US6167451A (en) | 2000-12-26 |
Family
ID=21738752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/009,619 Expired - Lifetime US6167451A (en) | 1998-01-20 | 1998-01-20 | Multiple push protocol unifying system |
Country Status (1)
Country | Link |
---|---|
US (1) | US6167451A (en) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001056266A2 (en) * | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | Method and apparatus for encoder-based distribution of live video and other streaming content |
WO2001071513A1 (en) * | 2000-03-23 | 2001-09-27 | The Uab Research Foundation | Centralized system for distributed content management of an internet or intranet site |
US20020026514A1 (en) * | 2000-02-01 | 2002-02-28 | Ellis Raymond Walter | Automated tool management in a multi-protocol environment |
WO2002084948A1 (en) * | 2001-04-05 | 2002-10-24 | Imahima, Inc. | Real-time mobile communication system for chatting |
US20030023739A1 (en) * | 2001-07-28 | 2003-01-30 | Lan Ngoc Vu | System and method for multi-tier multi-casting over the Internet |
US20030188009A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US20030191800A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for a foreach mechanism in a fragment link to efficiently cache portal content |
US20030191812A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US6651050B2 (en) * | 1994-05-02 | 2003-11-18 | International Business Machines Corporation | Co-presence data retrieval system which indicates observers of data |
US20040098498A1 (en) * | 2002-11-18 | 2004-05-20 | Microsoft Corporation | Composable data streams for managing flows |
US20040133629A1 (en) * | 2002-02-01 | 2004-07-08 | Brian Reynolds | Methods, systems and devices for automated web publishing and distribution |
US20060235554A1 (en) * | 2005-04-15 | 2006-10-19 | Ray Ellis | Automated job management |
US20080034376A1 (en) * | 2001-07-05 | 2008-02-07 | Asyst Technologies, Inc. | Automated Tool Management in a Multi-Protocol Environment |
US20090204666A1 (en) * | 2008-02-13 | 2009-08-13 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
US7730154B2 (en) | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US8028049B1 (en) | 2000-02-01 | 2011-09-27 | Peer Intellectual Property Inc. | Apparatus and method for web-based tool management |
US8627268B2 (en) | 2006-11-06 | 2014-01-07 | International Business Machines Corporation | System and method for a non-sequential undo mechanism |
US20140101212A1 (en) * | 2012-10-05 | 2014-04-10 | Gary Robin Maze | Document management systems and methods |
CN112787993A (en) * | 2020-12-25 | 2021-05-11 | 北京金万维科技有限公司 | High-concurrency HTTP request caching and content pushing system and method based on UDP |
WO2022110919A1 (en) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | Information subscription method and apparatus |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5790793A (en) * | 1995-04-04 | 1998-08-04 | Higley; Thomas | Method and system to create, transmit, receive and process information, including an address to further information |
US5790790A (en) * | 1996-10-24 | 1998-08-04 | Tumbleweed Software Corporation | Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof |
US5838682A (en) * | 1995-11-28 | 1998-11-17 | Bell Atlantic Network Services, Inc. | Method and apparatus for establishing communications with a remote node on a switched network based on hypertext dialing information received from a packet network |
US5862330A (en) * | 1996-07-16 | 1999-01-19 | Lucent Technologies Inc. | Technique for obtaining and exchanging information on wolrd wide web |
US5873077A (en) * | 1995-01-13 | 1999-02-16 | Ricoh Corporation | Method and apparatus for searching for and retrieving documents using a facsimile machine |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US5918020A (en) * | 1997-02-28 | 1999-06-29 | International Business Machines Corporation | Data processing system and method for pacing information transfers in a communications network |
US5951643A (en) * | 1997-10-06 | 1999-09-14 | Ncr Corporation | Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers |
-
1998
- 1998-01-20 US US09/009,619 patent/US6167451A/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873077A (en) * | 1995-01-13 | 1999-02-16 | Ricoh Corporation | Method and apparatus for searching for and retrieving documents using a facsimile machine |
US5790793A (en) * | 1995-04-04 | 1998-08-04 | Higley; Thomas | Method and system to create, transmit, receive and process information, including an address to further information |
US5838682A (en) * | 1995-11-28 | 1998-11-17 | Bell Atlantic Network Services, Inc. | Method and apparatus for establishing communications with a remote node on a switched network based on hypertext dialing information received from a packet network |
US5862330A (en) * | 1996-07-16 | 1999-01-19 | Lucent Technologies Inc. | Technique for obtaining and exchanging information on wolrd wide web |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5790790A (en) * | 1996-10-24 | 1998-08-04 | Tumbleweed Software Corporation | Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof |
US5918020A (en) * | 1997-02-28 | 1999-06-29 | International Business Machines Corporation | Data processing system and method for pacing information transfers in a communications network |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US5951643A (en) * | 1997-10-06 | 1999-09-14 | Ncr Corporation | Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651050B2 (en) * | 1994-05-02 | 2003-11-18 | International Business Machines Corporation | Co-presence data retrieval system which indicates observers of data |
WO2001056266A3 (en) * | 2000-01-28 | 2002-01-03 | Ibeam Broadcasting Corp | Method and apparatus for encoder-based distribution of live video and other streaming content |
WO2001056266A2 (en) * | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | Method and apparatus for encoder-based distribution of live video and other streaming content |
US20020026514A1 (en) * | 2000-02-01 | 2002-02-28 | Ellis Raymond Walter | Automated tool management in a multi-protocol environment |
US8028049B1 (en) | 2000-02-01 | 2011-09-27 | Peer Intellectual Property Inc. | Apparatus and method for web-based tool management |
US7403984B2 (en) | 2000-02-01 | 2008-07-22 | Asyst Technologies, Inc. | Automated tool management in a multi-protocol environment |
WO2001071513A1 (en) * | 2000-03-23 | 2001-09-27 | The Uab Research Foundation | Centralized system for distributed content management of an internet or intranet site |
WO2002084948A1 (en) * | 2001-04-05 | 2002-10-24 | Imahima, Inc. | Real-time mobile communication system for chatting |
US20080034376A1 (en) * | 2001-07-05 | 2008-02-07 | Asyst Technologies, Inc. | Automated Tool Management in a Multi-Protocol Environment |
US7756963B2 (en) | 2001-07-05 | 2010-07-13 | PEER Intellectual Property, Inc. | Automated tool management in a multi-protocol environment |
US20030023739A1 (en) * | 2001-07-28 | 2003-01-30 | Lan Ngoc Vu | System and method for multi-tier multi-casting over the Internet |
US20030191812A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US7730154B2 (en) | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US20070244964A1 (en) * | 2001-12-19 | 2007-10-18 | Challenger James R H | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US20080005273A1 (en) * | 2001-12-19 | 2008-01-03 | Agarwalla Rajesh S | Method and system for caching role-specific fragments |
US8032586B2 (en) | 2001-12-19 | 2011-10-04 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US20030188009A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US7412535B2 (en) | 2001-12-19 | 2008-08-12 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US7426534B2 (en) | 2001-12-19 | 2008-09-16 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US7987239B2 (en) | 2001-12-19 | 2011-07-26 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US7509393B2 (en) | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20030191800A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for a foreach mechanism in a fragment link to efficiently cache portal content |
US20040133629A1 (en) * | 2002-02-01 | 2004-07-08 | Brian Reynolds | Methods, systems and devices for automated web publishing and distribution |
US7447801B2 (en) * | 2002-11-18 | 2008-11-04 | Microsoft Corporation | Composable data streams for managing flows |
US20040098498A1 (en) * | 2002-11-18 | 2004-05-20 | Microsoft Corporation | Composable data streams for managing flows |
US20060235554A1 (en) * | 2005-04-15 | 2006-10-19 | Ray Ellis | Automated job management |
US7873428B2 (en) | 2005-04-15 | 2011-01-18 | PEER Intellectual Property, Inc. | Automated job management |
US8627268B2 (en) | 2006-11-06 | 2014-01-07 | International Business Machines Corporation | System and method for a non-sequential undo mechanism |
US8260864B2 (en) | 2008-02-13 | 2012-09-04 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
US20090204666A1 (en) * | 2008-02-13 | 2009-08-13 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
US8713099B2 (en) | 2008-02-13 | 2014-04-29 | Microsoft Corporation | Push mechanism for efficiently sending aggregated data items to client |
US20140101212A1 (en) * | 2012-10-05 | 2014-04-10 | Gary Robin Maze | Document management systems and methods |
US8924443B2 (en) * | 2012-10-05 | 2014-12-30 | Gary Robin Maze | Document management systems and methods |
WO2022110919A1 (en) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | Information subscription method and apparatus |
CN112787993A (en) * | 2020-12-25 | 2021-05-11 | 北京金万维科技有限公司 | High-concurrency HTTP request caching and content pushing system and method based on UDP |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6167451A (en) | Multiple push protocol unifying system | |
US5933604A (en) | Network resource monitoring system and method for providing notice of changes in resources in a network | |
US8423527B2 (en) | Enabling interactive integration of network-accessible applications in a content aggregation framework | |
Pardo-Castellote | Omg data-distribution service: Architectural overview | |
US6182119B1 (en) | Dynamically configurable filtered dispatch notification system | |
KR100819021B1 (en) | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display | |
US7865550B2 (en) | Message processing control in a publish/subscribe system | |
KR970022789A (en) | System for transferring embedded applications over the network | |
US20080104258A1 (en) | System and method for dynamic data discovery in service oriented networks with peer-to-peer based communication | |
EP1652137A2 (en) | A publish/subscribe mechanism for web services | |
US20070118842A1 (en) | DDS-assisted CORBA discovery | |
EP1130845A2 (en) | Publish/subscribe system | |
KR20050055746A (en) | Method and apparatus for relaying session information from a portal server | |
US20040181575A1 (en) | Method and apparatus for providing peer-to-peer push using broadcast query | |
CN103534988A (en) | Publish and subscribe messaging method and apparatus | |
US7191232B2 (en) | Extendable provisioning mechanism for a service gateway | |
Heinzl et al. | Flex-swa: Flexible exchange of binary data based on soap messages with attachments | |
DE602005005435T2 (en) | System and method for communication management of component applications | |
GB2580419A (en) | Electronic message control | |
EP1198101A1 (en) | Provisioning mechanism for a service gateway | |
JP4852906B2 (en) | Cooperation processing system and apparatus | |
EP1323087A1 (en) | System for processing raw financial data to produce validated product offering information to subscribers | |
US7509371B1 (en) | Application discovery method including identifying task entry points and launch points | |
CN113301088B (en) | Message processing method, device and system, electronic equipment and readable storage medium | |
JP2001236310A (en) | Device and method for diverse issue and quotation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NETSCAPE COMMUNCATIONS CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STRACKE, JOHN RICHARD JR.;REEL/FRAME:009148/0009 Effective date: 19980114 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT,TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061 Effective date: 20091209 Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061 Effective date: 20091209 |
|
AS | Assignment |
Owner name: QUIGO TECHNOLOGIES LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: SPHERE SOURCE, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: MAPQUEST, INC, COLORADO Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL ADVERTISING INC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: LIGHTNINGCAST LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: GOING INC, MASSACHUSETTS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: YEDDA, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TACODA LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TRUVEO, INC, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: NETSCAPE COMMUNICATIONS CORPORATION, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: NEW AURORA CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:NETSCAPE COMMUNICATIONS CORPORATION;REEL/FRAME:028450/0340 Effective date: 20120315 |
|
AS | Assignment |
Owner name: FACEBOOK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NEW AURORA CORPORATION;REEL/FRAME:033847/0441 Effective date: 20140929 |
|
AS | Assignment |
Owner name: META PLATFORMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058961/0436 Effective date: 20211028 |