Source: http://www.google.com/patents/US6240453?dq=7,181,560
Timestamp: 2013-12-10 21:04:39
Document Index: 18186307

Matched Legal Cases: ['arts 301', 'arts 401', 'arts 501', 'arts 601', 'arts 701', 'arts 801', 'arts 1201']

Patent US6240453 - Managing unused resources in a service application - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Advanced Patent Search | Sign inAdvanced Patent SearchPatentsA method and implementing computer system is provided in which a service provider application for a network enables clients to selectively create communication channels and resources within the network. The application is programmed to monitor and examine the created resources for client activation and...http://www.google.com/patents/US6240453?utm_source=gb-gplus-sharePatent US6240453 - Managing unused resources in a service applicationPublication numberUS6240453 B1Publication typeGrantApplication numberUS 09/190,558Publication dateMay 29, 2001Filing dateNov 12, 1998Priority dateNov 12, 1998Fee statusLapsedPublication number09190558, 190558, US 6240453 B1, US 6240453B1, US-B1-6240453, US6240453 B1, US6240453B1InventorsDavid Yu Chang, John Shih-Yuan WangOriginal AssigneeInternational Business Machines CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (5), Referenced by (11), Classifications (7), Legal Events (5) External Links: USPTO, USPTO Assignment, EspacenetManaging unused resources in a service applicationUS 6240453 B1Abstract A method and implementing computer system is provided in which a service provider application for a network enables clients to selectively create communication channels and resources within the network. The application is programmed to monitor and examine the created resources for client activation and use of the resources. If no activity or use of the created resource occurs within predetermined client designated time periods, the client is notified and given an opportunity to keep or delete the resource. When the client wishes to delete the resource, or after a predetermined number of notifications to the client without a client response, the resource is deleted.
setting a resource-related connect flag to a �false� setting when each related resource is created. 9. The method as set forth in claim 5 and further including:
RELATED APPLICATIONS The present application is related to co-pending application entitled �SERVICE APPLICATION WITH PULL NOTIFICATION�, Application Ser. No. 09/190,557 still pending, filed on even date herewith, assigned to the assignee of the present application and included herein by reference.
With the availability and ease of use of such a resource, more information is being transferred on a routine basis now rather than on an �as needed� basis.
In so called �service applications�, which run on system or network servers, �suppliers� of information send information to the server memory, and such information is held for a �pull� consumer, or forwarded immediately to a �push� of information at another terminal in the system. �Pull� consumers must ask for or �pull� the posted information from the service application to the Pull Consumers terminals. In some service applications such as so called �Event/Notification� service applications, a �pull� consumer has to specifically apply the �pull� operation to the event/Notification Channel in order to get the event.
In several specific examples, a stock market �watch� service application may be tasked to �notify� a consumer when a designated stock reaches a certain value or changes by a certain amount. A Pull Consumer will, however, not be aware of this event unless the Pull Consumer logs on to the application and specifically directs that the notification be sent to the consumer's terminal. Similar �event notification� applications exist for manufacturing operations where an assembly line terminal needs to be informed when a part is available, or for the insurance industry where an agent needs to be informed when the status of a customer has changed. In any application, consumers of the information are designated either as �pull� consumers who have to specifically retrieve the information from a server, or �push� consumers to whom information is sent automatically from the server without any consumer action required.
In server service applications, there is a need for periodic maintenance in order to optimize resource availability and efficiency. For example, a �client�, which may create both �senders� and �consumers� of information on a network, may also create a number of �Event Channel� objects in the �Event Channel Factory� object and leave those Event Channels idle without being used. A client may also create a number of �Supplier Admin� objects or �Consumer Admin� objects within the created Event Channel and leave those Supplier Admin objects or Consumer Admin objects idle without being used.
SUMMARY OF THE INVENTION A method and implementing computer system is provided in which a service provider application enables clients to selectively create communication channels and resources in a network. The application is programmed to monitor and examine the created resources for client activation and use of the resources. If no activity or use of the created resource occurs within predetermined time periods, the client is notified and given an opportunity to keep or delete the resource. When the client wishes to delete the resource, or after a predetermined number of notifications to the client without a client response, the resource is deleted.
FIG. 3 is a flow chart of a �create_event_channel� operational sequence accomplished in accordance with the present invention;
FIG. 4 is another flow chart of an �establish_connection� operational sequence accomplished in accordance with the present invention;
FIG. 5 is a flow chart of a �connect_push_supplier� operational sequence accomplished in accordance with the present invention;
FIG. 6 is a flow chart of a �connect_pull_supplier� operational sequence accomplished in accordance with the present invention;
FIG. 7 is a flow chart of a �connect_push_consumer� operational sequence accomplished in accordance with the present invention;
FIG. 8 is a flow chart of a �connect_pull_consumer� operational sequence accomplished in accordance with the present invention;
FIG. 9 is a flow chart of an �examine_event_channel� operational sequence accomplished in accordance with the present invention;
FIG. 10 is a flow chart of an �examine_supplier_admin� operational sequence accomplished in accordance with the present invention;
FIG. 11 is a flow chart of an �examine_consumer_admin� operational sequence accomplished in accordance with the present invention;
FIG. 12 is a flow chart of a �notify_client� operational sequence accomplished in accordance with the present invention;
FIG. 13 is a flow chart of a �release_resource� operational sequence accomplished in accordance with the present invention;
FIG. 14 is a flow chart of a �release_event_channel� operational sequence accomplished in accordance with the present invention;
FIG. 15 is a flow chart of a �release_supplier_admin� operational sequence accomplished in accordance with the present invention; and
FIG. 16 is a flow chart of a �release_consumer_admin� operational sequence accomplished in accordance with the present invention.
Generally, the present disclosure refers to senders of information as �suppliers� and receivers of information as �consumers�. Both the terminals and the web sites or servers can be both suppliers and consumers of information. In one application, for example, a �client� may be a banking institution which would include �objects� such as accounts, in which the �data� or balance in the accounts is adjusted in accordance with the account holder's deposits and withdrawals which are implemented by corresponding deposit and withdrawal �methods�. Individual terminals may send messages or �events� to other individual terminals through the service provider and web site servers may also send and receive or communicate messages or events with individual terminals. Further, a �push� supplier refers to a communication that is �pushed� directly through to an intended �push� receiver terminal. Similarly, a �pull� supplier is arranged to communicate with �pull� consumers by sending messages to a network server where such messages are held until they are �pulled� from the server at the direction the �pull� consumer. In other words, in a �pull� system, messages or events are not delivered to a consumer unless the Pull Consumer logs in and specifically requests that stored events be sent to the Pull Consumers terminal.
FIG. 2 illustrates several of the functional aspects of a network server unit 201 which includes the program framework of the present example. As illustrated, a network server 201 is arranged to include a number of objects. Among such objects, are a number of Push Suppliers, such as Push Supplier 203, and a number of Pull Suppliers, such as Pull Supplier 205. Also included are Push Consumers, such as Push Consumer 207, and Pull Consumers, such as Pull Consumer 209. The server 201 includes a Notification Channel 211 which in turn includes several software resources. The Notification Channel resources include a Supplier Administrator facility or �Supplier Admin� 213, and a Consumer Administrator facility or �Consumer Admin� 215. The Notification Channel 211 manages the Supplier Administrator 213, the Consumer Administrator 215 and also a master event list 227.
In FIG. 3, a flowchart for a �Create_Event_Channel� function is illustrated. That function is performed when a client wants to create an Event Channel. As shown, the function starts 301 by creating an Event Channel 303 from the Event Channel Factory. The creator is set, the creation time is set, the retry count is set to �0�, the connect flag is set to �False�, and the current Event Channel is added to the Event Channel List for the Event Channel Factory. In the next step 305 of the exemplary operation, a Supplier Admin is created, the creator is set, the creation time is set, the retry count is set to �0�, the connect flag is set to �False�, and the current Supplier Admin info is added to the Supplier Admin List for the current Event Channel. In the next step 307, a Consumer Admin is created, the creator is set, the creation time is set, the retry count is set to �0�, the connect flag is set to �False� and the current Consumer Admin info is added to the Consumer Admin List for the current Event Channel. In the exemplary operation, the process completes 309 after the Supplier Admin and the Consumer Admin are created. An exemplary pseudocode listing for the creation of an Event Channel is illustrated below.
Create_Event_Channel�This function is performed when a client wants to create an Event Channel.
In FIG. 4, a flowchart to establish a connection function is illustrated. That function is performed when a client wants to connect to the Event Channel. As shown, the function starts 401 and a check is made 403 to determine if the client is connected to the Proxy object. If the client is already connected, an �already connected� exception is thrown 405 and the process completes 407. If the client is not yet connected 403, the connect flag is set to TRUE and the �Partner� of the Proxy object is set to the �Client� object 409, as the connection is made. An exemplary pseudocode listing for the �Establish Connection function is illustrated below.
Establish_Connection�This function is performed when a client intends to connect to the Event Channel.
Throw �AlreadyConnected� exception;
In FIG. 5, a flowchart to connect a Push Supplier is illustrated. That function is performed to request a Proxy Push Consumer from the Event Channel and connect to it. As shown, the function starts 501 and a Proxy Push Consumer is created 505 in which the creation time is set, the retry count for the Proxy Push Consumer is set to �0�, and the connect flag is set to FALSE. Next the current Proxy Push Consumer is added to the Proxy Push Consumer List 511. Next, �Establish_Connection� is called 513 and the function completes 515. An exemplary pseudocode listing for the above flow is shown below.
Connect_Push_Supplier�Request a Proxy Push Consumer from the Event Channel and connect to it.
In FIG. 6, a flowchart to connect a Pull Supplier is illustrated. That function is performed to request a Proxy Pull Consumer from the Event Channel and connect to it. As shown, the function starts 601 and a Proxy Pull Consumer is created 605 in which the creation time is set, the retry count for the Proxy Pull Consumer is set to �0�, and the connect flag is set to FALSE. Next the current Proxy Pull Consumer is added to the Proxy Pull Consumer List 611. Next, �Establish_Connection� is called 613 and the function completes 615. A n exemplary pseudocode listing for the above flow is shown below.
Connect_Pull_Supplier�Request a Proxy Pull Consumer from the Event Channel and connect to it.
In FIG. 7, a flowchart to connect a Push Consumer is illustrated. That function is performed to request a Proxy Push Supplier from the Event Channel and connect to it. As shown, the function starts 701 and a Proxy Push Supplier is created 705 in which the creation time is set, the retry count for the Proxy Push Supplier object is set to �0�, and the connect flag is set to FALSE. Next the current Proxy Push Supplier is added to the Proxy Push Supplier List 711. Next, �Establish_Connection� is called 713 and the function completes 715. An exemplary pseudocode listing for the above flow is shown below.
Connect_Push_Consumer�Request a Proxy Push Supplier from the Event Channel and connect to it.
In FIG. 8, a flowchart to connect a Pull Consumer is illustrated. That function is performed to request a Proxy Pull Supplier from the Event Channel and connect to it. As shown, the function starts 801 and a Proxy Pull Supplier is created 805 in which the creation time is set, the retry count for the Proxy Pull Supplier object is set to �0�, and the connect flag is set to FALSE. Next the current Proxy Pull Supplier is added to the Proxy Pull Supplier List 811. Next, �Establish_Connection� is called 813 and the function completes 815. An exemplary pseudocode listing for the above flow is shown below.
Connect_Pull_Consumer�Request a Proxy Pull Supplierfrom the Event Channel and connect to it.
Examine_Event_Channel�This method will examine all of the resources created and notify the Clients of all unused resources.
In FIG. 12, the Notify_Client method is illustrated. This method is used to inform the client that a certain resource has not yet be used within a user defined time interval. As the method starts 1201 a notification is sent to the client who created the object 1203. This is identified by the creator of the object. The type of object and object identification is passed as the IN parameter, a return value of �discard� 1205, �keep� 1211 indicates whether or not the client intends to discard or keep the resource. If the client responds to �disregard� 1205, Release_Resource is called 1207 and the resource is released. If the Client responds to �keep� 1211, the unused resource will be kept. If the client did not respond, the retry_count will be incremented by one 1213. The next time a user defined time frame is reached 1215, this method will be called again 1217. After a certain number of retries has been reached 1215, if the client still has no response, the Event Channel can assume that the client no longer exists, and the resource will be released 1217. An exemplary pseudocode listing for the above flow is shown below.
IF (response=�discard�)
IF (response=�keep�)
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5555415Jan 10, 1994Sep 10, 1996Metasphere, Inc.Object oriented event message dispatching subsystem and method utilizing a disposition matrixUS5596695Jul 13, 1992Jan 21, 1997Matsushita Electric Industrial Co., Ltd.Interactive multi-media event-driven inheritable object oriented programming apparatus and methodUS5606699Apr 28, 1995Feb 25, 1997International Business Machines CorporationStoring and querying execution information for object-oriented programsUS5682530 *May 25, 1995Oct 28, 1997Nec CorporationHierarchical resource management methodUS5734903May 13, 1994Mar 31, 1998Apple Computer, Inc.System and method for object oriented message filtering* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6311206 *Jan 13, 1999Oct 30, 2001International Business Machines CorporationMethod and apparatus for providing awareness-triggered pushUS7363369Oct 16, 2003Apr 22, 2008International Business Machines CorporationMonitoring thread usage to dynamically control a thread poolUS7568030Feb 6, 2008Jul 28, 2009International Business Machines CorporationMonitoring thread usage to dynamically control a thread poolUS7917625 *Jan 14, 2005Mar 29, 2011Sprint Communications Company L.P.Predictive processing resource level controlUS8180904Mar 24, 2006May 15, 2012Nokia CorporationData routing and management with routing path selectivityUS8360889 *Dec 18, 2007Jan 29, 2013Konami Digital Entertainment Co., Ltd.Game system, game apparatus therefor, communication apparatus therefor, computer program therefor, and data management method thereforUS8458725Apr 10, 2006Jun 4, 2013Oracle International CorporationComputer implemented method for removing an event registration within an event notification infrastructureUS8464275 *Jun 19, 2006Jun 11, 2013Oracle International CorporationMethod of using a plurality of subscriber types in managing a message queue of a database management systemUS20070276914 *Jun 19, 2006Nov 29, 2007Oracle International CorporationMethod of using a plurality of subscriber types in managing a message queue of a database management systemUS20100048303 *Dec 18, 2007Feb 25, 2010Yoshihiko NaritaGame system, game apparatus therefor, communication apparatus therefor, computer program therefor, and data management method thereforEP1436934A2 *Sep 6, 2002Jul 14, 2004Ucentric Holdings Inc.Centralized resource manager* Cited by examinerClassifications U.S. Classification709/226, 714/E11.202, 709/227, 718/104International ClassificationG06F11/34Cooperative ClassificationG06F11/3495European ClassificationG06F11/34T12Legal EventsDateCodeEventDescriptionJul 21, 2009FPExpired due to failure to pay maintenance feeEffective date: 20090529May 29, 2009LAPSLapse for failure to pay maintenance feesDec 8, 2008REMIMaintenance fee reminder mailedSep 22, 2004FPAYFee paymentYear of fee payment: 4Nov 12, 1998ASAssignmentOwner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, DAVID YU;WANG, JOHN SHIH-YUAN;REEL/FRAME:009584/0196Effective date: 19981109RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google