USPatent applicationPatented

Network system and object cooperation therein

Granted 16 Sep 2003 · 1 office action

Assignee: Fujitsu Limited

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Makoto Okada, Tadashige Iwao · Examiner: David Jung · AU 2175 · TC 2100

Application· this page
9126324
filed 31 Jul 1998
Publication
Not published
not published
Patent
US 6,622,143
granted 16 Sep 2003

Life of the application

9 dated events
⤢ drag to zoom19982000200220042006200820102012201420162018ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An object cooperative network system for executing processing in cooperation between objects connected by a common communication path. Each of the objects includes a transmitting section to transmit messages that include predetermined information to the network system. In addition, each object includes a monitoring section to monitor the predetermined information of the transmitted messages, and a reaction table to indicate correspondence between the transmitted messages. Each of the objects sets information to which the object should respond in the monitoring section, and receives a message to execute processing by making reference to the reaction table when information to which the object should respond is detected.

Description

10 parts
›BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a cooperation system for executing a cooperation process among dispersed objects, and more particularly, the present invention relates to a cooperation system which executes a process so that an individual computer system, or an individual application program running in the computer system, reacts by itself to various pieces of information flowing through communication paths defined as a common field.

2. Description of the Related Art

The recent introduction of network systems into various fields has resulted in an increase in the use of network systems having a plurality of objects dispersed on the network that are executing in cooperation with each other. As a result, research and development in the area has continued to be directed toward developing an object-oriented programming and component technique for executing a cooperation system process through the cooperation of a plurality of objects.

For example, a common specification, known as the Common Object Request Broker: Architecture and Specification (“CORBA”) for dispersed object operation specified by a business field organization Object Management Group (“OMG”) has been established, and is directed to the standardization and popularization of object-oriented technology.

An example of object cooperation in a client/server system based on a CORBA interface 1201 is illustrated in FIG. 22 . In this object cooperation system, both a client application 1211 and a server application 1221 correspond to objects, and the object cooperation system executes a series of processes through object cooperation of client application 1211 and server application 1221 .

An application developer describes an interface of the service offered by respective client application 1211 and server application 1221 with an Interface Definition Language (“IDL”) 1202 . Content that is defined as the interface is an operation group which can be requested for an object, and for each operation, an operation name, definition of parameter, definition of return value, exceptional process when an error is generated, and additional information are also defined.

A stub 1212 is produced for a client 121 , and a skeleton 1222 is produced for a server 122 , by compiling the content defined by IDL; 1202 with an exclusive compiler. Stub 1212 is a routine group for providing access to an operation group defined by IDL 1202 to the client application 1211 . The client application 1211 calls the routine offered by stub 1212 to start the operation. Skeleton 1222 provides a dispatch routine to a method routine offered by server application 1221 .

Stub 1212 and skeleton 1222 are produced by a programming language used in the corresponding client application 1211 or server application 1221 . For example, if C language is used as the programming language, stub 1212 is produced as a function group of C language. Client application 1211 calls the relevant routine of the server application via stub 1212 , an ORB run time 1203 and skeleton 1222 by calling the function corresponding to the operation to be executed. After execution of the predetermined process, the processing result is returned to client application 1211 as the call originator.

While it is rather easy to establish an object cooperation process with CORBA, etc., when establishment of the object cooperation process is attempted, it is necessary to understand CORBA in order to both design the object according to specifications of CORBA, and to define the object using the IDL. In this way, it is essential for a person who attempts to establish the system to fully understand the application method.

Moreover, it is also necessary for a user to be intensively aware of the relationship of respective objects. For example, a user must initially clarify a process that is to be executed by each of the respective objects, for example client application 1211 and server application 1221 , and must define a parameter that should be used to execute the process.

The independence of each object has been enhanced by common use of the interface between the objects, but there is a consistent precondition that a fixed relationship exist between the objects. But such a fixed relationship does not serve to enhance the amount of freedom cooperation of the system that is most desired. For example, when two people communicate with each other, there are uncertain exchanges of words that are often generated. For instance, when an attempt is made to solve a problem, a scheme for solving the problem is derived, for example, by either thinking of ways to solve the problem, or by asking another person for suggestions on how to solve the problem. Even in the case where a solution to the problem is discovered, investigations have usually been performed from various points of views. When a person asks for suggestions from another person, the inquiry is made either to a particular person, or to many people in a wide area. When a person asks for suggestions from many people in a wide area, reactions will usually differ from person to person. A person will offer a suggestion by making judgments based on both experience and knowledge, and therefore the solution may not be the most direct means for solving the problem. If the person is generally not interested in the particular problem, he or she may not attempt to make a complete inquiry into the problem, or may ignore certain factors. In this way, whether a person reacts to certain information differs, depending on the condition of a person who has received such information. Moreover, when a person does react to the information, the reaction also differs depending on to the condition of the person receiving the information.

When a human being is replaced with an object, the desired relationship between objects is one of free cooperation, in which respective objects receive or do not receive the information transmitted, and where the process to be executed in response to the information received is different. In the cooperation method of the related prior art, the relationship between objects is fixed as a consistent precondition, and therefore it has been difficult to establish a cooperation system having such free relationships.

›BRIEF SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide an enhanced amount of freedom of cooperation between objects connected to a network.

Objects of the invention are achieved by a network system that connects a plurality of computers, in which each of the plurality of computers a transmitting section to transmit messages. In addition, each computer includes a monitoring section to monitor predetermined information of the transmitted messages, a reaction table to indicate correspondence between the transmitted messages, and an executable program that processes the predetermined information. Each of the computers individually sets information to which the computer should respond in the monitoring section, and receives a message to execute processing by making reference to the reaction table when information to which the computer should respond is detected.

Objects of the invention are achieved by an object cooperation system for executing processing in cooperation between a plurality of objects connected by a common communication path. The object cooperation system includes an information transmitting section to produce to information in a predetermined format and to transmit the information to the common communication path. An information reaction table specifies transmitted information to which a response is made and defines a processing content to be executed for the response, and an information detecting section detects the transmitted information. The information detecting section retrieves the information reaction table when transmitted information is detected, identifies whether the detected transmitted information is specified, and executes the processing content when the transmitted information is specified.

Objects of the invention are achieved by a method for processing in cooperation in a network which includes detecting information transmitted to a common communication path, determining information to which a response is to be made, selecting a processing content to be executed in the response, and issuing a command to initiate execution of the selected processing content.

›BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects and advantages of the invention will become apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1 is a schematic diagram illustrating an object cooperation method according to a preferred embodiment of the present invention.

FIG. 2 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 3 is table illustrating contents of an information reaction table according to a preferred embodiment of the present invention

FIG. 4 is a flowchart illustrating a transmission process of an information transmitting section according to a preferred embodiment of the present invention.

FIG. 5 is a flowchart illustrating a detection process of an information detection section according to a preferred embodiment of the present invention.

FIG. 6 is a schematic diagram illustrating transfer of information between objects according to a preferred embodiment of the present invention.

FIG. 7 is a table illustrating contents of an information reaction table according to a preferred embodiment of the present invention.

FIG. 8 is a table illustrating contents of another information reaction table according to a preferred embodiment of the present invention.

FIG. 9 is a table illustrating contents of yet another information reaction table according to a preferred embodiment of the present invention.

FIG. 10 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 11 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 12 is a table illustrating information transmitted from an information reaction table according to a preferred embodiment of the present invention.

FIG. 13 is a table illustrating contents of an information reaction table according to a preferred embodiment of the present invention.

FIG. 14 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 15 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 16 is a table illustrating information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 17 is a table illustrating a flag added to information transmitted from an information transmitting section according to a preferred embodiment of the present invention.

FIG. 18 is a table illustrating contents of an information reaction table according to a preferred embodiment of the present invention.

FIG. 19 is a flowchart illustrating contents of a process in an information detecting section according to a preferred embodiment of the present invention.

FIG. 20 is a check list table according to a preferred embodiment of the present invention.

FIG. 21 is a schematic diagram illustrating a registered display image of an information reaction table according to a preferred embodiment of the present invention.

FIG. 22 (PRIOR ART) is a schematic diagram illustrating a prior art client'server system.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 7

Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.

A network system utilizing an object cooperation method according to a preferred embodiment of the present invention will be explained below.

An object cooperation method according to a preferred embodiment of the present invention is illustrated in FIG. 1 . While a network system typically includes a number of objects, the network system illustrated in FIG. 1 includes only two objects, object 1 and object 2 , as a way to simplify the explanation. In the network system, each of objects 1 , 2 are connected with each other via a common communication path 3 , and have corresponding processing sections 100 , 200 to execute processes corresponding respectively to each object 1 , 2 . Each of the plurality of objects 1 , 2 also includes a respective information transmitting section 101 , 201 for transmitting information that originates from objects 1 , 2 , respectively, a respective information detecting section 102 , 202 for monitoring information transmitted through a common communication path 3 , and a respective information reaction table 103 , 203 for defining information to be reacted to and the processing content to be executed by corresponding objects 1 , 2 , respectively.

Since information transmitting sections 101 , 201 included for each respective object 1 , 2 are connected with communication path 3 , information to be transmitted to common communication path 3 from objects 1 , 2 is produced and transmitted in a predetermined format.

Information detecting sections 102 , 202 monitor information transmitted to common communication path 3 , and retrieve information reaction tables 103 , 203 upon detection of information, to judge whether a reaction, or response should be made to the information. When the information is judged as information to which a reaction or response should be made, information detection sections 102 , 202 execute a process defined in information reaction tables 103 , 203 . When the information is judged as the information to which reaction should not be made, information detecting sections 102 , 202 continue monitoring without executing a process.

The information reaction tables 103 , 203 define the content of the process that should be executed when information reaction tables 103 , 203 react to the information transmitted through the common communication path 3 in each object 1 , 2 , respectively.

Objects 1 , 2 may be applications in their own respective computer that is connected via a communication line with other computers, or objects 1 , 2 may be applications existing in the same computer. For the convenience of explanation, objects 1 , 2 are assumed to be applications working in respective computers connected by a communication line. The communication line may, for example, be a local area network “LIAN”, or any other similar means.

An example of a format of the content of information produced by information transmitting sections 101 , 201 and transmitted to common communication path 3 , is illustrated in FIG. 2 . It is assumed that the format of the information includes a subject, a verb, an object 1 and an object 2 .

An identifier for identifying objects 1 , 2 as the source of transmitted information is provided as a subject I 1 . A host name HOSTA that is assigned to a computer system in which objects 1 , 2 are working is set.

A verb I 2 sets the type of information that is being transmitted from objects 1 , 2 , and also sets a name of a command indicating an operation content, depending on operations conducted in objects 1 , 2 .

A parameter for transmission and reception that is required, depending on verb I 2 , is set for object 1 I 3 and object 2 I 4 . It is important that the information is in a unified format throughout the cooperative system and is not limited only to this particular format.

An example of the content of information reaction tables 103 , 203 is illustrated in FIG. 3 The tables are respectively provided with a subject T 1 , a verb T 2 , an object 1 T 3 and an object 2 T 4 , corresponding respectively to contents of information transmitted by information transmitting sections 101 , 201 , explained above. Subject T 1 , verb T 2 , object 1 T 3 , and object 2 T 4 are used as keys in information detecting sections 102 , 202 for collation of information transmitted from common communication path 3 . Moreover, information reaction tables 103 , 203 also include a processing content T 5 defining a process to be executed in relevant objects 1 , 2 when such pieces of information are matched.

A flowchart of the processing content of information transmitting sections 101 , 201 is illustrated in FIG. 4 . Upon activation of information transmitting sections 101 , 201 in step S 41 , common communication path 3 , used as the information transmission path, is opened in step S 42 . This opening process is not required every time the information transmitting section is activated. Rather, it is enough that common communication path 3 is opened once when information transmitting section 101 , 201 transmits information from objects 1 , 2 , and thereafter, common communication path, 3 is opened automatically.

Information transmitting sections 101 , 201 monitor the timing corresponding to transmission of information from objects 1 , 2 in step S 44 until an end instruction is generated in step S 43 . The timing is set to correspond to an execution of any operation in objects 1 , 2 . When the operation is conducted in objects 1 , 2 (YES in step S 44 ), the information to be transmitted is produced in step S 45 and is then transmitted to common communication path 3 in step S 46 . The information transmitted from information transmitting sections 101 , 201 is sequentially transmitted to objects 1 , 2 via common communication path 3 .

A flowchart indicating the processing contents of information detecting sections 102 , 202 is illustrated in FIG. 5 . When activated in step S 51 , information detecting sections 102 , 202 monitor the information transmitted through; common communication path 3 until an end instruction is generated in step S 57 by a YES in step S 52 . When information is transmitted to common communication path 3 (YES in step S 53 ), information reaction tables 103 , 203 are retrieved on the basis of the information received in step S 54 . When the received information matches the registration content of information tables 103 , 203 , (YES in the step S 55 ), the corresponding processing content T 5 is executed in step S 56 . When the received information does not match the registration content (NO in step S 55 ), information detecting sections 102 , 202 continue monitoring and do not conduct an operation (step S 53 ).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 7

A diagram of the structure corresponding to a first preferred embodiment of the present invention is illustrated in FIG. 6 .

A plurality of computer systems 1 a , 2 b , 3 c are mutually connected with each other via common communication path 3 , which, as described above, may be a LAN or other similar communication means. As illustrated in FIG. 6, computer system 1 a has a host name HOST A computer system 2 b has a corresponding host name Host A, and computer system 3 c has a corresponding host name HOSTC.

Each of computer systems 1 a , 2 b , 3 c includes a corresponding information transmitting section, 101 a , 201 b , 301 c , respectively, an information detecting section 102 a , 202 b , 302 c respectively, and an information reaction table 103 a , 203 b , 303 c , respectively. Likewise, each of computer systems 1 a , 2 b , 3 c include a corresponding mouse 104 a , 204 b , 304 c , respectively, and display section 105 a , 205 b , 305 c , respectively. The processing content of information registered in information reaction table 103 a of computer system 1 a is illustrated in FIG. 7 . An operation corresponding to operation of a mouse is registered in verb T 2 a . Since the content of a subject T 1 a is “*”, it means that a reaction is made to a mouse operation executed in all computer systems 1 a , 2 b , 3 c connected to common communication path 3 .

The processing content of information registered in information reaction table 203 b of computer system 2 b is illustrated in FIG. 8 . An operation corresponding to a file copy is registered in verb T 2 a . Since the content of subject T 1 b is “*”, a reaction is made to a file copying operation conducted in all computer systems 1 a , 2 b , 3 c connected to common communication path 3 .

The processing content of information registered in information reaction table 303 c of computer system 3 c is illustrated in FIG. 9 . Information reaction table 303 c reacts to the mouse operation, but since subject T 1 c is set to HOSTB, information reaction table 303 c reacts to only the cursor moving operation of mouse 204 b of computer system 2 b , which is different from information reaction table 103 a of computer system 1 a.

It is assumed that when a file is copied in computer system 1 a , the file copying operation is conducted in such a manner that text data that is provided as a basic function in basic softwares of a personal computer is copied by a cut & gust paste method. For example, the copying operation is instructed with software for editing text data by designating a copying area of the text data with a mouse, etc. When this operation is conducted, information transmitting section 101 a produces information indicating that a file copying operation is conducted in computer system 1 a . The content of information to be produced by information transmitting section 101 a is illustrated in FIG. 10 .

Host name HOSTA of computer system 1 a is set in subject Il a of information transmitting section 101 a . An “AddClipText”, indicating that copying of the text data is conducted, is set in verb I 2 a . A directory name indicating an area for temporarily storing text data to be copied and a file name are set in object 1 I 3 a and object 2 I 4 a respectively. These pieces of information are transmitted, when generated, to common communication path 3 .

Upon reception of the information of information transmitting section 101 a transmitted through common communication path 3 , as explained above, information detecting section 202 b of computer system 2 b retrieves information reaction table 203 b . The fact that “AddClipText”is set in verb I 2 a of information transmitting section 101 a is registered in verb T 2 b of information reaction table 203 b , and subject T 1 b of information reaction table 203 b is set to “*”. Therefore, information detecting section 202 b judges that the information transmitted matches the content of information reaction table 203 b , and then executes a corresponding processing content T 5 b that is registered in information reaction table 203 b . The content of text data saved by the copying operation is recovered.

However, in computer system 3 c , since reaction to the file copying operation is not registered in information reaction table 303 c , no reaction is carried out in response to the information of information transmitting section 101 a that is transmitted from computer system l a.

Next, a cursor moving operation by mouse 204 b in computer system 2 b will be explained. Information transmitting section 201 b of computer system 2 b produces information which indicates that the cursor moving operation by mouse 204 b has been conducted in computer system 2 b . The content of the information produced by information transmitting section 201 b is illustrated in FIG. 11 .

Host name “HOSTB” of computer system 2 b is set in subject I 1 b . “MouseMove”, indicating that the cursor moving operation is conducted by mouse 204 b is set in verb 12 b . Positional information of the cursor when moved by mouse 204 b is set in object 1 I 3 b and object 2 I 4 b by acquiring coordinate data of display section 205 b . Information transmitting section 201 b transmits the information produced to common communication path 3 .

Upon detection of the information transmitted, information detecting section 102 a of computer system 1 a retrieves information reaction table 103 a . Referring again to the content of information reaction table 103 a illustrated in FIG. 7, reaction to the mouse operation of all computer systems 1 a , 2 b , 3 c is conducted in information reaction table 103 a , a single “MouseMove” is set in verb T 2 a of information reaction table 103 a , and subject T 1 a is set as “*”. Therefore, information detecting section 102 a judges that the information transmitted matches the content of information reaction table 103 a and executes corresponding processing content T 5 a that is registered in information reaction table 103 a . The same operation corresponding to the cursor moving operation by mouse 204 b conducted in computer system 2 b is also executed by display section 105 a of computer system 1 a.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 7

Referring again to the content of information reaction table 303 c of computer system 3 c of FIG. 9, in the information concerning the mouse operation registered in information reaction table 303 c , a host name “HOSTB”, indicating computer system 2 b , is registered in subject T 1 c , and “MouseMove”, indicating the cursor moving operation by the mouse, is registered in verb T 2 c . Therefore, information detecting section 302 c judges that the information transmitted matches the content of information reaction table 303 c because subject I 1 b of the information transmitted matches subject T 1 c of information reaction table 303 c , and verb I 2 b of the information transmitted matches verb T 2 c of information reaction table 303 c . As a result, processing content T 5 c registered in information reaction table 303 c is executed. Character string “Hello” is displayed on display section 305 c of computer system 3 c , and a user of computer system 3 c knows that a user of computer system 2 b is operating the computer system. In this embodiment, when considered as a simplified attendance management system, a user of computer system 3 c can detect that a user of computer system 2 b is operating the computer system by displaying the character string “Hello” on display section 305 c , M.O. and can take proper action such as making a telephone call, going to the user's seat or sending a message to request verification of mail or a facsimile already transmitted.

As explained above, it is possible that the respective computer systems receive the same information to conduct the operation in the same manner, depending on the content of information reaction tables 103 a , 203 b , 303 c registered in computer systems 1 a , 2 b , 3 c . It is also possible for individual computer systems 1 a , 2 b , 3 c to conduct different operations, and moreover, not to react to the information being transmitted by registering the setting to the information reaction table.

Next, a second preferred embodiment of the present invention will be explained below.

A structure of this preferred embodiment is assumed to be same as the structure of the first preferred embodiment illustrated in FIG. 6, and therefore an explanation will be omitted.

The contents of information reaction table 203 b of computer system 2 b in this preferred embodiment is illustrated in FIG. 12 . An item. generated within daily jobs, such as a request for “Inquiry”, “Decision” and “Meeting” is registered in verb T 2 b 1 . In regard to “Inquiry”, “*” is designated in subject T 1 b 1 , object 1 T 3 b 1 and object 2 T 4 b 1 . This means that a reaction is made to any inquiry from any person. In regard to “Decision”, a reaction is made to any request from any person for a result of the decision making. In regard to “Meeting”, a reaction is made to a request only from computer system 1 a and computer system 3 c , since only HOSTA and HOSTC are registered in subject T 1 b 1 .

The content of information reaction table 303 c of computer system 3 c is illustrated in FIG. 13 . Both a request for “Inquiry” and a request for “Meeting” are registered in verb T 2 c 1 . Since “*” is designated in subject T 1 c 1 , and a “client/server system” is designated. in object 1 T 3 c 1 “Inquiry” indicates that reaction is made to an inquiry from any person in regard to only the inquiry for the client/server system. In regard to the “Meeting”, since HOSTA and HOSTB are registered in subject T 1 C 1 , a reaction is made only to the request from computer systems l a , 2 b.

It is assumed that computer system 1 a . has issued an inquiry of points to be considered to form the client/server system, and the corresponding content of the information to be produced by information transmitting section 101 a is illustrated in FIG. 14 .

Host name “HOSTA” of computer system 1 a is set in subject I 1 a 1 , “Inquiry” is set in verb 12 a 1 , “Client/server system” is set in object 1 I 3 a 1 as a large item of the inquiry content, and “Point to be considered for structuring” is set in object 2 14 a 1 as the small item of the inquiry content. When this information is produced, it is transmitted to common communication path 3 .

Upon reception of the information transmitted by information transmitting section 101 a through common communication path 3 , information detecting section 202 b of computer system 2 b retrieves information reaction table 203 b . Referring again to FIG. 12, “Inquiry”, which is set in verb I 2 a 1 of information transmitting section 101 a , is registered in verb T 2 b 1 of information reaction table 203 b , and “*” is set in the subject T 1 b 1 , object 1 T 3 b 1 and object 2 T 4 b 1 . Therefore, information detecting section 202 b judges that the information transmitted by information transmitting section 101 a matches the content of information reaction table 203 b and executes processing content T 5 b 1 registered in information reaction table 203 b . A question answering system is activated to display the inquiry content.

“Inquiry” is also registered in information reaction table 303 c , and, as illustrated in FIG. 13, the inquiry content to which reaction should be made is limited to the “Client/server system” in object 1 T 3 c 1 . But, since the inquiry from computer system 1 a relates to the client/server system, reaction is made to this inquiry.

Next, it is assumed that a result of decision making is requested from computer system l a.

Information transmitting section l 01 a of computer system 1 a produces the information illustrated in FIG. 15 . Host name “HOSTA” of computer system 1 a is set in subject I 1 a 2 . “Decision”, indicating a request of decision is set in verb I 2 a 2 . “Decision making” is set in object 1 I 3 a 2 as a large item of a decision request content. “Acquisition of facility” is set in object 2 I 4 a 2 as a small item of the decision request content. When this information is no produced, it is then transmitted to common communication path 3 .

Information detecting section 202 b of computer system 2 b retrieves, upon reception of the information transmitted through common communication path 3 , information reaction table 203 b . In information reaction table 203 b , “Decision” which is set in verb 12 a 2 of information transmitting section 101 a is registered in verb T 2 b 1 of information reaction table 203 b , object 1 T 3 b 1 is “Decision making” and subject T 1 b 1 and object 2 T 4 b 1 is “*”. Therefore, information detecting section 202 b judges that the information being transmitted by information transmitting section 101 a matches the content of information reaction table 203 b , and executes processing content T 5 b 1 registered in information reaction table 203 b . A decision making system is activated to verify the decision request content.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 4 of 7

Computer system 3 c does not execute a reaction or response because a registration is not executed in regard to “Decision” in information reaction table 303 c.

Computer system 1 a can be operated by a secretary, for example. If “Display the content of decision request and a receiving person” is registered when “*” is set as the content of subject T 1 a of information reaction table 103 a of computer system 1 a , “Decision” is set to verb T 2 a and “*” is set as object 1 T 3 a and object 2 T 4 a , both the content and a receiving person are sequentially displayed by computer system 1 a each time the request for a decision is issued. As a result, location of a document for decision making on the discussion route can be detected.

When calling a meeting from computer system 1 a , for example, information transmitting section 101 a of computer system 1 a produces the information illustrated in FIG. 16 . Host name “HOSTA” of computer system 1 a is set in subject Il a 3 . “Meeting”, indicating the request for a meeting, is set in verb I 2 a 3 . “Process conference” is set as the large item of the meeting in object 1 I 3 a 3 and “Project A” is set as the small item of the meeting in object 2 I 4 a 3 . This generated information is then transmitted to common communication path 3 .

Information detecting section 202 b of computer system 2 b retrieves information reaction table 203 b upon reception of the information transmitted through common communication path 3 . Since it is registered in information reaction table 203 b that any reaction is made to any kind of inquiry, if it is requested from computer systems l a , 3 c , because “Meeting” set in verb 12 a 3 of the information is registered to verb T 2 b 1 , information detecting section 202 b judges that the information transmitted matches the content of information reaction table 203 b , and executes processing content T 5 b 1 that is registered. Here, a schedule management system is activated, and an idle condition is notified. A similar reaction is also conducted in computer system 3 c from the content of information reaction table 303 c.

As explained above, it is possible to form a cooperation system, such as groupware for example, to promote a common job by sharing the job with a plurality of persons, and it is also possible to form the cooperation system within a corporation by previously setting the processing contents to reflect, or prioritise the transmission of the information according to the working positions of the persons involved.

An example embodying the preferred embodiments of the present explained above will be explained hereunder.

First, an example for defining the common communication path and format of the signal supplied thereto is indicated below. Virtual void Init(CWnd *pwnd, int PORT=FIELDPORT); virtual void wisper(const char *subject, const char *verb, const char *object, const char *object 2 , BOOL Inform=TRUE, BOOL Force =FALSE);

In this example, the common communication path is formed by defining the Class to each object with the function explained above. Here, the function Init opens the common communication path and the function wisper supplies the information to the common communication path. The structure of function wisper is defined by the following function.

typedef struct_wisp{cha inf; char force; char subject[ 16 ]; char verb[ 16 ]; char obj[ 128 ]; char obj 2 [ 128 ];} FIELDWISP;

Here, subject corresponds to the subject of the information transmitted from the information transmitting section explained above, while verb to verb of the same, obj to object 1 and obj 2 to object 2 .

When the function wisper is called, it sets the information to the structure body wisp explained above, and then transmits the information to the common communication path opened by the function Init.

Next, an example of a practical definition of the information reaction table is indicated below. First, an example of a definition of a structure of information reaction table is indicated below.

Typedef struct_satab {char subject[ 16 ]; char verb[ 16 ]; char obj[ 128 ]; char obj 2 [ 1281 ]; REACTFUNC func; char param[ 256 ];} SATABITEM;

A structure body explained above is defined in the Class in each object, and the object groups connected to the common communication path in the present invention are completely converted to the derivative objects from those defined in the class. Here, subject, verb, obj, obj 2 and func respectively correspond to the: subject, verb, object 1 , object 2 and processing content of the information reaction table explained above. Param is prepared for the case where exchange of parameter is required on the occasion of executing the processing content func.

Registration of content to the information reaction table is executed by the following functions.

Void CreateSAtab( );

void SetTab(const char *verb, const char *object, REACTFUNC func);

void SetTab(const char *subject, const char *verb, const char *object, const char *object 2 , REACTFUNC func);

void SetTab(const char *subject, const char *verb, const char *object, const char *object 2 , REACTFUNC func, const char *param);

BOOL DelTab(const char *subject, const char *verb, const char *object, const char *object 2 , REACTFUNC func);

Here, the function CreateSAtab is used for producing the information reaction table in which the structure body saTab is arranged, while the function SetTab, function DelTab are used for addition and deletion to the information reaction table.

Next, an example of an actual definition of the information detecting section is indicated. void React(FIELDWISP *wisp);

The function React, reacts depending on content of own information reaction table from the information flowing through the common communication path. When there is a structure body wisp, explained above, which is matched with the content of the information reaction table as a result of monitoring and detection thereof, the processing content registered in the information reaction table is executed.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 5 of 7

functions explained above are not limited to the particular means described, but may include any similar means for performing the function.

Next, a preferred embodiment of the present invention for conducting complicated processes while maintaining free cooperation of the objects will be explained below.

A basic structure for realizing a preferred embodiment of the present invention is similar to the content illustrated in FIG. 6, but the contents of information reaction tables 103 a , 203 b , and 303 c have a structure that is illustrated in FIG. 18 . Namely, this structure is formed by a basic table JT 1 in which the information to be reacted to and processing content to be executed are set, a check list table JT 2 (first extension table) where only information which becomes the object when the process is executed after a plurality pieces of information is detected among the information registered in basic table JT 1 , and a flag check table JT 3 (second extension table) for judging the active condition of the detected information.

An example of the content of basic table JT 1 will be explained. In this preferred embodiment of the present invention, the format of information transmitted through the common communication path is determined by assuming a format similar to that of the previous preferred embodiments. Namely, contents from subject JT 1 - 1 to processing content JT 1 - 5 are similar to the preferred embodiments explained above. The region of a parameter JT 1 - 6 is prepared for setting a pointer of check list table JT 2 or a more complicated condition required for executing a content set in processing content JT 1 - 5 .

Next, an example of the content of check list table JT 2 will be explained. As illustrated in FIG. 18, a region from subjects JT 2 - 1 a , JT 2 - 1 b to objects 2 JT 2 - 4 a , JT 2 - 4 b indicates a content similar to that of basic table JT 1 , and becomes a key for retrieving the detected information. A region of detected flag regions JT 2 - 5 a , JT 2 - 5 b indicates whether relevant information is detected. Here, an initial value is “0”, and when the relevant information is detected, a value “1” is set. Thereby, an AND control becomes possible. When NOT is designated at the time of setting the conditions, “1” is set to inverted flag regions JT 2 - 6 a , JT 2 - 6 b . When NOT is not designated, “0” is set to inverted flag regions JT 2 - 6 a , JT 2 - 6 b . Information condition flag regions JT 2 - 7 a , JT 2 - 7 b are used for setting an active condition of the information from the contents of detected flag regions JT 2 - 5 a , JT 2 - 5 b and inverted flag regions JT 2 - 6 a , JT 2 - 6 b when the information is detected. When an active condition is judged, “Active” is set to this region, while, when the non-active condition is judged, “Inactive” is set.

Flag check table JT 3 is a condition table to set JT 2 - 7 a , JT 2 - 7 b to an active or inactive with the detected flag JT 2 - 5 a , JT 2 - 5 b and the inverted flag JT 2 - 6 a , JT 2 - 6 b explained above.

The processing content of the information detection section in this preferred embodiment of the present invention will be explained with reference to FIG. 19 Information is detected in step S 73 , and basic table JT 1 is retrieved first in step S 74 . When the relevant information exists in basic table JT 1 (YES in step S 75 ), it is judged in step S 76 whether the pointer to check list table JT 2 is set in parameter region JT 1 - 6 . When the pointer is set (YES in step S 76 ), check list table JT 2 indicated by the pointer is read in, step S 77 to set detected flag region JT 2 - 5 a , JT 25 b of the relevant information to ON, or a “1”state in step S 78 . Moreover, flag check table JT 3 is retrieved depending on the values of updated detected flag regions JT 2 - 5 a , JT 2 - 5 a and the values of inverted flag regions JT 2 - 6 a , JT 2 - 6 b of the relevant information in order to judge the activating condition, to set it to the information condition flag regions JT 2 - 7 a , JT 2 - 7 b in step S 79 . Thereafter, information condition flag regions JT 2 - 7 a , JT 2 - 7 b in relevant check list table JT 2 are retrieved in step S 80 , to judge whether the values of all information condition flags JT 27 a , JT 2 - 7 b are in the “Active” condition in step S 81 . When the values of all information condition flags JT 2 - 7 a , JT 2 - 7 b are in the “Active” condition (YES in step S 81 ), processing content JTH- 5 is set to basic table JT 1 in step S 82 . When the value of only one information condition flag JT 27 a , JT 2 - 7 b is in the “Inactive” condition (NO in step S 81 ), it is required to wait for the detection of the next information (steps S 72 , S 73 ) because the conditions for execution of the process are not yet completed.

In the first and the second preferred embodiments, since only basic table JT 1 is used, the process is executed only by judging whether the detected information is registered to basic table JT 1 . This means that execution of the process has been controlled only by the OR condition of the information. In the third embodiment, any one of parameters required for execution of processing content JT 1 - 5 and a pointer of check list table JT 2 can be set to parameter region JT 1 - 6 . As a result, when the parameter is set, the information is detected and processing content JT 1 - 5 is executed, as in the case of the first and second embodiments. When the pointer is set, processing content JT 1 - 5 is executed depending on the detecting condition of the information being registered in check list table JT 2 .

In this third preferred embodiment, detected flag region JT 2 - 5 in check list table JT 2 is judged for each detection of information to control the execution of the process until detection of a plurality pieces of information is verified, to control execution of the process depending on an AND condition of a plurality pieces of information. Moreover, processing execution can be controlled depending on a NOT condition of information with reference to inverted flag regions JT 2 - 6 a , JT 2 - 6 b and flag check table JT 3 . Moreover, processing control can also be executed depending on these combining conditions.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 6 of 7

In addition, as illustrated in FIG. 20, it is also possible to control the process, depending on the number of times that information is detected, by providing a reaction control region JT 2 - 8 c of check list table JT 2 . In this case, it is also considered a method to control the execution of process by a count-up system in which a value of detected flag region JT 2 - 5 c is added for each detection of information, and the predetermined process is executed when the added value becomes equal to that of reaction control region JT 2 - 8 c . Moreover, it is also considered a method to control the execution of the process by a count-down system in which a value of reaction control region JT 2 - 8 c is subtracted for each detection of information, and the processing content is executed when the value becomes zero.

Thereby, an for control becomes possible, in addition to the AND, OR, NOT controls explained above. It is also possible to form the if condition by combining these controls by generalizing JT- 6 .

In this preferred embodiment, it is also possible to realize the structural condition using an extension table without providing a basic table, as described above. In this case, the reaction table is produced individually for each information group to be detected, and the information detecting section executes update of the flag region and the defined processing content by making reference to all reaction table groups corresponding to the next object. As a result, it is possible to execute the complicated processes while easily keeping the mild cooperation.

In regard to a fourth preferred embodiment of the present invention, a function to establish information reaction tables 103 a , 203 b , 303 c will be explained. This function is offered as a function of the program to execute the functions explained above, and displays a setting image SC, as illustrated in FIG. 21, to more easily set information reaction tables 103 a , 203 b , 303 c.

Setting image SC is formed of buttons B 1 , B 2 for operating the information to be registered to information reaction tables 103 a , 203 b , 303 c , an input region I 1 for inputting the content of information to be registered, check boxes C 1 , C 2 , C 3 for setting the relational formula of the information to be registered, a processing content input region I 2 for setting the process content to be executed when the relevant registered information is detected, and a check box C 4 for instructing whether the setting message is displayed as the message box. In the example of a registered image of the information reaction table illustrated in FIG. 21, input region I 1 for inputting the content of information to be registered is formed as one frame, but display is conducted conforming to the format of the information, depending on how to regulate the information format in the cooperative system. In the embodiment explained previously, since the information format includes a subject, a verb, an object 1 and an object 2 , the information is divided into four input regions which correspond to predetermined frames, or it may be registered in the information. Reaction table by automatically partitioning the content input with one character of the predetermined partitioning characters.

An Add button B 1 is used for registering information to information reaction tables 103 a , 203 b , 303 c . Delete button B 2 is used for deleting the information being registered to information reaction tables 103 a , 203 b , 303 c . A Reset button B 3 is used for resetting, to an initial condition, a region of which condition changes depending on detection of information such as detected flag regions JT 2 - 5 a , JT 2 - 5 b in information reaction tables 103 a , 203 b , 303 c.

It is assumed that information is registered to the information reaction table. The information to be registered is input to input region 11 . Here, information Button-A is registered under a NOT condition, and information Button-B is to be added. A relationship between information Button-A(not) and information Button-B to be registered is indicated by clicking an AND check box. Next, a process content to be executed when the information is detected is set in process content input region 12 . In this case, it can be instructed by instructing check box C 5 of the Message Box to display the message box at the time of displaying the message, depending on the process content. When Add button B 1 is instructed, it can be recognized from the instruction content of the image that the Not Button-A 1 Button-B is instructed. When OR is designated, content of input to basic table JT 1 is registered, because it is enough that individual reaction is made. In the AND condition, registration is required to both basic table JT 1 and to the extension table. A pair of the input information is produced as one table. Moreover, when the NOT condition is being set, the process, such as setting of the initial condition of the inverted flag regions JT 2 - 6 a , JT 2 - 6 b to “1” is executed.

As explained above, since the information reaction table can visually be set, the information may be registered more easily when registering complicated processes.

In above preferred embodiments of the present invention, an information transmitting section and information detection section are provided for each object, but it is also possible to provide these sections for a personal computer system for common use by a plurality of objects. Moreover, the structure of each module is not limited to these preferred embodiments, since it is possible to provide the information reaction table within the information detecting section.

In regard to the content of the information reaction table, a verb, for example, illustrated in FIG. 8, is described. In this case, registration may be made based on the forward matching or backward matching method in which complete matching with “AddClipText”, “AddClipFile”, “AddClipMetaFile” can be obtained by defining “AddClip*”. This also applies to subject, object 1 and object 2 .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 7 of 7

Moreover, control is also possible so that after previously confirming whether the object reacts by adding a flag, illustrated in FIG. 17, to the information transmitted from the information transmitting section, the official information is transmitted again, or the result of the reaction is returned from the object having received the information. More particularly, control is made so that the object having received the information transmitted executes the process content registered in the information reaction table, depending on the value of a flag Inform T 6 (when the value is “0”), or registration of the process content as the content to be reacted in the information reaction table is returned without execution of such process content (when the value is “1”).

Moreover, as illustrated in FIG. 17, it is also possible to control whether the process content in the object which has received the information should be notified, depending on the value of a flag Force T 7 . More particularly, when the value of flag Force T 7 is “0”, the process content is executed without notifying the result of the execution when the reaction is made by receiving the information transmitted, and when the value of flag Force T 7 is “0”, the execution result is returned.

While a LAN has been designated as a common communication, infrared communication such as IrDa, radio telecommunication such as hand-held telephone, PHS, or other communication means, such as a television broadcast signal may also be used as a common communication path.

Moreover, a protocol used for LAN includes User Datagram Protocol (UDP) and (IRC), but it is not limited thereto. For instance, UDP is the protocol ranked in the fourth layer of the Open Systems Interconnection (“OSI”), and provides connectionless communication. In UDP, the combination of an IP address and a port number is used for identifying an end point of communication, and thereby a plurality of destinations may be designated for one address. In UDP, controls for retransmission of packet, sequential control and flow control are not conducted. When UDP is used as the common communication path in a preferred embodiment of the present invention, the port number is related to the common communication path, and thereby the common accessible communication path can be obtained by using the common port number.

IRC is a system for realizing electronic conference on the basis of the text on the Internet, which was developed by Oikarinenn of the Finland Oulu Univ. in 1988. The protocol between server and client of this system is made public in the format of RFC1459. In IRC, a user can make conversation in the place called the channel, and this channel is spreading on the Internet by the cooperation protocol between the server and client of IRC. When IRC is used as the common communication path in the present invention, a channel is related to the common communication channel, and the common accessible communication path can be obtained by utilizing the common channel.

A memory medium described in a preferred embodiment of the present invention includes not only a portable medium such as magnetic tape, floppy disc or CD-ROM (magneto-optical disc memory medium), but also the system in which the transmission data is offered from the server and host center via the communication line.

According to the preferred embodiments of the present invention, an information transmitting portion is required only to transmit the information, without having to receive every message being transmitted and without having to execute the content of each message. As a result, it is necessary for the information receiving device to make a reaction or to respond only to information relevant to that receiving device. Moreover, since a receiving portion can freely evaluate the information received, it is now possible to form a flexible cooperative system without considering relationships between the transmitting side and receiving side. In addition, the AND, OR, NOT, IF controls are made possible by providing the flag region to the information reaction table, and also providing a means for judging the content of the flag region, and a so-called software logical circuit can also be realized. As a result, complicated process logic can also be developed while maintaining a more flexible cooperative processing system.

Although a few preferred embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.

Claims as granted

22 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

7 codes
IPC · International Patent Classification
Section G — Physics
  • G06F13/00
  • G06F9/46
  • G06F9/44
Section H — Electricity
  • H04L29/06
USPC · US Patent Classification
707/101709/203707/10

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 1998Jan 1999Jul 1999Jan 2000Jul 2000Jan 2001Jul 2001Jan 2002Jul 2002Jan 2003Jul 2003USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
5.1 y
1,873 days filing → grant
Office actions
1
non-final + final
Responses
1
1 RCE
Examiner
David Jung
art unit 2175 · TC 2100
Citations: 8 back · 3 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom19982000200220042006200820102012201420162018Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock