IP Library Granted Patent US 7,801,946
Granted Patent B2
US 7,801,946 · App. 10/691,535 · Granted Sep 21, 2010

Systems and methods for accessing web services via an instant messaging client

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,801,946
App. No.
10/691,535
Granted
Sep 21, 2010
Kind
B2
Abstract

Systems and methods for facilitating the exchange of data between users and modular services using a real-time communication client such as an instant messaging client. The services may be web services providing various services over a communication network. User commands may be generated in an instant messaging client, sent to an automated attendant, which generates a corresponding web service command, and forwards the web service command to the appropriate web service. The automated attendant may then forward to one or more users any messages that are generated by the web service.

Claims (67)

1. A system for accessing web services via an instant messaging client, comprising:

a hardware processor configured to:

receive a first instant message from an instant messaging client, wherein the first instant message includes a configuration command that identifies a Web Service Description Language (WSDL) file for a web service;

receive a second instant message from the instant messaging client, wherein the second instant message includes a user command that names a web service command that invokes the web service identified in the configuration command;

generate linking information that links the user command to the web service identified in the configuration command and the web service command named in the user command, wherein the processor stores the generated linking information in a database;

receive, after the linking information is generated and stored in the database, a third instant message from the instant messaging client, wherein the third instant message includes the user command that names the web service command and one or more parameters for the user command; and

generate a call to the web service command based on the linking information stored in the database, wherein the call to the web service command includes the one or more parameters for the user command in a predetermined format associated with the web service command; and

a web services engine that invokes the web service identified in the configuration command with the generated call to the web service command, receives results from the web service in response to the web service processing the generated call to the web service command, and sends the results received from the web service to the instant messaging client.

2. The system according to claim 1 , wherein the web services engine invokes the web service identified in the configuration command in response to locating one or more of the WSDL file or a network address that the configuration command further includes to identify the web service.

3. The system according to claim 1 , wherein the generated call that the web services engine uses to invoke the web service has the predetermined format associated with the web service command.

4. The system according to claim 1 , wherein the generated linking information that the processor stores in the database further links the user command to the predetermined format associated with the web service command.

5. The system according to claim 1 , wherein the processor further stores one or more of an identifier or a password for a user of the instant messaging client in the database.

6. The system according to claim 1 , wherein the processor further stores privileges for a user of the instant messaging client in the database.

7. The system according to claim 1 , wherein the generated linking information that the processor stores in the database further links the user command to a location for the WSDL file that the configuration command further includes to identify the web service.

8. The system according to claim 1 , wherein the generated linking information that the processor stores in the database further links the user command to a network address that the configuration command further includes to identify the web service.

9. The system according to claim 1 , wherein the generated linking information that the processor stores in the database further links the user command to a name for the WSDL file that the configuration command further includes to identify the web service.

10. The system according to claim 1 , wherein the web service is associated with one or more of an enterprise system or a legacy system.

11. The system according to claim 1 , wherein the processor interfaces with a remote database that stores privileges for a user of the instant messaging client.

12. The system according to claim 1 , wherein a user of the instant messaging client directly transmits the results received from the web service to at least one other user via the instant messaging client.

13. The system according to claim 1 , wherein a user of the first instant messaging client selects one or more other recipients for the results received from the web service, and wherein the web services engine further sends the results received from the web service to the one or more other recipients.

14. The system according to claim 1 , wherein the processor is further configured to return the web service command that invokes the web service and the predetermined format associated with the web service command to the instant messaging client in response to the first instant message.

15. The system according to claim 2 , wherein the generated linking information that the processor stores in the database further links the user command to the WSDL file.

16. The system according to claim 6 , further comprising a security and provisioning engine that controls access to the web service, the web service command, or the user command based on the privileges for the user of the instant messaging client.

17. The system according to claim 6 , further comprising a filter that prevents the user of the instant message client from viewing the results received from the web service if the privileges for the user do not permit access to the results.

18. The system according to claim 6 , wherein the processor is further configured to determine whether the privileges for the user of the instant messaging client permit access to the results received from the web service.

19. The system according to claim 11 , wherein the remote database includes a directory that stores the privileges for the user of the instant messaging client.

20. The system according to claim 13 , wherein the web services engine sends the results received from the web service to the one or more other recipients without prompting from the other recipients.

21. The system according to claim 14 , wherein the processor is further configured to return a confirmation that the user command has been linked to the web service and the web service command in response to the instant messaging client in response to the second instant message, wherein the confirmation returned to the instant messaging client includes a syntax for subsequently invoking the user command.

22. The system according to claim 16 , wherein the security and provisioning engine further controls access to the results received from the web service based on the privileges for the user of the instant messaging client.

23. The system according to claim 22 , wherein the privileges for the user of the instant messaging client indicate whether the user has authorization to access one or more of an enterprise system or a legacy system associated with the web service.

24. A computer-implemented method for accessing web services via an instant messaging client, comprising:

receiving a first instant message from an instant messaging client, wherein the first instant message includes a configuration command that identifies a Web Service Description Language (WSDL) file for a web service;

receiving a second instant message from the instant messaging client, wherein the second instant message includes a user command that names a web service command that invokes the web service identified in the configuration command;

generating, via a hardware processor, linking information that links the user command to the web service identified in the configuration command and the web service command named in the user command, wherein the processor stores the generated linking information in a database;

receiving, via the processor, after the linking information is generated and stored in the database, a third instant message from the instant messaging client, wherein the third instant message includes the user command that names the web service command and one or more parameters for the user command;

generating, via the processor, a call to the web service command based on the linking information stored in the database, wherein the call to the web service command includes the one or more parameters for the user command in a predetermined format associated with the web service command;

invoking, via a web services engine, the web service identified in the configuration command with the generated call to the web service command, wherein the web services engine receives results from the web service in response to the web service processing the generated call to the web service command; and

sending the results received from the web service to the instant messaging client.

25. The method according to claim 24 , wherein the web services engine invokes the web service identified in the configuration command in response to locating the WSDL file that the configuration command further includes to identify the web service.

26. The method according to claim 24 , wherein the web services engine invokes the web service identified in the configuration command in response to locating a network address that the configuration command further includes to identify the web service.

27. The method according to claim 24 , wherein the web services engine receives the results from the web service in a message sent from the web service to the web services engine.

28. The method according to claim 24 , wherein the web service is associated with an enterprise system.

29. The method according to claim 24 , wherein the web service is associated with a legacy system.

30. The method according to claim 24 , wherein the processor further stores one or more of an identifier, a password, or privileges for a user of the instant messaging client in the database.

31. The method according to claim 24 , further comprising parsing security information for a user of the instant messaging client to determine whether the user has authorization to access the web service.

32. The method according to claim 24 , further comprising returning the web service command that invokes the web service and the predetermined format associated with the web service command to the instant messaging client in response to the first instant message.

33. The method according to claim 27 , further comprising sending the results in the message received from the web service to one or more other recipients selected by a user of the instant messaging client.

34. The method according to claim 30 , further comprising controlling, by a security and provisioning engine, access to one or more of the web service, the web service command, or the user command based on the identifier, the password, or the privileges for the user of the instant messaging client.

35. The method according to claim 31 , wherein the processor further stores the security information for the user of the instant messaging client in the database.

36. The method according to claim 32 , further comprising returning a confirmation that the user command has been linked to the web service and the web service command in response to the instant messaging client in response to the second instant message, wherein the confirmation returned to the instant messaging client includes a syntax for subsequently invoking the user command.

37. The method according to claim 35 , wherein the database includes a directory that stores the security information for the user of the instant messaging client.

38. A non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform a method for accessing web services via an instant messaging client, the method comprising:

receiving a first instant message from an instant messaging client, wherein the first instant message includes a configuration command that identifies a Web Service Description Language (WSDL) file;

returning a web service command that invokes a web service listed in the WSDL file to the instant messaging client in response to the first instant message;

receiving a second instant message from the instant messaging client, wherein the second instant message includes a user command that names the web service command that invokes the web service listed in the WSDL file;

generating linking information that links the user command to the web service listed in the WSDL file and the web service command named in the user command, wherein a processor stores the generated linking information in a database;

receiving, via the processor, after the linking information is generated and stored in the database, a third instant message from the instant messaging client, wherein the third instant message includes the user command that names the web service command and one or more parameters for the user command;

generating, via the processor, a call to the web service command based on the linking information, wherein the call to the web service command includes the one or more parameters for the user command in a predetermined format associated with the web service command;

invoking, via a web services engine, the web service listed in the WSDL file with the generated call to the web service command, wherein the web services engine receives results from the web service in response to the web service processing the generated call to the web service command; and

sending the results received from the web service to the instant messaging client.

39. The program storage device according to claim 38 , wherein the web services engine receives the results from the web service in a message sent from the web service to the web services engine.

40. The program storage device according to claim 38 , wherein the processor further stores privileges for a user of the instant messaging client in the database.

41. The program storage device according to claim 38 , wherein further comprising controlling, by a security and provisioning engine, access to one or more of the web service, the web service command, or the user command based on the privileges for the user of the instant messaging client.

42. The program storage device according to claim 38 , further comprising:

returning the predetermined format associated with the web service command to the instant messaging client in response to the first instant message; and

returning a confirmation that the user command has been linked to the web service and the web service command in response to the instant messaging client in response to the second instant message, wherein the confirmation returned to the instant messaging client includes a syntax for subsequently invoking the user command.

43. The program storage device according to claim 39 , further comprising sending wherein the results in the message received from the web service to one or more other recipients selected by a user of the instant messaging client.

Assignments (13)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →